@@ -2344,17 +2344,13 @@ function stringLengthUTF8(str: string): usize {
2344
2344
u = 0x10000 + ( ( u & 0x3FF ) << 10 ) | ( str . charCodeAt ( ++ i ) & 0x3FF ) ;
2345
2345
}
2346
2346
if ( u <= 0x7F ) {
2347
- ++ len ;
2347
+ len += 1 ;
2348
2348
} else if ( u <= 0x7FF ) {
2349
2349
len += 2 ;
2350
2350
} else if ( u <= 0xFFFF ) {
2351
2351
len += 3 ;
2352
- } else if ( u <= 0x1FFFFF ) {
2353
- len += 4 ;
2354
- } else if ( u <= 0x3FFFFFF ) {
2355
- len += 5 ;
2356
2352
} else {
2357
- len += 6 ;
2353
+ len += 4 ;
2358
2354
}
2359
2355
}
2360
2356
return len ;
@@ -2379,21 +2375,9 @@ function allocString(str: string | null): usize {
2379
2375
binaryen . __i32_store8 ( idx ++ , ( 0xE0 | ( u >>> 12 ) ) as u8 ) ;
2380
2376
binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( ( u >>> 6 ) & 63 ) ) as u8 ) ;
2381
2377
binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( u & 63 ) ) as u8 ) ;
2382
- } else if ( u <= 0x1FFFFF ) {
2383
- binaryen . __i32_store8 ( idx ++ , ( 0xF0 | ( u >>> 18 ) ) as u8 ) ;
2384
- binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( ( u >>> 12 ) & 63 ) ) as u8 ) ;
2385
- binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( ( u >>> 6 ) & 63 ) ) as u8 ) ;
2386
- binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( u & 63 ) ) as u8 ) ;
2387
- } else if ( u <= 0x3FFFFFF ) {
2388
- binaryen . __i32_store8 ( idx ++ , ( 0xF8 | ( u >>> 24 ) ) as u8 ) ;
2389
- binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( ( u >>> 18 ) & 63 ) ) as u8 ) ;
2390
- binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( ( u >>> 12 ) & 63 ) ) as u8 ) ;
2391
- binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( ( u >>> 6 ) & 63 ) ) as u8 ) ;
2392
- binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( u & 63 ) ) as u8 ) ;
2393
2378
} else {
2394
- binaryen . __i32_store8 ( idx ++ , ( 0xFC | ( u >>> 30 ) ) as u8 ) ;
2395
- binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( ( u >>> 24 ) & 63 ) ) as u8 ) ;
2396
- binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( ( u >>> 18 ) & 63 ) ) as u8 ) ;
2379
+ assert ( u < 0x200000 , "Invalid Unicode code point during allocString" ) ;
2380
+ binaryen . __i32_store8 ( idx ++ , ( 0xF0 | ( u >>> 18 ) ) as u8 ) ;
2397
2381
binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( ( u >>> 12 ) & 63 ) ) as u8 ) ;
2398
2382
binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( ( u >>> 6 ) & 63 ) ) as u8 ) ;
2399
2383
binaryen . __i32_store8 ( idx ++ , ( 0x80 | ( u & 63 ) ) as u8 ) ;
0 commit comments