File tree Expand file tree Collapse file tree 10 files changed +1252
-2390
lines changed Expand file tree Collapse file tree 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> {
201201 for ( let i = 0 ; i < size ; ++ i ) {
202202 let entry = changetype < MapEntry < K , V > > ( start + < usize > i * ENTRY_SIZE < K , V > ( ) ) ;
203203 if ( ! ( entry . taggedNext & EMPTY ) ) {
204- keys [ length ++ ] = entry . key ;
204+ unchecked ( keys [ length ++ ] = entry . key ) ;
205205 }
206206 }
207207 keys . length = length ;
@@ -217,7 +217,7 @@ export class Map<K,V> {
217217 for ( let i = 0 ; i < size ; ++ i ) {
218218 let entry = changetype < MapEntry < K , V > > ( start + < usize > i * ENTRY_SIZE < K , V > ( ) ) ;
219219 if ( ! ( entry . taggedNext & EMPTY ) ) {
220- values [ length ++ ] = entry . value ;
220+ unchecked ( values [ length ++ ] = entry . value ) ;
221221 }
222222 }
223223 values . length = length ;
Original file line number Diff line number Diff line change @@ -185,7 +185,7 @@ export class Set<T> {
185185 for ( let i = 0 ; i < size ; ++ i ) {
186186 let entry = changetype < SetEntry < T > > ( start + < usize > i * ENTRY_SIZE < T > ( ) ) ;
187187 if ( ! ( entry . taggedNext & EMPTY ) ) {
188- values [ length ++ ] = entry . key ;
188+ unchecked ( values [ length ++ ] = entry . key ) ;
189189 }
190190 }
191191 values . length = length ;
Original file line number Diff line number Diff line change 175175 local.get $4
176176 i32.store offset = 4
177177 end
178- local.get $2
178+ local.get $1
179+ local.get $0
179180 local.get $3
180181 i32.const 4
181182 i32.shl
183+ local.get $2
182184 i32.add
183185 i32.const 2
184186 i32.shl
185- local.get $0
186187 i32.add
187188 i32.load offset = 96
188- local.get $1
189189 i32.eq
190190 if
191- local.get $2
191+ local.get $0
192192 local.get $3
193193 i32.const 4
194194 i32.shl
195+ local.get $2
195196 i32.add
196197 i32.const 2
197198 i32.shl
198- local.get $0
199199 i32.add
200200 local.get $5
201201 i32.store offset = 96
202202 local.get $5
203203 i32.eqz
204204 if
205+ local.get $0
205206 local.get $3
206207 i32.const 2
207208 i32.shl
208- local.get $0
209209 i32.add
210210 local.tee $1
211211 i32.load offset = 4
356356 call $~lib/builtins/abort
357357 unreachable
358358 end
359- local.get $2
359+ local.get $4
360360 local.get $1
361361 i32.const 4
362362 i32.add
363+ local.get $2
363364 i32.add
364- local.get $4
365365 i32.ne
366366 if
367367 i32.const 0
422422 call $~lib/builtins/abort
423423 unreachable
424424 end
425- local.get $2
425+ local.get $0
426426 local.get $5
427427 i32.const 4
428428 i32.shl
429+ local.get $2
429430 i32.add
430431 i32.const 2
431432 i32.shl
432- local.get $0
433433 i32.add
434434 i32.load offset = 96
435435 local.set $3
445445 local.get $1
446446 i32.store offset = 4
447447 end
448- local.get $2
448+ local.get $0
449449 local.get $5
450450 i32.const 4
451451 i32.shl
452+ local.get $2
452453 i32.add
453454 i32.const 2
454455 i32.shl
455- local.get $0
456456 i32.add
457457 local.get $1
458458 i32.store offset = 96
464464 i32.shl
465465 i32.or
466466 i32.store
467+ local.get $0
467468 local.get $5
468469 i32.const 2
469470 i32.shl
470- local.get $0
471471 i32.add
472472 local.tee $0
473473 local.get $0
504504 i32.load offset = 1568
505505 local.tee $4
506506 if
507- local.get $1
508507 local.get $4
509508 i32.const 4
510509 i32.add
511- i32.lt_u
510+ local.get $1
511+ i32.gt_u
512512 if
513513 i32.const 0
514514 i32.const 1392
517517 call $~lib/builtins/abort
518518 unreachable
519519 end
520- local.get $4
521520 local.get $1
522521 i32.const 16
523522 i32.sub
523+ local.get $4
524524 i32.eq
525525 if
526526 local.get $4
532532 local.set $1
533533 end
534534 else
535- local.get $1
536535 local.get $0
537536 i32.const 1572
538537 i32.add
539- i32.lt_u
538+ local.get $1
539+ i32.gt_u
540540 if
541541 i32.const 0
542542 i32.const 1392
575575 local.get $1
576576 i32.const 0
577577 i32.store offset = 8
578- local.get $2
579578 local.get $1
580579 i32.const 4
581580 i32.add
581+ local.get $2
582582 i32.add
583583 local.tee $2
584584 i32.const 2
635635 i32.const 16
636636 i32.lt_u
637637 if
638- local.get $1
639638 local.get $0
640639 i32.const 4
641640 i32.shl
641+ local.get $1
642642 i32.add
643643 i32.const 2
644644 i32.shl
699699 i32.and
700700 local.set $0
701701 loop $while-continue|1
702- global.get $~lib/rt/itcms/toSpace
703702 local.get $0
703+ global.get $~lib/rt/itcms/toSpace
704704 i32.ne
705705 if
706706 local.get $0
707707 global.set $~lib/rt/itcms/iter
708+ local.get $1
708709 local.get $0
709710 i32.load offset = 4
710711 i32.const 3
711712 i32.and
712- local.get $1
713713 i32.ne
714714 if
715715 local.get $0
716- local.get $1
717716 local.get $0
718717 i32.load offset = 4
719718 i32.const -4
720719 i32.and
720+ local.get $1
721721 i32.or
722722 i32.store offset = 4
723723 i32.const 0
774774 i32.and
775775 local.set $0
776776 loop $while-continue|2
777- global.get $~lib/rt/itcms/toSpace
778777 local.get $0
778+ global.get $~lib/rt/itcms/toSpace
779779 i32.ne
780780 if
781+ local.get $1
781782 local.get $0
782783 i32.load offset = 4
783784 i32.const 3
784785 i32.and
785- local.get $1
786786 i32.ne
787787 if
788788 local.get $0
789- local.get $1
790789 local.get $0
791790 i32.load offset = 4
792791 i32.const -4
793792 i32.and
793+ local.get $1
794794 i32.or
795795 i32.store offset = 4
796796 local.get $0
943943 i32.and
944944 local.tee $1
945945 if (result i32 )
946+ local.get $0
946947 local.get $1
947948 i32.ctz
948949 i32.const 2
949950 i32.shl
950- local.get $0
951951 i32.add
952952 i32.load offset = 96
953953 else
957957 i32.and
958958 local.tee $1
959959 if (result i32 )
960+ local.get $0
960961 local.get $1
961962 i32.ctz
962963 local.tee $2
963964 i32.const 2
964965 i32.shl
965- local.get $0
966966 i32.add
967967 i32.load offset = 4
968968 local.tee $1
975975 call $~lib/builtins/abort
976976 unreachable
977977 end
978+ local.get $0
978979 local.get $1
979980 i32.ctz
980981 local.get $2
983984 i32.add
984985 i32.const 2
985986 i32.shl
986- local.get $0
987987 i32.add
988988 i32.load offset = 96
989989 else
12771277 i32.load offset = 8
12781278 local.set $3
12791279 local.get $0
1280- local.get $2
12811280 global.get $~lib/rt/itcms/white
1281+ local.get $2
12821282 i32.or
12831283 i32.store offset = 4
12841284 local.get $0
12851285 local.get $3
12861286 i32.store offset = 8
12871287 local.get $3
1288+ local.get $0
12881289 local.get $3
12891290 i32.load offset = 4
12901291 i32.const 3
12911292 i32.and
1292- local.get $0
12931293 i32.or
12941294 i32.store offset = 4
12951295 local.get $2
13501350 i32.and
13511351 i32.eq
13521352 if
1353- global.get $~lib/rt/itcms/iter
13541353 local.get $1
1354+ global.get $~lib/rt/itcms/iter
13551355 i32.eq
13561356 if
13571357 local.get $1
14111411 local.get $2
14121412 i32.store offset = 8
14131413 local.get $2
1414+ local.get $0
14141415 local.get $2
14151416 i32.load offset = 4
14161417 i32.const 3
14171418 i32.and
1418- local.get $0
14191419 i32.or
14201420 i32.store offset = 4
14211421 end
14291429 if (result i32 )
14301430 i32.const 1
14311431 else
1432+ local.get $0
14321433 i32.const 1440
14331434 i32.load
1434- local.get $0
1435- i32.lt_u
1435+ i32.gt_u
14361436 if
14371437 i32.const 1248
14381438 i32.const 1312
14691469 local.get $0
14701470 i32.store offset = 8
14711471 local.get $0
1472+ local.get $1
14721473 local.get $0
14731474 i32.load offset = 4
14741475 i32.const 3
14751476 i32.and
1476- local.get $1
14771477 i32.or
14781478 i32.store offset = 4
14791479 local.get $2
You can’t perform that action at this time.
0 commit comments