Skip to content

Instantly share code, notes, and snippets.

@mraleph
Created November 28, 2024 11:08
Show Gist options
  • Select an option

  • Save mraleph/f0b7addc93b81b598c1b97088c9b1f14 to your computer and use it in GitHub Desktop.

Select an option

Save mraleph/f0b7addc93b81b598c1b97088c9b1f14 to your computer and use it in GitHub Desktop.
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
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