File tree 10 files changed +1252
-2390
lines changed
10 files changed +1252
-2390
lines changed Original file line number Diff line number Diff line change @@ -201,7 +201,7 @@ export class Map<K,V> {
201
201
for ( let i = 0 ; i < size ; ++ i ) {
202
202
let entry = changetype < MapEntry < K , V > > ( start + < usize > i * ENTRY_SIZE < K , V > ( ) ) ;
203
203
if ( ! ( entry . taggedNext & EMPTY ) ) {
204
- keys [ length ++ ] = entry . key ;
204
+ unchecked ( keys [ length ++ ] = entry . key ) ;
205
205
}
206
206
}
207
207
keys . length = length ;
@@ -217,7 +217,7 @@ export class Map<K,V> {
217
217
for ( let i = 0 ; i < size ; ++ i ) {
218
218
let entry = changetype < MapEntry < K , V > > ( start + < usize > i * ENTRY_SIZE < K , V > ( ) ) ;
219
219
if ( ! ( entry . taggedNext & EMPTY ) ) {
220
- values [ length ++ ] = entry . value ;
220
+ unchecked ( values [ length ++ ] = entry . value ) ;
221
221
}
222
222
}
223
223
values . length = length ;
Original file line number Diff line number Diff line change @@ -185,7 +185,7 @@ export class Set<T> {
185
185
for ( let i = 0 ; i < size ; ++ i ) {
186
186
let entry = changetype < SetEntry < T > > ( start + < usize > i * ENTRY_SIZE < T > ( ) ) ;
187
187
if ( ! ( entry . taggedNext & EMPTY ) ) {
188
- values [ length ++ ] = entry . key ;
188
+ unchecked ( values [ length ++ ] = entry . key ) ;
189
189
}
190
190
}
191
191
values . length = length ;
Original file line number Diff line number Diff line change 175
175
local.get $4
176
176
i32.store offset = 4
177
177
end
178
- local.get $2
178
+ local.get $1
179
+ local.get $0
179
180
local.get $3
180
181
i32.const 4
181
182
i32.shl
183
+ local.get $2
182
184
i32.add
183
185
i32.const 2
184
186
i32.shl
185
- local.get $0
186
187
i32.add
187
188
i32.load offset = 96
188
- local.get $1
189
189
i32.eq
190
190
if
191
- local.get $2
191
+ local.get $0
192
192
local.get $3
193
193
i32.const 4
194
194
i32.shl
195
+ local.get $2
195
196
i32.add
196
197
i32.const 2
197
198
i32.shl
198
- local.get $0
199
199
i32.add
200
200
local.get $5
201
201
i32.store offset = 96
202
202
local.get $5
203
203
i32.eqz
204
204
if
205
+ local.get $0
205
206
local.get $3
206
207
i32.const 2
207
208
i32.shl
208
- local.get $0
209
209
i32.add
210
210
local.tee $1
211
211
i32.load offset = 4
356
356
call $~lib/builtins/abort
357
357
unreachable
358
358
end
359
- local.get $2
359
+ local.get $4
360
360
local.get $1
361
361
i32.const 4
362
362
i32.add
363
+ local.get $2
363
364
i32.add
364
- local.get $4
365
365
i32.ne
366
366
if
367
367
i32.const 0
422
422
call $~lib/builtins/abort
423
423
unreachable
424
424
end
425
- local.get $2
425
+ local.get $0
426
426
local.get $5
427
427
i32.const 4
428
428
i32.shl
429
+ local.get $2
429
430
i32.add
430
431
i32.const 2
431
432
i32.shl
432
- local.get $0
433
433
i32.add
434
434
i32.load offset = 96
435
435
local.set $3
445
445
local.get $1
446
446
i32.store offset = 4
447
447
end
448
- local.get $2
448
+ local.get $0
449
449
local.get $5
450
450
i32.const 4
451
451
i32.shl
452
+ local.get $2
452
453
i32.add
453
454
i32.const 2
454
455
i32.shl
455
- local.get $0
456
456
i32.add
457
457
local.get $1
458
458
i32.store offset = 96
464
464
i32.shl
465
465
i32.or
466
466
i32.store
467
+ local.get $0
467
468
local.get $5
468
469
i32.const 2
469
470
i32.shl
470
- local.get $0
471
471
i32.add
472
472
local.tee $0
473
473
local.get $0
504
504
i32.load offset = 1568
505
505
local.tee $4
506
506
if
507
- local.get $1
508
507
local.get $4
509
508
i32.const 4
510
509
i32.add
511
- i32.lt_u
510
+ local.get $1
511
+ i32.gt_u
512
512
if
513
513
i32.const 0
514
514
i32.const 1392
517
517
call $~lib/builtins/abort
518
518
unreachable
519
519
end
520
- local.get $4
521
520
local.get $1
522
521
i32.const 16
523
522
i32.sub
523
+ local.get $4
524
524
i32.eq
525
525
if
526
526
local.get $4
532
532
local.set $1
533
533
end
534
534
else
535
- local.get $1
536
535
local.get $0
537
536
i32.const 1572
538
537
i32.add
539
- i32.lt_u
538
+ local.get $1
539
+ i32.gt_u
540
540
if
541
541
i32.const 0
542
542
i32.const 1392
575
575
local.get $1
576
576
i32.const 0
577
577
i32.store offset = 8
578
- local.get $2
579
578
local.get $1
580
579
i32.const 4
581
580
i32.add
581
+ local.get $2
582
582
i32.add
583
583
local.tee $2
584
584
i32.const 2
635
635
i32.const 16
636
636
i32.lt_u
637
637
if
638
- local.get $1
639
638
local.get $0
640
639
i32.const 4
641
640
i32.shl
641
+ local.get $1
642
642
i32.add
643
643
i32.const 2
644
644
i32.shl
699
699
i32.and
700
700
local.set $0
701
701
loop $while-continue|1
702
- global.get $~lib/rt/itcms/toSpace
703
702
local.get $0
703
+ global.get $~lib/rt/itcms/toSpace
704
704
i32.ne
705
705
if
706
706
local.get $0
707
707
global.set $~lib/rt/itcms/iter
708
+ local.get $1
708
709
local.get $0
709
710
i32.load offset = 4
710
711
i32.const 3
711
712
i32.and
712
- local.get $1
713
713
i32.ne
714
714
if
715
715
local.get $0
716
- local.get $1
717
716
local.get $0
718
717
i32.load offset = 4
719
718
i32.const -4
720
719
i32.and
720
+ local.get $1
721
721
i32.or
722
722
i32.store offset = 4
723
723
i32.const 0
774
774
i32.and
775
775
local.set $0
776
776
loop $while-continue|2
777
- global.get $~lib/rt/itcms/toSpace
778
777
local.get $0
778
+ global.get $~lib/rt/itcms/toSpace
779
779
i32.ne
780
780
if
781
+ local.get $1
781
782
local.get $0
782
783
i32.load offset = 4
783
784
i32.const 3
784
785
i32.and
785
- local.get $1
786
786
i32.ne
787
787
if
788
788
local.get $0
789
- local.get $1
790
789
local.get $0
791
790
i32.load offset = 4
792
791
i32.const -4
793
792
i32.and
793
+ local.get $1
794
794
i32.or
795
795
i32.store offset = 4
796
796
local.get $0
943
943
i32.and
944
944
local.tee $1
945
945
if (result i32 )
946
+ local.get $0
946
947
local.get $1
947
948
i32.ctz
948
949
i32.const 2
949
950
i32.shl
950
- local.get $0
951
951
i32.add
952
952
i32.load offset = 96
953
953
else
957
957
i32.and
958
958
local.tee $1
959
959
if (result i32 )
960
+ local.get $0
960
961
local.get $1
961
962
i32.ctz
962
963
local.tee $2
963
964
i32.const 2
964
965
i32.shl
965
- local.get $0
966
966
i32.add
967
967
i32.load offset = 4
968
968
local.tee $1
975
975
call $~lib/builtins/abort
976
976
unreachable
977
977
end
978
+ local.get $0
978
979
local.get $1
979
980
i32.ctz
980
981
local.get $2
983
984
i32.add
984
985
i32.const 2
985
986
i32.shl
986
- local.get $0
987
987
i32.add
988
988
i32.load offset = 96
989
989
else
1277
1277
i32.load offset = 8
1278
1278
local.set $3
1279
1279
local.get $0
1280
- local.get $2
1281
1280
global.get $~lib/rt/itcms/white
1281
+ local.get $2
1282
1282
i32.or
1283
1283
i32.store offset = 4
1284
1284
local.get $0
1285
1285
local.get $3
1286
1286
i32.store offset = 8
1287
1287
local.get $3
1288
+ local.get $0
1288
1289
local.get $3
1289
1290
i32.load offset = 4
1290
1291
i32.const 3
1291
1292
i32.and
1292
- local.get $0
1293
1293
i32.or
1294
1294
i32.store offset = 4
1295
1295
local.get $2
1350
1350
i32.and
1351
1351
i32.eq
1352
1352
if
1353
- global.get $~lib/rt/itcms/iter
1354
1353
local.get $1
1354
+ global.get $~lib/rt/itcms/iter
1355
1355
i32.eq
1356
1356
if
1357
1357
local.get $1
1411
1411
local.get $2
1412
1412
i32.store offset = 8
1413
1413
local.get $2
1414
+ local.get $0
1414
1415
local.get $2
1415
1416
i32.load offset = 4
1416
1417
i32.const 3
1417
1418
i32.and
1418
- local.get $0
1419
1419
i32.or
1420
1420
i32.store offset = 4
1421
1421
end
1429
1429
if (result i32 )
1430
1430
i32.const 1
1431
1431
else
1432
+ local.get $0
1432
1433
i32.const 1440
1433
1434
i32.load
1434
- local.get $0
1435
- i32.lt_u
1435
+ i32.gt_u
1436
1436
if
1437
1437
i32.const 1248
1438
1438
i32.const 1312
1469
1469
local.get $0
1470
1470
i32.store offset = 8
1471
1471
local.get $0
1472
+ local.get $1
1472
1473
local.get $0
1473
1474
i32.load offset = 4
1474
1475
i32.const 3
1475
1476
i32.and
1476
- local.get $1
1477
1477
i32.or
1478
1478
i32.store offset = 4
1479
1479
local.get $2
You can’t perform that action at this time.
0 commit comments