-
-
Save mraleph/f0b7addc93b81b598c1b97088c9b1f14 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Specializing Platform getters for target OS macos. | |
| Generating AOT kernel dill. | |
| Compiling /Users/vegorov/src/temp/languages/loops/dart/code.dart to /Users/vegorov/src/temp/languages/loops/dart/code.exe using format Kind.exe: | |
| Generating AOT snapshot. /Users/vegorov/src/flutter/flutter/bin/cache/dart-sdk/bin/utils/gen_snapshot [--print-flow-graph-optimized, --print-flow-graph-filter=dart_::_main, --disassemble-optimized, --code-comments] | |
| *** BEGIN CFG | |
| After AllocateRegisters | |
| ==== file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main_main (ImplicitClosureFunction) | |
| 0: B0[graph]:0 { | |
| } | |
| 2: B2[function entry]:2 { | |
| v2 <- Parameter(0 @fp[3]) T{*?} | |
| v3 <- Parameter(1 @fp[2]) T{List<String>} | |
| } | |
| 4: CheckStackOverflow:8(stack=0, loop=0) | |
| 5: ParallelMove r1 <- fp[2] | |
| 6: v5 <- StaticCall:10( main<0> v3) T{void?} | |
| 8: DartReturn:12(v5) | |
| *** END CFG | |
| Code for optimized function 'file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main_main' (ImplicitClosureFunction) { | |
| ;; B0 | |
| ;; B2 | |
| ;; Enter frame | |
| 0x1036b2280 a9bf79fd stp fp, lr, [sp, #-16]! | |
| 0x1036b2284 aa0f03fd mov fp, sp | |
| ;; CheckStackOverflow:8(stack=0, loop=0) | |
| 0x1036b2288 f9401f50 ldr tmp, [thr, #56] | |
| 0x1036b228c eb1001ff cmp sp, tmp | |
| 0x1036b2290 540000c9 bls 0x1036b22a8 | |
| ;; ParallelMove r1 <- fp[2] | |
| 0x1036b2294 f9400ba1 ldr r1, [fp, #16] | |
| ;; v5 <- StaticCall:10( main<0> v3) T{void?} | |
| 0x1036b2298 94000000 bl 0x1036b2298 | |
| ;; ParallelMove r0 <- r0 | |
| ;; DartReturn:12(v5) | |
| 0x1036b229c aa1d03ef mov sp, fp | |
| 0x1036b22a0 a8c179fd ldp fp, lr, [sp], #16 ! | |
| 0x1036b22a4 d65f03c0 ret | |
| ;; CheckStackOverflowSlowPath | |
| 0x1036b22a8 94000000 bl 0x1036b22a8 | |
| 0x1036b22ac 17fffffa b 0x1036b2294 | |
| } | |
| Source positions for function 'file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main_main' { | |
| 1036b2280-1036b227f: Function 'main': static.@5 | |
| 1036b2280-1036b229b: Function 'main': static.@5 | |
| 1036b229c-1036b22ab: Function 'main': static.@5 | |
| } | |
| StackMaps for function 'file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main_main' { | |
| 0x1036b229c: | |
| 0x1036b22ac: 000000000000000000000 | |
| } | |
| Catch entry moves for function 'file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main_main' { | |
| } | |
| Entry points for function 'file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main_main' { | |
| [code+0x07] 1036b2280 kNormal | |
| [code+0x0f] 1036b2280 kMonomorphic | |
| [code+0x17] 1036b2280 kUnchecked | |
| [code+0x1f] 1036b2280 kMonomorphicUnchecked | |
| } | |
| Static call target functions { | |
| 0x1036b229c: file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main, (pc-relative-call) | |
| 0x1036b22ac: [Stub] _iso_stub_StackOverflowSharedWithoutFPURegsStub, (pc-relative-call) | |
| } | |
| *** BEGIN CFG | |
| After AllocateRegisters | |
| ==== file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main (RegularFunction) | |
| 0: B0[graph]:0 { | |
| v0 <- Constant(#null) T{Null?} | |
| v3 <- Constant(#0) [0, 0] T{_Smi} | |
| v7 <- Constant(#10000) [10000, 10000] T{_Smi} | |
| v64 <- UnboxedConstant(#10000) [10000, 10000] int64 | |
| v65 <- UnboxedConstant(#0) [0, 0] int64 | |
| v66 <- UnboxedConstant(#100000) [100000, 100000] int64 | |
| v68 <- UnboxedConstant(#1) [1, 1] int64 | |
| } | |
| 2: B1[function entry]:2 { | |
| v2 <- Parameter(0 @r1) T{List<String>} | |
| } | |
| 4: CheckStackOverflow:8(stack=0, loop=0) | |
| 6: v74 <- LoadClassId(<non-smi> v2) int64 | |
| 8: MoveArgument(sp[1] <- v2) | |
| 10: MoveArgument(sp[0] <- v3) | |
| 12: v4 <- DispatchTableCall( cid=v74 List.[]<0>, v2, v3) T{*?} | |
| 13: ParallelMove r1 <- r0 | |
| 14: v5 <- StaticCall:12( parse<0> v4 T{X0}, result_type = T{int}) [-9223372036854775808, 9223372036854775807] int64 | |
| 15: ParallelMove r1 <- C, r0 <- r0 | |
| 16: ParallelMove fp[-1] <- r0 | |
| 16: v6 <- StaticCall:14( Random.<0> v0, result_type = T{_Random}) T{_Random} | |
| 17: ParallelMove r1 <- r0, r2 <- C | |
| 18: v8 <- StaticCall:16( nextInt<0> v6, v64 T{_Smi}, using unchecked entrypoint, result_type = T{int}) [-9223372036854775808, 9223372036854775807] int64 | |
| 19: ParallelMove r4 <- C, r0 <- r0 | |
| 20: ParallelMove fp[-2] <- r0 | |
| 20: v46 <- AllocateTypedData:10(v7 T{_Smi}, <not-aliased>) T{_Int64List} | |
| 21: ParallelMove r2 <- r0 | |
| 22: ParallelMove r1 <- C, r0 <- fp[-1], r3 <- fp[-2] goto:68 B8 | |
| 24: B8[join]:66 pred(B1, B6) { | |
| v10 <- phi(v65 T{_Smi}, v21) alive [0, 10000] int64 T{int} | |
| } | |
| 26: CheckStackOverflow:72(stack=0, loop=1) | |
| 28: Branch if RelationalOp(<, v10, v64 T{_Smi}) T{bool} goto (3, 4) | |
| 30: B3[target]:26 | |
| 32: ParallelMove r4 <- C goto:54 B7 | |
| 34: B7[join]:52 pred(B3, B5) { | |
| v15 <- phi(v65 T{_Smi}, v25) alive [-9223372036854775808, 9223372036854775807] int64 T{int} | |
| } | |
| 36: CheckStackOverflow:58(stack=0, loop=2) | |
| 38: Branch if RelationalOp(<, v15, v66 T{_Smi}) T{bool} goto (5, 6) | |
| 40: B5[target]:38 | |
| 42: v67 <- LoadIndexed:44([_Int64List] v46 T{_Int64List}, v10 T{int}) [-9223372036854775808, 9223372036854775807] int64 | |
| 44: v23 <- BinaryInt64Op(% [tr], v15, v5) [0, 9223372036854775807] int64 | |
| 46: v24 <- BinaryInt64Op(+ [tr], v67 T{int}, v23) [-9223372036854775808, 9223372036854775807] int64 | |
| 48: StoreIndexed:50([_Int64List] v46 T{_Int64List}, v10 T{int}, v24 T{int}, NoStoreBarrier) | |
| 50: v25 <- BinaryInt64Op(+ [tr], v15, v68 T{_Smi}) [-9223372036854775808, 9223372036854775807] int64 | |
| 52: ParallelMove r4 <- r5 goto:56 B7 | |
| 54: B6[target]:40 | |
| 56: v69 <- LoadIndexed:60([_Int64List] v46 T{_Int64List}, v10 T{int}) [-9223372036854775808, 9223372036854775807] int64 | |
| 58: v19 <- BinaryInt64Op(+ [tr], v69 T{int}, v8) [-9223372036854775808, 9223372036854775807] int64 | |
| 60: StoreIndexed:64([_Int64List] v46 T{_Int64List}, v10 T{int}, v19 T{int}, NoStoreBarrier) | |
| 62: v21 <- BinaryInt64Op(+ [tr], v10 T{int}, v68 T{_Smi}) [1, 10000] int64 | |
| 64: ParallelMove r1 <- r4 goto:70 B8 | |
| 66: B4[target]:28 | |
| 67: ParallelMove r0 <- C, r1 <- r3 | |
| 68: GenericCheckBound:74(v64 T{_Smi}, v8) [0, 10000] int64 | |
| 70: v70 <- LoadIndexed:74([_Int64List] v46 T{_Int64List}, v8 T{int}) [-9223372036854775808, 9223372036854775807] int64 | |
| 72: StaticCall:76( print<0> v70 T{int}) | |
| 73: ParallelMove r0 <- C | |
| 74: DartReturn:78(v0) | |
| *** END CFG | |
| Code for optimized function 'file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main' (RegularFunction) { | |
| ;; B0 | |
| ;; B1 | |
| ;; Enter frame | |
| 0x1036b22c0 a9bf79fd stp fp, lr, [sp, #-16]! | |
| 0x1036b22c4 aa0f03fd mov fp, sp | |
| 0x1036b22c8 d10081ef sub sp, sp, #0x20 | |
| ;; CheckStackOverflow:8(stack=0, loop=0) | |
| 0x1036b22cc f9401f50 ldr tmp, [thr, #56] | |
| 0x1036b22d0 eb1001ff cmp sp, tmp | |
| 0x1036b22d4 540008a9 bls 0x1036b23e8 | |
| ;; v74 <- LoadClassId(<non-smi> v2) int64 | |
| 0x1036b22d8 f85ff020 ldr r0, [r1, #-1] | |
| 0x1036b22dc d34c7c00 ubfm r0, r0, #12, #31 | |
| ;; MoveArgument(sp[1] <- v2) | |
| 0x1036b22e0 a90005ff stp zr, r1, [sp, #0] | |
| ;; MoveArgument(sp[0] <- v3) | |
| ;; ParallelMove r0 <- r0 | |
| ;; v4 <- DispatchTableCall( cid=v74 List.[]<0>, v2, v3) T{*?} | |
| 0x1036b22e4 aa0003fe mov lr, r0 | |
| 0x1036b22e8 f87e7abe ldr lr, [r21, lr uxtx scaled] | |
| 0x1036b22ec d63f03c0 blr lr | |
| ;; ParallelMove r1 <- r0 | |
| 0x1036b22f0 aa0003e1 mov r1, r0 | |
| ;; v5 <- StaticCall:12( parse<0> v4 T{X0}, result_type = T{int}) [-9223372036854775808, 9223372036854775807] int64 | |
| 0x1036b22f4 f9403f64 ldr r4, [pp, #120] _ImmutableList len:5 | |
| 0x1036b22f8 94000000 bl 0x1036b22f8 | |
| ;; ParallelMove r1 <- C, r0 <- r0 | |
| 0x1036b22fc aa1603e1 mov r1, nr | |
| ;; ParallelMove fp[-1] <- r0 | |
| 0x1036b2300 f81f83a0 str r0, [fp, #-8] | |
| ;; v6 <- StaticCall:14( Random.<0> v0, result_type = T{_Random}) T{_Random} | |
| 0x1036b2304 94000000 bl 0x1036b2304 | |
| ;; ParallelMove r1 <- r0, r2 <- C | |
| 0x1036b2308 aa0003e1 mov r1, r0 | |
| 0x1036b230c d284e202 movz r2, #0x2710 | |
| ;; v8 <- StaticCall:16( nextInt<0> v6, v64 T{_Smi}, using unchecked entrypoint, result_type = T{int}) [-9223372036854775808, 9223372036854775807] int64 | |
| 0x1036b2310 94000000 bl 0x1036b2310 | |
| ;; ParallelMove r4 <- C, r0 <- r0 | |
| ;; Inlined [Int64List.Int64List.] | |
| 0x1036b2314 d289c404 movz r4, #0x4e20 | |
| ;; ParallelMove fp[-2] <- r0 | |
| ;; Inlined [Int64List.Int64List.] | |
| 0x1036b2318 f81f03a0 str r0, [fp, #-16] | |
| ;; v46 <- AllocateTypedData:10(v7 T{_Smi}, <not-aliased>) T{_Int64List} | |
| ;; Inlined [Int64List.Int64List.] | |
| 0x1036b231c 94000000 bl 0x1036b231c | |
| ;; ParallelMove r2 <- r0 | |
| 0x1036b2320 aa0003e2 mov r2, r0 | |
| ;; ParallelMove r1 <- C, r0 <- fp[-1], r3 <- fp[-2] goto:68 B8 | |
| 0x1036b2324 f85f83a0 ldr r0, [fp, #-8] | |
| 0x1036b2328 f85f03a3 ldr r3, [fp, #-16] | |
| 0x1036b232c d2800001 movz r1, #0x0 | |
| ;; B8 | |
| ;; Loop 1 | |
| ;; Loop Header | |
| ;; CheckStackOverflow:72(stack=0, loop=1) | |
| 0x1036b2330 f9401f50 ldr tmp, [thr, #56] | |
| 0x1036b2334 eb1001ff cmp sp, tmp | |
| 0x1036b2338 540005c9 bls 0x1036b23f0 | |
| ;; Branch if RelationalOp(<, v10, v64 T{_Smi}) T{bool} goto (3, 4) | |
| 0x1036b233c d284e211 movz tmp2, #0x2710 | |
| 0x1036b2340 eb11003f cmp r1, tmp2 | |
| 0x1036b2344 540003ca bge 0x1036b23bc | |
| ;; B3 | |
| ;; Loop 1 | |
| ;; ParallelMove r4 <- C goto:54 B7 | |
| 0x1036b2348 d2800004 movz r4, #0x0 | |
| ;; B7 | |
| ;; Loop 0 | |
| ;; Loop 1 | |
| ;; Loop Header | |
| ;; CheckStackOverflow:58(stack=0, loop=2) | |
| 0x1036b234c f9401f50 ldr tmp, [thr, #56] | |
| 0x1036b2350 eb1001ff cmp sp, tmp | |
| 0x1036b2354 54000529 bls 0x1036b23f8 | |
| ;; Branch if RelationalOp(<, v15, v66 T{_Smi}) T{bool} goto (5, 6) | |
| 0x1036b2358 d290d411 movz tmp2, #0x86a0 | |
| 0x1036b235c f2a00031 movk tmp2, #0x1 lsl 16 | |
| 0x1036b2360 eb11009f cmp r4, tmp2 | |
| 0x1036b2364 540001ca bge 0x1036b239c | |
| ;; B5 | |
| ;; Loop 0 | |
| ;; Loop 1 | |
| ;; v67 <- LoadIndexed:44([_Int64List] v46 T{_Int64List}, v10 T{int}) [-9223372036854775808, 9223372036854775807] int64 | |
| 0x1036b2368 8b010c50 add tmp, r2, r1 lsl #3 | |
| 0x1036b236c f8417205 ldr r5, [tmp, #23] | |
| ;; v23 <- BinaryInt64Op(% [tr], v15, v5) [0, 9223372036854775807] int64 | |
| 0x1036b2370 b4000480 cbz r0, 0x1036b2400 | |
| 0x1036b2374 9ac00c87 sdiv r7, r4, r0 | |
| 0x1036b2378 9b0090e6 msub r6, r7, r0, r4 | |
| 0x1036b237c eb1f00df cmp r6, zr | |
| 0x1036b2380 5400050b blt 0x1036b2420 | |
| ;; v24 <- BinaryInt64Op(+ [tr], v67 T{int}, v23) [-9223372036854775808, 9223372036854775807] int64 | |
| 0x1036b2384 8b0600a7 add r7, r5, r6 | |
| ;; StoreIndexed:50([_Int64List] v46 T{_Int64List}, v10 T{int}, v24 T{int}, NoStoreBarrier) | |
| 0x1036b2388 8b010c45 add r5, r2, r1 lsl #3 | |
| 0x1036b238c f80170a7 str r7, [r5, #23] | |
| ;; v25 <- BinaryInt64Op(+ [tr], v15, v68 T{_Smi}) [-9223372036854775808, 9223372036854775807] int64 | |
| 0x1036b2390 91000485 add r5, r4, #0x1 | |
| ;; ParallelMove r4 <- r5 goto:56 B7 | |
| 0x1036b2394 aa0503e4 mov r4, r5 | |
| 0x1036b2398 17ffffed b 0x1036b234c | |
| ;; B6 | |
| ;; Loop 1 | |
| ;; v69 <- LoadIndexed:60([_Int64List] v46 T{_Int64List}, v10 T{int}) [-9223372036854775808, 9223372036854775807] int64 | |
| 0x1036b239c 8b010c50 add tmp, r2, r1 lsl #3 | |
| 0x1036b23a0 f8417204 ldr r4, [tmp, #23] | |
| ;; v19 <- BinaryInt64Op(+ [tr], v69 T{int}, v8) [-9223372036854775808, 9223372036854775807] int64 | |
| 0x1036b23a4 8b030085 add r5, r4, r3 | |
| ;; StoreIndexed:64([_Int64List] v46 T{_Int64List}, v10 T{int}, v19 T{int}, NoStoreBarrier) | |
| 0x1036b23a8 8b010c44 add r4, r2, r1 lsl #3 | |
| 0x1036b23ac f8017085 str r5, [r4, #23] | |
| ;; v21 <- BinaryInt64Op(+ [tr], v10 T{int}, v68 T{_Smi}) [1, 10000] int64 | |
| 0x1036b23b0 91000424 add r4, r1, #0x1 | |
| ;; ParallelMove r1 <- r4 goto:70 B8 | |
| 0x1036b23b4 aa0403e1 mov r1, r4 | |
| 0x1036b23b8 17ffffde b 0x1036b2330 | |
| ;; B4 | |
| ;; ParallelMove r0 <- C, r1 <- r3 | |
| 0x1036b23bc aa0303e1 mov r1, r3 | |
| 0x1036b23c0 d284e200 movz r0, #0x2710 | |
| ;; GenericCheckBound:74(v64 T{_Smi}, v8) [0, 10000] int64 | |
| 0x1036b23c4 eb00003f cmp r1, r0 | |
| 0x1036b23c8 54000362 bcs 0x1036b2434 | |
| ;; v70 <- LoadIndexed:74([_Int64List] v46 T{_Int64List}, v8 T{int}) [-9223372036854775808, 9223372036854775807] int64 | |
| 0x1036b23cc 8b030c50 add tmp, r2, r3 lsl #3 | |
| 0x1036b23d0 f8417201 ldr r1, [tmp, #23] | |
| ;; ParallelMove r1 <- r1 | |
| ;; StaticCall:76( print<0> v70 T{int}) | |
| 0x1036b23d4 94000000 bl 0x1036b23d4 | |
| ;; ParallelMove r0 <- C | |
| 0x1036b23d8 aa1603e0 mov r0, nr | |
| ;; DartReturn:78(v0) | |
| 0x1036b23dc aa1d03ef mov sp, fp | |
| 0x1036b23e0 a8c179fd ldp fp, lr, [sp], #16 ! | |
| 0x1036b23e4 d65f03c0 ret | |
| ;; CheckStackOverflowSlowPath | |
| 0x1036b23e8 94000000 bl 0x1036b23e8 | |
| 0x1036b23ec 17ffffbb b 0x1036b22d8 | |
| ;; CheckStackOverflowSlowPath | |
| 0x1036b23f0 94000000 bl 0x1036b23f0 | |
| 0x1036b23f4 17ffffd2 b 0x1036b233c | |
| ;; CheckStackOverflowSlowPath | |
| 0x1036b23f8 94000000 bl 0x1036b23f8 | |
| 0x1036b23fc 17ffffd7 b 0x1036b2358 | |
| ;; slow path int64 divide operation | |
| 0x1036b2400 a9bf15e4 stp r4, r5, [sp, #-16]! | |
| 0x1036b2404 a9bf0de2 stp r2, r3, [sp, #-16]! | |
| 0x1036b2408 a9bf05e0 stp r0, r1, [sp, #-16]! | |
| 0x1036b240c f9423345 ldr r5, [thr, #1120] | |
| 0x1036b2410 d2800004 movz r4, #0x0 | |
| 0x1036b2414 f941035e ldr lr, [thr, #512] | |
| 0x1036b2418 d63f03c0 blr lr | |
| 0x1036b241c d4200000 brk #0x0 | |
| 0x1036b2420 eb1f001f cmp r0, zr | |
| 0x1036b2424 cb0000c7 sub r7, r6, r0 | |
| 0x1036b2428 8b0000c6 add r6, r6, r0 | |
| 0x1036b242c 9a86b0e6 csel r6, r7, r6, lt | |
| 0x1036b2430 17ffffd5 b 0x1036b2384 | |
| ;; slow path check bound operation | |
| 0x1036b2434 94000000 bl 0x1036b2434 | |
| } | |
| Source positions for function 'file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main' { | |
| 1036b22c0-1036b22ef: Function 'main': static.@6 | |
| 1036b22f0-1036b22fb: Function 'main': static.@6 | |
| 1036b22fc-1036b2307: Function 'main': static.@7 | |
| 1036b2308-1036b2313: Function 'main': static.@7 | |
| 1036b2314-1036b231f: Function 'main': static.@15Function 'Int64List.': static factory.@2779 | |
| 1036b2320-1036b23d7: Function 'main': static.@24 | |
| 1036b23d8-1036b23eb: Function 'main': static.@5 | |
| 1036b23ec-1036b23f3: Function 'main': static.@16 | |
| 1036b23f4-1036b23fb: Function 'main': static.@18 | |
| 1036b23fc-1036b241b: Function 'main': static.@NoSource | |
| 1036b241c-1036b2437: Function 'main': static.@NoSource | |
| } | |
| StackMaps for function 'file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main' { | |
| 0x1036b22f0: 00 | |
| 0x1036b22fc: 0000 | |
| 0x1036b2308: 0000 | |
| 0x1036b2314: 0000 | |
| 0x1036b2320: 0000 | |
| 0x1036b23d8: 0000 | |
| 0x1036b23ec: 0000000000000000000000010 | |
| 0x1036b23f4: 0000000000000000000000100 | |
| 0x1036b23fc: 0000000000000000000000100 | |
| 0x1036b241c: 0000000100 | |
| 0x1036b2438: 0000000000000000000000100 | |
| } | |
| Catch entry moves for function 'file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main' { | |
| } | |
| Entry points for function 'file:///Users/vegorov/src/temp/languages/loops/dart/code.dart_::_main' { | |
| [code+0x07] 1036b22c0 kNormal | |
| [code+0x0f] 1036b22c0 kMonomorphic | |
| [code+0x17] 1036b22c0 kUnchecked | |
| [code+0x1f] 1036b22c0 kMonomorphicUnchecked | |
| } | |
| Static call target functions { | |
| 0x1036b22fc: dart:core_int_parse, (pc-relative-call) | |
| 0x1036b2308: dart:math_Random_Random., (pc-relative-call) | |
| 0x1036b2314: dart:math__Random@12383281_nextInt, (pc-relative-call) <unchecked-entry> | |
| 0x1036b2320: [Stub] _iso_stub_AllocateInt64ArrayStub, (pc-relative-call) | |
| 0x1036b23d8: dart:core_::_print, (pc-relative-call) | |
| 0x1036b23ec: [Stub] _iso_stub_StackOverflowSharedWithoutFPURegsStub, (pc-relative-call) | |
| 0x1036b23f4: [Stub] _iso_stub_StackOverflowSharedWithoutFPURegsStub, (pc-relative-call) | |
| 0x1036b23fc: [Stub] _iso_stub_StackOverflowSharedWithoutFPURegsStub, (pc-relative-call) | |
| 0x1036b2438: [Stub] _iso_stub_RangeErrorSharedWithoutFPURegsStub, (pc-relative-call) | |
| } | |
| Generating executable. | |
| Marking binary executable. | |
| Generated: /Users/vegorov/src/temp/languages/loops/dart/code.exe |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Generated DFG JIT code for <global>#CrDqaR:[0x10453c2c0->0x10453c1e0->0x103036388, DFGGlobal, 433], instructions size = 433: | |
| Optimized with execution counter = 72.000000/2101.000000, -928 | |
| Code at [0x112ea1d00, 0x112ea25a0): | |
| <0> 0x112ea1d00: stp fp, lr, [sp, #-16]! | |
| <4> 0x112ea1d04: mov fp, sp | |
| <8> 0x112ea1d08: sub x1, fp, #160 | |
| <12> 0x112ea1d0c: movz x17, #0x8 | |
| <16> 0x112ea1d10: movk x17, #0x400, lsl #16 | |
| <20> 0x112ea1d14: movk x17, #0x1, lsl #32 -> 0x104000008 vm +8: vm.m_softStackLimit | |
| <24> 0x112ea1d18: ldr x16, [x17] | |
| <28> 0x112ea1d1c: cmp x16, x1 | |
| <32> 0x112ea1d20: b.hi 0x112ea2340 -> <1600> | |
| <36> 0x112ea1d24: sub sp, fp, #160 | |
| <40> 0x112ea1d28: stp x26, x27, [fp, #-24]; emitSaveCalleeSavesFor | |
| <44> 0x112ea1d2c: stur x28, [fp, #-8] | |
| <48> 0x112ea1d30: mov x27, #0xfffe000000000000 | |
| <52> 0x112ea1d34: orr x28, x27, #0x2 | |
| <56> 0x112ea1d38: ldur x26, [fp, #16] | |
| <60> 0x112ea1d3c: ldur x26, [x26, #128] | |
| <64> 0x112ea1d40: sturb wzr, [x26, #81] | |
| Block #0 (bc#0): (OSR target) | |
| Execution count: 1.000000 | |
| Predecessors: | |
| Successors: #1 | |
| Dominated by: #root #0 | |
| Dominates: #0 #1 #2 #3 #6 | |
| Dominance Frontier: | |
| Iterated Dominance Frontier: | |
| D@0:< 2:-> SetArgumentDefinitely(IsFlushed, this(A~<Object>/FlushedJSValue), machine:this, W:SideState, bc#0, ExitValid) predicting GlobalProxy | |
| D@1:< 6:loc6> JSConstant(JS|PureInt, Other, Undefined, bc#0, ExitValid) | |
| D@2:<!0:-> MovHint(Check:Untyped:D@1, MustGen, loc0, W:SideState, ClobbersExit, bc#0, ExitValid) | |
| D@4:<!0:-> MovHint(Check:Untyped:D@1, MustGen, loc1, W:SideState, ClobbersExit, bc#0, ExitInvalid) | |
| D@6:<!0:-> MovHint(Check:Untyped:D@1, MustGen, loc2, W:SideState, ClobbersExit, bc#0, ExitInvalid) | |
| D@8:<!0:-> MovHint(Check:Untyped:D@1, MustGen, loc3, W:SideState, ClobbersExit, bc#0, ExitInvalid) | |
| D@10:<!0:-> MovHint(Check:Untyped:D@1, MustGen, loc4, W:SideState, ClobbersExit, bc#0, ExitInvalid) | |
| D@12:< 1:loc7> GetCallee(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Function, R:Stack(callee), bc#0, ExitInvalid) | |
| <68> 0x112ea1d44: ldur x0, [fp, #24] | |
| D@13:< 2:loc7> GetScope(KnownCell:D@12, JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, bc#0, ExitInvalid) | |
| <72> 0x112ea1d48: ldur x0, [x0, #16] | |
| D@14:<!0:-> MovHint(Check:Untyped:D@13, MustGen, loc4, W:SideState, ClobbersExit, bc#0, ExitInvalid) | |
| D@15:<!0:-> ExitOK(MustGen, W:SideState, bc#0, ExitValid) | |
| D@16:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#0, ExitValid) | |
| D@17:< 1:-> SetLocal(Check:Untyped:D@13, loc4(IB~<Object>/FlushedJSValue), machine:loc3, W:Stack(loc4), bc#0, exit: bc#1, ExitValid) predicting OtherObj | |
| <76> 0x112ea1d4c: stur x0, [fp, #-32] | |
| D@19:<!0:-> MovHint(Check:Untyped:D@1, MustGen, loc5, W:SideState, ClobbersExit, bc#1, ExitValid) | |
| D@21:< 15:loc6> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %AH:global), StructureID: 37952, bc#4, ExitValid) | |
| D@22:<!0:-> MovHint(Check:Untyped:D@21, MustGen, loc6, W:SideState, ClobbersExit, bc#4, ExitValid) | |
| D@26:<!0:-> MovHint(Check:Untyped:D@21, MustGen, loc10, W:SideState, ClobbersExit, bc#11, ExitValid) | |
| D@31:< 3:loc7> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Function, Weak:Object: 0x10445db00 with butterfly 0x1044588e8(base=0x104458860) (Structure %A3:Function), StructureID: 37840, bc#18, ExitValid) | |
| D@33:<!0:-> MovHint(Check:Untyped:D@31, MustGen, loc7, W:SideState, ClobbersExit, bc#18, ExitValid) | |
| D@36:<!0:-> MovHint(Check:Untyped:D@21, MustGen, loc11, W:SideState, ClobbersExit, bc#27, ExitValid) | |
| D@41:< 4:loc8> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Array, Weak:Object: 0x103021388 with butterfly 0x104534138(base=0x104534130) (Structure %Ct:Array,ArrayWithContiguous), StructureID: 24816, bc#34, ExitValid) | |
| D@43:<!0:-> MovHint(Check:Untyped:D@41, MustGen, loc12, W:SideState, ClobbersExit, bc#34, ExitValid) | |
| D@45:< 3:loc9> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, BoolInt32, Int32: 0, bc#43, ExitValid) | |
| D@320:<!0:-> CheckStructure(Cell:D@41, MustGen, [%Ct:Array,ArrayWithContiguous], R:JSCell_structureID, Exits, bc#43, ExitValid) | |
| <80> 0x112ea1d50: movz x0, #0x1388 | |
| <84> 0x112ea1d54: movk x0, #0x302, lsl #16 | |
| <88> 0x112ea1d58: movk x0, #0x1, lsl #32 -> 0x103021388 | |
| <92> 0x112ea1d5c: ldur w17, [x0] | |
| <96> 0x112ea1d60: movz w16, #0x60f0 -> 24816 | |
| <100> 0x112ea1d64: cmp w17, w16 | |
| <104> 0x112ea1d68: b.ne 0x112ea24d0 -> <2000> | |
| D@321:< 1:loc10> GetButterfly(Cell:D@41, Storage|PureInt, R:JSObject_butterfly, bc#43, ExitValid) | |
| <108> 0x112ea1d6c: ldur x1, [x0, #8] | |
| D@46:< 2:loc10> GetByVal(KnownCell:D@41, Int32:D@45, Check:Untyped:D@321, JS|VarArgs|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, String, Contiguous+OriginalNonCopyOnWriteArray+InBoundsSaneChain+AsIs+Read, R:Butterfly_publicLength,IndexedContiguousProperties, Exits, bc#43, ExitValid) predicting String | |
| <112> 0x112ea1d70: movz w2, #0x0 | |
| <116> 0x112ea1d74: ldur w17, [x1, #-8] | |
| <120> 0x112ea1d78: cmp w2, w17 | |
| <124> 0x112ea1d7c: b.hs 0x112ea24d8 -> <2008> | |
| <128> 0x112ea1d80: ldr x3, [x1, x2, lsl #3] | |
| <132> 0x112ea1d84: cbnz x3, 0x112ea1d8c -> <140> | |
| <136> 0x112ea1d88: movz x3, #0xa -> 10 | |
| D@47:<!0:-> MovHint(Check:Untyped:D@46, MustGen, loc9, W:SideState, ClobbersExit, bc#43, ExitInvalid) | |
| D@49:<!0:-> FilterCallLinkStatus(Check:Untyped:D@31, MustGen, Statically Proved, (Function: Object: 0x10445db00 with butterfly 0x1044588e8(base=0x104458860) (Structure 0x3000093d0:[0x93d0/37840, Function, (0/0, 14/16){prototype:64, length:65, name:66, EPSILON:67, MAX_VALUE:68, MIN_VALUE:69, MAX_SAFE_INTEGER:70, MIN_SAFE_INTEGER:71, NEGATIVE_INFINITY:72, POSITIVE_INFINITY:73, NaN:74, parseInt:75, parseFloat:76, isInteger:77}, NonArray, Unknown, Proto:0x103068d48, Leaf]), StructureID: 37840; Executable: NativeExecutable:0x10944bb3c/0x10944bd38), W:SideState, bc#49, ExitValid) | |
| D@52:< 3:loc10> ToNumber(Check:String:D@46, JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Exits, bc#49, ExitValid) | |
| <140> 0x112ea1d8c: tst x3, x28 | |
| <144> 0x112ea1d90: b.ne 0x112ea24e0 -> <2016> | |
| <148> 0x112ea1d94: ldurb w17, [x3, #5] | |
| <152> 0x112ea1d98: cmp w17, #2 | |
| <156> 0x112ea1d9c: b.ne 0x112ea24e8 -> <2024> | |
| <160> 0x112ea1da0: stur x3, [fp, #-88] | |
| <164> 0x112ea1da4: mov x1, x3 | |
| <168> 0x112ea1da8: movz x0, #0x2088 | |
| <172> 0x112ea1dac: movk x0, #0x441, lsl #16 | |
| <176> 0x112ea1db0: movk x0, #0x1, lsl #32 -> 0x104412088 | |
| <180> 0x112ea1db4: stur wzr, [fp, #36] | |
| <184> 0x112ea1db8: movz x16, #0x1470 | |
| <188> 0x112ea1dbc: movk x16, #0x8db, lsl #16 | |
| <192> 0x112ea1dc0: movk x16, #0x1, lsl #32 -> 0x108db1470 | |
| <196> 0x112ea1dc4: blr x16 | |
| <200> 0x112ea1dc8: cbnz x1, 0x112e48080 -> JIT PC; Exception check from operation result register | |
| D@299:<!0:-> Phantom(Check:Untyped:D@31, MustGen, bc#49, ExitValid) | |
| D@263:<!0:-> Phantom(Check:Untyped:D@21, MustGen, bc#49, ExitValid) | |
| D@53:<!0:-> MovHint(Check:Untyped:D@52, MustGen, loc7, W:SideState, ClobbersExit, bc#49, ExitInvalid) | |
| D@322:<!0:-> Check(Check:Int32:D@52, MustGen, Exits, bc#56, ExitValid) | |
| <204> 0x112ea1dcc: cmp x0, x27 | |
| <208> 0x112ea1dd0: b.lo 0x112ea24f0 -> <2032> | |
| D@59:<!0:-> PutGlobalVariable(Cell:D@21, Check:Untyped:D@52, MustGen, global(0x103016198), W:Absolute(4345389464), ClobbersExit, bc#56, ExitValid) | |
| <212> 0x112ea1dd4: movz x17, #0x6198 | |
| <216> 0x112ea1dd8: movk x17, #0x301, lsl #16 | |
| <220> 0x112ea1ddc: movk x17, #0x1, lsl #32 -> 0x103016198 | |
| <224> 0x112ea1de0: str x0, [x17] | |
| D@227:<!0:-> FencedStoreBarrier(KnownCell:D@21, MustGen, R:Heap, W:JSCell_cellState, bc#56, ExitInvalid) | |
| <228> 0x112ea1de4: movz x1, #0x2088 | |
| <232> 0x112ea1de8: movk x1, #0x441, lsl #16 | |
| <236> 0x112ea1dec: movk x1, #0x1, lsl #32 -> 0x104412088 | |
| <240> 0x112ea1df0: ldurb w0, [x1, #7] | |
| <244> 0x112ea1df4: movz x17, #0x308 | |
| <248> 0x112ea1df8: movk x17, #0x400, lsl #16 | |
| <252> 0x112ea1dfc: movk x17, #0x1, lsl #32 -> 0x104000308 vm +776: vm.heap.m_barrierThreshold | |
| <256> 0x112ea1e00: ldr w16, [x17] | |
| <260> 0x112ea1e04: cmp w16, w0 | |
| <264> 0x112ea1e08: b.lo 0x112ea1e5c -> <348> | |
| <268> 0x112ea1e0c: movz x17, #0x303 | |
| <272> 0x112ea1e10: movk x17, #0x400, lsl #16 | |
| <276> 0x112ea1e14: movk x17, #0x1, lsl #32 -> 0x104000303 vm +771 | |
| <280> 0x112ea1e18: ldrb w17, [x17] | |
| <284> 0x112ea1e1c: cbz w17, 0x112ea1e30 -> <304> | |
| <288> 0x112ea1e20: dmb ish | |
| <292> 0x112ea1e24: ldurb w17, [x1, #7] | |
| <296> 0x112ea1e28: cmp w17, #0 | |
| <300> 0x112ea1e2c: b.hi 0x112ea1e5c -> <348> | |
| <304> 0x112ea1e30: movz x0, #0x400, lsl #16 | |
| <308> 0x112ea1e34: movk x0, #0x1, lsl #32 -> 0x104000000 vm | |
| <312> 0x112ea1e38: mov w16, #0x1 | |
| <316> 0x112ea1e3c: stur w16, [fp, #36] | |
| <320> 0x112ea1e40: movz x16, #0x1a24 | |
| <324> 0x112ea1e44: movk x16, #0x90a, lsl #16 | |
| <328> 0x112ea1e48: movk x16, #0x1, lsl #32 -> 0x1090a1a24 | |
| <332> 0x112ea1e4c: blr x16 | |
| <336> 0x112ea1e50: movz x1, #0x2088 | |
| <340> 0x112ea1e54: movk x1, #0x441, lsl #16 | |
| <344> 0x112ea1e58: movk x1, #0x1, lsl #32 -> 0x104412088 | |
| D@60:<!0:-> NotifyWrite(MustGen, 0x10308c1a0, W:Watchpoint_fire,SideState, ClobbersExit, bc#56, ExitInvalid) | |
| <348> 0x112ea1e5c: movz x17, #0xc1a4 | |
| <352> 0x112ea1e60: movk x17, #0x308, lsl #16 | |
| <356> 0x112ea1e64: movk x17, #0x1, lsl #32 -> 0x10308c1a4 | |
| <360> 0x112ea1e68: ldrb w17, [x17] | |
| <364> 0x112ea1e6c: cmp w17, #2 | |
| <368> 0x112ea1e70: b.ne 0x112ea2368 -> <1640> | |
| D@338:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#64, ExitValid) | |
| D@63:<!0:-> MovHint(Check:Untyped:D@21, MustGen, loc6, W:SideState, ClobbersExit, bc#64, ExitValid) | |
| D@67:<!0:-> MovHint(Check:Untyped:D@21, MustGen, loc10, W:SideState, ClobbersExit, bc#71, ExitValid) | |
| D@72:< 9:loc10> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x10451c250 with butterfly 0x104510dc8(base=0x104510bc0) (Structure %EK:Math), StructureID: 40416, bc#78, ExitValid) | |
| D@74:<!0:-> MovHint(Check:Untyped:D@72, MustGen, loc10, W:SideState, ClobbersExit, bc#78, ExitValid) | |
| D@76:<!0:-> FilterGetByStatus(Check:Untyped:D@72, MustGen, (Simple, <id='', [0x300009de0:[0x9de0/40416, Math, (0/0, 45/64){E:64, LN2:65, LN10:66, LOG2E:67, LOG10E:68, PI:69, SQRT1_2:70, SQRT2:71, Symbol.toStringTag:72, abs:73, acos:74, asin:75, atan:76, acosh:77, asinh:78, atanh:79, atan2:80, cbrt:81, ceil:82, clz32:83, cos:84, cosh:85, exp:86, expm1:87, floor:88, fround:89, hypot:90, log:91, log10:92, log1p:93, log2:94, max:95, min:96, pow:97, random:98, round:99, sign:100, sin:101, sinh:102, sqrt:103, tan:104, tanh:105, trunc:106, imul:107, f16round:108}, NonArray, Unknown, Proto:0x103020988, Leaf]], [], viaGlobalProxy = false, offset = 88>, seenInJIT = false), W:SideState, bc#87, ExitValid) | |
| D@79:< 2:loc7> GetButterfly(Cell:D@72, Storage|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Other, R:JSObject_butterfly, bc#87, ExitValid) | |
| <372> 0x112ea1e74: movz x2, #0xc250 | |
| <376> 0x112ea1e78: movk x2, #0x451, lsl #16 | |
| <380> 0x112ea1e7c: movk x2, #0x1, lsl #32 -> 0x10451c250 | |
| <384> 0x112ea1e80: ldur x0, [x2, #8] | |
| D@80:< 2:loc8> GetByOffset(Check:Untyped:D@79, KnownCell:D@72, JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Function, id5{floor}, 88, R:NamedProperties(5), bc#87, ExitValid) predicting Function | |
| <388> 0x112ea1e84: ldur x3, [x0, #-208] | |
| D@81:<!0:-> MovHint(Check:Untyped:D@80, MustGen, loc7, W:SideState, ClobbersExit, bc#87, ExitValid) | |
| D@84:<!0:-> MovHint(Check:Untyped:D@21, MustGen, loc12, W:SideState, ClobbersExit, bc#93, ExitValid) | |
| D@91:<!0:-> MovHint(Check:Untyped:D@72, MustGen, loc12, W:SideState, ClobbersExit, bc#100, ExitValid) | |
| D@93:<!0:-> FilterGetByStatus(Check:Untyped:D@72, MustGen, (Simple, <id='', [0x300009de0:[0x9de0/40416, Math, (0/0, 45/64){E:64, LN2:65, LN10:66, LOG2E:67, LOG10E:68, PI:69, SQRT1_2:70, SQRT2:71, Symbol.toStringTag:72, abs:73, acos:74, asin:75, atan:76, acosh:77, asinh:78, atanh:79, atan2:80, cbrt:81, ceil:82, clz32:83, cos:84, cosh:85, exp:86, expm1:87, floor:88, fround:89, hypot:90, log:91, log10:92, log1p:93, log2:94, max:95, min:96, pow:97, random:98, round:99, sign:100, sin:101, sinh:102, sqrt:103, tan:104, tanh:105, trunc:106, imul:107, f16round:108}, NonArray, Unknown, Proto:0x103020988, Leaf]], [], viaGlobalProxy = false, offset = 98>, seenInJIT = false), W:SideState, bc#109, ExitValid) | |
| D@97:< 2:loc7> GetByOffset(Check:Untyped:D@79, KnownCell:D@72, JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Function, id6{random}, 98, R:NamedProperties(6), bc#109, ExitValid) predicting Function | |
| <392> 0x112ea1e88: mov x17, #-288 -> 0xfffffffffffffee0 | |
| <396> 0x112ea1e8c: ldr x0, [x0, x17] | |
| D@98:<!0:-> MovHint(Check:Untyped:D@97, MustGen, loc11, W:SideState, ClobbersExit, bc#109, ExitValid) | |
| D@100:<!2:loc7> Call(Check:Untyped:D@97, Check:Untyped:D@72, JS|MustGen|VarArgs|PureNum|NeedsNegZero|NeedsNaNOrInfinity, NonIntAsDouble, R:World, W:Heap, ExitsForExceptions, ClobbersExit, bc#115, ExitValid) predicting NonIntAsDouble | |
| <400> 0x112ea1e90: mov w16, #0x1 | |
| <404> 0x112ea1e94: stur w16, [sp, #16] | |
| <408> 0x112ea1e98: stur x2, [sp, #24] | |
| <412> 0x112ea1e9c: stur x0, [fp, #-64] | |
| <416> 0x112ea1ea0: ldur x4, [fp, #-64] | |
| <420> 0x112ea1ea4: mov x0, x4 | |
| <424> 0x112ea1ea8: stur x0, [sp, #8] | |
| <428> 0x112ea1eac: stur x3, [fp, #-72] | |
| <432> 0x112ea1eb0: mov w16, #0x2 | |
| <436> 0x112ea1eb4: stur w16, [fp, #36] | |
| <440> 0x112ea1eb8: movz x2, #0x300 | |
| <444> 0x112ea1ebc: movk x2, #0x311, lsl #16 | |
| <448> 0x112ea1ec0: movk x2, #0x1, lsl #32 -> 0x103110300 | |
| <452> 0x112ea1ec4: ldur x5, [x2, #32] | |
| <456> 0x112ea1ec8: ldur x16, [x2, #40] | |
| <460> 0x112ea1ecc: cmp x16, x0 | |
| <464> 0x112ea1ed0: b.eq 0x112ea1ee4 -> <484> | |
| <468> 0x112ea1ed4: tbnz x16, #0, 0x112ea1ee4 -> <484> | |
| <472> 0x112ea1ed8: movz x5, #0x4000 | |
| <476> 0x112ea1edc: movk x5, #0x12e4, lsl #16 | |
| <480> 0x112ea1ee0: movk x5, #0x1, lsl #32 -> 0x112e44000 JIT PC | |
| <484> 0x112ea1ee4: ldur x16, [x2, #24] | |
| <488> 0x112ea1ee8: stur x16, [sp] | |
| <492> 0x112ea1eec: blr x5 | |
| <496> 0x112ea1ef0: sub sp, fp, #160 | |
| D@101:<!0:-> MovHint(Check:Untyped:D@100, MustGen, loc11, W:SideState, ClobbersExit, bc#115, ExitInvalid) | |
| D@339:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#115, exit: bc#122, ExitValid) | |
| D@103:< 2:loc11> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, Int32: 10000, bc#122, ExitValid) | |
| D@334:< 1:loc7> DoubleRep(Check:RealNumber:D@100, Double|PureNum|NeedsNegZero|NeedsNaNOrInfinity, BytecodeDouble, Exits, bc#122, ExitValid) | |
| <500> 0x112ea1ef4: add x1, x27, x0 | |
| <504> 0x112ea1ef8: fmov d0, x1 | |
| <508> 0x112ea1efc: fcmp d0, d0 | |
| <512> 0x112ea1f00: b.eq 0x112ea1f10 -> <528> | |
| <516> 0x112ea1f04: cmp x0, x27 | |
| <520> 0x112ea1f08: b.lo 0x112ea2508 -> <2056> | |
| <524> 0x112ea1f0c: scvtf d0, w0 | |
| D@335:< 1:loc12> DoubleConstant(Double|PureNum|NeedsNegZero|NeedsNaNOrInfinity, BytecodeDouble, Double: 4666723172467343360, 10000.000000, bc#122, ExitValid) | |
| D@104:<!3:loc12> ArithMul(DoubleRep:D@334<Double>, DoubleRep:D@335<Double>, Double|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, AnyIntAsDouble|NonIntAsDouble, NotSet, bc#122, ExitValid) | |
| <528> 0x112ea1f10: movz x0, #0x8800, lsl #32 | |
| <532> 0x112ea1f14: movk x0, #0x40c3, lsl #48 -> 0x40c3880000000000 | |
| <536> 0x112ea1f18: fmov d1, x0 | |
| <540> 0x112ea1f1c: fmul d0, d0, d1 | |
| D@105:<!0:-> MovHint(DoubleRep:D@104<Double>, MustGen, loc9, W:SideState, ClobbersExit, bc#122, ExitInvalid) | |
| D@336:< 1:loc7> ValueRep(DoubleRep:D@104<Double>, JS|PureInt, BytecodeDouble, bc#122, exit: bc#128, ExitValid) | |
| <544> 0x112ea1f20: fmov x0, d0 | |
| <548> 0x112ea1f24: sub x0, x0, x27 | |
| D@107:<!3:loc7> Call(Check:Untyped:D@80, Check:Untyped:D@72, Check:Untyped:D@336, JS|MustGen|VarArgs|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, R:World, W:Heap, ExitsForExceptions, ClobbersExit, bc#128, ExitValid) predicting NonBoolInt32 | |
| <552> 0x112ea1f28: mov w16, #0x2 | |
| <556> 0x112ea1f2c: stur w16, [sp, #16] | |
| <560> 0x112ea1f30: movz x1, #0xc250 | |
| <564> 0x112ea1f34: movk x1, #0x451, lsl #16 | |
| <568> 0x112ea1f38: movk x1, #0x1, lsl #32 -> 0x10451c250 | |
| <572> 0x112ea1f3c: stur x1, [sp, #24] | |
| <576> 0x112ea1f40: stur x0, [sp, #32] | |
| <580> 0x112ea1f44: ldur x1, [fp, #-72] | |
| <584> 0x112ea1f48: mov x0, x1 | |
| <588> 0x112ea1f4c: stur x0, [sp, #8] | |
| <592> 0x112ea1f50: stur d0, [fp, #-104] | |
| <596> 0x112ea1f54: mov w16, #0x3 | |
| <600> 0x112ea1f58: stur w16, [fp, #36] | |
| <604> 0x112ea1f5c: movz x2, #0x380 | |
| <608> 0x112ea1f60: movk x2, #0x311, lsl #16 | |
| <612> 0x112ea1f64: movk x2, #0x1, lsl #32 -> 0x103110380 | |
| <616> 0x112ea1f68: ldur x5, [x2, #32] | |
| <620> 0x112ea1f6c: ldur x16, [x2, #40] | |
| <624> 0x112ea1f70: cmp x16, x0 | |
| <628> 0x112ea1f74: b.eq 0x112ea1f88 -> <648> | |
| <632> 0x112ea1f78: tbnz x16, #0, 0x112ea1f88 -> <648> | |
| <636> 0x112ea1f7c: movz x5, #0x4000 | |
| <640> 0x112ea1f80: movk x5, #0x12e4, lsl #16 | |
| <644> 0x112ea1f84: movk x5, #0x1, lsl #32 -> 0x112e44000 JIT PC | |
| <648> 0x112ea1f88: ldur x16, [x2, #24] | |
| <652> 0x112ea1f8c: stur x16, [sp] | |
| <656> 0x112ea1f90: blr x5 | |
| <660> 0x112ea1f94: sub sp, fp, #160 | |
| D@250:<!0:-> Phantom(DoubleRep:D@104<Double>, MustGen, bc#128, ExitInvalid) | |
| D@108:<!0:-> MovHint(Check:Untyped:D@107, MustGen, loc7, W:SideState, ClobbersExit, bc#128, ExitInvalid) | |
| D@340:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#128, exit: bc#135, ExitValid) | |
| D@323:<!0:-> Check(Check:Int32:D@107, MustGen, Exits, bc#135, ExitValid) | |
| <664> 0x112ea1f98: cmp x0, x27 | |
| <668> 0x112ea1f9c: b.lo 0x112ea2518 -> <2072> | |
| D@111:<!0:-> PutGlobalVariable(Cell:D@21, Check:Untyped:D@107, MustGen, global(0x1030161a8), W:Absolute(4345389480), ClobbersExit, bc#135, ExitValid) | |
| <672> 0x112ea1fa0: movz x17, #0x61a8 | |
| <676> 0x112ea1fa4: movk x17, #0x301, lsl #16 | |
| <680> 0x112ea1fa8: movk x17, #0x1, lsl #32 -> 0x1030161a8 | |
| <684> 0x112ea1fac: str x0, [x17] | |
| D@226:<!0:-> FencedStoreBarrier(KnownCell:D@21, MustGen, R:Heap, W:JSCell_cellState, bc#135, ExitInvalid) | |
| <688> 0x112ea1fb0: movz x1, #0x2088 | |
| <692> 0x112ea1fb4: movk x1, #0x441, lsl #16 | |
| <696> 0x112ea1fb8: movk x1, #0x1, lsl #32 -> 0x104412088 | |
| <700> 0x112ea1fbc: ldurb w0, [x1, #7] | |
| <704> 0x112ea1fc0: movz x17, #0x308 | |
| <708> 0x112ea1fc4: movk x17, #0x400, lsl #16 | |
| <712> 0x112ea1fc8: movk x17, #0x1, lsl #32 -> 0x104000308 vm +776: vm.heap.m_barrierThreshold | |
| <716> 0x112ea1fcc: ldr w16, [x17] | |
| <720> 0x112ea1fd0: cmp w16, w0 | |
| <724> 0x112ea1fd4: b.lo 0x112ea2028 -> <808> | |
| <728> 0x112ea1fd8: movz x17, #0x303 | |
| <732> 0x112ea1fdc: movk x17, #0x400, lsl #16 | |
| <736> 0x112ea1fe0: movk x17, #0x1, lsl #32 -> 0x104000303 vm +771 | |
| <740> 0x112ea1fe4: ldrb w17, [x17] | |
| <744> 0x112ea1fe8: cbz w17, 0x112ea1ffc -> <764> | |
| <748> 0x112ea1fec: dmb ish | |
| <752> 0x112ea1ff0: ldurb w17, [x1, #7] | |
| <756> 0x112ea1ff4: cmp w17, #0 | |
| <760> 0x112ea1ff8: b.hi 0x112ea2028 -> <808> | |
| <764> 0x112ea1ffc: movz x0, #0x400, lsl #16 | |
| <768> 0x112ea2000: movk x0, #0x1, lsl #32 -> 0x104000000 vm | |
| <772> 0x112ea2004: mov w16, #0x4 | |
| <776> 0x112ea2008: stur w16, [fp, #36] | |
| <780> 0x112ea200c: movz x16, #0x1a24 | |
| <784> 0x112ea2010: movk x16, #0x90a, lsl #16 | |
| <788> 0x112ea2014: movk x16, #0x1, lsl #32 -> 0x1090a1a24 | |
| <792> 0x112ea2018: blr x16 | |
| <796> 0x112ea201c: movz x1, #0x2088 | |
| <800> 0x112ea2020: movk x1, #0x441, lsl #16 | |
| <804> 0x112ea2024: movk x1, #0x1, lsl #32 -> 0x104412088 | |
| D@112:<!0:-> NotifyWrite(MustGen, 0x10308c1e0, W:Watchpoint_fire,SideState, ClobbersExit, bc#135, ExitInvalid) | |
| <808> 0x112ea2028: movz x17, #0xc1e4 | |
| <812> 0x112ea202c: movk x17, #0x308, lsl #16 | |
| <816> 0x112ea2030: movk x17, #0x1, lsl #32 -> 0x10308c1e4 | |
| <820> 0x112ea2034: ldrb w17, [x17] | |
| <824> 0x112ea2038: cmp w17, #2 | |
| <828> 0x112ea203c: b.ne 0x112ea23a4 -> <1700> | |
| D@341:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#143, ExitValid) | |
| D@115:<!0:-> MovHint(Check:Untyped:D@21, MustGen, loc6, W:SideState, ClobbersExit, bc#143, ExitValid) | |
| D@119:<!0:-> MovHint(Check:Untyped:D@21, MustGen, loc7, W:SideState, ClobbersExit, bc#150, ExitValid) | |
| D@124:< 5:loc7> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x104520370 with butterfly 0x104452c28(base=0x104452c00) (Structure %Dh:Function), StructureID: 40864, bc#157, ExitValid) | |
| D@126:<!0:-> MovHint(Check:Untyped:D@124, MustGen, loc8, W:SideState, ClobbersExit, bc#157, ExitValid) | |
| D@128:<!0:-> MovHint(Check:Untyped:D@103, MustGen, loc11, W:SideState, ClobbersExit, bc#166, ExitValid) | |
| D@130:<!0:-> MovHint(Check:Untyped:D@124, MustGen, loc12, W:SideState, ClobbersExit, bc#169, ExitValid) | |
| D@132:<!0:-> FilterCallLinkStatus(Check:Untyped:D@124, MustGen, Statically Proved, InternalFunction: Object: 0x104520370 with butterfly 0x104452c28(base=0x104452c00) (Structure 0x300009fa0:[0x9fa0/40864, Function, (0/0, 4/4){length:64, name:65, prototype:66, BYTES_PER_ELEMENT:67}, NonArray, Unknown, Proto:0x104520310, Leaf]), StructureID: 40864, W:SideState, bc#172, ExitValid) | |
| D@135:< 2:loc11> NewTypedArray(Int32:D@103, JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32Array, TypeInt32, R:HeapObjectCount, W:HeapObjectCount, Exits, bc#172, ExitValid) | |
| <832> 0x112ea2040: movz w2, #0x2710 -> 10000 | |
| <836> 0x112ea2044: sxtw x0, w2 | |
| <840> 0x112ea2048: movz x4, #0x0 | |
| <844> 0x112ea204c: cmp x0, #1000 | |
| <848> 0x112ea2050: b.hi 0x112ea23e0 -> <1760> | |
| <852> 0x112ea2054: lsl w5, w0, #2 | |
| <856> 0x112ea2058: add w5, w5, #7 | |
| <860> 0x112ea205c: and w5, w5, #0xfffffff8 | |
| <864> 0x112ea2060: add w5, w5, #15 | |
| <868> 0x112ea2064: lsr w5, w5, #4 | |
| <872> 0x112ea2068: cmp w5, #502 | |
| <876> 0x112ea206c: b.hi 0x112ea23e0 -> <1760> | |
| <880> 0x112ea2070: movz x6, #0xa38 | |
| <884> 0x112ea2074: movk x6, #0x400, lsl #16 | |
| <888> 0x112ea2078: movk x6, #0x1, lsl #32 -> 0x104000a38 vm +2616 | |
| <892> 0x112ea207c: ldr x5, [x6, x5, lsl #3] | |
| <896> 0x112ea2080: cbz x5, 0x112ea23e0 -> <1760> | |
| <900> 0x112ea2084: ldp x4, x6, [x5, #24] | |
| <904> 0x112ea2088: cmp x4, x6 | |
| <908> 0x112ea208c: b.hs 0x112ea20a0 -> <928> | |
| <912> 0x112ea2090: ldur w6, [x5, #60] | |
| <916> 0x112ea2094: add x6, x6, x4 | |
| <920> 0x112ea2098: stur x6, [x5, #24] | |
| <924> 0x112ea209c: b 0x112ea20c8 -> <968> | |
| <928> 0x112ea20a0: ldp x4, x6, [x5, #40] | |
| <932> 0x112ea20a4: tbnz x4, #0, 0x112ea20c0 -> <960> | |
| <936> 0x112ea20a8: ldur x16, [x4, #8] | |
| <940> 0x112ea20ac: eor x6, x6, x16 | |
| <944> 0x112ea20b0: add x16, x4, w6, sxtw | |
| <948> 0x112ea20b4: add x6, x4, x6, lsr #32 | |
| <952> 0x112ea20b8: stp x6, x16, [x5, #32] | |
| <956> 0x112ea20bc: b 0x112ea2090 -> <912> | |
| <960> 0x112ea20c0: movz w4, #0x0 | |
| <964> 0x112ea20c4: b 0x112ea23e0 -> <1760> | |
| <968> 0x112ea20c8: cbz w0, 0x112ea20dc -> <988> | |
| <972> 0x112ea20cc: mov x5, x0 | |
| <976> 0x112ea20d0: sub w5, w5, #1 | |
| <980> 0x112ea20d4: str wzr, [x4, x5, lsl #2] | |
| <984> 0x112ea20d8: cbnz w5, 0x112ea20d0 -> <976> | |
| <988> 0x112ea20dc: movz x5, #0xba20 | |
| <992> 0x112ea20e0: movk x5, #0x301, lsl #16 | |
| <996> 0x112ea20e4: movk x5, #0x1, lsl #32 -> 0x10301ba20 | |
| <1000> 0x112ea20e8: ldp x3, x6, [x5, #24] | |
| <1004> 0x112ea20ec: cmp x3, x6 | |
| <1008> 0x112ea20f0: b.hs 0x112ea2100 -> <1024> | |
| <1012> 0x112ea20f4: add x6, x3, #48 | |
| <1016> 0x112ea20f8: stur x6, [x5, #24] | |
| <1020> 0x112ea20fc: b 0x112ea2120 -> <1056> | |
| <1024> 0x112ea2100: ldp x3, x6, [x5, #40] | |
| <1028> 0x112ea2104: tbnz x3, #0, 0x112ea23e0 -> <1760> | |
| <1032> 0x112ea2108: ldur x16, [x3, #8] | |
| <1036> 0x112ea210c: eor x6, x6, x16 | |
| <1040> 0x112ea2110: add x16, x3, w6, sxtw | |
| <1044> 0x112ea2114: add x6, x3, x6, lsr #32 | |
| <1048> 0x112ea2118: stp x6, x16, [x5, #32] | |
| <1052> 0x112ea211c: b 0x112ea20f4 -> <1012> | |
| <1056> 0x112ea2120: movz x16, #0x9f30 | |
| <1060> 0x112ea2124: movk x16, #0x2c00, lsl #32 | |
| <1064> 0x112ea2128: movk x16, #0x108, lsl #48 -> 0x1082c0000009f30 | |
| <1068> 0x112ea212c: stur x16, [x3] | |
| <1072> 0x112ea2130: stur xzr, [x3, #8] | |
| <1076> 0x112ea2134: stur x4, [x3, #16] | |
| <1080> 0x112ea2138: stur x0, [x3, #24] | |
| <1084> 0x112ea213c: stur xzr, [x3, #32] | |
| <1088> 0x112ea2140: mov w16, #0x10 | |
| <1092> 0x112ea2144: sturb w16, [x3, #40] | |
| <1096> 0x112ea2148: movz x17, #0x303 | |
| <1100> 0x112ea214c: movk x17, #0x400, lsl #16 | |
| <1104> 0x112ea2150: movk x17, #0x1, lsl #32 -> 0x104000303 vm +771 | |
| <1108> 0x112ea2154: ldrb w17, [x17] | |
| <1112> 0x112ea2158: cbz w17, 0x112ea2160 -> <1120> | |
| <1116> 0x112ea215c: dmb ishst | |
| D@332:<!0:-> Phantom(Check:Untyped:D@124, MustGen, bc#172, ExitValid) | |
| D@331:<!0:-> Phantom(Check:Untyped:D@124, MustGen, bc#172, ExitValid) | |
| D@136:<!0:-> MovHint(Check:Untyped:D@135, MustGen, loc8, W:SideState, ClobbersExit, bc#172, ExitInvalid) | |
| D@142:<!0:-> PutGlobalVariable(Cell:D@21, Check:Untyped:D@135, MustGen, global(0x1030161a0), W:Absolute(4345389472), ClobbersExit, bc#179, ExitValid) | |
| <1120> 0x112ea2160: movz x17, #0x61a0 | |
| <1124> 0x112ea2164: movk x17, #0x301, lsl #16 | |
| <1128> 0x112ea2168: movk x17, #0x1, lsl #32 -> 0x1030161a0 | |
| <1132> 0x112ea216c: str x3, [x17] | |
| D@308:<!0:-> FencedStoreBarrier(KnownCell:D@21, MustGen, R:Heap, W:JSCell_cellState, bc#179, ExitInvalid) | |
| <1136> 0x112ea2170: ldurb w0, [x1, #7] | |
| <1140> 0x112ea2174: movz x17, #0x308 | |
| <1144> 0x112ea2178: movk x17, #0x400, lsl #16 | |
| <1148> 0x112ea217c: movk x17, #0x1, lsl #32 -> 0x104000308 vm +776: vm.heap.m_barrierThreshold | |
| <1152> 0x112ea2180: ldr w16, [x17] | |
| <1156> 0x112ea2184: cmp w16, w0 | |
| <1160> 0x112ea2188: b.lo 0x112ea21dc -> <1244> | |
| <1164> 0x112ea218c: movz x17, #0x303 | |
| <1168> 0x112ea2190: movk x17, #0x400, lsl #16 | |
| <1172> 0x112ea2194: movk x17, #0x1, lsl #32 -> 0x104000303 vm +771 | |
| <1176> 0x112ea2198: ldrb w17, [x17] | |
| <1180> 0x112ea219c: cbz w17, 0x112ea21b0 -> <1200> | |
| <1184> 0x112ea21a0: dmb ish | |
| <1188> 0x112ea21a4: ldurb w17, [x1, #7] | |
| <1192> 0x112ea21a8: cmp w17, #0 | |
| <1196> 0x112ea21ac: b.hi 0x112ea21dc -> <1244> | |
| <1200> 0x112ea21b0: movz x0, #0x400, lsl #16 | |
| <1204> 0x112ea21b4: movk x0, #0x1, lsl #32 -> 0x104000000 vm | |
| <1208> 0x112ea21b8: movz w16, #0x5 -> 5 | |
| <1212> 0x112ea21bc: stur w16, [fp, #36] | |
| <1216> 0x112ea21c0: movz x16, #0x1a24 | |
| <1220> 0x112ea21c4: movk x16, #0x90a, lsl #16 | |
| <1224> 0x112ea21c8: movk x16, #0x1, lsl #32 -> 0x1090a1a24 | |
| <1228> 0x112ea21cc: blr x16 | |
| <1232> 0x112ea21d0: movz x1, #0x2088 | |
| <1236> 0x112ea21d4: movk x1, #0x441, lsl #16 | |
| <1240> 0x112ea21d8: movk x1, #0x1, lsl #32 -> 0x104412088 | |
| D@143:<!0:-> NotifyWrite(MustGen, 0x10308c1c0, W:Watchpoint_fire,SideState, ClobbersExit, bc#179, ExitInvalid) | |
| <1244> 0x112ea21dc: movz x17, #0xc1c4 | |
| <1248> 0x112ea21e0: movk x17, #0x308, lsl #16 | |
| <1252> 0x112ea21e4: movk x17, #0x1, lsl #32 -> 0x10308c1c4 | |
| <1256> 0x112ea21e8: ldrb w17, [x17] | |
| <1260> 0x112ea21ec: cmp w17, #2 | |
| <1264> 0x112ea21f0: b.ne 0x112ea2430 -> <1840> | |
| D@342:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#187, ExitValid) | |
| D@145:<!0:-> MovHint(Check:Untyped:D@45, MustGen, loc6, W:SideState, ClobbersExit, bc#187, ExitValid) | |
| D@146:< 1:-> SetLocal(Int32:D@45, loc6(FB<Int32>/FlushedInt32), machine:loc4, W:Stack(loc6), bc#187, exit: bc#190, ExitValid) predicting Int32 | |
| <1268> 0x112ea21f4: movz w0, #0x0 | |
| <1272> 0x112ea21f8: stur w0, [fp, #-40] | |
| D@347:<!0:-> Jump(MustGen, T:#1, W:SideState, bc#190, ExitInvalid) | |
| D@345:<!0:-> Flush(Check:Untyped:D@0, MustGen|IsFlushed, this(A~<Object>/FlushedJSValue), machine:this, R:Stack(this), W:SideState, bc#190, ExitInvalid) predicting GlobalProxy | |
| Block #1 (bc#194): (OSR target) | |
| Execution count: 10.000000 | |
| Predecessors: #0 #3 | |
| Successors: #2 | |
| Dominated by: #root #0 #1 | |
| Dominates: #1 #2 #3 #6 | |
| Dominance Frontier: #1 | |
| Iterated Dominance Frontier: #1 | |
| Loop header, contains: #1 #2 #3 | |
| Containing loop headers: #1 | |
| Phi Nodes: D@310<this,2, IsFlushed>->(D@312, D@0), D@316<loc4,2>->(D@318, D@17), D@304<loc6,2>->(D@253, D@146) | |
| D@149:<!0:-> LoopHint(MustGen, W:SideState, bc#194, ExitValid) | |
| D@319:<!0:-> CheckTierUpAndOSREnter(MustGen, W:SideState, Exits, bc#194, ExitValid) | |
| <1276> 0x112ea21fc: movz x17, #0xdb0c | |
| <1280> 0x112ea2200: movk x17, #0x30a, lsl #16 | |
| <1284> 0x112ea2204: movk x17, #0x1, lsl #32 -> 0x1030adb0c | |
| <1288> 0x112ea2208: ldrb w17, [x17] | |
| <1292> 0x112ea220c: cbnz w17, 0x112ea2460 -> <1888> | |
| <1296> 0x112ea2210: ldur w16, [x26, #40] | |
| <1300> 0x112ea2214: adds w16, w16, #1 | |
| <1304> 0x112ea2218: stur w16, [x26, #40] | |
| <1308> 0x112ea221c: b.pl 0x112ea2460 -> <1888> | |
| D@150:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#195, ExitValid) | |
| D@151:< 2:loc9> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, BoolInt32, Int32: 0, bc#196, ExitValid) | |
| D@152:<!0:-> MovHint(Check:Untyped:D@151, MustGen, loc7, W:SideState, ClobbersExit, bc#196, ExitValid) | |
| D@153:< 1:-> SetLocal(Int32:D@151, loc7(GB<Int32>/FlushedInt32), machine:loc5, W:Stack(loc7), bc#196, exit: bc#199, ExitValid) predicting Int32 | |
| <1312> 0x112ea2220: movz w0, #0x0 | |
| <1316> 0x112ea2224: stur w0, [fp, #-48] | |
| D@351:<!0:-> Jump(MustGen, T:#2, W:SideState, bc#199, ExitInvalid) | |
| D@348:<!0:-> Flush(Check:Untyped:D@310, MustGen|IsFlushed, this(A~<Object>/FlushedJSValue), machine:this, R:Stack(this), W:SideState, bc#199, ExitInvalid) predicting GlobalProxy | |
| D@349:<!0:-> PhantomLocal(Check:Untyped:D@316, MustGen, loc4(IB~<Object>/FlushedJSValue), machine:loc3, W:SideState, bc#199, ExitInvalid) predicting OtherObj | |
| D@350:<!0:-> PhantomLocal(Check:Untyped:D@304, MustGen, loc6(FB<Int32>/FlushedInt32), machine:loc4, W:SideState, bc#199, ExitInvalid) predicting Int32 | |
| Block #2 (bc#203): (OSR target) | |
| Execution count: 100.000000 | |
| Predecessors: #1 #2 | |
| Successors: #2 #3 | |
| Dominated by: #root #0 #1 #2 | |
| Dominates: #2 #3 #6 | |
| Dominance Frontier: #1 #2 | |
| Iterated Dominance Frontier: #1 #2 | |
| Loop header, contains: #2 | |
| Containing loop headers: #2 #1 | |
| Phi Nodes: D@313<loc4,3>->(D@313, D@316), D@317<loc6,3>->(D@317, D@304), D@309<loc7,1>->(D@205, D@153), D@305<this,2, IsFlushed>->(D@305, D@310) | |
| D@157:<!0:-> LoopHint(MustGen, W:SideState, bc#203, ExitValid) | |
| D@307:<!0:-> CheckTierUpAndOSREnter(MustGen, W:SideState, Exits, bc#203, ExitValid) | |
| <1320> 0x112ea2228: movz x17, #0xdb1c | |
| <1324> 0x112ea222c: movk x17, #0x30a, lsl #16 | |
| <1328> 0x112ea2230: movk x17, #0x1, lsl #32 -> 0x1030adb1c | |
| <1332> 0x112ea2234: ldrb w17, [x17] | |
| <1336> 0x112ea2238: cbnz w17, 0x112ea2494 -> <1940> | |
| <1340> 0x112ea223c: ldur w16, [x26, #40] | |
| <1344> 0x112ea2240: adds w16, w16, #1 | |
| <1348> 0x112ea2244: stur w16, [x26, #40] | |
| <1352> 0x112ea2248: b.pl 0x112ea2494 -> <1940> | |
| D@158:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#204, ExitValid) | |
| D@159:< 1:loc9> JSConstant(JS|PureInt, Other, Undefined, bc#205, ExitValid) | |
| D@160:<!0:-> MovHint(Check:Untyped:D@159, MustGen, loc5, W:SideState, ClobbersExit, bc#205, ExitValid) | |
| D@162:< 3:loc9> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %AH:global), StructureID: 37952, bc#208, ExitValid) | |
| D@163:<!0:-> MovHint(Check:Untyped:D@162, MustGen, loc8, W:SideState, ClobbersExit, bc#208, ExitValid) | |
| D@164:<!0:loc6> GetLocal(Check:Untyped:D@313, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, loc4(IB~<Object>/FlushedJSValue), machine:loc3, R:Stack(loc4), bc#208, ExitInvalid) predicting OtherObj | |
| <1356> 0x112ea224c: ldur x0, [fp, #-32] | |
| D@168:< 4:loc6> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32Array, Weak:Object: 0x10306a008 with butterfly 0x0(base=0xfffffffffffffff8) (Structure %Ec:Int32Array), StructureID: 40752, bc#215, ExitValid) | |
| D@169:<!0:-> MovHint(Check:Untyped:D@168, MustGen, loc8, W:SideState, ClobbersExit, bc#215, ExitValid) | |
| D@171:<!3:loc11> GetLocal(Check:Untyped:D@317, JS|MustGen|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, Int32, loc6(FB<Int32>/FlushedInt32), machine:loc4, R:Stack(loc6), bc#224, ExitValid) predicting Int32 | |
| <1360> 0x112ea2250: ldur w0, [fp, #-40] | |
| D@172:<!0:-> MovHint(Check:Untyped:D@171, MustGen, loc9, W:SideState, ClobbersExit, bc#224, ExitValid) | |
| D@175:<!0:-> MovHint(Check:Untyped:D@162, MustGen, loc11, W:SideState, ClobbersExit, bc#227, ExitValid) | |
| D@180:<!0:-> MovHint(Check:Untyped:D@168, MustGen, loc12, W:SideState, ClobbersExit, bc#234, ExitValid) | |
| D@325:< 2:loc7> ConstantStoragePointer(Storage|PureInt, 0x104800000, bc#243, ExitValid) | |
| <1364> 0x112ea2254: movz x1, #0x480, lsl #16 | |
| <1368> 0x112ea2258: movk x1, #0x1, lsl #32 -> 0x104800000 | |
| D@182:<!2:loc12> GetByVal(KnownCell:D@168, Int32:D@171, Check:Untyped:D@325, JS|MustGen|VarArgs|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, Int32Array+OriginalNonArray+InBounds+AsIs+Read, R:TypedArrayProperties,MiscFields, Exits, bc#243, ExitValid) predicting NonBoolInt32 | |
| <1372> 0x112ea225c: movz x3, #0xa008 | |
| <1376> 0x112ea2260: movk x3, #0x306, lsl #16 | |
| <1380> 0x112ea2264: movk x3, #0x1, lsl #32 -> 0x10306a008 | |
| <1384> 0x112ea2268: sxtw x2, w0 | |
| <1388> 0x112ea226c: movz x16, #0x2710 -> 10000 | |
| <1392> 0x112ea2270: cmp x2, x16 | |
| <1396> 0x112ea2274: b.hs 0x112ea2540 -> <2112> | |
| <1400> 0x112ea2278: ldr w4, [x1, x0, lsl #2] | |
| D@183:<!0:-> MovHint(Check:Untyped:D@182, MustGen, loc10, W:SideState, ClobbersExit, bc#243, ExitInvalid) | |
| D@185:<!3:loc10> GetLocal(Check:Untyped:D@309, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity, Int32, loc7(GB<Int32>/FlushedInt32), machine:loc5, R:Stack(loc7), bc#249, ExitValid) predicting Int32 | |
| <1404> 0x112ea227c: ldur w2, [fp, #-48] | |
| D@186:<!0:-> MovHint(Check:Untyped:D@185, MustGen, loc11, W:SideState, ClobbersExit, bc#249, ExitValid) | |
| D@189:<!0:-> MovHint(Check:Untyped:D@162, MustGen, loc12, W:SideState, ClobbersExit, bc#252, ExitValid) | |
| D@193:< 2:loc9> JSConstant(JS|PureNum|NeedsNaNOrInfinity, NonBoolInt32, Int32: 40, bc#259, ExitValid) | |
| D@194:<!0:-> MovHint(Check:Untyped:D@193, MustGen, loc13, W:SideState, ClobbersExit, bc#259, ExitValid) | |
| D@196:<!2:loc9> ArithMod(Int32:D@185, Int32:D@193, Number|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, CheckOverflowAndNegativeZero, Exits, bc#268, ExitValid) | |
| <1408> 0x112ea2280: movz w8, #0x28 -> 40 | |
| <1412> 0x112ea2284: cbz w8, 0x112ea2548 -> <2120> | |
| <1416> 0x112ea2288: sdiv w6, w2, w8 | |
| <1420> 0x112ea228c: smull x7, w6, w8 | |
| <1424> 0x112ea2290: cmp x7, w7, sxtw | |
| <1428> 0x112ea2294: and x7, x7, #0xffffffff | |
| <1432> 0x112ea2298: b.ne 0x112ea2550 -> <2128> | |
| <1436> 0x112ea229c: sub w6, w2, w7 | |
| <1440> 0x112ea22a0: tst w2, w2 | |
| <1444> 0x112ea22a4: b.pl 0x112ea22ac -> <1452> | |
| <1448> 0x112ea22a8: cbz w6, 0x112ea2558 -> <2136> | |
| D@197:<!0:-> MovHint(Check:Untyped:D@196, MustGen, loc11, W:SideState, ClobbersExit, bc#268, ExitInvalid) | |
| D@199:<!2:loc9> ArithAdd(Int32:D@182, Int32:D@196, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, CheckOverflow, Exits, bc#272, ExitValid) | |
| <1452> 0x112ea22ac: adds w4, w4, w6 | |
| <1456> 0x112ea22b0: b.vs 0x112ea2560 -> <2144> | |
| D@200:<!0:-> MovHint(Check:Untyped:D@199, MustGen, loc5, W:SideState, ClobbersExit, bc#272, ExitInvalid) | |
| D@202:<!0:-> PutByValAlias(KnownCell:D@168, Int32:D@171, Int32:D@199, Check:Untyped:D@325, MustGen|VarArgs, Int32Array+OriginalNonArray+InBounds+AsIs+Write, R:MiscFields, W:TypedArrayProperties, Exits, ClobbersExit, bc#278, ExitValid) | |
| <1460> 0x112ea22b4: mov x6, x4 | |
| <1464> 0x112ea22b8: str w6, [x1, x0, lsl #2] | |
| D@328:< 1:loc7> JSConstant(JS|PureNum|NeedsNaNOrInfinity, Int32, Int32: 1, bc#284, ExitValid) | |
| D@203:< 3:loc7> ArithAdd(Int32:D@185, Int32:D@328, Int32|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, CheckOverflow, Exits, bc#284, ExitValid) | |
| <1468> 0x112ea22bc: adds w2, w2, #1 | |
| <1472> 0x112ea22c0: b.vs 0x112ea2568 -> <2152> | |
| D@204:<!0:-> MovHint(Check:Untyped:D@203, MustGen, loc7, W:SideState, ClobbersExit, bc#284, ExitInvalid) | |
| D@205:< 1:-> SetLocal(Int32:D@203, loc7(GB<Int32>/FlushedInt32), machine:loc5, W:Stack(loc7), bc#284, exit: bc#287, ExitValid) predicting Int32 | |
| <1476> 0x112ea22c4: stur w2, [fp, #-48] | |
| D@206:< 1:loc10> JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 100000, bc#287, ExitValid) | |
| D@207:< 1:loc10> CompareLess(Int32:D@203, Int32:D@206, Boolean|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Bool, bc#287, ExitValid) | |
| <1480> 0x112ea22c8: movz w16, #0x86a0 | |
| <1484> 0x112ea22cc: movk w16, #0x1, lsl #16 -> 0x186a0 | |
| <1488> 0x112ea22d0: cmp w2, w16 | |
| <1492> 0x112ea22d4: b.lt 0x112ea2228 -> <1320> | |
| D@208:<!0:-> Branch(KnownBoolean:D@207, MustGen, T:#2/w:100.000000, F:#3/w:10.000000, W:SideState, bc#287, ExitInvalid) | |
| Block #3 (bc#291): | |
| Execution count: 10.000000 | |
| Predecessors: #2 | |
| Successors: #1 #6 | |
| Dominated by: #root #0 #1 #2 #3 | |
| Dominates: #3 #6 | |
| Dominance Frontier: #1 | |
| Iterated Dominance Frontier: #1 | |
| Containing loop headers: #1 | |
| Phi Nodes: D@318<loc4,3>->(D@313), D@311<loc6,1>->(D@317), D@312<this,3, IsFlushed>->(D@305) | |
| D@209:< 1:loc10> JSConstant(JS|PureInt, Other, Undefined, bc#291, ExitValid) | |
| D@210:<!0:-> MovHint(Check:Untyped:D@209, MustGen, loc5, W:SideState, ClobbersExit, bc#291, ExitValid) | |
| D@212:< 2:loc10> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %AH:global), StructureID: 37952, bc#294, ExitValid) | |
| D@213:<!0:-> MovHint(Check:Untyped:D@212, MustGen, loc7, W:SideState, ClobbersExit, bc#294, ExitValid) | |
| D@214:<!0:loc7> GetLocal(Check:Untyped:D@318, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, loc4(IB~<Object>/FlushedJSValue), machine:loc3, R:Stack(loc4), bc#294, ExitInvalid) predicting OtherObj | |
| <1496> 0x112ea22d8: ldur x0, [fp, #-32] | |
| D@218:< 3:loc7> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32Array, Weak:Object: 0x10306a008 with butterfly 0x0(base=0xfffffffffffffff8) (Structure %Ec:Int32Array), StructureID: 40752, bc#301, ExitValid) | |
| D@219:<!0:-> MovHint(Check:Untyped:D@218, MustGen, loc7, W:SideState, ClobbersExit, bc#301, ExitValid) | |
| D@221:<!5:loc9> GetLocal(Check:Untyped:D@311, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther|ReallyWantsInt, Int32, loc6(FB<Int32>/FlushedInt32), machine:loc4, R:Stack(loc6), bc#310, ExitValid) predicting Int32 | |
| <1500> 0x112ea22dc: ldur w0, [fp, #-40] | |
| D@222:<!0:-> MovHint(Check:Untyped:D@221, MustGen, loc8, W:SideState, ClobbersExit, bc#310, ExitValid) | |
| D@352:<!0:-> Flush(Check:Untyped:D@312, MustGen|IsFlushed, this(A~<Object>/FlushedJSValue), machine:this, R:Stack(this), W:SideState, bc#313, ExitValid) predicting GlobalProxy | |
| D@231:<!0:-> MovHint(Check:Untyped:D@221, MustGen, loc9, W:SideState, ClobbersExit, bc#319, ExitInvalid) | |
| D@330:< 2:loc11> ConstantStoragePointer(Storage|PureInt, 0x104800000, bc#322, ExitValid) | |
| <1504> 0x112ea22e0: movz x1, #0x480, lsl #16 | |
| <1508> 0x112ea22e4: movk x1, #0x1, lsl #32 -> 0x104800000 | |
| D@234:<!2:loc6> GetByVal(KnownCell:D@218, Int32:D@221, Check:Untyped:D@330, JS|MustGen|VarArgs|PureNum|NeedsNaNOrInfinity|UseAsOther, Int32, Int32Array+NonArray+InBounds+AsIs+Read, R:TypedArrayProperties,MiscFields, Exits, bc#322, ExitValid) predicting None | |
| <1512> 0x112ea22e8: movz x3, #0xa008 | |
| <1516> 0x112ea22ec: movk x3, #0x306, lsl #16 | |
| <1520> 0x112ea22f0: movk x3, #0x1, lsl #32 -> 0x10306a008 | |
| <1524> 0x112ea22f4: sxtw x2, w0 | |
| <1528> 0x112ea22f8: movz x16, #0x2710 -> 10000 | |
| <1532> 0x112ea22fc: cmp x2, x16 | |
| <1536> 0x112ea2300: b.hs 0x112ea2570 -> <2160> | |
| <1540> 0x112ea2304: ldr w4, [x1, x0, lsl #2] | |
| D@235:<!0:-> MovHint(Check:Untyped:D@234, MustGen, loc5, W:SideState, ClobbersExit, bc#322, ExitInvalid) | |
| D@238:<!0:-> MovHint(Check:Untyped:D@212, MustGen, loc10, W:SideState, ClobbersExit, bc#328, ExitValid) | |
| D@243:< 2:loc10> JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 2048, bc#335, ExitValid) | |
| D@244:<!0:-> MovHint(Check:Untyped:D@243, MustGen, loc11, W:SideState, ClobbersExit, bc#335, ExitValid) | |
| D@246:<!2:loc10> ArithAdd(Int32:D@234, Int32:D@243, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, CheckOverflow, Exits, bc#344, ExitValid) | |
| <1544> 0x112ea2308: adds w4, w4, #2048 | |
| <1548> 0x112ea230c: b.vs 0x112ea2578 -> <2168> | |
| D@247:<!0:-> MovHint(Check:Untyped:D@246, MustGen, loc5, W:SideState, ClobbersExit, bc#344, ExitInvalid) | |
| D@249:<!0:-> PutByValAlias(KnownCell:D@218, Int32:D@221, Int32:D@246, Check:Untyped:D@330, MustGen|VarArgs, Int32Array+NonArray+InBounds+AsIs+Read, R:MiscFields, W:TypedArrayProperties, Exits, ClobbersExit, bc#350, ExitValid) | |
| <1552> 0x112ea2310: mov x5, x4 | |
| <1556> 0x112ea2314: str w5, [x1, x0, lsl #2] | |
| D@333:< 1:loc11> JSConstant(JS|PureNum|NeedsNaNOrInfinity|ReallyWantsInt, Int32, Int32: 1, bc#356, ExitValid) | |
| D@251:< 3:loc11> ArithAdd(Int32:D@221, Int32:D@333, Int32|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther|ReallyWantsInt, Int32, CheckOverflow, Exits, bc#356, ExitValid) | |
| <1560> 0x112ea2318: adds w0, w0, #1 | |
| <1564> 0x112ea231c: b.vs 0x112ea2580 -> <2176> | |
| D@252:<!0:-> MovHint(Check:Untyped:D@251, MustGen, loc6, W:SideState, ClobbersExit, bc#356, ExitInvalid) | |
| D@253:< 1:-> SetLocal(Int32:D@251, loc6(FB<Int32>/FlushedInt32), machine:loc4, W:Stack(loc6), bc#356, exit: bc#359, ExitValid) predicting Int32 | |
| <1568> 0x112ea2320: stur w0, [fp, #-40] | |
| D@254:< 1:loc9> JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 10000, bc#359, ExitValid) | |
| D@255:< 1:loc9> CompareLess(Int32:D@251, Int32:D@254, Boolean|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Bool, bc#359, ExitValid) | |
| <1572> 0x112ea2324: cmp w0, w16 | |
| <1576> 0x112ea2328: b.lt 0x112ea21fc -> <1276> | |
| D@256:<!0:-> Branch(KnownBoolean:D@255, MustGen, T:#1/w:10.000000, F:#6/w:1.000000, W:SideState, bc#359, ExitInvalid) | |
| Block #6 (bc#367): | |
| Execution count: 1.000000 | |
| Predecessors: #3 | |
| Successors: | |
| Dominated by: #root #0 #1 #2 #3 #6 | |
| Dominates: #6 | |
| Dominance Frontier: | |
| Iterated Dominance Frontier: | |
| Phi Nodes: D@314<loc4,2>->(D@318), D@315<this,1, IsFlushed>->(D@312) | |
| D@257:< 1:loc9> JSConstant(JS|PureInt, Other, Undefined, bc#367, ExitValid) | |
| D@258:<!0:-> MovHint(Check:Untyped:D@257, MustGen, loc5, W:SideState, ClobbersExit, bc#367, ExitValid) | |
| D@260:< 2:loc9> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %AH:global), StructureID: 37952, bc#370, ExitValid) | |
| D@261:<!0:-> MovHint(Check:Untyped:D@260, MustGen, loc8, W:SideState, ClobbersExit, bc#370, ExitValid) | |
| D@262:<!0:loc11> GetLocal(Check:Untyped:D@314, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, loc4(IB~<Object>/FlushedJSValue), machine:loc3, R:Stack(loc4), bc#370, ExitInvalid) predicting OtherObj | |
| <1580> 0x112ea232c: ldur x0, [fp, #-32] | |
| D@265:<!0:-> ForceOSRExit(MustGen, W:SideState, Exits, bc#377, ExitValid) | |
| <1584> 0x112ea2330: b 0x112ea2588 -> <2184> | |
| <1588> 0x112ea2334: mov x17, #0x180 | |
| <1592> 0x112ea2338: movz w16, #0xa2 -> 162 | |
| <1596> 0x112ea233c: brk #0xc471 | |
| D@298:<!0:-> Flush(Check:Untyped:D@315, MustGen|IsFlushed, this(A~<Object>/FlushedJSValue), machine:this, R:Stack(this), W:SideState, bc#377, ExitValid) predicting GlobalProxy | |
| D@300:<!0:-> PhantomLocal(Check:Untyped:D@314, MustGen, loc4(IB~<Object>/FlushedJSValue), machine:loc3, W:SideState, bc#377, ExitValid) predicting OtherObj | |
| D@306:<!0:-> CheckTierUpAtReturn(MustGen, W:SideState, Exits, bc#377, ExitValid) | |
| D@242:<!0:-> Phantom(Check:Untyped:D@260, MustGen, bc#377, ExitValid) | |
| D@301:<!0:-> Unreachable(MustGen, W:SideState, bc#377, ExitValid) | |
| (End Of Main Path) | |
| <1600> 0x112ea2340: mov w16, #0x6 | |
| <1604> 0x112ea2344: stur w16, [fp, #36] | |
| <1608> 0x112ea2348: ldur x0, [fp, #16] | |
| <1612> 0x112ea234c: mov w16, #0x7 | |
| <1616> 0x112ea2350: stur w16, [fp, #36] | |
| <1620> 0x112ea2354: movz x16, #0x9154 | |
| <1624> 0x112ea2358: movk x16, #0x90a, lsl #16 | |
| <1628> 0x112ea235c: movk x16, #0x1, lsl #32 -> 0x1090a9154 | |
| <1632> 0x112ea2360: blr x16 | |
| <1636> 0x112ea2364: b 0x112e48100 -> JIT PC | |
| <1640> 0x112ea2368: movz x1, #0xc1a0 | |
| <1644> 0x112ea236c: movk x1, #0x308, lsl #16 | |
| <1648> 0x112ea2370: movk x1, #0x1, lsl #32 -> 0x10308c1a0 | |
| <1652> 0x112ea2374: movz x0, #0x400, lsl #16 | |
| <1656> 0x112ea2378: movk x0, #0x1, lsl #32 -> 0x104000000 vm | |
| <1660> 0x112ea237c: mov w16, #0x8 | |
| <1664> 0x112ea2380: stur w16, [fp, #36] | |
| <1668> 0x112ea2384: movz x16, #0xd38 | |
| <1672> 0x112ea2388: movk x16, #0x8dd, lsl #16 | |
| <1676> 0x112ea238c: movk x16, #0x1, lsl #32 -> 0x108dd0d38 | |
| <1680> 0x112ea2390: blr x16 | |
| <1684> 0x112ea2394: movz x1, #0x2088 | |
| <1688> 0x112ea2398: movk x1, #0x441, lsl #16 | |
| <1692> 0x112ea239c: movk x1, #0x1, lsl #32 -> 0x104412088 | |
| <1696> 0x112ea23a0: b 0x112ea1e74 -> <372> | |
| <1700> 0x112ea23a4: movz x1, #0xc1e0 | |
| <1704> 0x112ea23a8: movk x1, #0x308, lsl #16 | |
| <1708> 0x112ea23ac: movk x1, #0x1, lsl #32 -> 0x10308c1e0 | |
| <1712> 0x112ea23b0: movz x0, #0x400, lsl #16 | |
| <1716> 0x112ea23b4: movk x0, #0x1, lsl #32 -> 0x104000000 vm | |
| <1720> 0x112ea23b8: movz w16, #0x9 -> 9 | |
| <1724> 0x112ea23bc: stur w16, [fp, #36] | |
| <1728> 0x112ea23c0: movz x16, #0xd38 | |
| <1732> 0x112ea23c4: movk x16, #0x8dd, lsl #16 | |
| <1736> 0x112ea23c8: movk x16, #0x1, lsl #32 -> 0x108dd0d38 | |
| <1740> 0x112ea23cc: blr x16 | |
| <1744> 0x112ea23d0: movz x1, #0x2088 | |
| <1748> 0x112ea23d4: movk x1, #0x441, lsl #16 | |
| <1752> 0x112ea23d8: movk x1, #0x1, lsl #32 -> 0x104412088 | |
| <1756> 0x112ea23dc: b 0x112ea2040 -> <832> | |
| <1760> 0x112ea23e0: mov x2, x0 | |
| <1764> 0x112ea23e4: mov x3, x4 | |
| <1768> 0x112ea23e8: movz x1, #0x9f30 | |
| <1772> 0x112ea23ec: movk x1, #0x3, lsl #32 -> 0x300009f30 | |
| <1776> 0x112ea23f0: movz x0, #0x2088 | |
| <1780> 0x112ea23f4: movk x0, #0x441, lsl #16 | |
| <1784> 0x112ea23f8: movk x0, #0x1, lsl #32 -> 0x104412088 | |
| <1788> 0x112ea23fc: movz w16, #0xa -> 10 | |
| <1792> 0x112ea2400: stur w16, [fp, #36] | |
| <1796> 0x112ea2404: movz x16, #0xb4d8 | |
| <1800> 0x112ea2408: movk x16, #0x8db, lsl #16 | |
| <1804> 0x112ea240c: movk x16, #0x1, lsl #32 -> 0x108dbb4d8 | |
| <1808> 0x112ea2410: blr x16 | |
| <1812> 0x112ea2414: cbnz x1, 0x112e48080 -> JIT PC; Exception check from operation result register | |
| <1816> 0x112ea2418: mov x3, x0 | |
| <1820> 0x112ea241c: movz w2, #0x2710 -> 10000 | |
| <1824> 0x112ea2420: movz x1, #0x2088 | |
| <1828> 0x112ea2424: movk x1, #0x441, lsl #16 | |
| <1832> 0x112ea2428: movk x1, #0x1, lsl #32 -> 0x104412088 | |
| <1836> 0x112ea242c: b 0x112ea2160 -> <1120> | |
| <1840> 0x112ea2430: movz x1, #0xc1c0 | |
| <1844> 0x112ea2434: movk x1, #0x308, lsl #16 | |
| <1848> 0x112ea2438: movk x1, #0x1, lsl #32 -> 0x10308c1c0 | |
| <1852> 0x112ea243c: movz x0, #0x400, lsl #16 | |
| <1856> 0x112ea2440: movk x0, #0x1, lsl #32 -> 0x104000000 vm | |
| <1860> 0x112ea2444: movz w16, #0xb -> 11 | |
| <1864> 0x112ea2448: stur w16, [fp, #36] | |
| <1868> 0x112ea244c: movz x16, #0xd38 | |
| <1872> 0x112ea2450: movk x16, #0x8dd, lsl #16 | |
| <1876> 0x112ea2454: movk x16, #0x1, lsl #32 -> 0x108dd0d38 | |
| <1880> 0x112ea2458: blr x16 | |
| <1884> 0x112ea245c: b 0x112ea21f4 -> <1268> | |
| <1888> 0x112ea2460: movz w1, #0x308 -> 776 | |
| <1892> 0x112ea2464: movz x0, #0x400, lsl #16 | |
| <1896> 0x112ea2468: movk x0, #0x1, lsl #32 -> 0x104000000 vm | |
| <1900> 0x112ea246c: mov w16, #0xc | |
| <1904> 0x112ea2470: stur w16, [fp, #36] | |
| <1908> 0x112ea2474: movz x16, #0xf230 | |
| <1912> 0x112ea2478: movk x16, #0x8dd, lsl #16 | |
| <1916> 0x112ea247c: movk x16, #0x1, lsl #32 -> 0x108ddf230 | |
| <1920> 0x112ea2480: blr x16 | |
| <1924> 0x112ea2484: cbz x0, 0x112ea2220 -> <1312> | |
| <1928> 0x112ea2488: ldp x26, x27, [fp, #-24]; emitRestoreCalleeSavesFor | |
| <1932> 0x112ea248c: ldur x28, [fp, #-8] | |
| <1936> 0x112ea2490: br x0 | |
| <1940> 0x112ea2494: movz w1, #0x32c -> 812 | |
| <1944> 0x112ea2498: movz x0, #0x400, lsl #16 | |
| <1948> 0x112ea249c: movk x0, #0x1, lsl #32 -> 0x104000000 vm | |
| <1952> 0x112ea24a0: movz w16, #0xd -> 13 | |
| <1956> 0x112ea24a4: stur w16, [fp, #36] | |
| <1960> 0x112ea24a8: movz x16, #0xf230 | |
| <1964> 0x112ea24ac: movk x16, #0x8dd, lsl #16 | |
| <1968> 0x112ea24b0: movk x16, #0x1, lsl #32 -> 0x108ddf230 | |
| <1972> 0x112ea24b4: blr x16 | |
| <1976> 0x112ea24b8: cbz x0, 0x112ea224c -> <1356> | |
| <1980> 0x112ea24bc: ldp x26, x27, [fp, #-24]; emitRestoreCalleeSavesFor | |
| <1984> 0x112ea24c0: ldur x28, [fp, #-8] | |
| <1988> 0x112ea24c4: br x0 | |
| <1992> 0x112ea24c8: movz w27, #0x0 | |
| <1996> 0x112ea24cc: b 0x112e84000 -> JIT PC | |
| <2000> 0x112ea24d0: mov w27, #0x1 | |
| <2004> 0x112ea24d4: b 0x112e84000 -> JIT PC | |
| <2008> 0x112ea24d8: mov w27, #0x2 | |
| <2012> 0x112ea24dc: b 0x112e84000 -> JIT PC | |
| <2016> 0x112ea24e0: mov w27, #0x3 | |
| <2020> 0x112ea24e4: b 0x112e84000 -> JIT PC | |
| <2024> 0x112ea24e8: mov w27, #0x4 | |
| <2028> 0x112ea24ec: b 0x112e84000 -> JIT PC | |
| <2032> 0x112ea24f0: movz w27, #0x5 -> 5 | |
| <2036> 0x112ea24f4: b 0x112e84000 -> JIT PC | |
| <2040> 0x112ea24f8: mov w27, #0x6 | |
| <2044> 0x112ea24fc: b 0x112e84000 -> JIT PC | |
| <2048> 0x112ea2500: mov w27, #0x7 | |
| <2052> 0x112ea2504: b 0x112e84000 -> JIT PC | |
| <2056> 0x112ea2508: mov w27, #0x8 | |
| <2060> 0x112ea250c: b 0x112e84000 -> JIT PC | |
| <2064> 0x112ea2510: movz w27, #0x9 -> 9 | |
| <2068> 0x112ea2514: b 0x112e84000 -> JIT PC | |
| <2072> 0x112ea2518: movz w27, #0xa -> 10 | |
| <2076> 0x112ea251c: b 0x112e84000 -> JIT PC | |
| <2080> 0x112ea2520: movz w27, #0xb -> 11 | |
| <2084> 0x112ea2524: b 0x112e84000 -> JIT PC | |
| <2088> 0x112ea2528: mov w27, #0xc | |
| <2092> 0x112ea252c: b 0x112e84000 -> JIT PC | |
| <2096> 0x112ea2530: movz w27, #0xd -> 13 | |
| <2100> 0x112ea2534: b 0x112e84000 -> JIT PC | |
| <2104> 0x112ea2538: mov w27, #0xe | |
| <2108> 0x112ea253c: b 0x112e84000 -> JIT PC | |
| <2112> 0x112ea2540: mov w27, #0xf | |
| <2116> 0x112ea2544: b 0x112e84000 -> JIT PC | |
| <2120> 0x112ea2548: mov w27, #0x10 | |
| <2124> 0x112ea254c: b 0x112e84000 -> JIT PC | |
| <2128> 0x112ea2550: movz w27, #0x11 -> 17 | |
| <2132> 0x112ea2554: b 0x112e84000 -> JIT PC | |
| <2136> 0x112ea2558: movz w27, #0x12 -> 18 | |
| <2140> 0x112ea255c: b 0x112e84000 -> JIT PC | |
| <2144> 0x112ea2560: movz w27, #0x13 -> 19 | |
| <2148> 0x112ea2564: b 0x112e84000 -> JIT PC | |
| <2152> 0x112ea2568: movz w27, #0x14 -> 20 | |
| <2156> 0x112ea256c: b 0x112e84000 -> JIT PC | |
| <2160> 0x112ea2570: movz w27, #0x15 -> 21 | |
| <2164> 0x112ea2574: b 0x112e84000 -> JIT PC | |
| <2168> 0x112ea2578: movz w27, #0x16 -> 22 | |
| <2172> 0x112ea257c: b 0x112e84000 -> JIT PC | |
| <2176> 0x112ea2580: movz w27, #0x17 -> 23 | |
| <2180> 0x112ea2584: b 0x112e84000 -> JIT PC | |
| <2184> 0x112ea2588: mov w27, #0x18 | |
| <2188> 0x112ea258c: b 0x112e84000 -> JIT PC | |
| Structures: | |
| %A3:Function = 0x3000093d0:[0x93d0/37840, Function, (0/0, 14/16){prototype:64, length:65, name:66, EPSILON:67, MAX_VALUE:68, MIN_VALUE:69, MAX_SAFE_INTEGER:70, MIN_SAFE_INTEGER:71, NEGATIVE_INFINITY:72, POSITIVE_INFINITY:73, NaN:74, parseInt:75, parseFloat:76, isInteger:77}, NonArray, Unknown, Proto:0x103068d48, Leaf] | |
| %AH:global = 0x300009440:[0x9440/37952, global, (0/0, 118/128){Object:64, Function:65, Array:66, RegExp:67, Iterator:68, SharedArrayBuffer:69, String:70, Promise:71, BigInt:72, Symbol:73, WeakRef:74, FinalizationRegistry:75, Intl:76, Float16Array:77, WebAssembly:78, Symbol.toStringTag:79, atob:80, btoa:81, disassembleBase64:82, debug:83, describe:84, describeArray:85, print:86, printErr:87, prettyPrint:88, quit:89, gc:90, fullGC:91, edenGC:92, gcHeapSize:93, memoryUsageStatistics:94, MemoryFootprint:95, resetMemoryPeak:96, addressOf:97, version:98, run:99, runString:100, load:101, loadString:102, readFile:103, read:104, writeFile:105, write:106, checkSyntax:107, sleepSeconds:108, jscStack:109, openFile:110, readline:111, preciseTime:112, neverInlineFunction:113, noInline:114, noDFG:115, noFTL:116, noOSRExitFuzzing:117, numberOfDFGCompiles:118, callerIsBBQOrOMGCompiled:119, jscOptions:120, optimizeNextInvocation:121, reoptimizationRetryCount:122, transferArrayBuffer:123, failNextNewCodeBlock:124, OSRExit:125, isFinalTier:126, predictInt32:127, isInt32:128, isPureNaN:129, fiatInt52:130, effectful42:131, makeMasquerader:132, hasCustomProperties:133, createGlobalObject:134, createHeapBigInt:135, useBigInt32:136, isBigInt32:137, isHeapBigInt:138, createNonRopeNonAtomString:139, dumpTypesForAllVariables:140, drainMicrotasks:141, setTimeout:142, releaseWeakRefs:143, finalizationRegistryLiveCount:144, finalizationRegistryDeadCount:145, getRandomSeed:146, setRandomSeed:147, isRope:148, callerSourceOrigin:149, is32BitPlatform:150, checkModuleSyntax:151, checkScriptSyntax:152, platformSupportsSamplingProfiler:153, generateHeapSnapshot:154, generateHeapSnapshotForGCDebugging:155, resetSuperSamplerState:156, ensureArrayStorage:157, startSamplingProfiler:158, samplingProfilerStackTraces:159, maxArguments:160, asyncTestStart:161, asyncTestPassed:162, WebAssemblyMemoryMode:163, arguments:164, console:165, $:166, $262:167, waiterListSize:168, waitForReport:169, heapCapacity:170, flashHeapAccess:171, disableRichSourceInfo:172, mallocInALoop:173, totalCompileTime:174, setUnhandledRejectionCallback:175, asDoubleNumber:176, dropAllLocks:177, performance:178, Number:179, Math:180, Int32Array:181}, NonArray, ChangePrototype, Proto:0x103020988, Dictionary, Leaf] | |
| %Ct:Array,ArrayWithContiguous = 0x3000060f0:[0x60f0/24816, Array, (0/0, 0/0){}, ArrayWithContiguous, Unknown, Proto:0x103020a18] | |
| %Dh:Function = 0x300009fa0:[0x9fa0/40864, Function, (0/0, 4/4){length:64, name:65, prototype:66, BYTES_PER_ELEMENT:67}, NonArray, Unknown, Proto:0x104520310, Leaf] | |
| %EK:Math = 0x300009de0:[0x9de0/40416, Math, (0/0, 45/64){E:64, LN2:65, LN10:66, LOG2E:67, LOG10E:68, PI:69, SQRT1_2:70, SQRT2:71, Symbol.toStringTag:72, abs:73, acos:74, asin:75, atan:76, acosh:77, asinh:78, atanh:79, atan2:80, cbrt:81, ceil:82, clz32:83, cos:84, cosh:85, exp:86, expm1:87, floor:88, fround:89, hypot:90, log:91, log10:92, log1p:93, log2:94, max:95, min:96, pow:97, random:98, round:99, sign:100, sin:101, sinh:102, sqrt:103, tan:104, tanh:105, trunc:106, imul:107, f16round:108}, NonArray, Unknown, Proto:0x103020988, Leaf] | |
| %Ec:Int32Array = 0x300009f30:[0x9f30/40752, Int32Array, (0/0, 0/0){}, NonArray, Unknown, Proto:0x10451c260, Leaf] | |
| Graph just before FTL lowering: | |
| 58: DFG for <global>#CrDqaR:[0x10453c3a0->0x10453c1e0->0x103036388, DFGGlobal, 433 (DidTryToEnterInLoop)]: | |
| 58: Fixpoint state: FixpointConverged; Form: SSA; Unification state: GloballyUnified; Ref count state: ExactRefCount | |
| 58: Argument formats for entrypoint index: 0 : FlushedJSValue | |
| 0 58: Block #0 (bc#0): | |
| 0 58: Execution count: 1.000000 | |
| 0 58: Predecessors: | |
| 0 58: Successors: #2 | |
| 0 58: Dominated by: #0 | |
| 0 58: Dominates: #0 #1 #2 #3 #5 #6 #7 | |
| 0 58: Dominance Frontier: | |
| 0 58: Iterated Dominance Frontier: | |
| 0 58: Backwards dominates by: #root #0 #2 #5 #6 | |
| 0 58: Backwards dominates: #0 | |
| 0 58: Control equivalent to: #0 #2 #5 #6 | |
| 0 58: States: StructuresAreWatched | |
| 0 58: Live: | |
| 0 58: Values: | |
| 0 0 58: D@81:< 9:-> JSConstant(JS|PureInt, Other, Undefined, bc#0, ExitInvalid) | |
| 1 0 58: D@141:< 2:-> JSConstant(JS|PureNum|NeedsNaNOrInfinity, Int32, Int32: 1, bc#0, ExitInvalid) | |
| 2 0 58: D@75:< 2:-> JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 2048, bc#0, ExitInvalid) | |
| 3 0 58: D@64:< 2:-> JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 10000, bc#0, ExitInvalid) | |
| 4 0 58: D@139:< 2:-> JSConstant(JS|PureNum|NeedsNaNOrInfinity, NonBoolInt32, Int32: 40, bc#0, ExitInvalid) | |
| 5 0 58: D@95:< 1:-> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, bc#0, ExitInvalid) | |
| 6 0 58: D@131:< 2:-> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, BoolInt32, Int32: 0, bc#0, ExitInvalid) | |
| 7 0 58: D@129:< 1:-> JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 100000, bc#0, ExitInvalid) | |
| 8 0 58: D@89:< 7:-> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32Array, Weak:Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, bc#0, ExitInvalid) | |
| 9 0 58: D@87:<!0:-> InitializeEntrypointArguments(MustGen, W:SideState, ClobbersExit, bc#0, ExitInvalid) | |
| 10 0 58: D@135:<!0:-> ExitOK(MustGen, W:SideState, bc#0, ExitInvalid) | |
| 11 0 58: D@8:< 1:-> ExtractOSREntryLocal(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, loc4, bc#0, ExitInvalid) | |
| 12 0 58: D@143:<!0:-> KillStack(MustGen, loc4, W:Stack(loc4), ClobbersExit, bc#0, ExitInvalid) | |
| 13 0 58: D@7:<!0:-> MovHint(Check:Untyped:Kill:D@8, MustGen, loc4, W:SideState, ClobbersExit, bc#0, ExitInvalid) | |
| 14 0 58: D@6:< 3:-> ExtractOSREntryLocal(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther|ReallyWantsInt, NonBoolInt32, loc6, bc#0, ExitInvalid) | |
| 15 0 58: D@137:<!0:-> KillStack(MustGen, loc6, W:Stack(loc6), ClobbersExit, bc#0, ExitInvalid) | |
| 16 0 58: D@5:<!0:-> MovHint(Check:Untyped:D@6, MustGen, loc6, W:SideState, ClobbersExit, bc#0, ExitInvalid) | |
| 17 0 58: D@2:<!0:-> Check(Check:Int32:D@6, MustGen, Exits, bc#194, ExitValid) | |
| 18 0 58: D@4:< 1:-> Upsilon(KnownInt32:Kill:D@6, ^96, W:SideState, bc#194, ExitValid) | |
| 19 0 58: D@144:< 4:-> ConstantStoragePointer(Storage|PureInt, 0x104800000, bc#243, exit: bc#194, ExitValid) | |
| 20 0 58: D@1:<!0:-> Jump(MustGen, T:#2, W:SideState, bc#194, ExitValid) | |
| 0 58: States: InvalidBranchDirection, StructuresAreWatched | |
| 0 58: Live: D@64, D@75, D@81, D@89, D@95, shadow(D@96), D@129, D@131, D@139, D@141, D@144 | |
| 0 58: Values: D@64=>(NonBoolInt32, Int32: 10000, 1:StructuresAreWatched), D@75=>(NonBoolInt32, Int32: 2048, 1:StructuresAreWatched), D@89=>(Int32Array, Int32ArrayMode, [%AR:Int32Array], Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, 1:StructuresAreWatched), D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), shadow(D@96)=>(Int32, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched), D@129=>(NonBoolInt32, Int32: 100000, 1:StructuresAreWatched), D@131=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@139=>(NonBoolInt32, Int32: 40, 1:StructuresAreWatched), D@141=>(BoolInt32, Int32: 1, 1:StructuresAreWatched), D@144=>(None, 1:StructuresAreWatched) | |
| 1 58: Block #1 (bc#194): | |
| 1 58: Execution count: 10.000000 | |
| 1 58: Predecessors: #6 | |
| 1 58: Successors: #2 | |
| 1 58: Dominated by: #0 #1 #2 #5 #6 | |
| 1 58: Dominates: #1 | |
| 1 58: Dominance Frontier: #2 | |
| 1 58: Iterated Dominance Frontier: #2 | |
| 1 58: Backwards dominates by: #root #1 | |
| 1 58: Backwards dominates: #1 | |
| 1 58: Control equivalent to: #1 | |
| 1 58: Containing loop headers: #2 | |
| 1 58: States: StructuresAreWatched | |
| 1 58: Live: D@64, D@67, D@75, D@81, D@89, D@95, D@129, D@131, D@139, D@141, D@144 | |
| 1 58: Values: D@64=>(NonBoolInt32, Int32: 10000, 1:StructuresAreWatched), D@67=>(Int32, 1:StructuresAreWatched), D@75=>(NonBoolInt32, Int32: 2048, 1:StructuresAreWatched), D@89=>(Int32Array, Int32ArrayMode, [%AR:Int32Array], Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, 1:StructuresAreWatched), D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched), D@129=>(NonBoolInt32, Int32: 100000, 1:StructuresAreWatched), D@131=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@139=>(NonBoolInt32, Int32: 40, 1:StructuresAreWatched), D@141=>(BoolInt32, Int32: 1, 1:StructuresAreWatched), D@144=>(None, none:StructuresAreClobbered) | |
| 0 1 58: D@115:<!0:-> ExitOK(MustGen, W:SideState, bc#194, ExitValid) | |
| 1 1 58: D@114:< 1:-> Upsilon(KnownInt32:Kill:D@67, ^96, W:SideState, bc#194, ExitValid) | |
| 2 1 58: D@57:<!0:-> Jump(MustGen, T:#2, W:SideState, bc#194, ExitValid) | |
| 1 58: States: InvalidBranchDirection, StructuresAreWatched | |
| 1 58: Live: D@64, D@75, D@81, D@89, D@95, shadow(D@96), D@129, D@131, D@139, D@141, D@144 | |
| 1 58: Values: D@64=>(NonBoolInt32, Int32: 10000, 1:StructuresAreWatched), D@75=>(NonBoolInt32, Int32: 2048, 1:StructuresAreWatched), D@89=>(Int32Array, Int32ArrayMode, [%AR:Int32Array], Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, 1:StructuresAreWatched), D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), shadow(D@96)=>(Int32, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched), D@129=>(NonBoolInt32, Int32: 100000, 1:StructuresAreWatched), D@131=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@139=>(NonBoolInt32, Int32: 40, 1:StructuresAreWatched), D@141=>(BoolInt32, Int32: 1, 1:StructuresAreWatched), D@144=>(None, 1:StructuresAreWatched) | |
| 2 58: Block #2 (bc#194): (OSR target) | |
| 2 58: Execution count: 10.000000 | |
| 2 58: Predecessors: #0 #1 | |
| 2 58: Successors: #5 | |
| 2 58: Dominated by: #0 #2 | |
| 2 58: Dominates: #1 #2 #3 #5 #6 #7 | |
| 2 58: Dominance Frontier: #2 | |
| 2 58: Iterated Dominance Frontier: #2 | |
| 2 58: Backwards dominates by: #root #2 #5 #6 | |
| 2 58: Backwards dominates: #0 #2 | |
| 2 58: Control equivalent to: #0 #2 #5 #6 | |
| 2 58: Loop header, contains: #1 #2 #3 #5 #6 | |
| 2 58: Containing loop headers: #2 | |
| 2 58: States: StructuresAreWatched | |
| 2 58: Live: D@64, D@75, D@81, D@89, D@95, shadow(D@96), D@129, D@131, D@139, D@141, D@144 | |
| 2 58: Values: D@64=>(NonBoolInt32, Int32: 10000, 1:StructuresAreWatched), D@75=>(NonBoolInt32, Int32: 2048, 1:StructuresAreWatched), D@89=>(Int32Array, Int32ArrayMode, [%AR:Int32Array], Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, 1:StructuresAreWatched), D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), shadow(D@96)=>(Int32, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched), D@129=>(NonBoolInt32, Int32: 100000, 1:StructuresAreWatched), D@131=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@139=>(NonBoolInt32, Int32: 40, 1:StructuresAreWatched), D@141=>(BoolInt32, Int32: 1, 1:StructuresAreWatched), D@144=>(None, none:StructuresAreClobbered) | |
| 0 2 58: D@96:< 9:-> Phi(Int32|PureInt, Int32, W:SideState, bc#194, ExitInvalid) | |
| 1 2 58: D@19:<!0:-> MovHint(Check:Untyped:D@96, MustGen, loc6, W:SideState, ClobbersExit, bc#194, ExitInvalid) | |
| 2 2 58: D@60:<!0:-> ExitOK(MustGen, W:SideState, bc#194, ExitValid) | |
| 3 2 58: D@133:<!0:-> LoopHint(MustGen, W:SideState, bc#194, ExitValid) | |
| 4 2 58: D@132:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#195, ExitValid) | |
| 5 2 58: D@65:<!0:-> KillStack(MustGen, loc7, W:Stack(loc7), ClobbersExit, bc#196, ExitValid) | |
| 6 2 58: D@130:<!0:-> MovHint(Check:Untyped:D@131, MustGen, loc7, W:SideState, ClobbersExit, bc#196, ExitInvalid) | |
| 7 2 58: D@70:<!0:-> ExitOK(MustGen, W:SideState, bc#203, ExitValid) | |
| 8 2 58: D@76:< 1:-> Upsilon(KnownInt32:D@131, ^142, W:SideState, bc#203, ExitValid) | |
| 9 2 58: D@17:<!2:-> CheckInBounds(Int32:D@96, KnownInt32:D@64, JS|MustGen|PureInt, Int32, Exits, bc#243, exit: bc#203, ExitValid) | |
| 10 2 58: D@68:<!0:-> Jump(MustGen, T:#5, W:SideState, bc#203, ExitValid) | |
| 2 58: States: InvalidBranchDirection, StructuresAreWatched | |
| 2 58: Live: D@17, D@64, D@75, D@81, D@89, D@95, D@96, D@129, D@131, D@139, D@141, shadow(D@142), D@144 | |
| 2 58: Values: D@17=>(Int32, 1:StructuresAreWatched), D@64=>(NonBoolInt32, Int32: 10000, 1:StructuresAreWatched), D@75=>(NonBoolInt32, Int32: 2048, 1:StructuresAreWatched), D@89=>(Int32Array, Int32ArrayMode, [%AR:Int32Array], Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, 1:StructuresAreWatched), D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), D@96=>(Int32, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched), D@129=>(NonBoolInt32, Int32: 100000, 1:StructuresAreWatched), D@131=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@139=>(NonBoolInt32, Int32: 40, 1:StructuresAreWatched), D@141=>(BoolInt32, Int32: 1, 1:StructuresAreWatched), shadow(D@142)=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@144=>(None, 1:StructuresAreWatched) | |
| 3 58: Block #3 (bc#203): | |
| 3 58: Execution count: 100.000000 | |
| 3 58: Predecessors: #5 | |
| 3 58: Successors: #5 | |
| 3 58: Dominated by: #0 #2 #3 #5 | |
| 3 58: Dominates: #3 | |
| 3 58: Dominance Frontier: #5 | |
| 3 58: Iterated Dominance Frontier: #2 #5 | |
| 3 58: Backwards dominates by: #root #3 #5 #6 | |
| 3 58: Backwards dominates: #3 | |
| 3 58: Control equivalent to: #3 | |
| 3 58: Containing loop headers: #5 #2 | |
| 3 58: States: StructuresAreWatched | |
| 3 58: Live: D@17, D@64, D@75, D@81, D@89, D@95, D@96, D@105, D@129, D@131, D@139, D@141, D@144 | |
| 3 58: Values: D@17=>(Int32, 1:StructuresAreWatched), D@64=>(NonBoolInt32, Int32: 10000, 1:StructuresAreWatched), D@75=>(NonBoolInt32, Int32: 2048, 1:StructuresAreWatched), D@89=>(Int32Array, Int32ArrayMode, [%AR:Int32Array], Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, 1:StructuresAreWatched), D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), D@96=>(Int32, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched), D@105=>(Int32, 1:StructuresAreWatched), D@129=>(NonBoolInt32, Int32: 100000, 1:StructuresAreWatched), D@131=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@139=>(NonBoolInt32, Int32: 40, 1:StructuresAreWatched), D@141=>(BoolInt32, Int32: 1, 1:StructuresAreWatched), D@144=>(None, none:StructuresAreClobbered) | |
| 0 3 58: D@128:<!0:-> ExitOK(MustGen, W:SideState, bc#203, ExitValid) | |
| 1 3 58: D@127:< 1:-> Upsilon(KnownInt32:Kill:D@105, ^142, W:SideState, bc#203, ExitValid) | |
| 2 3 58: D@21:<!0:-> Jump(MustGen, T:#5, W:SideState, bc#203, ExitValid) | |
| 3 58: States: InvalidBranchDirection, StructuresAreWatched | |
| 3 58: Live: D@17, D@64, D@75, D@81, D@89, D@95, D@96, D@129, D@131, D@139, D@141, shadow(D@142), D@144 | |
| 3 58: Values: D@17=>(Int32, 1:StructuresAreWatched), D@64=>(NonBoolInt32, Int32: 10000, 1:StructuresAreWatched), D@75=>(NonBoolInt32, Int32: 2048, 1:StructuresAreWatched), D@89=>(Int32Array, Int32ArrayMode, [%AR:Int32Array], Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, 1:StructuresAreWatched), D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), D@96=>(Int32, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched), D@129=>(NonBoolInt32, Int32: 100000, 1:StructuresAreWatched), D@131=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@139=>(NonBoolInt32, Int32: 40, 1:StructuresAreWatched), D@141=>(BoolInt32, Int32: 1, 1:StructuresAreWatched), shadow(D@142)=>(Int32, 1:StructuresAreWatched), D@144=>(None, 1:StructuresAreWatched) | |
| 5 58: Block #5 (bc#203): (OSR target) | |
| 5 58: Execution count: 100.000000 | |
| 5 58: Predecessors: #2 #3 | |
| 5 58: Successors: #3 #6 | |
| 5 58: Dominated by: #0 #2 #5 | |
| 5 58: Dominates: #1 #3 #5 #6 #7 | |
| 5 58: Dominance Frontier: #2 #5 | |
| 5 58: Iterated Dominance Frontier: #2 #5 | |
| 5 58: Backwards dominates by: #root #5 #6 | |
| 5 58: Backwards dominates: #0 #2 #3 #5 | |
| 5 58: Control equivalent to: #0 #2 #5 #6 | |
| 5 58: Loop header, contains: #3 #5 | |
| 5 58: Containing loop headers: #5 #2 | |
| 5 58: States: StructuresAreWatched | |
| 5 58: Live: D@17, D@64, D@75, D@81, D@89, D@95, D@96, D@129, D@131, D@139, D@141, shadow(D@142), D@144 | |
| 5 58: Values: D@17=>(Int32, 1:StructuresAreWatched), D@64=>(NonBoolInt32, Int32: 10000, 1:StructuresAreWatched), D@75=>(NonBoolInt32, Int32: 2048, 1:StructuresAreWatched), D@89=>(Int32Array, Int32ArrayMode, [%AR:Int32Array], Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, 1:StructuresAreWatched), D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), D@96=>(Int32, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched), D@129=>(NonBoolInt32, Int32: 100000, 1:StructuresAreWatched), D@131=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@139=>(NonBoolInt32, Int32: 40, 1:StructuresAreWatched), D@141=>(BoolInt32, Int32: 1, 1:StructuresAreWatched), shadow(D@142)=>(Int32, 1:StructuresAreWatched), D@144=>(None, none:StructuresAreClobbered) | |
| 0 5 58: D@142:< 4:-> Phi(Int32|PureInt, Int32, W:SideState, bc#203, ExitInvalid) | |
| 1 5 58: D@91:<!0:-> MovHint(Check:Untyped:D@142, MustGen, loc7, W:SideState, ClobbersExit, bc#203, ExitInvalid) | |
| 2 5 58: D@107:<!0:-> ExitOK(MustGen, W:SideState, bc#203, ExitValid) | |
| 3 5 58: D@103:<!0:-> LoopHint(MustGen, W:SideState, bc#203, ExitValid) | |
| 4 5 58: D@0:<!0:-> KillStack(MustGen, loc5, W:Stack(loc5), ClobbersExit, bc#205, ExitValid) | |
| 5 5 58: D@97:<!0:-> ZombieHint(Check:Untyped:D@81, MustGen, loc5, W:SideState, ClobbersExit, bc#205, ExitInvalid) | |
| 6 5 58: D@18:<!0:-> KillStack(MustGen, loc8, W:Stack(loc8), ClobbersExit, bc#208, ExitValid) | |
| 7 5 58: D@92:<!0:-> ZombieHint(Check:Untyped:D@81, MustGen, loc8, W:SideState, ClobbersExit, bc#208, ExitInvalid) | |
| 8 5 58: D@10:<!0:-> KillStack(MustGen, loc8, W:Stack(loc8), ClobbersExit, bc#215, ExitValid) | |
| 9 5 58: D@82:<!0:-> MovHint(Check:Untyped:D@89, MustGen, loc8, W:SideState, ClobbersExit, bc#215, ExitInvalid) | |
| 10 5 58: D@16:<!0:-> KillStack(MustGen, loc9, W:Stack(loc9), ClobbersExit, bc#224, ExitValid) | |
| 11 5 58: D@78:<!0:-> MovHint(Check:Untyped:D@96, MustGen, loc9, W:SideState, ClobbersExit, bc#224, ExitInvalid) | |
| 12 5 58: D@15:<!0:-> KillStack(MustGen, loc11, W:Stack(loc11), ClobbersExit, bc#227, ExitValid) | |
| 13 5 58: D@73:<!0:-> ZombieHint(Check:Untyped:D@81, MustGen, loc11, W:SideState, ClobbersExit, bc#227, ExitInvalid) | |
| 14 5 58: D@14:<!0:-> KillStack(MustGen, loc12, W:Stack(loc12), ClobbersExit, bc#234, ExitValid) | |
| 15 5 58: D@58:<!0:-> MovHint(Check:Untyped:D@89, MustGen, loc12, W:SideState, ClobbersExit, bc#234, ExitInvalid) | |
| 16 5 58: D@56:<!2:-> GetByVal(KnownCell:D@89, Int32:D@96, Check:Untyped:D@144, Check:Untyped:D@17, JS|MustGen|VarArgs|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, Int32Array+OriginalNonArray+InBounds+AsIs+Read, R:TypedArrayProperties,MiscFields, Exits, bc#243, ExitValid) predicting NonBoolInt32 | |
| 17 5 58: D@138:<!0:-> KillStack(MustGen, loc10, W:Stack(loc10), ClobbersExit, bc#243, ExitInvalid) | |
| 18 5 58: D@22:<!0:-> MovHint(Check:Untyped:D@56, MustGen, loc10, W:SideState, ClobbersExit, bc#243, ExitInvalid) | |
| 19 5 58: D@13:<!0:-> KillStack(MustGen, loc11, W:Stack(loc11), ClobbersExit, bc#249, ExitValid) | |
| 20 5 58: D@20:<!0:-> MovHint(Check:Untyped:D@142, MustGen, loc11, W:SideState, ClobbersExit, bc#249, ExitInvalid) | |
| 21 5 58: D@12:<!0:-> KillStack(MustGen, loc12, W:Stack(loc12), ClobbersExit, bc#252, ExitValid) | |
| 22 5 58: D@9:<!0:-> ZombieHint(Check:Untyped:D@81, MustGen, loc12, W:SideState, ClobbersExit, bc#252, ExitInvalid) | |
| 23 5 58: D@84:<!0:-> KillStack(MustGen, loc13, W:Stack(loc13), ClobbersExit, bc#259, ExitValid) | |
| 24 5 58: D@140:<!0:-> MovHint(Check:Untyped:D@139, MustGen, loc13, W:SideState, ClobbersExit, bc#259, ExitInvalid) | |
| 25 5 58: D@136:<!2:-> ArithMod(Int32:D@142, Int32:D@139, Number|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, CheckOverflowAndNegativeZero, Exits, bc#268, ExitValid) | |
| 26 5 58: D@85:<!0:-> KillStack(MustGen, loc11, W:Stack(loc11), ClobbersExit, bc#268, ExitInvalid) | |
| 27 5 58: D@134:<!0:-> MovHint(Check:Untyped:D@136, MustGen, loc11, W:SideState, ClobbersExit, bc#268, ExitInvalid) | |
| 28 5 58: D@109:<!2:-> ArithAdd(Int32:Kill:D@56, Int32:Kill:D@136, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, CheckOverflow, Exits, bc#272, ExitValid) | |
| 29 5 58: D@86:<!0:-> KillStack(MustGen, loc5, W:Stack(loc5), ClobbersExit, bc#272, ExitInvalid) | |
| 30 5 58: D@108:<!0:-> MovHint(Check:Untyped:D@109, MustGen, loc5, W:SideState, ClobbersExit, bc#272, ExitInvalid) | |
| 31 5 58: D@106:<!0:-> PutByValAlias(KnownCell:D@89, Int32:D@96, Int32:Kill:D@109, Check:Untyped:D@144, MustGen|VarArgs, Int32Array+OriginalNonArray+InBounds+AsIs+Write, R:MiscFields, W:TypedArrayProperties, Exits, ClobbersExit, bc#278, ExitValid) | |
| 32 5 58: D@105:< 3:-> ArithAdd(Int32:Kill:D@142, Int32:D@141, Int32|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, Unchecked, bc#284, ExitValid) | |
| 33 5 58: D@11:<!0:-> KillStack(MustGen, loc7, W:Stack(loc7), ClobbersExit, bc#284, ExitInvalid) | |
| 34 5 58: D@104:<!0:-> MovHint(Check:Untyped:D@105, MustGen, loc7, W:SideState, ClobbersExit, bc#284, ExitInvalid) | |
| 35 5 58: D@102:< 1:-> CompareLess(Int32:D@105, Int32:D@129, Boolean|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Bool, bc#287, ExitValid) | |
| 36 5 58: D@101:<!0:-> Branch(KnownBoolean:Kill:D@102, MustGen, T:#3/w:100.000000, F:#6/w:10.000000, W:SideState, bc#287, ExitInvalid) | |
| 5 58: States: TakeBoth, StructuresAreWatched | |
| 5 58: Live: D@17, D@64, D@75, D@81, D@89, D@95, D@96, D@105, D@129, D@131, D@139, D@141, D@144 | |
| 5 58: Values: D@17=>(Int32, 1:StructuresAreWatched), D@64=>(NonBoolInt32, Int32: 10000, 1:StructuresAreWatched), D@75=>(NonBoolInt32, Int32: 2048, 1:StructuresAreWatched), D@89=>(Int32Array, Int32ArrayMode, [%AR:Int32Array], Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, 1:StructuresAreWatched), D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), D@96=>(Int32, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched), D@105=>(Int32, 1:StructuresAreWatched), D@129=>(NonBoolInt32, Int32: 100000, 1:StructuresAreWatched), D@131=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@139=>(NonBoolInt32, Int32: 40, 1:StructuresAreWatched), D@141=>(BoolInt32, Int32: 1, 1:StructuresAreWatched), D@144=>(None, 1:StructuresAreWatched) | |
| 6 58: Block #6 (bc#291): | |
| 6 58: Execution count: 10.000000 | |
| 6 58: Predecessors: #5 | |
| 6 58: Successors: #1 #7 | |
| 6 58: Dominated by: #0 #2 #5 #6 | |
| 6 58: Dominates: #1 #6 #7 | |
| 6 58: Dominance Frontier: #2 | |
| 6 58: Iterated Dominance Frontier: #2 | |
| 6 58: Backwards dominates by: #root #6 | |
| 6 58: Backwards dominates: #0 #2 #3 #5 #6 | |
| 6 58: Control equivalent to: #0 #2 #5 #6 | |
| 6 58: Containing loop headers: #2 | |
| 6 58: States: StructuresAreWatched | |
| 6 58: Live: D@17, D@64, D@75, D@81, D@89, D@95, D@96, D@129, D@131, D@139, D@141, D@144 | |
| 6 58: Values: D@17=>(Int32, 1:StructuresAreWatched), D@64=>(NonBoolInt32, Int32: 10000, 1:StructuresAreWatched), D@75=>(NonBoolInt32, Int32: 2048, 1:StructuresAreWatched), D@89=>(Int32Array, Int32ArrayMode, [%AR:Int32Array], Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, 1:StructuresAreWatched), D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), D@96=>(Int32, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched), D@129=>(NonBoolInt32, Int32: 100000, 1:StructuresAreWatched), D@131=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@139=>(NonBoolInt32, Int32: 40, 1:StructuresAreWatched), D@141=>(BoolInt32, Int32: 1, 1:StructuresAreWatched), D@144=>(None, none:StructuresAreClobbered) | |
| 0 6 58: D@126:<!0:-> ExitOK(MustGen, W:SideState, bc#291, ExitValid) | |
| 1 6 58: D@125:<!0:-> KillStack(MustGen, loc5, W:Stack(loc5), ClobbersExit, bc#291, ExitValid) | |
| 2 6 58: D@100:<!0:-> ZombieHint(Check:Untyped:D@81, MustGen, loc5, W:SideState, ClobbersExit, bc#291, ExitInvalid) | |
| 3 6 58: D@124:<!0:-> KillStack(MustGen, loc7, W:Stack(loc7), ClobbersExit, bc#294, ExitValid) | |
| 4 6 58: D@98:<!0:-> ZombieHint(Check:Untyped:D@81, MustGen, loc7, W:SideState, ClobbersExit, bc#294, ExitInvalid) | |
| 5 6 58: D@123:<!0:-> KillStack(MustGen, loc7, W:Stack(loc7), ClobbersExit, bc#301, ExitValid) | |
| 6 6 58: D@93:<!0:-> MovHint(Check:Untyped:D@89, MustGen, loc7, W:SideState, ClobbersExit, bc#301, ExitInvalid) | |
| 7 6 58: D@122:<!0:-> KillStack(MustGen, loc8, W:Stack(loc8), ClobbersExit, bc#310, ExitValid) | |
| 8 6 58: D@90:<!0:-> ZombieHint(Check:Untyped:D@81, MustGen, loc8, W:SideState, ClobbersExit, bc#310, ExitInvalid) | |
| 9 6 58: D@121:<!0:-> KillStack(MustGen, loc9, W:Stack(loc9), ClobbersExit, bc#319, ExitInvalid) | |
| 10 6 58: D@83:<!0:-> MovHint(Check:Untyped:D@96, MustGen, loc9, W:SideState, ClobbersExit, bc#319, ExitInvalid) | |
| 11 6 58: D@80:<!2:-> GetByVal(KnownCell:D@89, Int32:D@96, Check:Untyped:D@144, Check:Untyped:Kill:D@17, JS|MustGen|VarArgs|PureNum|NeedsNaNOrInfinity|UseAsOther, Int32, Int32Array+NonArray+InBounds+AsIs+Read, R:TypedArrayProperties,MiscFields, Exits, bc#322, ExitValid) predicting None | |
| 12 6 58: D@120:<!0:-> KillStack(MustGen, loc5, W:Stack(loc5), ClobbersExit, bc#322, ExitInvalid) | |
| 13 6 58: D@79:<!0:-> MovHint(Check:Untyped:D@80, MustGen, loc5, W:SideState, ClobbersExit, bc#322, ExitInvalid) | |
| 14 6 58: D@119:<!0:-> KillStack(MustGen, loc10, W:Stack(loc10), ClobbersExit, bc#328, ExitValid) | |
| 15 6 58: D@77:<!0:-> ZombieHint(Check:Untyped:D@81, MustGen, loc10, W:SideState, ClobbersExit, bc#328, ExitInvalid) | |
| 16 6 58: D@118:<!0:-> KillStack(MustGen, loc11, W:Stack(loc11), ClobbersExit, bc#335, ExitValid) | |
| 17 6 58: D@74:<!0:-> MovHint(Check:Untyped:D@75, MustGen, loc11, W:SideState, ClobbersExit, bc#335, ExitInvalid) | |
| 18 6 58: D@72:<!2:-> ArithAdd(Int32:Kill:D@80, Int32:D@75, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, CheckOverflow, Exits, bc#344, ExitValid) | |
| 19 6 58: D@117:<!0:-> KillStack(MustGen, loc5, W:Stack(loc5), ClobbersExit, bc#344, ExitInvalid) | |
| 20 6 58: D@71:<!0:-> MovHint(Check:Untyped:D@72, MustGen, loc5, W:SideState, ClobbersExit, bc#344, ExitInvalid) | |
| 21 6 58: D@69:<!0:-> PutByValAlias(KnownCell:D@89, Int32:D@96, Int32:Kill:D@72, Check:Untyped:D@144, MustGen|VarArgs, Int32Array+NonArray+InBounds+AsIs+Read, R:MiscFields, W:TypedArrayProperties, Exits, ClobbersExit, bc#350, ExitValid) | |
| 22 6 58: D@67:< 3:-> ArithAdd(Int32:Kill:D@96, Int32:D@141, Int32|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther|ReallyWantsInt, Int32, Unchecked, bc#356, ExitValid) | |
| 23 6 58: D@116:<!0:-> KillStack(MustGen, loc6, W:Stack(loc6), ClobbersExit, bc#356, ExitInvalid) | |
| 24 6 58: D@66:<!0:-> MovHint(Check:Untyped:D@67, MustGen, loc6, W:SideState, ClobbersExit, bc#356, ExitInvalid) | |
| 25 6 58: D@63:< 1:-> CompareLess(Int32:D@67, Int32:D@64, Boolean|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Bool, bc#359, ExitValid) | |
| 26 6 58: D@62:<!0:-> Branch(KnownBoolean:Kill:D@63, MustGen, T:#1/w:10.000000, F:#7/w:1.000000, W:SideState, bc#359, ExitInvalid) | |
| 6 58: States: TakeBoth, StructuresAreWatched | |
| 6 58: Live: D@64, D@67, D@75, D@81, D@89, D@95, D@129, D@131, D@139, D@141, D@144 | |
| 6 58: Values: D@64=>(NonBoolInt32, Int32: 10000, 1:StructuresAreWatched), D@67=>(Int32, 1:StructuresAreWatched), D@75=>(NonBoolInt32, Int32: 2048, 1:StructuresAreWatched), D@89=>(Int32Array, Int32ArrayMode, [%AR:Int32Array], Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752, 1:StructuresAreWatched), D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched), D@129=>(NonBoolInt32, Int32: 100000, 1:StructuresAreWatched), D@131=>(BoolInt32, Int32: 0, 1:StructuresAreWatched), D@139=>(NonBoolInt32, Int32: 40, 1:StructuresAreWatched), D@141=>(BoolInt32, Int32: 1, 1:StructuresAreWatched), D@144=>(None, 1:StructuresAreWatched) | |
| 7 58: Block #7 (bc#367): | |
| 7 58: Execution count: 1.000000 | |
| 7 58: Predecessors: #6 | |
| 7 58: Successors: | |
| 7 58: Dominated by: #0 #2 #5 #6 #7 | |
| 7 58: Dominates: #7 | |
| 7 58: Dominance Frontier: | |
| 7 58: Iterated Dominance Frontier: | |
| 7 58: Backwards dominates by: #root #7 | |
| 7 58: Backwards dominates: #7 | |
| 7 58: Control equivalent to: #7 | |
| 7 58: States: StructuresAreWatched | |
| 7 58: Live: D@81, D@95 | |
| 7 58: Values: D@95=>(OtherObj, TOP, TOP, Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952, 1:StructuresAreWatched), D@99=>(Other, Undefined, 1:StructuresAreWatched) | |
| 0 7 58: D@113:<!0:-> ExitOK(MustGen, W:SideState, bc#367, ExitValid) | |
| 1 7 58: D@112:<!0:-> KillStack(MustGen, loc5, W:Stack(loc5), ClobbersExit, bc#367, ExitValid) | |
| 2 7 58: D@61:<!0:-> ZombieHint(Check:Untyped:Kill:D@81, MustGen, loc5, W:SideState, ClobbersExit, bc#367, ExitInvalid) | |
| 3 7 58: D@111:<!0:-> KillStack(MustGen, loc8, W:Stack(loc8), ClobbersExit, bc#370, ExitValid) | |
| 4 7 58: D@59:<!0:-> MovHint(Check:Untyped:Kill:D@95, MustGen, loc8, W:SideState, ClobbersExit, bc#370, ExitInvalid) | |
| 5 7 58: D@55:<!0:-> ForceOSRExit(MustGen, W:SideState, Exits, bc#377, ExitValid) | |
| 6 7 58: D@3:<!0:-> Unreachable(MustGen, W:SideState, bc#377, ExitValid) | |
| 7 58: States: InvalidBranchDirection, StructuresAreWatched, CFAInvalidated | |
| 7 58: Live: | |
| 7 58: Values: | |
| 58: GC Values: | |
| 58: Weak:Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952 | |
| 58: Weak:Object: 0x10445db00 with butterfly 0x1044588e8(base=0x104458860) (Structure %EU:Function), StructureID: 37840 | |
| 58: Weak:Object: 0x103021388 with butterfly 0x104534138(base=0x104534130) (Structure %Ct:Array,ArrayWithContiguous), StructureID: 24816 | |
| 58: Weak:Object: 0x10451c250 with butterfly 0x104510dc8(base=0x104510bc0) (Structure %Aj:Math), StructureID: 40416 | |
| 58: Weak:Object: 0x104520370 with butterfly 0x104452c28(base=0x104452c00) (Structure %AF:Function), StructureID: 40864 | |
| 58: Weak:Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752 | |
| 58: Strong:String (atomic),8Bit:(1),length:(43): Cannot access property of undefined or null, StructureID: 16976 | |
| 58: Weak:Object: 0x10445dc40 with butterfly 0x104451a08(base=0x1044519e0) (Structure %Ci:Function), StructureID: 22800 | |
| 58: Desired watchpoints: | |
| 58: Watchpoint sets: 0x10308c1a0, 0x103066320, 0x1030662e0, 0x10308c1c0, 0x10308c1e0 | |
| 58: Inline watchpoint sets: 0x3000041d8, 0x300004868, 0x300005978, 0x3000042b8, 0x3000054a8, 0x300009e48, 0x30000a008, 0x300009438, 0x300009f98, 0x300009518 | |
| 58: SymbolTables: | |
| 58: FunctionExecutables: | |
| 58: Buffer views: Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure %AR:Int32Array), StructureID: 40752 | |
| 58: Object property conditions: <Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952: Equivalence of Math with Object: 0x10451c250 with butterfly 0x104510dc8(base=0x104510bc0) (Structure %Aj:Math), StructureID: 40416>, <Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952: Equivalence of Number with Object: 0x10445db00 with butterfly 0x1044588e8(base=0x104458860) (Structure %EU:Function), StructureID: 37840>, <Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952: Equivalence of arguments with Object: 0x103021388 with butterfly 0x104534138(base=0x104534130) (Structure %Ct:Array,ArrayWithContiguous), StructureID: 24816>, <Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952: Equivalence of print with Object: 0x10445dc40 with butterfly 0x104451a08(base=0x1044519e0) (Structure %Ci:Function), StructureID: 22800>, <Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952: Equivalence of Int32Array with Object: 0x104520370 with butterfly 0x104452c28(base=0x104452c00) (Structure %AF:Function), StructureID: 40864> | |
| 58: Structures: | |
| 58: %AF:Function = 0x300009fa0:[0x9fa0/40864, Function, (0/0, 4/4){length:64, name:65, prototype:66, BYTES_PER_ELEMENT:67}, NonArray, Unknown, Proto:0x104520310, Leaf (Watched)] | |
| 58: %AR:Int32Array = 0x300009f30:[0x9f30/40752, Int32Array, (0/0, 0/0){}, NonArray, Unknown, Proto:0x10451c260, Leaf (Watched)] | |
| 58: %Aj:Math = 0x300009de0:[0x9de0/40416, Math, (0/0, 45/64){E:64, LN2:65, LN10:66, LOG2E:67, LOG10E:68, PI:69, SQRT1_2:70, SQRT2:71, Symbol.toStringTag:72, abs:73, acos:74, asin:75, atan:76, acosh:77, asinh:78, atanh:79, atan2:80, cbrt:81, ceil:82, clz32:83, cos:84, cosh:85, exp:86, expm1:87, floor:88, fround:89, hypot:90, log:91, log10:92, log1p:93, log2:94, max:95, min:96, pow:97, random:98, round:99, sign:100, sin:101, sinh:102, sqrt:103, tan:104, tanh:105, trunc:106, imul:107, f16round:108}, NonArray, Unknown, Proto:0x103020988, Leaf (Watched)] | |
| 58: %Ci:Function = 0x300005910:[0x5910/22800, Function, (0/0, 2/4){length:64, name:65}, NonArray, PropertyAddition, Proto:0x103068d48, Leaf (Watched)] | |
| 58: %Ct:Array,ArrayWithContiguous = 0x3000060f0:[0x60f0/24816, Array, (0/0, 0/0){}, ArrayWithContiguous, Unknown, Proto:0x103020a18] | |
| 58: %Dw:global = 0x300009440:[0x9440/37952, global, (0/0, 118/128){Object:64, Function:65, Array:66, RegExp:67, Iterator:68, SharedArrayBuffer:69, String:70, Promise:71, BigInt:72, Symbol:73, WeakRef:74, FinalizationRegistry:75, Intl:76, Float16Array:77, WebAssembly:78, Symbol.toStringTag:79, atob:80, btoa:81, disassembleBase64:82, debug:83, describe:84, describeArray:85, print:86, printErr:87, prettyPrint:88, quit:89, gc:90, fullGC:91, edenGC:92, gcHeapSize:93, memoryUsageStatistics:94, MemoryFootprint:95, resetMemoryPeak:96, addressOf:97, version:98, run:99, runString:100, load:101, loadString:102, readFile:103, read:104, writeFile:105, write:106, checkSyntax:107, sleepSeconds:108, jscStack:109, openFile:110, readline:111, preciseTime:112, neverInlineFunction:113, noInline:114, noDFG:115, noFTL:116, noOSRExitFuzzing:117, numberOfDFGCompiles:118, callerIsBBQOrOMGCompiled:119, jscOptions:120, optimizeNextInvocation:121, reoptimizationRetryCount:122, transferArrayBuffer:123, failNextNewCodeBlock:124, OSRExit:125, isFinalTier:126, predictInt32:127, isInt32:128, isPureNaN:129, fiatInt52:130, effectful42:131, makeMasquerader:132, hasCustomProperties:133, createGlobalObject:134, createHeapBigInt:135, useBigInt32:136, isBigInt32:137, isHeapBigInt:138, createNonRopeNonAtomString:139, dumpTypesForAllVariables:140, drainMicrotasks:141, setTimeout:142, releaseWeakRefs:143, finalizationRegistryLiveCount:144, finalizationRegistryDeadCount:145, getRandomSeed:146, setRandomSeed:147, isRope:148, callerSourceOrigin:149, is32BitPlatform:150, checkModuleSyntax:151, checkScriptSyntax:152, platformSupportsSamplingProfiler:153, generateHeapSnapshot:154, generateHeapSnapshotForGCDebugging:155, resetSuperSamplerState:156, ensureArrayStorage:157, startSamplingProfiler:158, samplingProfilerStackTraces:159, maxArguments:160, asyncTestStart:161, asyncTestPassed:162, WebAssemblyMemoryMode:163, arguments:164, console:165, $:166, $262:167, waiterListSize:168, waitForReport:169, heapCapacity:170, flashHeapAccess:171, disableRichSourceInfo:172, mallocInALoop:173, totalCompileTime:174, setUnhandledRejectionCallback:175, asDoubleNumber:176, dropAllLocks:177, performance:178, Number:179, Math:180, Int32Array:181}, NonArray, ChangePrototype, Proto:0x103020988, Dictionary, Leaf (Watched)] | |
| 58: %EU:Function = 0x3000093d0:[0x93d0/37840, Function, (0/0, 14/16){prototype:64, length:65, name:66, EPSILON:67, MAX_VALUE:68, MIN_VALUE:69, MAX_SAFE_INTEGER:70, MIN_SAFE_INTEGER:71, NEGATIVE_INFINITY:72, POSITIVE_INFINITY:73, NaN:74, parseInt:75, parseFloat:76, isInteger:77}, NonArray, Unknown, Proto:0x103068d48, Leaf (Watched)] | |
| FTL Unwind info for <global>#CrDqaR:[0x10453c3a0->0x10453c1e0->0x103036388, FTLGlobal, 433 (DidTryToEnterInLoop)]: | |
| FTL localsOffset = 0 for stack slot: stack0 at 0x1031631a0 | |
| Generated FTLForOSREntry code for <global>#CrDqaR:[0x10453c3a0->0x10453c1e0->0x103036388, FTLGlobal, 433 (DidTryToEnterInLoop)], instructions size = 433: | |
| Air BB#0: ; frequency = 1.000000 | |
| asm <0> 0x112e8c000: stp fp, lr, [sp, #-16]! | |
| asm <4> 0x112e8c004: mov fp, sp | |
| asm <8> 0x112e8c008: sub sp, sp, #32 | |
| b3 Int64 b@16 = Const64(4362076160) | |
| Air Move $0x104000000, %x0 | |
| asm <12> 0x112e8c00c: movz x0, #0x400, lsl #16 | |
| asm <16> 0x112e8c010: movk x0, #0x1, lsl #32 -> 0x104000000 vm | |
| b3 Int64 b@15 = FramePointer() | |
| b3 Void b@19 = Patchpoint(b@15:SomeRegister, $4362076160(b@16):SomeRegister, generator = 0x1031631c0, resultConstraints = WarmAny, numGPScratchRegisters = 1, ExitsSideways|ControlDependent|WritesPinned|ReadsPinned|Fence|Writes:Top|Reads:Top) | |
| Air Patch &Patchpoint1, %fp, %x0, %x1 | |
| asm <20> 0x112e8c014: sub x1, fp, #144 | |
| asm <24> 0x112e8c018: ldur x17, [x0, #8] | |
| asm <28> 0x112e8c01c: cmp x17, x1 | |
| asm <32> 0x112e8c020: b.hi 0x112e8c0e8 -> <232> | |
| DFG D@8:< 1:-> ExtractOSREntryLocal(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, loc4, bc#0, ExitInvalid) | |
| b3 Int64 b@23 = Const64(4346064232, D@8) | |
| Air Move $0x1030bad68, %x0 | |
| asm <36> 0x112e8c024: movz x0, #0xad68 | |
| asm <40> 0x112e8c028: movk x0, #0x30b, lsl #16 | |
| asm <44> 0x112e8c02c: movk x0, #0x1, lsl #32 -> 0x1030bad68 | |
| b3 Int64 b@24 = Load($4346064232(b@23), ControlDependent|Reads:154, D@8) | |
| Air Move (%x0), %x5 | |
| asm <48> 0x112e8c030: ldur x5, [x0] | |
| DFG D@6:< 3:-> ExtractOSREntryLocal(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther|ReallyWantsInt, NonBoolInt32, loc6, bc#0, ExitInvalid) | |
| b3 Int64 b@26 = Load($4346064232(b@23), offset = 16, ControlDependent|Reads:155, D@6) | |
| Air Move 16(%x0), %x9 | |
| asm <52> 0x112e8c034: ldur x9, [x0, #16] | |
| b3 Int64 b@17 = Const64(-562949953421312) | |
| Air Move $0xfffe000000000000, %x0 | |
| asm <56> 0x112e8c038: mov x0, #0xfffe000000000000 | |
| DFG D@2:<!0:-> Check(Check:Int32:D@6, MustGen, Exits, bc#194, ExitValid) | |
| b3 Int32 b@27 = Below(b@26, $-562949953421312(b@17), D@2) | |
| b3 Void b@28 = Check(b@27:WarmAny, b@26:ColdAny, b@24:ColdAny, b@26:ColdAny, generator = 0x1030ad940, ExitsSideways|Reads:Top, D@2) | |
| Air Patch &Branch64(3,SameAsRep)0, Below, %x9, %x0, %x9, %x5, %x9 | |
| asm <60> 0x112e8c03c: cmp x9, x0 | |
| asm <64> 0x112e8c040: b.lo 0x112e8c16c -> <364> | |
| DFG D@139:< 2:-> JSConstant(JS|PureNum|NeedsNaNOrInfinity, NonBoolInt32, Int32: 40, bc#0, ExitInvalid) | |
| b3 Int32 b@70 = Const32(40, D@139) | |
| Air Move $40, %x4 | |
| asm <68> 0x112e8c044: movz x4, #0x28 -> 40 | |
| DFG D@129:< 1:-> JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 100000, bc#0, ExitInvalid) | |
| b3 Int32 b@13 = Const32(100000, D@129) | |
| Air Move $0x186a0, %x3 | |
| asm <72> 0x112e8c048: movz x3, #0x86a0 | |
| asm <76> 0x112e8c04c: movk x3, #0x1, lsl #16 -> 0x186a0 | |
| DFG D@144:< 4:-> ConstantStoragePointer(Storage|PureInt, 0x104800000, bc#243, exit: bc#194, ExitValid) | |
| b3 Int64 b@31 = Const64(4370464768, D@144) | |
| Air Move $0x104800000, %x2 | |
| asm <80> 0x112e8c050: movz x2, #0x480, lsl #16 | |
| asm <84> 0x112e8c054: movk x2, #0x1, lsl #32 -> 0x104800000 | |
| DFG D@64:< 2:-> JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 10000, bc#0, ExitInvalid) | |
| b3 Int32 b@96 = Const32(10000, D@64) | |
| Air Move $0x2710, %x1 | |
| asm <88> 0x112e8c058: movz x1, #0x2710 -> 10000 | |
| DFG D@142:< 4:-> Phi(Int32|PureInt, Int32, W:SideState, bc#203, ExitInvalid) | |
| DFG D@136:<!2:-> ArithMod(Int32:D@142, Int32:D@139, Number|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, CheckOverflowAndNegativeZero, Exits, bc#268, ExitValid) | |
| b3 Int64 b@42 = Const64(1717986919, D@136) | |
| Air Move $0x66666667, %x0 | |
| asm <92> 0x112e8c05c: movz x0, #0x6667 | |
| asm <96> 0x112e8c060: movk x0, #0x6666, lsl #16 -> 0x66666667 | |
| DFG D@1:<!0:-> Jump(MustGen, T:#2, W:SideState, bc#194, ExitValid) | |
| b3 Void b@32 = Jump(Terminal, D@1) | |
| Air Jump | |
| Air Successors: #1 | |
| Air BB#1: ; frequency = 10.000000 | |
| Air Predecessors: #0, #4 | |
| DFG D@132:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#195, ExitValid) | |
| b3 Int32 b@11 = Phi(ReadsLocalState, D@96) | |
| b3 Void b@33 = Patchpoint(b@24:ColdAny, b@11:ColdAny, generator = 0x1030e9d40, resultConstraints = WarmAny, ExitsSideways|WritesPinned|ReadsPinned|Fence|Reads:Top, D@132) | |
| Air Patch &Patchpoint1, %x5, %x9 | |
| DFG D@131:< 2:-> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, BoolInt32, Int32: 0, bc#0, ExitInvalid) | |
| DFG D@76:< 1:-> Upsilon(KnownInt32:D@131, ^142, W:SideState, bc#203, ExitValid) | |
| b3 Int32 b@0 = Const32(0) | |
| b3 Void b@35 = Upsilon($0(b@0), ^10, WritesLocalState, D@76) | |
| Air Move %xzr, %x8 | |
| asm <100> 0x112e8c064: movz x8, #0x0; InvalidationPoint | |
| DFG D@96:< 9:-> Phi(Int32|PureInt, Int32, W:SideState, bc#194, ExitInvalid) | |
| DFG D@17:<!2:-> CheckInBounds(Int32:D@96, KnownInt32:D@64, JS|MustGen|PureInt, Int32, Exits, bc#243, exit: bc#203, ExitValid) | |
| b3 Int32 b@11 = Phi(ReadsLocalState, D@96) | |
| b3 Int32 b@37 = AboveEqual(b@11, $10000(b@96), D@17) | |
| b3 Void b@38 = Check(b@37:WarmAny, b@24:ColdAny, b@11:ColdAny, generator = 0x1030ad990, ExitsSideways|Reads:Top, D@17) | |
| Air Patch &Branch32(3,SameAsRep)2, AboveOrEqual, %x9, %x1, %x5, %x9 | |
| asm <104> 0x112e8c068: cmp w9, w1 | |
| asm <108> 0x112e8c06c: b.hs 0x112e8c194 -> <404> | |
| DFG D@68:<!0:-> Jump(MustGen, T:#5, W:SideState, bc#203, ExitValid) | |
| b3 Void b@39 = Jump(Terminal, D@68) | |
| Air Jump | |
| Air Successors: #2 | |
| Air BB#2: ; frequency = 100.000000 | |
| Air Predecessors: #1, #3 | |
| DFG D@89:< 7:-> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32Array, Weak:Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure 0x300009f30:[0x9f30/40752, Int32Array, (0/0, 0/0){}, NonArray, Unknown, Proto:0x10451c260, Leaf (Watched)]), StructureID: 40752, bc#0, ExitInvalid) | |
| DFG D@96:< 9:-> Phi(Int32|PureInt, Int32, W:SideState, bc#194, ExitInvalid) | |
| DFG D@56:<!2:-> GetByVal(KnownCell:D@89, Int32:D@96, Check:Untyped:D@144, Check:Untyped:D@17, JS|MustGen|VarArgs|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, Int32Array+OriginalNonArray+InBounds+AsIs+Read, R:TypedArrayProperties,MiscFields, Exits, bc#243, ExitValid) predicting NonBoolInt32 | |
| b3 Int32 b@11 = Phi(ReadsLocalState, D@96) | |
| b3 Int64 b@41 = ZExt32(b@11, D@56) | |
| b3 Int32 b@82 = Const32(2, D@56) | |
| b3 Int64 b@44 = Shl(b@41, $2(b@82), D@56) | |
| b3 Int64 b@45 = Add(b@44, $4370464768(b@31), D@56) | |
| b3 Int32 b@46 = Load(b@45, ControlDependent|Reads:0, D@56) | |
| Air Move32 (%x2,%x9,4), %x7 | |
| asm <112> 0x112e8c070: ldr w7, [x2, w9, uxtw#2] | |
| b3 Int64 b@92 = Const64(4345733128, D@89) | |
| b3 Void b@47 = Patchpoint($4345733128(b@92):ColdAny, generator = 0x1030e73c0, resultConstraints = WarmAny, WritesLocalState|Reads:Top, D@56) | |
| Air Patch &Patchpoint1, $0x10306a008 | |
| b3 Int32 b@10 = Phi(ReadsLocalState, D@142) | |
| b3 Int64 b@107 = SExt32(b@10, D@136) | |
| Air SignExtend32To64 %x8, %x6 | |
| asm <116> 0x112e8c074: sxtw x6, w8 | |
| b3 Int64 b@101 = Mul(b@107, $1717986919(b@42), D@136) | |
| Air Mul64 %x6, %x0, %x6 | |
| asm <120> 0x112e8c078: mul x6, x6, x0 | |
| b3 Int32 b@84 = Const32(32, D@136) | |
| b3 Int64 b@95 = ZShr(b@101, $32(b@84), D@136) | |
| Air Urshift64 %x6, $32, %x6 | |
| asm <124> 0x112e8c07c: lsr x6, x6, #32 | |
| b3 Int32 b@94 = Trunc(b@95, D@136) | |
| b3 Int32 b@83 = Const32(4, D@136) | |
| b3 Int32 b@91 = SShr(b@94, $4(b@83), D@136) | |
| Air Rshift32 %x6, $4, %x6 | |
| asm <128> 0x112e8c080: asr w6, w6, #4 | |
| b3 Int32 b@81 = Const32(31, D@136) | |
| b3 Int32 b@88 = ZShr(b@91, $31(b@81), D@136) | |
| b3 Int32 b@85 = Add(b@88, b@91, D@136) | |
| Air AddUnsignedRightShift32 %x6, %x6, $31, %x6 | |
| asm <132> 0x112e8c084: add w6, w6, w6, lsr #31 | |
| b3 Int32 b@10 = Phi(ReadsLocalState, D@142) | |
| b3 Int32 b@18 = Mul(b@85, $40(b@70), D@136) | |
| b3 Int32 b@14 = Sub(b@10, b@18, D@136) | |
| Air MultiplySub32 %x6, %x4, %x8, %x6 | |
| asm <136> 0x112e8c088: msub w6, w6, w4, w8 | |
| b3 Int32 b@10 = Phi(ReadsLocalState, D@142) | |
| b3 Int32 b@0 = Const32(0) | |
| b3 Int32 b@58 = LessThan(b@10, $0(b@0), D@136) | |
| b3 Void b@59 = Branch(b@58, Terminal, D@136) | |
| Air Branch32 LessThan, %x8, $0 | |
| asm <140> 0x112e8c08c: tst w8, w8 | |
| asm <144> 0x112e8c090: b.mi 0x112e8c0e0 -> <224> | |
| Air Successors: #6, #3 | |
| Air BB#3: ; frequency = 100.000000 | |
| Air Predecessors: #2, #6 | |
| DFG D@109:<!2:-> ArithAdd(Int32:Kill:D@56, Int32:Kill:D@136, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, CheckOverflow, Exits, bc#272, ExitValid) | |
| b3 Int32 b@11 = Phi(ReadsLocalState, D@96) | |
| b3 Int32 b@10 = Phi(ReadsLocalState, D@142) | |
| b3 Int32 b@63 = CheckAdd(b@14:WarmAny, b@46:WarmAny, b@24:ColdAny, b@11:ColdAny, b@10:ColdAny, b@11:ColdAny, b@46:ColdAny, b@14:ColdAny, generator = 0x1030adbc0, ExitsSideways|Reads:Top, D@109) | |
| Air Patch &BranchAdd32(4,ForceLateUseUnlessRecoverable)3, Overflow, %x6, %x7, %x6, %x5, %x9, %x8, %x9, %x7, %x6 | |
| asm <148> 0x112e8c094: adds w6, w6, w7 | |
| asm <152> 0x112e8c098: b.vs 0x112e8c1a8 -> <424> | |
| DFG D@89:< 7:-> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32Array, Weak:Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure 0x300009f30:[0x9f30/40752, Int32Array, (0/0, 0/0){}, NonArray, Unknown, Proto:0x10451c260, Leaf (Watched)]), StructureID: 40752, bc#0, ExitInvalid) | |
| DFG D@96:< 9:-> Phi(Int32|PureInt, Int32, W:SideState, bc#194, ExitInvalid) | |
| DFG D@106:<!0:-> PutByValAlias(KnownCell:D@89, Int32:D@96, Int32:Kill:D@109, Check:Untyped:D@144, MustGen|VarArgs, Int32Array+OriginalNonArray+InBounds+AsIs+Write, R:MiscFields, W:TypedArrayProperties, Exits, ClobbersExit, bc#278, ExitValid) | |
| b3 Int32 b@11 = Phi(ReadsLocalState, D@96) | |
| b3 Int64 b@41 = ZExt32(b@11, D@56) | |
| b3 Int32 b@82 = Const32(2, D@56) | |
| b3 Int64 b@44 = Shl(b@41, $2(b@82), D@56) | |
| b3 Int64 b@45 = Add(b@44, $4370464768(b@31), D@56) | |
| b3 Void b@71 = Store(b@63, b@45, ControlDependent|Writes:0, D@106) | |
| Air Move32 %x6, (%x2,%x9,4) | |
| asm <156> 0x112e8c09c: str w6, [x2, w9, uxtw#2] | |
| b3 Int64 b@92 = Const64(4345733128, D@89) | |
| b3 Void b@72 = Patchpoint($4345733128(b@92):ColdAny, generator = 0x1030e73d0, resultConstraints = WarmAny, WritesLocalState|Reads:Top, D@106) | |
| Air Patch &Patchpoint1, $0x10306a008 | |
| DFG D@142:< 4:-> Phi(Int32|PureInt, Int32, W:SideState, bc#203, ExitInvalid) | |
| DFG D@141:< 2:-> JSConstant(JS|PureNum|NeedsNaNOrInfinity, Int32, Int32: 1, bc#0, ExitInvalid) | |
| DFG D@105:< 3:-> ArithAdd(Int32:Kill:D@142, Int32:D@141, Int32|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, Unchecked, bc#284, ExitValid) | |
| b3 Int32 b@10 = Phi(ReadsLocalState, D@142) | |
| b3 Int32 b@1 = Const32(1) | |
| b3 Int32 b@74 = Add(b@10, $1(b@1), D@105) | |
| Air Add32 $1, %x8, %x8 | |
| asm <160> 0x112e8c0a0: add w8, w8, #1 | |
| DFG D@102:< 1:-> CompareLess(Int32:D@105, Int32:D@129, Boolean|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Bool, bc#287, ExitValid) | |
| DFG D@101:<!0:-> Branch(KnownBoolean:Kill:D@102, MustGen, T:#3/w:100.000000, F:#6/w:10.000000, W:SideState, bc#287, ExitInvalid) | |
| b3 Int32 b@76 = LessThan(b@74, $100000(b@13), D@102) | |
| b3 Void b@77 = Branch(b@76, Terminal, D@101) | |
| Air Branch32 LessThan, %x8, %x3 | |
| asm <164> 0x112e8c0a4: cmp w8, w3 | |
| asm <168> 0x112e8c0a8: b.lt 0x112e8c070 -> <112> | |
| Air Successors: #2, #4 | |
| Air BB#4: ; frequency = 10.000000 | |
| Air Predecessors: #3 | |
| DFG D@89:< 7:-> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32Array, Weak:Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure 0x300009f30:[0x9f30/40752, Int32Array, (0/0, 0/0){}, NonArray, Unknown, Proto:0x10451c260, Leaf (Watched)]), StructureID: 40752, bc#0, ExitInvalid) | |
| DFG D@96:< 9:-> Phi(Int32|PureInt, Int32, W:SideState, bc#194, ExitInvalid) | |
| DFG D@80:<!2:-> GetByVal(KnownCell:D@89, Int32:D@96, Check:Untyped:D@144, Check:Untyped:Kill:D@17, JS|MustGen|VarArgs|PureNum|NeedsNaNOrInfinity|UseAsOther, Int32, Int32Array+NonArray+InBounds+AsIs+Read, R:TypedArrayProperties,MiscFields, Exits, bc#322, ExitValid) predicting None | |
| b3 Int64 b@92 = Const64(4345733128, D@89) | |
| b3 Void b@87 = Patchpoint($4345733128(b@92):ColdAny, generator = 0x1030e73e0, resultConstraints = WarmAny, WritesLocalState|Reads:Top, D@80) | |
| Air Patch &Patchpoint1, $0x10306a008 | |
| DFG D@75:< 2:-> JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 2048, bc#0, ExitInvalid) | |
| DFG D@72:<!2:-> ArithAdd(Int32:Kill:D@80, Int32:D@75, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32, CheckOverflow, Exits, bc#344, ExitValid) | |
| b3 Int32 b@12 = Const32(2048, D@75) | |
| b3 Int32 b@11 = Phi(ReadsLocalState, D@96) | |
| b3 Int32 b@89 = CheckAdd(b@63:WarmAny, $2048(b@12):WarmAny, b@24:ColdAny, b@63:ColdAny, b@11:ColdAny, b@11:ColdAny, generator = 0x1030add50, ExitsSideways|Reads:Top, D@72) | |
| Air Patch &BranchAdd32(4,ForceLateUseUnlessRecoverable)3, Overflow, %x6, $2048, %x6, %x5, %x6, %x9, %x9 | |
| asm <172> 0x112e8c0ac: adds w6, w6, #2048 | |
| asm <176> 0x112e8c0b0: b.vs 0x112e8c1c0 -> <448> | |
| DFG D@89:< 7:-> JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Int32Array, Weak:Object: 0x10306a008 with butterfly 0x104660138(base=0x104660130) (Structure 0x300009f30:[0x9f30/40752, Int32Array, (0/0, 0/0){}, NonArray, Unknown, Proto:0x10451c260, Leaf (Watched)]), StructureID: 40752, bc#0, ExitInvalid) | |
| DFG D@96:< 9:-> Phi(Int32|PureInt, Int32, W:SideState, bc#194, ExitInvalid) | |
| DFG D@69:<!0:-> PutByValAlias(KnownCell:D@89, Int32:D@96, Int32:Kill:D@72, Check:Untyped:D@144, MustGen|VarArgs, Int32Array+NonArray+InBounds+AsIs+Read, R:MiscFields, W:TypedArrayProperties, Exits, ClobbersExit, bc#350, ExitValid) | |
| b3 Int32 b@11 = Phi(ReadsLocalState, D@96) | |
| b3 Int64 b@41 = ZExt32(b@11, D@56) | |
| b3 Int32 b@82 = Const32(2, D@56) | |
| b3 Int64 b@44 = Shl(b@41, $2(b@82), D@56) | |
| b3 Int64 b@45 = Add(b@44, $4370464768(b@31), D@56) | |
| b3 Void b@97 = Store(b@89, b@45, ControlDependent|Writes:0, D@69) | |
| Air Move32 %x6, (%x2,%x9,4) | |
| asm <180> 0x112e8c0b4: str w6, [x2, w9, uxtw#2] | |
| b3 Int64 b@92 = Const64(4345733128, D@89) | |
| b3 Void b@98 = Patchpoint($4345733128(b@92):ColdAny, generator = 0x1030e73f0, resultConstraints = WarmAny, WritesLocalState|Reads:Top, D@69) | |
| Air Patch &Patchpoint1, $0x10306a008 | |
| DFG D@96:< 9:-> Phi(Int32|PureInt, Int32, W:SideState, bc#194, ExitInvalid) | |
| DFG D@141:< 2:-> JSConstant(JS|PureNum|NeedsNaNOrInfinity, Int32, Int32: 1, bc#0, ExitInvalid) | |
| DFG D@67:< 3:-> ArithAdd(Int32:Kill:D@96, Int32:D@141, Int32|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther|ReallyWantsInt, Int32, Unchecked, bc#356, ExitValid) | |
| b3 Int32 b@11 = Phi(ReadsLocalState, D@96) | |
| b3 Int32 b@1 = Const32(1) | |
| b3 Int32 b@100 = Add(b@11, $1(b@1), D@67) | |
| Air Add32 $1, %x9, %x9 | |
| asm <184> 0x112e8c0b8: add w9, w9, #1 | |
| DFG D@63:< 1:-> CompareLess(Int32:D@67, Int32:D@64, Boolean|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Bool, bc#359, ExitValid) | |
| DFG D@62:<!0:-> Branch(KnownBoolean:Kill:D@63, MustGen, T:#1/w:10.000000, F:#7/w:1.000000, W:SideState, bc#359, ExitInvalid) | |
| b3 Int32 b@102 = LessThan(b@100, $10000(b@96), D@63) | |
| b3 Void b@103 = Branch(b@102, Terminal, D@62) | |
| Air Branch32 LessThan, %x9, %x1 | |
| asm <188> 0x112e8c0bc: cmp w9, w1 | |
| asm <192> 0x112e8c0c0: b.lt 0x112e8c064 -> <100> | |
| Air Successors: #1, #5 | |
| Air BB#5: ; frequency = 1.000000 | |
| Air Predecessors: #4 | |
| DFG D@55:<!0:-> ForceOSRExit(MustGen, W:SideState, Exits, bc#377, ExitValid) | |
| b3 Void b@9 = Patchpoint(b@24:ColdAny, generator = 0x1030addf0, resultConstraints = WarmAny, ExitsSideways|Reads:Top, D@55) | |
| Air Patch &Patchpoint1, %x5 | |
| asm <196> 0x112e8c0c4: stp x16, x16, [sp, #-16]! | |
| asm <200> 0x112e8c0c8: mov w16, #0x1 | |
| asm <204> 0x112e8c0cc: stur x16, [sp] | |
| asm <208> 0x112e8c0d0: ldur x16, [sp, #8] | |
| asm <212> 0x112e8c0d4: b 0x112e88000 -> JIT PC | |
| b3 Void b@108 = Oops(Terminal, D@55) | |
| Air Oops | |
| asm <216> 0x112e8c0d8: movz w16, #0x9b -> 155 | |
| asm <220> 0x112e8c0dc: brk #0xc471 | |
| Air BB#6: ; frequency = 100.000000 | |
| Air Predecessors: #2 | |
| b3 Int32 b@0 = Const32(0) | |
| b3 Int32 b@60 = Equal(b@14, $0(b@0), D@136) | |
| b3 Int32 b@11 = Phi(ReadsLocalState, D@96) | |
| b3 Int32 b@10 = Phi(ReadsLocalState, D@142) | |
| b3 Void b@61 = Check(b@60:WarmAny, b@24:ColdAny, b@11:ColdAny, b@10:ColdAny, b@11:ColdAny, b@46:ColdAny, b@10:ColdAny, generator = 0x1030adb20, ExitsSideways|Reads:Top, D@136) | |
| Air Patch &BranchTest32(3,SameAsRep)4, Zero, %x6, %x6, %x5, %x9, %x8, %x9, %x7, %x8 | |
| asm <224> 0x112e8c0e0: cbz w6, 0x112e8c1d8 -> <472> | |
| b3 Void b@62 = Jump(Terminal, D@136) | |
| Air Jump | |
| asm <228> 0x112e8c0e4: b 0x112e8c094 -> <148> | |
| Air Successors: #3 | |
| Air # Late paths | |
| asm <232> 0x112e8c0e8: stur wzr, [fp, #36] | |
| asm <236> 0x112e8c0ec: movz x17, #0x30 | |
| asm <240> 0x112e8c0f0: movk x17, #0x400, lsl #16 | |
| asm <244> 0x112e8c0f4: movk x17, #0x1, lsl #32 -> 0x104000030 vm +48: vm.topEntryFrame | |
| asm <248> 0x112e8c0f8: ldr x0, [x17] | |
| asm <252> 0x112e8c0fc: sub x0, x0, #152; copyCalleeSavesToEntryFrameCalleeSavesBufferImpl %x0 | |
| asm <256> 0x112e8c100: stp x19, x20, [x0, #0] | |
| asm <260> 0x112e8c104: stp x21, x22, [x0, #16] | |
| asm <264> 0x112e8c108: stp x23, x24, [x0, #32] | |
| asm <268> 0x112e8c10c: stp x25, x26, [x0, #48] | |
| asm <272> 0x112e8c110: stp x27, x28, [x0, #64] | |
| asm <276> 0x112e8c114: stp d8, d9, [x0, #80] | |
| asm <280> 0x112e8c118: stp d10, d11, [x0, #96] | |
| asm <284> 0x112e8c11c: stp d12, d13, [x0, #112] | |
| asm <288> 0x112e8c120: stp d14, d15, [x0, #128] | |
| asm <292> 0x112e8c124: movz x0, #0xc3a0 | |
| asm <296> 0x112e8c128: movk x0, #0x453, lsl #16 | |
| asm <300> 0x112e8c12c: movk x0, #0x1, lsl #32 -> 0x10453c3a0 | |
| asm <304> 0x112e8c130: movz x16, #0x0 | |
| asm <308> 0x112e8c134: movk x16, #0x0, lsl #16 | |
| asm <312> 0x112e8c138: movk x16, #0x0, lsl #32 | |
| asm <316> 0x112e8c13c: blr x16 | |
| asm <320> 0x112e8c140: movz x0, #0x400, lsl #16 | |
| asm <324> 0x112e8c144: movk x0, #0x1, lsl #32 -> 0x104000000 vm | |
| asm <328> 0x112e8c148: movz x16, #0x0 | |
| asm <332> 0x112e8c14c: movk x16, #0x0, lsl #16 | |
| asm <336> 0x112e8c150: movk x16, #0x0, lsl #32 | |
| asm <340> 0x112e8c154: blr x16 | |
| asm <344> 0x112e8c158: movz x17, #0x6330 | |
| asm <348> 0x112e8c15c: movk x17, #0x401, lsl #16 | |
| asm <352> 0x112e8c160: movk x17, #0x1, lsl #32 -> 0x104016330 vm +90928: vm.targetMachinePCForThrow | |
| asm <356> 0x112e8c164: ldr x1, [x17] | |
| asm <360> 0x112e8c168: br x1 | |
| asm <364> 0x112e8c16c: stp x16, x16, [sp, #-16]! | |
| asm <368> 0x112e8c170: mov w16, #0x2 | |
| asm <372> 0x112e8c174: stur x16, [sp] | |
| asm <376> 0x112e8c178: ldur x16, [sp, #8] | |
| asm <380> 0x112e8c17c: b 0x112e88000 -> JIT PC | |
| asm <384> 0x112e8c180: stp x16, x16, [sp, #-16]! | |
| asm <388> 0x112e8c184: movz w16, #0x0 | |
| asm <392> 0x112e8c188: stur x16, [sp] | |
| asm <396> 0x112e8c18c: ldur x16, [sp, #8] | |
| asm <400> 0x112e8c190: b 0x112e88000 -> JIT PC | |
| asm <404> 0x112e8c194: stp x16, x16, [sp, #-16]! | |
| asm <408> 0x112e8c198: mov w16, #0x3 | |
| asm <412> 0x112e8c19c: stur x16, [sp] | |
| asm <416> 0x112e8c1a0: ldur x16, [sp, #8] | |
| asm <420> 0x112e8c1a4: b 0x112e88000 -> JIT PC | |
| asm <424> 0x112e8c1a8: sub w6, w6, w7 | |
| asm <428> 0x112e8c1ac: stp x16, x16, [sp, #-16]! | |
| asm <432> 0x112e8c1b0: mov w16, #0x4 | |
| asm <436> 0x112e8c1b4: stur x16, [sp] | |
| asm <440> 0x112e8c1b8: ldur x16, [sp, #8] | |
| asm <444> 0x112e8c1bc: b 0x112e88000 -> JIT PC | |
| asm <448> 0x112e8c1c0: sub w6, w6, #2048 | |
| asm <452> 0x112e8c1c4: stp x16, x16, [sp, #-16]! | |
| asm <456> 0x112e8c1c8: movz w16, #0x5 -> 5 | |
| asm <460> 0x112e8c1cc: stur x16, [sp] | |
| asm <464> 0x112e8c1d0: ldur x16, [sp, #8] | |
| asm <468> 0x112e8c1d4: b 0x112e88000 -> JIT PC | |
| asm <472> 0x112e8c1d8: stp x16, x16, [sp, #-16]! | |
| asm <476> 0x112e8c1dc: mov w16, #0x6 | |
| asm <480> 0x112e8c1e0: stur x16, [sp] | |
| asm <484> 0x112e8c1e4: ldur x16, [sp, #8] | |
| asm <488> 0x112e8c1e8: b 0x112e88000 -> JIT PC | |
| Air # Remaining | |
| asm <492> 0x112e8c1ec: b 0x112e48080 -> JIT PC | |
| asm <496> 0x112e8c1f0: mov sp, fp | |
| asm <500> 0x112e8c1f4: ldp fp, lr, [sp], #16 | |
| asm <504> 0x112e8c1f8: b 0x112e8c000 -> <0> | |
| Compiling OSR exit with exitID = 1 | |
| Owning block: <global>#CrDqaR:[0x10453c3a0->0x10453c1e0->0x103036388, FTLGlobal, 433 (DidTryToEnterInLoop)] | |
| Origin: bc#377 | |
| Current call site index: 12 | |
| Exit is exception handler: false | |
| Is unwind handler: false | |
| Exit values: arg0:InJSStack:this loc0:Dead loc1:Dead loc2:Dead loc3:Dead loc4:Argument(#0 as JS) loc5:Dead loc6:Dead loc7:Dead loc8:Constant(Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure 0x300009440:[0x9440/37952, global, (0/0, 118/128){Object:64, Function:65, Array:66, RegExp:67, Iterator:68, SharedArrayBuffer:69, String:70, Promise:71, BigInt:72, Symbol:73, WeakRef:74, FinalizationRegistry:75, Intl:76, Float16Array:77, WebAssembly:78, Symbol.toStringTag:79, atob:80, btoa:81, disassembleBase64:82, debug:83, describe:84, describeArray:85, print:86, printErr:87, prettyPrint:88, quit:89, gc:90, fullGC:91, edenGC:92, gcHeapSize:93, memoryUsageStatistics:94, MemoryFootprint:95, resetMemoryPeak:96, addressOf:97, version:98, run:99, runString:100, load:101, loadString:102, readFile:103, read:104, writeFile:105, write:106, checkSyntax:107, sleepSeconds:108, jscStack:109, openFile:110, readline:111, preciseTime:112, neverInlineFunction:113, noInline:114, noDFG:115, noFTL:116, noOSRExitFuzzing:117, numberOfDFGCompiles:118, callerIsBBQOrOMGCompiled:119, jscOptions:120, optimizeNextInvocation:121, reoptimizationRetryCount:122, transferArrayBuffer:123, failNextNewCodeBlock:124, OSRExit:125, isFinalTier:126, predictInt32:127, isInt32:128, isPureNaN:129, fiatInt52:130, effectful42:131, makeMasquerader:132, hasCustomProperties:133, createGlobalObject:134, createHeapBigInt:135, useBigInt32:136, isBigInt32:137, isHeapBigInt:138, createNonRopeNonAtomString:139, dumpTypesForAllVariables:140, drainMicrotasks:141, setTimeout:142, releaseWeakRefs:143, finalizationRegistryLiveCount:144, finalizationRegistryDeadCount:145, getRandomSeed:146, setRandomSeed:147, isRope:148, callerSourceOrigin:149, is32BitPlatform:150, checkModuleSyntax:151, checkScriptSyntax:152, platformSupportsSamplingProfiler:153, generateHeapSnapshot:154, generateHeapSnapshotForGCDebugging:155, resetSuperSamplerState:156, ensureArrayStorage:157, startSamplingProfiler:158, samplingProfilerStackTraces:159, maxArguments:160, asyncTestStart:161, asyncTestPassed:162, WebAssemblyMemoryMode:163, arguments:164, console:165, $:166, $262:167, waiterListSize:168, waitForReport:169, heapCapacity:170, flashHeapAccess:171, disableRichSourceInfo:172, mallocInALoop:173, totalCompileTime:174, setUnhandledRejectionCallback:175, asDoubleNumber:176, dropAllLocks:177, performance:178, Number:179, Math:180, Int32Array:181}, NonArray, ChangePrototype, Proto:0x103020988, Dictionary, Leaf (Watched)]), StructureID: 37952) loc9:Dead loc10:Dead loc11:Dead loc12:Dead loc13:Dead loc14:Dead loc15:Dead loc16:Dead loc17:Dead | |
| Value reps: Register(%x5) | |
| Generated JIT code for FTL OSR exit #1 (D@55, bc#377, InadequateCoverage) from <global>#CrDqaR:[0x10453c3a0->0x10453c1e0->0x103036388, FTLGlobal, 433 (DidTryToEnterInLoop)], with operands = arg0:InJSStack:this loc0:Dead loc1:Dead loc2:Dead loc3:Dead loc4:Argument(#0 as JS) loc5:Dead loc6:Dead loc7:Dead loc8:Constant(Object: 0x104412088 with butterfly 0x10452c578(base=0x10452c170) (Structure %Dw:global), StructureID: 37952) loc9:Dead loc10:Dead loc11:Dead loc12:Dead loc13:Dead loc14:Dead loc15:Dead loc16:Dead loc17:Dead: [0x112e90000, 0x112e902c0) 704 bytes: | |
| <0> 0x112e90000: stur x0, [sp] | |
| <4> 0x112e90004: movz x0, #0x8160 | |
| <8> 0x112e90008: movk x0, #0x300, lsl #16 | |
| <12> 0x112e9000c: movk x0, #0x1, lsl #32 -> 0x103008160 | |
| <16> 0x112e90010: stp x2, x3, [x0, #16] | |
| <20> 0x112e90014: stp x4, x5, [x0, #32] | |
| <24> 0x112e90018: stp x6, x7, [x0, #48] | |
| <28> 0x112e9001c: stp x8, x9, [x0, #64] | |
| <32> 0x112e90020: stp x10, x11, [x0, #80] | |
| <36> 0x112e90024: stp x12, x13, [x0, #96] | |
| <40> 0x112e90028: stp x14, x15, [x0, #112] | |
| <44> 0x112e9002c: stp x16, x17, [x0, #128] | |
| <48> 0x112e90030: stp x19, x20, [x0, #152] | |
| <52> 0x112e90034: stp x21, x22, [x0, #168] | |
| <56> 0x112e90038: stp x23, x24, [x0, #184] | |
| <60> 0x112e9003c: stp x25, x26, [x0, #200] | |
| <64> 0x112e90040: stp x27, x28, [x0, #216] | |
| <68> 0x112e90044: ldur x2, [sp] | |
| <72> 0x112e90048: stp x2, x1, [x0, #0] | |
| <76> 0x112e9004c: stp d0, d1, [x0, #256] | |
| <80> 0x112e90050: stp d2, d3, [x0, #272] | |
| <84> 0x112e90054: stp d4, d5, [x0, #288] | |
| <88> 0x112e90058: stp d6, d7, [x0, #304] | |
| <92> 0x112e9005c: stp d8, d9, [x0, #320] | |
| <96> 0x112e90060: stp d10, d11, [x0, #336] | |
| <100> 0x112e90064: stp d12, d13, [x0, #352] | |
| <104> 0x112e90068: stp d14, d15, [x0, #368] | |
| <108> 0x112e9006c: stp d16, d17, [x0, #384] | |
| <112> 0x112e90070: stp d18, d19, [x0, #400] | |
| <116> 0x112e90074: stp d20, d21, [x0, #416] | |
| <120> 0x112e90078: stp d22, d23, [x0, #432] | |
| <124> 0x112e9007c: stp d24, d25, [x0, #448] | |
| <128> 0x112e90080: stp d26, d27, [x0, #464] | |
| <132> 0x112e90084: stp d28, d29, [x0, #480] | |
| <136> 0x112e90088: stp d30, d31, [x0, #496] | |
| <140> 0x112e9008c: ldr x0, [sp], #16 | |
| <144> 0x112e90090: mov x27, #0xfffe000000000000 | |
| <148> 0x112e90094: orr x28, x27, #0x2 | |
| <152> 0x112e90098: movz x3, #0x80c8 | |
| <156> 0x112e9009c: movk x3, #0x300, lsl #16 | |
| <160> 0x112e900a0: movk x3, #0x1, lsl #32 -> 0x1030080c8 vm scratchBuffer.m_buffer | |
| <164> 0x112e900a4: movz x4, #0xa -> 10 | |
| <168> 0x112e900a8: stp x4, x4, [x3, #136] | |
| <172> 0x112e900ac: stp x4, x4, [x3, #120] | |
| <176> 0x112e900b0: stp x4, x4, [x3, #104] | |
| <180> 0x112e900b4: stp x4, x4, [x3, #88] | |
| <184> 0x112e900b8: movz x1, #0x2088 | |
| <188> 0x112e900bc: movk x1, #0x441, lsl #16 | |
| <192> 0x112e900c0: movk x1, #0x1, lsl #32 -> 0x104412088 | |
| <196> 0x112e900c4: stp x1, x4, [x3, #72] | |
| <200> 0x112e900c8: stp x4, x4, [x3, #56] | |
| <204> 0x112e900cc: movz x17, #0x8188 | |
| <208> 0x112e900d0: movk x17, #0x300, lsl #16 | |
| <212> 0x112e900d4: movk x17, #0x1, lsl #32 -> 0x103008188 | |
| <216> 0x112e900d8: ldr x0, [x17] | |
| <220> 0x112e900dc: stur x0, [x3, #40] | |
| <224> 0x112e900e0: stur x4, [x3, #48] | |
| <228> 0x112e900e4: stur x4, [x3, #32] | |
| <232> 0x112e900e8: stp x4, x4, [x3, #16] | |
| <236> 0x112e900ec: ldur x1, [fp, #40] | |
| <240> 0x112e900f0: stp x1, x4, [x3, #0] | |
| <244> 0x112e900f4: mov x2, fp | |
| <248> 0x112e900f8: movz x3, #0x8360 | |
| <252> 0x112e900fc: movk x3, #0x300, lsl #16 | |
| <256> 0x112e90100: movk x3, #0x1, lsl #32 -> 0x103008360 | |
| <260> 0x112e90104: sub sp, fp, #176 | |
| <264> 0x112e90108: movz x3, #0x8160 | |
| <268> 0x112e9010c: movk x3, #0x300, lsl #16 | |
| <272> 0x112e90110: movk x3, #0x1, lsl #32 -> 0x103008160 | |
| <276> 0x112e90114: ldp x19, x20, [x3, #152] | |
| <280> 0x112e90118: ldp x21, x22, [x3, #168] | |
| <284> 0x112e9011c: ldp x23, x24, [x3, #184] | |
| <288> 0x112e90120: ldp d8, d9, [x3, #320] | |
| <292> 0x112e90124: ldp d10, d11, [x3, #336] | |
| <296> 0x112e90128: ldp d12, d13, [x3, #352] | |
| <300> 0x112e9012c: ldp d14, d15, [x3, #368] | |
| <304> 0x112e90130: ldp x0, x1, [x3, #200] | |
| <308> 0x112e90134: stp x0, x1, [fp, #-32] | |
| <312> 0x112e90138: ldp x0, x1, [x3, #216] | |
| <316> 0x112e9013c: stp x0, x1, [fp, #-16] | |
| <320> 0x112e90140: add x3, x3, #512 | |
| <324> 0x112e90144: movz x2, #0x80c8 | |
| <328> 0x112e90148: movk x2, #0x300, lsl #16 | |
| <332> 0x112e9014c: movk x2, #0x1, lsl #32 -> 0x1030080c8 vm scratchBuffer.m_buffer | |
| <336> 0x112e90150: mov x3, fp | |
| <340> 0x112e90154: ldp x1, x0, [x2, #136] | |
| <344> 0x112e90158: stp x0, x1, [x3, #-144] | |
| <348> 0x112e9015c: ldp x1, x0, [x2, #120] | |
| <352> 0x112e90160: stp x0, x1, [x3, #-128] | |
| <356> 0x112e90164: ldp x1, x0, [x2, #104] | |
| <360> 0x112e90168: stp x0, x1, [x3, #-112] | |
| <364> 0x112e9016c: ldp x1, x0, [x2, #88] | |
| <368> 0x112e90170: stp x0, x1, [x3, #-96] | |
| <372> 0x112e90174: ldp x1, x0, [x2, #72] | |
| <376> 0x112e90178: stp x0, x1, [x3, #-80] | |
| <380> 0x112e9017c: ldp x1, x0, [x2, #56] | |
| <384> 0x112e90180: stp x0, x1, [x3, #-64] | |
| <388> 0x112e90184: ldp x1, x0, [x2, #40] | |
| <392> 0x112e90188: stp x0, x1, [x3, #-48] | |
| <396> 0x112e9018c: ldur x0, [x2] | |
| <400> 0x112e90190: stur x0, [x3, #40] | |
| <404> 0x112e90194: movz x17, #0xe548 | |
| <408> 0x112e90198: movk x17, #0x315, lsl #16 | |
| <412> 0x112e9019c: movk x17, #0x1, lsl #32 -> 0x10315e548 | |
| <416> 0x112e901a0: ldr w16, [x17] | |
| <420> 0x112e901a4: add w16, w16, #1 | |
| <424> 0x112e901a8: stur w16, [x17] | |
| <428> 0x112e901ac: movz x3, #0xc3a0 | |
| <432> 0x112e901b0: movk x3, #0x453, lsl #16 | |
| <436> 0x112e901b4: movk x3, #0x1, lsl #32 -> 0x10453c3a0 | |
| <440> 0x112e901b8: ldur w2, [x3, #36] | |
| <444> 0x112e901bc: add w2, w2, #1 | |
| <448> 0x112e901c0: stur w2, [x3, #36] | |
| <452> 0x112e901c4: movz x0, #0xc1e0 | |
| <456> 0x112e901c8: movk x0, #0x453, lsl #16 | |
| <460> 0x112e901cc: movk x0, #0x1, lsl #32 -> 0x10453c1e0 | |
| <464> 0x112e901d0: ldur x5, [x0, #128] | |
| <468> 0x112e901d4: ldur w17, [x5, #24] | |
| <472> 0x112e901d8: tst w17, w17 | |
| <476> 0x112e901dc: b.pl 0x112e901ec -> <492> | |
| <480> 0x112e901e0: movz w1, #0x64 -> 100 | |
| <484> 0x112e901e4: cmp w2, w1 | |
| <488> 0x112e901e8: b.ls 0x112e90210 -> <528> | |
| <492> 0x112e901ec: mov x1, x3 | |
| <496> 0x112e901f0: movz x2, #0xe548 | |
| <500> 0x112e901f4: movk x2, #0x315, lsl #16 | |
| <504> 0x112e901f8: movk x2, #0x1, lsl #32 -> 0x10315e548 | |
| <508> 0x112e901fc: movz x8, #0xde1c | |
| <512> 0x112e90200: movk x8, #0x8dd, lsl #16 | |
| <516> 0x112e90204: movk x8, #0x1, lsl #32 -> 0x108ddde1c | |
| <520> 0x112e90208: blr x8 | |
| <524> 0x112e9020c: b 0x112e9022c -> <556> | |
| <528> 0x112e90210: mov w16, #-2101 -> 0xfffffffffffff7cb | |
| <532> 0x112e90214: stur w16, [x5, #24] | |
| <536> 0x112e90218: movz w16, #0x835 -> 2101 | |
| <540> 0x112e9021c: stur w16, [x5, #32] | |
| <544> 0x112e90220: movk w16, #0x4503, lsl #16 | |
| <548> 0x112e90224: movk w16, #0x5000 -> 0x45035000 | |
| <552> 0x112e90228: stur w16, [x5, #28] | |
| <556> 0x112e9022c: movz x16, #0xc1e0 | |
| <560> 0x112e90230: movk x16, #0x453, lsl #16 | |
| <564> 0x112e90234: movk x16, #0x1, lsl #32 -> 0x10453c1e0 | |
| <568> 0x112e90238: stur x16, [fp, #16] | |
| <572> 0x112e9023c: movz w16, #0x179 -> 377 | |
| <576> 0x112e90240: stur w16, [fp, #36] | |
| <580> 0x112e90244: dmb ish | |
| <584> 0x112e90248: movz x1, #0xc1e0 | |
| <588> 0x112e9024c: movk x1, #0x453, lsl #16 | |
| <592> 0x112e90250: movk x1, #0x1, lsl #32 -> 0x10453c1e0 | |
| <596> 0x112e90254: ldurb w17, [x1, #7] | |
| <600> 0x112e90258: cmp w17, #0 | |
| <604> 0x112e9025c: b.hi 0x112e90278 -> <632> | |
| <608> 0x112e90260: movz x0, #0x400, lsl #16 | |
| <612> 0x112e90264: movk x0, #0x1, lsl #32 -> 0x104000000 vm | |
| <616> 0x112e90268: movz x8, #0xc79c | |
| <620> 0x112e9026c: movk x8, #0x90f, lsl #16 | |
| <624> 0x112e90270: movk x8, #0x1, lsl #32 -> 0x1090fc79c | |
| <628> 0x112e90274: blr x8 | |
| <632> 0x112e90278: movz x25, #0x9490 | |
| <636> 0x112e9027c: movk x25, #0x304, lsl #16 | |
| <640> 0x112e90280: movk x25, #0x1, lsl #32 -> 0x103049490 | |
| <644> 0x112e90284: movz x26, #0xa800 | |
| <648> 0x112e90288: movk x26, #0x300, lsl #16 | |
| <652> 0x112e9028c: movk x26, #0x1, lsl #32 -> 0x10300a800 | |
| <656> 0x112e90290: sub sp, fp, #144 | |
| <660> 0x112e90294: movz x2, #0x14ec | |
| <664> 0x112e90298: movk x2, #0x12ea, lsl #16 | |
| <668> 0x112e9029c: movk x2, #0x1, lsl #32 -> 0x112ea14ec JIT PC | |
| <672> 0x112e902a0: br x2 | |
| <676> 0x112e902a4: brk #0xc471 | |
| <680> 0x112e902a8: brk #0xc471 | |
| <684> 0x112e902ac: brk #0xc471 | |
| <688> 0x112e902b0: brk #0xc471 | |
| 1952048 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment