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";
30
30
}
31
31
32
32
static fromCodePoint ( code : i32 ) : String {
33
- assert ( < u32 > code <= 0x10FFFF ) ;
34
- var hasSur = code > 0xFFFF ;
33
+ var hasSur = < u32 > code > 0xFFFF ;
35
34
var out = changetype < String > ( __new ( 2 << i32 ( hasSur ) , idof < String > ( ) ) ) ;
36
35
if ( ! hasSur ) {
37
36
store < u16 > ( changetype < usize > ( out ) , < u16 > code ) ;
38
37
} else {
38
+ // Checks valid code point range
39
+ assert ( < u32 > code <= 0x10FFFF ) ;
39
40
code -= 0x10000 ;
40
41
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 ) ;
43
44
}
44
45
return out ;
45
46
}
Original file line number Diff line number Diff line change 4792
4792
if
4793
4793
i32.const 0
4794
4794
i32.const 4816
4795
- i32.const 748
4795
+ i32.const 749
4796
4796
i32.const 7
4797
4797
call $~lib/wasi/index/abort
4798
4798
unreachable
Original file line number Diff line number Diff line change 7791
7791
if
7792
7792
i32.const 0
7793
7793
i32.const 3792
7794
- i32.const 748
7794
+ i32.const 749
7795
7795
i32.const 7
7796
7796
call $~lib/wasi/index/abort
7797
7797
unreachable
Original file line number Diff line number Diff line change 5967
5967
global.get $~lib/memory/__stack_pointer
5968
5968
i32.const 0
5969
5969
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
5981
5970
global.get $~lib/memory/__stack_pointer
5982
5971
i32.const 2
5983
5972
local.get $0
5984
5973
i32.const 65535
5985
- i32.gt_s
5974
+ i32.gt_u
5986
5975
local.tee $2
5987
5976
i32.shl
5988
5977
i32.const 1
5991
5980
i32.store
5992
5981
local.get $2
5993
5982
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
5994
5994
local.get $1
5995
5995
local.get $0
5996
5996
i32.const 65536
Original file line number Diff line number Diff line change 8589
8589
i32.const 0
8590
8590
i32.store
8591
8591
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
8604
8592
i32.const 65535
8605
- i32.gt_s
8593
+ i32.gt_u
8606
8594
local.set $1
8607
8595
global.get $~lib/memory/__stack_pointer
8608
8596
i32.const 2
8619
8607
local.get $0
8620
8608
i32.store16
8621
8609
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
8622
8622
local.get $0
8623
8623
i32.const 65536
8624
8624
i32.sub
Original file line number Diff line number Diff line change 3883
3883
if
3884
3884
i32.const 0
3885
3885
i32.const 1712
3886
- i32.const 748
3886
+ i32.const 749
3887
3887
i32.const 7
3888
3888
call $~lib/builtins/abort
3889
3889
unreachable
Original file line number Diff line number Diff line change 5958
5958
if
5959
5959
i32.const 0
5960
5960
i32.const 688
5961
- i32.const 748
5961
+ i32.const 749
5962
5962
i32.const 7
5963
5963
call $~lib/builtins/abort
5964
5964
unreachable
Original file line number Diff line number Diff line change 2770
2770
if
2771
2771
i32.const 1264
2772
2772
i32.const 1328
2773
- i32.const 56
2773
+ i32.const 57
2774
2774
i32.const 31
2775
2775
call $~lib/builtins/abort
2776
2776
unreachable
@@ -20364,22 +20364,11 @@
20364
20364
global.get $~lib/memory/__stack_pointer
20365
20365
i32.const 0
20366
20366
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
20378
20367
global.get $~lib/memory/__stack_pointer
20379
20368
i32.const 2
20380
20369
local.get $0
20381
20370
i32.const 65535
20382
- i32.gt_s
20371
+ i32.gt_u
20383
20372
local.tee $2
20384
20373
i32.shl
20385
20374
i32.const 1
20388
20377
i32.store
20389
20378
local.get $2
20390
20379
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
20391
20391
local.get $1
20392
20392
local.get $0
20393
20393
i32.const 65536
20988
20988
if
20989
20989
i32.const 13648
20990
20990
i32.const 1328
20991
- i32.const 332
20991
+ i32.const 333
20992
20992
i32.const 7
20993
20993
call $~lib/builtins/abort
20994
20994
unreachable
Original file line number Diff line number Diff line change 3089
3089
if
3090
3090
i32.const 240
3091
3091
i32.const 304
3092
- i32.const 56
3092
+ i32.const 57
3093
3093
i32.const 31
3094
3094
call $~lib/builtins/abort
3095
3095
unreachable
25393
25393
i32.const 0
25394
25394
i32.store
25395
25395
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
25408
25396
i32.const 65535
25409
- i32.gt_s
25397
+ i32.gt_u
25410
25398
local.set $1
25411
25399
global.get $~lib/memory/__stack_pointer
25412
25400
i32.const 2
25423
25411
local.get $0
25424
25412
i32.store16
25425
25413
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
25426
25426
local.get $0
25427
25427
i32.const 65536
25428
25428
i32.sub
26084
26084
if
26085
26085
i32.const 12624
26086
26086
i32.const 304
26087
- i32.const 332
26087
+ i32.const 333
26088
26088
i32.const 7
26089
26089
call $~lib/builtins/abort
26090
26090
unreachable
You can’t perform that action at this time.
0 commit comments