File tree Expand file tree Collapse file tree 9 files changed +63
-62
lines changed
Expand file tree Collapse file tree 9 files changed +63
-62
lines changed Original file line number Diff line number Diff line change @@ -30,16 +30,17 @@ import { Array } from "./array";
3030 }
3131
3232 static fromCodePoint ( code : i32 ) : String {
33- assert ( < u32 > code <= 0x10FFFF ) ;
34- var hasSur = code > 0xFFFF ;
33+ var hasSur = < u32 > code > 0xFFFF ;
3534 var out = changetype < String > ( __new ( 2 << i32 ( hasSur ) , idof < String > ( ) ) ) ;
3635 if ( ! hasSur ) {
3736 store < u16 > ( changetype < usize > ( out ) , < u16 > code ) ;
3837 } else {
38+ // Checks valid code point range
39+ assert ( < u32 > code <= 0x10FFFF ) ;
3940 code -= 0x10000 ;
4041 let hi = ( code & 0x03FF ) | 0xDC00 ;
41- let lo = ( code >>> 10 ) | 0xD800 ;
42- store < u32 > ( changetype < usize > ( out ) , lo | ( hi << 16 ) ) ;
42+ let lo = code >>> 10 | 0xD800 ;
43+ store < u32 > ( changetype < usize > ( out ) , lo | hi << 16 ) ;
4344 }
4445 return out ;
4546 }
Original file line number Diff line number Diff line change 47924792 if
47934793 i32.const 0
47944794 i32.const 4816
4795- i32.const 748
4795+ i32.const 749
47964796 i32.const 7
47974797 call $~lib/wasi/index/abort
47984798 unreachable
Original file line number Diff line number Diff line change 77917791 if
77927792 i32.const 0
77937793 i32.const 3792
7794- i32.const 748
7794+ i32.const 749
77957795 i32.const 7
77967796 call $~lib/wasi/index/abort
77977797 unreachable
Original file line number Diff line number Diff line change 59675967 global.get $~lib/memory/__stack_pointer
59685968 i32.const 0
59695969 i32.store
5970- local.get $0
5971- i32.const 1114111
5972- i32.gt_u
5973- if
5974- i32.const 0
5975- i32.const 15344
5976- i32.const 33
5977- i32.const 5
5978- call $~lib/builtins/abort
5979- unreachable
5980- end
59815970 global.get $~lib/memory/__stack_pointer
59825971 i32.const 2
59835972 local.get $0
59845973 i32.const 65535
5985- i32.gt_s
5974+ i32.gt_u
59865975 local.tee $2
59875976 i32.shl
59885977 i32.const 1
59915980 i32.store
59925981 local.get $2
59935982 if
5983+ local.get $0
5984+ i32.const 1114111
5985+ i32.gt_u
5986+ if
5987+ i32.const 0
5988+ i32.const 15344
5989+ i32.const 39
5990+ i32.const 7
5991+ call $~lib/builtins/abort
5992+ unreachable
5993+ end
59945994 local.get $1
59955995 local.get $0
59965996 i32.const 65536
Original file line number Diff line number Diff line change 85898589 i32.const 0
85908590 i32.store
85918591 local.get $0
8592- i32.const 1114111
8593- i32.le_u
8594- i32.eqz
8595- if
8596- i32.const 0
8597- i32.const 14576
8598- i32.const 33
8599- i32.const 5
8600- call $~lib/builtins/abort
8601- unreachable
8602- end
8603- local.get $0
86048592 i32.const 65535
8605- i32.gt_s
8593+ i32.gt_u
86068594 local.set $1
86078595 global.get $~lib/memory/__stack_pointer
86088596 i32.const 2
86198607 local.get $0
86208608 i32.store16
86218609 else
8610+ local.get $0
8611+ i32.const 1114111
8612+ i32.le_u
8613+ i32.eqz
8614+ if
8615+ i32.const 0
8616+ i32.const 14576
8617+ i32.const 39
8618+ i32.const 7
8619+ call $~lib/builtins/abort
8620+ unreachable
8621+ end
86228622 local.get $0
86238623 i32.const 65536
86248624 i32.sub
Original file line number Diff line number Diff line change 38833883 if
38843884 i32.const 0
38853885 i32.const 1712
3886- i32.const 748
3886+ i32.const 749
38873887 i32.const 7
38883888 call $~lib/builtins/abort
38893889 unreachable
Original file line number Diff line number Diff line change 59585958 if
59595959 i32.const 0
59605960 i32.const 688
5961- i32.const 748
5961+ i32.const 749
59625962 i32.const 7
59635963 call $~lib/builtins/abort
59645964 unreachable
Original file line number Diff line number Diff line change 27702770 if
27712771 i32.const 1264
27722772 i32.const 1328
2773- i32.const 56
2773+ i32.const 57
27742774 i32.const 31
27752775 call $~lib/builtins/abort
27762776 unreachable
@@ -20364,22 +20364,11 @@
2036420364 global.get $~lib/memory/__stack_pointer
2036520365 i32.const 0
2036620366 i32.store
20367- local.get $0
20368- i32.const 1114111
20369- i32.gt_u
20370- if
20371- i32.const 0
20372- i32.const 1328
20373- i32.const 33
20374- i32.const 5
20375- call $~lib/builtins/abort
20376- unreachable
20377- end
2037820367 global.get $~lib/memory/__stack_pointer
2037920368 i32.const 2
2038020369 local.get $0
2038120370 i32.const 65535
20382- i32.gt_s
20371+ i32.gt_u
2038320372 local.tee $2
2038420373 i32.shl
2038520374 i32.const 1
2038820377 i32.store
2038920378 local.get $2
2039020379 if
20380+ local.get $0
20381+ i32.const 1114111
20382+ i32.gt_u
20383+ if
20384+ i32.const 0
20385+ i32.const 1328
20386+ i32.const 39
20387+ i32.const 7
20388+ call $~lib/builtins/abort
20389+ unreachable
20390+ end
2039120391 local.get $1
2039220392 local.get $0
2039320393 i32.const 65536
2098820988 if
2098920989 i32.const 13648
2099020990 i32.const 1328
20991- i32.const 332
20991+ i32.const 333
2099220992 i32.const 7
2099320993 call $~lib/builtins/abort
2099420994 unreachable
Original file line number Diff line number Diff line change 30893089 if
30903090 i32.const 240
30913091 i32.const 304
3092- i32.const 56
3092+ i32.const 57
30933093 i32.const 31
30943094 call $~lib/builtins/abort
30953095 unreachable
2539325393 i32.const 0
2539425394 i32.store
2539525395 local.get $0
25396- i32.const 1114111
25397- i32.le_u
25398- i32.eqz
25399- if
25400- i32.const 0
25401- i32.const 304
25402- i32.const 33
25403- i32.const 5
25404- call $~lib/builtins/abort
25405- unreachable
25406- end
25407- local.get $0
2540825396 i32.const 65535
25409- i32.gt_s
25397+ i32.gt_u
2541025398 local.set $1
2541125399 global.get $~lib/memory/__stack_pointer
2541225400 i32.const 2
2542325411 local.get $0
2542425412 i32.store16
2542525413 else
25414+ local.get $0
25415+ i32.const 1114111
25416+ i32.le_u
25417+ i32.eqz
25418+ if
25419+ i32.const 0
25420+ i32.const 304
25421+ i32.const 39
25422+ i32.const 7
25423+ call $~lib/builtins/abort
25424+ unreachable
25425+ end
2542625426 local.get $0
2542725427 i32.const 65536
2542825428 i32.sub
2608426084 if
2608526085 i32.const 12624
2608626086 i32.const 304
26087- i32.const 332
26087+ i32.const 333
2608826088 i32.const 7
2608926089 call $~lib/builtins/abort
2609026090 unreachable
You can’t perform that action at this time.
0 commit comments