Skip to content

Instantly share code, notes, and snippets.

@gskachkov
Created July 30, 2015 18:05
Show Gist options
  • Save gskachkov/cc0fd79125c843f7973a to your computer and use it in GitHub Desktop.
Save gskachkov/cc0fd79125c843f7973a to your computer and use it in GitHub Desktop.
arrow function dump
>>> load('LayoutTests/js/regress/script-tests/arrowfunction-afcall.js')
DFG(Driver) compiling #BUN2VQ:[0x10c2df708->0x10c2df4b0->0x10c043e00, NoneFunctionCall, 17 (NeverInline)] with DFGMode, number of instructions = 17
Deferring DFG compilation of #BUN2VQ:[0x10c2df708->0x10c2df4b0->0x10c043e00, NoneFunctionCall, 17 (NeverInline)] with queue length 0.
DFG(Plan) compiling #BUN2VQ:[0x10c2df708->0x10c2df4b0->0x10c043e00, NoneFunctionCall, 17 (NeverInline)] with DFGMode, number of instructions = 17
Compiler must handle OSR entry from bc#0 with values: arg2:Int32: 2 arg1:Int32: 1 arg0:Cell: 0x10c03f800 (0x10c0708e0:[global, {parseInt:100, Object:101, Function:102, Array:103, RegExp:104, EvalError:105, RangeError:106, ReferenceError:107, SyntaxError:108, TypeError:109, URIError:110, Promise:111, Set:112, Map:113, Date:114, String:115, Symbol:116, Boolean:117, Number:118, Error:119, ArrayBuffer:120, WeakMap:121, WeakSet:122, DFG(Driver) compiling eval<global>:#123Cih8E0, Intl:124, JSON:125, Math:126, Reflect:[:0x10c2df960127->, 0x10c2df258DataView->:0x10c060100128, , NoneFloat64ArrayGlobal:, 129234, ]Float32Array with :DFGMode130, number of instructions = , 234Uint32Array
:Deferring DFG compilation of 131<global>, #Int32ArrayCih8E0::[1320x10c2df960, ->Uint16Array0x10c2df258:->1330x10c060100, , Int16ArrayNone:Global134, , 234Uint8ClampedArray]: with queue length 1350, .
Uint8Array:136, Int8Array:137, console:138, debug:139, describe:140, describeArray:141, print:142, quit:143, gc:144, fullGC:145, edenGC:146, gcHeapSize:147, deleteAllCompiledCode:148, addressOf:149, version:150, run:151, load:152, readFile:153, checkSyntax:154, jscStack:155, readline:156, preciseTime:157, neverInlineFunction:158, noInline:159, numberOfDFGCompiles:160, optimizeNextInvocation:161, reoptimizationRetryCount:162, transferArrayBuffer:163, Root:164, Element:165, getElement:166, setElementRoot:167, DFGTrue:168, OSRExit:169, isFinalTier:170, predictInt32:171, isInt32:172, fiatInt52:173, effectful42:174, makeMasquerader:175, hasCustomProperties:176, createProxy:177, createRuntimeArray:178, createImpureGetter:179, setImpureGetterDelegate:180, dumpTypesForAllVariables:181, findTypeForExpression:182, returnTypeFor:183, dumpBasicBlockExecutionRanges:184, hasBasicBlockExecuted:185, enableExceptionFuzz:186, arguments:187}, NonArray, Proto:0x10c05fff0]), ID: 414
Allocating another allocator region.
Phase CPS rethreading changed the IR.
Phase unification changed the IR.
Phase prediction injection changed the IR.
Phase static execution count estimation changed the IR.
Phase backwards propagation changed the IR.
Phase prediction propagation changed the IR.
Phase fixup changed the IR.
Phase structure registration changed the IR.
Phase invalidation point injection changed the IR.
Phase local common subexpression elimination changed the IR.
Phase control flow analysis changed the IR.
Phase tier-up check injection changed the IR.
Phase fast store barrier insertion changed the IR.
Phase dead code elimination changed the IR.
Phase phantom insertion changed the IR.
Phase stack layout changed the IR.
Phase virtual register allocation changed the IR.
Phase watchpoint collection changed the IR.
Graph after optimization:
DFG for #BUN2VQ:[0x10c2df708->0x10c2df4b0->0x10c043e00, DFGFunctionCall, 17 (NeverInline)]:
Fixpoint state: FixpointConverged; Form: ThreadedCPS; Unification state: GloballyUnified; Ref count state: ExactRefCount
Arguments: -, @1, @2
Block #0 (bc#0): (OSR target)
Execution count: 1.000000
Predecessors:
Successors:
Dominated by: #0
Dominates: #0
Dominance Frontier:
Iterated Dominance Frontier:
States: StructuresAreWatched
Vars Before: arg2:(Int32) arg1:(Int32) arg0:(Top, TOP, TOP)
Intersected Vars Before: arg2:(Int32) arg1:(Int32) arg0:(Top, TOP, TOP)
Var Links: arg2:@2 arg1:@1
1:< 2:-> SetArgument(IsFlushed, arg1(B<BoolInt32>/FlushedInt32), machine:arg1, W:SideState, bc#0) predicting Boolint32
2:< 2:-> SetArgument(IsFlushed, arg2(C<Int32>/FlushedInt32), machine:arg2, W:SideState, bc#0) predicting Nonboolint32
3:< 3:loc0> JSConstant(JS|PureInt, Other, Undefined, bc#0)
4:<!0:-> MovHint(@3, MustGen, loc0, W:SideState, bc#0)
6:<!0:-> MovHint(@3, MustGen, loc1, W:SideState, bc#0)
8:<!0:-> MovHint(@3, MustGen, loc2, W:SideState, bc#0)
11:< 1:loc0> JSConstant(JS|PureInt, Otherobj, Weak:Cell: 0x10c03f800 (%Cy:global), ID: 414, bc#1)
12:<!0:-> MovHint(@11, MustGen, loc0, W:SideState, bc#1)
15:< 3:loc0> JSConstant(JS|PureInt, Otherobj, Weak:Cell: 0x10c082ba0 (%EF:JSProxy), ID: 386, bc#3)
16:<!0:-> MovHint(@15, MustGen, loc2, W:SideState, bc#3)
18:<!0:-> MovHint(@15, MustGen, this, W:SideState, bc#5)
20:<!1:loc1> GetLocal(@1, JS|MustGen|UseAsOther, Boolint32, arg1(B<BoolInt32>/FlushedInt32), machine:arg1, R:Stack(6), bc#8) predicting Boolint32
21:<!1:loc2> GetLocal(@2, JS|MustGen|UseAsOther, Nonboolint32, arg2(C<Int32>/FlushedInt32), machine:arg2, R:Stack(7), bc#8) predicting Nonboolint32
22:<!2:loc2> ArithAdd(Int32:@20, Int32:@21, JS|MustGen|UseAsOther, Int32, CheckOverflow, bc#8)
23:<!0:-> MovHint(@22, MustGen, loc3, W:SideState, bc#8)
32:<!0:-> CheckTierUpAtReturn(MustGen, W:SideState, bc#13)
25:<!0:-> Return(@22, MustGen, W:SideState, bc#13)
33:<!0:-> Phantom(@15, MustGen, bc#13)
26:<!0:-> Flush(@2, MustGen|IsFlushed, arg2(C<Int32>/FlushedInt32), machine:arg2, R:Stack(7), W:SideState, bc#13) predicting Nonboolint32
27:<!0:-> Flush(@1, MustGen|IsFlushed, arg1(B<BoolInt32>/FlushedInt32), machine:arg1, R:Stack(6), W:SideState, bc#13) predicting Boolint32
States: InvalidBranchDirection, StructuresAreWatched, CFAInvalidated
Vars After:
Var Links: arg2:@21 arg1:@20
GC Values:
Weak:Cell: 0x10c082ba0 (%EF:JSProxy), ID: 386
Weak:Cell: 0x10c03f800 (%Cy:global), ID: 414
Weak:Cell: 0x10c058d00 (%Bn:ArrowFunction), ID: 415
Structures:
%Bn:ArrowFunction = 0x10c070870:[ArrowFunction, {prototype:100}, NonArray, Proto:0x10c031e20]
%Cy:global = 0x10c0708e0:[global, {parseInt:100, Object:101, Function:102, Array:103, RegExp:104, EvalError:105, RangeError:106, ReferenceError:107, SyntaxError:108, TypeError:109, URIError:110, Promise:111, Set:112, Map:113, Date:114, String:115, Symbol:116, Boolean:117, Number:118, Error:119, ArrayBuffer:120, WeakMap:121, WeakSet:122, eval:123, Intl:124, JSON:125, Math:126, Reflect:127, DataView:128, Float64Array:129, Float32Array:130, Uint32Array:131, Int32Array:132, Uint16Array:133, Int16Array:134, Uint8ClampedArray:135, Uint8Array:136, Int8Array:137, console:138, debug:139, describe:140, describeArray:141, print:142, quit:143, gc:144, fullGC:145, edenGC:146, gcHeapSize:147, deleteAllCompiledCode:148, addressOf:149, version:150, run:151, load:152, readFile:153, checkSyntax:154, jscStack:155, readline:156, preciseTime:157, neverInlineFunction:158, noInline:159, numberOfDFGCompiles:160, optimizeNextInvocation:161, reoptimizationRetryCount:162, transferArrayBuffer:163, Root:164, Element:165, getElement:166, setElementRoot:167, DFGTrue:168, OSRExit:169, isFinalTier:170, predictInt32:171, isInt32:172, fiatInt52:173, effectful42:174, makeMasquerader:175, hasCustomProperties:176, createProxy:177, createRuntimeArray:178, createImpureGetter:179, setImpureGetterDelegate:180, dumpTypesForAllVariables:181, findTypeForExpression:182, returnTypeFor:183, dumpBasicBlockExecutionRanges:184, hasBasicBlockExecuted:185, enableExceptionFuzz:186, arguments:187}, NonArray, Proto:0x10c05fff0]
%EF:JSProxy = 0x10c071520:[JSProxy, {}, NonArray, Proto:0x10c05fff0]
SpeculativeJIT generating Node @1 (bc#0) at JIT offset 0x41
SpeculativeJIT generating Node @2 (bc#0) at JIT offset 0x41
SpeculativeJIT generating Node @3 (bc#0) at JIT offset 0x41
SpeculativeJIT generating Node @4 (bc#0) at JIT offset 0x41
SpeculativeJIT generating Node @6 (bc#0) at JIT offset 0x41
SpeculativeJIT generating Node @8 (bc#0) at JIT offset 0x41
SpeculativeJIT generating Node @11 (bc#1) at JIT offset 0x41
SpeculativeJIT generating Node @12 (bc#1) at JIT offset 0x41
SpeculativeJIT generating Node @15 (bc#3) at JIT offset 0x41
SpeculativeJIT generating Node @16 (bc#3) at JIT offset 0x41
SpeculativeJIT generating Node @18 (bc#5) at JIT offset 0x41
SpeculativeJIT generating Node @20 (bc#8) at JIT offset 0x41
SpeculativeJIT generating Node @21 (bc#8) at JIT offset 0x44
SpeculativeJIT generating Node @22 (bc#8) at JIT offset 0x47
SpeculativeJIT generating Node @23 (bc#8) at JIT offset 0x4f
SpeculativeJIT generating Node @32 (bc#13) at JIT offset 0x4f
SpeculativeJIT generating Node @25 (bc#13) at JIT offset 0x80
Bailing compilation.
OSR Entries:
bc#0, machine code offset = 65, stack rules = [arg2:(Int32) (maps to arg2), arg1:(Int32) (maps to arg1), arg0:(Top, TOP, TOP) (maps to this), loc0:(Top, TOP, TOP) (ignored), loc1:(Top, TOP, TOP) (ignored), loc2:(Top, TOP, TOP) (ignored), loc3:(Top, TOP, TOP) (ignored)], machine stack used = ---------------------------------------------------------------
DFG(Plan) compiling <global>#Cih8E0:[0x10c2df960->0x10c2df258->0x10c060100, NoneGlobal, 234] with DFGMode, number of instructions = 234
Compiler must handle OSR entry from bc#97 with values: arg0:Cell: 0x10c082ba0 (0x10c071520:[JSProxy, {}, NonArrayDFG(Driver) compiling , Proto:0x10c05fff0#]BUN2VQ):[, ID: 0x10c2dfbb8386-> 0x10c2df4b0loc->00x10c043e00:, Cell: None0x10c03f800Function (Call0x10c0708e0, :[17global (NeverInline), {]parseInt with :FTLMode100, number of instructions = , 17Object
:101, Function:102, Array:103, RegExp:104, EvalError:105, RangeError:106, ReferenceError:107, SyntaxError:108, TypeError:109, URIError:110, Promise:111, Set:Deferring DFG compilation of 112, #MapBUN2VQ::[1130x10c2dfbb8, ->Date0x10c2df4b0:->1140x10c043e00, , StringNone:Function115Call, , Symbol17: (NeverInline)116], with queue length Boolean0:.
117, Number:118, Error:DFG(Plan) compiling 119, #ArrayBufferBUN2VQ::[1200x10c2dfbb8, ->WeakMap0x10c2df4b0:->1210x10c043e00, , WeakSetNone:Function122Call, , eval17: (NeverInline)123], with IntlFTLMode:, number of instructions = 12417,
JSON:125, Math:126, Reflect:127Allocating another allocator region.
, DataView:128, Float64Array:129Phase CPS rethreading changed the IR.
, Phase unification changed the IR.
Float32ArrayPhase prediction injection changed the IR.
:Phase static execution count estimation changed the IR.
130Phase backwards propagation changed the IR.
, Uint32ArrayPhase prediction propagation changed the IR.
:Phase fixup changed the IR.
131Phase structure registration changed the IR.
, Phase invalidation point injection changed the IR.
Int32Array:132, Uint16Array:133, Phase local common subexpression elimination changed the IR.
Int16Array:Phase control flow analysis changed the IR.
134, Uint8ClampedArray:135, Uint8Array:136, Int8Array:137, console:138, debug:139, describe:140Phase SSA conversion changed the IR.
, Phase SSA lowering changed the IR.
describeArray:141, print:142, quit:143, gc:144, fullGC:145, edenGC:146, gcHeapSize:147, deleteAllCompiledCode:148, addressOfPhase PutStack sinking changed the IR.
:Phase constant hoisting changed the IR.
149Phase liveness analysis changed the IR.
, version:150Phase liveness analysis changed the IR.
, Phase control flow analysis changed the IR.
run:151, load:152, readFile:153, checkSyntax:154, Phase liveness analysis changed the IR.
jscStack:155, Phase OSR availability analysis changed the IR.
readline:156, preciseTimePhase liveness analysis changed the IR.
:Phase control flow analysis changed the IR.
Phase global store barrier insertion changed the IR.
157, neverInlineFunction:Phase MovHint removal changed the IR.
158, noInline:159, numberOfDFGCompiles:160Phase dead code elimination changed the IR.
, Phase stack layout changed the IR.
optimizeNextInvocationPhase liveness analysis changed the IR.
:Phase OSR availability analysis changed the IR.
161Phase watchpoint collection changed the IR.
, Graph just before FTL lowering:reoptimizationRetryCount
:
162DFG for , transferArrayBuffer#:BUN2VQ163:[, 0x10c2dfbb8Root->:0x10c2df4b0164->, 0x10c043e00Element, :DFG165Function, CallgetElement, :17166 (NeverInline), ]setElementRoot:
: Fixpoint state: 167FixpointConverged, ; Form: DFGTrueSSA:; Unification state: 168GloballyUnified, ; Ref count state: OSRExitExactRefCount:
169 Argument formats: , FlushedJSValueisFinalTier, :FlushedInt32170, , FlushedInt32predictInt32
:
171, Block isInt32#:0172 (, <none>fiatInt52)::173 (OSR target),
effectful42: Execution count: 1741.000000,
makeMasquerader: Predecessors:175
, hasCustomProperties Successors::
176, Dominated by: createProxy#:0177
, createRuntimeArray Dominates: :#1780,
createImpureGetter: Dominance Frontier: 179
, setImpureGetterDelegate Iterated Dominance Frontier: :
180, dumpTypesForAllVariables:181, findTypeForExpression:182, returnTypeFor:183, dumpBasicBlockExecutionRanges:184, hasBasicBlockExecuted:185, enableExceptionFuzz:186, arguments:187}, NonArray, Proto:0x10c05fff0]), ID: 414
States: StructuresAreWatched
Availability: {locals = arg2:arg2:FlushedInt32/Unavailable arg1:arg1:FlushedInt32/Unavailable arg0:this:FlushedJSValue/Unavailable; heap = }
Live:
Values:
15:< 1:-> JSConstant(JS|PureInt, Otherobj, Weak:Cell: 0x10c082ba0 (%EF:JSProxyPhase CPS rethreading changed the IR.
)Phase unification changed the IR.
, ID: Phase prediction injection changed the IR.
386Phase static execution count estimation changed the IR.
)
Phase backwards propagation changed the IR.
33:< 1:-> GetStack(JS|PureIntPhase prediction propagation changed the IR.
, Boolint32, arg1Phase fixup changed the IR.
, Phase structure registration changed the IR.
machine:arg1Phase invalidation point injection changed the IR.
, FlushedInt32, R:Stack(6)Phase local common subexpression elimination changed the IR.
, bc#0)
34:< 1:-> Phase control flow analysis changed the IR.
GetStackPhase constant folding changed the IR.
(JS|PureInt, Nonboolint32, arg2, machine:arg2, FlushedInt32, R:Stack(7), bc#0)FTL rejecting
<global># 35:<!0:Cih8E0-:[> 0x10c2df960KillStack->(0x10c2df258MustGen->, 0x10c060100loc, 0None, GlobalW:, SideState234, ]bc# because it doesn't belong to a function.
0Phase fast store barrier insertion changed the IR.
)Phase dead code elimination changed the IR.
Phase phantom insertion changed the IR.
Phase stack layout changed the IR.
4:<!0:Phase virtual register allocation changed the IR.
-Phase watchpoint collection changed the IR.
> Graph after optimization:ZombieHint
(
MustGenDFG for , <global>loc#0Cih8E0, :[W:0x10c2df960SideState->, 0x10c2df258bc#->00x10c060100),
DFGGlobal 36:<!0:, -234> ]KillStack:
( Fixpoint state: MustGenFixpointConverged, ; Form: locThreadedCPS1; Unification state: , GloballyUnifiedW:; Ref count state: SideStateExactRefCount,
bc# Arguments: 0@)0
6:<!0:-Block > #ZombieHint0( (MustGenbc#, 0loc):1, (OSR target)W:
SideState, Execution count: bc#1.0000000
)
Predecessors:
Successors: #1 #4
Dominated by: #0 37:<!0:
-> Dominates: KillStack#(0MustGen , #loc12 , #W:2SideState , #bc#30 )#
4
8:<!0:- Dominance Frontier: >
ZombieHint( Iterated Dominance Frontier: MustGen
, States: locStructuresAreWatched2
, Vars Before: W:argSideState0, :bc#(0Top),
TOP, 38:<!0:TOP-)>
KillStack Intersected Vars Before: (argMustGen0, :loc(0Top, , W:TOPSideState, , TOPbc#)1
) Var Links:
arg0 12:<!0::-@> 0ZombieHint
(MustGen 0:< 1:, -loc> 0SetArgument, (W:thisSideState(, abc#)1, )machine:
this, 39:<!0:W:-SideState> , KillStackbc#(0MustGen), predicting locNone2
, W: 1:< 2:SideStateloc, 1bc#> 3JSConstant)(
JS|PureInt, 16:<!0:Other-, > UndefinedZombieHint, (bc#MustGen0, )loc
2 2:<!0:, -W:> SideStateMovHint, (bc#@31),
MustGen, 40:<!0:loc-0> , KillStackW:(SideStateMustGen, , bc#this0, )W:
SideState, 4:< 1:bc#loc52)>
GetCallee( 18:<!0:JS|UseAsOther-, > FunctionMovHint, (R:Kill:Stack(3)@, 15bc#, 1MustGen),
this, 5:< 3:W:locSideState2, > bc#GetScope5()KnownCell
:@ 22:<!2:4-, > JS|UseAsOtherArithAdd, (OtherobjInt32, :bc#Kill:1@)33
, Int32 6:<!0::-Kill:> @MovHint34(@5, MustGen, loc0, , JS|MustGen|UseAsOtherW:, SideStateInt32, , bc#CheckOverflow1, )bc#
8) 9:<!0:
-> 41:<!0:MovHint-(> @KillStack1(, MustGenMustGen, , locloc31, , W:W:SideStateSideState, , bc#bc#83))
23:<!0: 11:< 11:-loc> 1MovHint> (JSConstant@(22JS|UseAsOther, MustGen, , Otherobjloc, 3Weak, :W:Cell: SideState0x10c03f800, (bc#8)
25:<!0:-> Return(Kill:@22, MustGen, W:SideState, bc#13)
States: InvalidBranchDirection, StructuresAreWatched, CFAInvalidated
Availability: {locals = arg2:arg2:FlushedInt32/@34 arg1:arg1:FlushedInt32/@33 arg0:ConflictingFlush/@15 loc3:ConflictingFlush/@22; heap = }
Live:
Values:
GC Values:
Weak:Cell: 0x10c082ba0 (%EF:JSProxy), ID: 386
Weak:Cell: 0x10c03f800 (%Cy:global), ID: 414, bc#6)
12:<!0:-> MovHint(@11, MustGen, loc2, W:SideState, bc#6)
14:<!2:loc3> GetLocal(@0, JS|MustGen|UseAsOther, this(a), machine:this, R:Stack(5), bc#13) predicting None
140:<!0:-> Check(Check:Other:@14, MustGen, bc#13)
15:< 3:loc3> NewArrowFunction(Cell:@5, Check:Cell:@14, JS|UseAsOther, Function, R:HeapObjectCount, W:HeapObjectCount,Watchpoint_fire, bc#13)
16:<!0:-> MovHint(@15, MustGen, loc3, W:SideState, bc#13)
149:<!0:-> InvalidationPoint(MustGen, W:SideState, bc#13, exit: bc#18)
152:<!0:-> StoreBarrier(Check:Cell:@11, MustGen, W:SideState, bc#18)
19:<!0:-> PutGlobalVar(Check:Cell:@11, @15, MustGen, globalscope38(0x10c3dc9b0), W:Absolute(4500343216), bc#18)
20:<!0:-> NotifyWrite(MustGen, 0x10c3fca00, W:Watchpoint_fire,SideState, bc#18)
154:<!0:-> Phantom(@15, MustGen, bc#18)
155:<!0:-> Phantom(@11, MustGen, bc#18)
150:<!0:-> InvalidationPoint(MustGen, W:SideState, bc#25)
23:<!0:-> MovHint(@11, MustGen, loc4, W:SideState, bc#25)
26:<!0:-> CheckStructure(Check:Cell:@11, MustGen, [%Cy:global], R:JSCell_structureID, bc#32)
29:< 2:loc3> JSConstant(JS|UseAsOther, Function, Weak:Cell: 0x10c059240 (%CC:Function), ID: 44, bc#32)
30:<!0:-> MovHint(@29, MustGen, loc2, W:SideState, bc#32)
33:<!0:-> MovHint(@11, MustGen, loc3, W:SideState, bc#40)
36:< 2:loc4> JSConstant(JS|UseAsOther, Function, Weak:Cell: 0x10c058d00 (%Bn:ArrowFunction), ID: 415, bc#47)
37:<!0:-> MovHint(@36, MustGen, loc3, W:SideState, bc#47)
39:<!2:loc4> Call(@29, @11, @36, JS|MustGen|VarArgs|UseAsOther, Other, R:World, W:Heap, bc#55) predicting Other
40:<!0:-> MovHint(@39, MustGen, loc1, W:SideState, bc#55)
151:<!0:-> InvalidationPoint(MustGen, W:SideState, bc#55, exit: bc#%64Cy):
global) 41:< 2:, ID: -414>
SetLocal (Weak@:39Cell: , 0x10c058d00loc (1(K~%<Other>Bn/:FlushedJSValueArrowFunction)), , ID: machine:415loc
0, Structures:W:
Stack(-2), bc#%Bn:ArrowFunction55 = , 0x10c070870exit: :[bc#ArrowFunction64, {)prototype predicting :Other100
}, NonArray 43:<!0:, Proto:-0x10c031e20> ]MovHint
(@ 11%Cy:global, MustGen , loc 2 , W: SideState = , 0x10c0708e0bc#:[64global), {
parseInt: 45:< 5:100loc, 4Object> :JSConstant101(, JS|UseAsOtherFunction, :Boolint32102, , Int32: 0Array, :bc#10371, )RegExp
:104 141:<!0:, -EvalError> :Check105(, Check:RangeErrorInt32::106@, 45ReferenceError, :MustGen107, , bc#SyntaxError71:)108
, TypeError 47:<!0::-109> , PutGlobalVarURIError(:Check:110Cell, :Promise@:11111, , @Set45:, 112MustGen, , Mapglobal:scope11339, (Date0x10c3dc9b8:)114, , W:StringAbsolute(4500343224):, 115bc#, 71Symbol):
116, 50:<!0:Boolean-:> 117MovHint, (Number@:11118, , MustGenError, :loc1192, , ArrayBufferW::SideState120, , bc#WeakMap78:)121
, WeakSet 54:<!0::-122> , MovHinteval(:@12345, , IntlMustGen:, 124loc, 3JSON, :W:125SideState, , Mathbc#:85126),
Reflect: 56:< 1:127loc, 1DataView> :JSConstant128(, JS|UseAsOtherFloat64Array, :Nonboolint32129, , Int32: 1000000Float32Array, :bc#13093, Uint32Array:131, Int32Array:132, Uint16Array):
133, 57:< 1:Int16Arrayloc:1134> , CompareLessUint8ClampedArray(:Check:135Int32, :Uint8Array@:45136, , Check:Int8ArrayInt32::137@, 56console, :Boolean|UseAsOther138, , Booldebug, :bc#13993, )describe
:140 58:<!0:, -describeArray> :Branch141(, Check:printBoolean::142@, 57quit, :MustGen143, , T:gc#:1144/w:, 10.000000fullGC, F::#1454, /w:edenGC1.000000:, 146W:, SideStategcHeapSize, :bc#14793, )deleteAllCompiledCode
:148 156:<!0:, -addressOf> :Phantom149(, @version45:, 150MustGen, , runbc#:93151),
load: 157:<!0:152-, > readFilePhantom:(153@, 5checkSyntax, :MustGen154, , bc#jscStack93:)155
, States: readlineInvalidBranchDirection:, 156StructuresAreWatched, , CFAInvalidatedpreciseTime
: Vars After: 157
, Var Links: neverInlineFunctionarg:0158:, @noInline14: 159loc, 1numberOfDFGCompiles::@16041,
optimizeNextInvocation
:161Block , #reoptimizationRetryCount1: (162bc#, 97transferArrayBuffer)::163 (OSR target),
Root: Execution count: 16410.000000,
Element: Predecessors:165 , #getElement0: 166#, 3setElementRoot
:167 Successors:, DFGTrue#:2168 , #OSRExit3:
169, Dominated by: isFinalTier#:0170 , #predictInt321:
171, Dominates: isInt32#:1172 , #fiatInt522: 173#, 3effectful42
:174 Dominance Frontier: , #makeMasquerader1: 175#, 4hasCustomProperties
:176 Iterated Dominance Frontier: , #createProxy1: 177#, 4createRuntimeArray
:178 Loop header, contains:, #createImpureGetter1: #1793,
setImpureGetterDelegate: Containing loop headers:180 , #dumpTypesForAllVariables1:
181, Phi Nodes:findTypeForExpression @:139182<, locreturnTypeFor1:,1831, >->(dumpBasicBlockExecutionRanges@:138184, @, 41hasBasicBlockExecuted):185
, States: enableExceptionFuzzStructuresAreWatched:
186 Vars Before: ,
arguments Intersected Vars Before: :
187 Var Links: }, locNonArray1, Proto::0x10c05fff0@]139
59:<!0:%EF:JSProxy- > LoopHint ( MustGen , W: = SideState0x10c071520, :[bc#JSProxy97, {)},
NonArray, Proto: 60:< 6:0x10c05fff0loc]2
>
JSConstantFunction ready, beginning lowering.
( OSR exit #JS|UseAsOther0, with availability: Otherobj{locals = , argWeak2::Cell: arg0x10c03f8002 (:%FlushedJSValueCy/:Unavailableglobal )arg, ID: 1414:, argbc#198:)FlushedJSValue
/Unavailable 61:<!0: -arg> 0MovHint:(this@:60FlushedJSValue, /MustGenUnavailable, ; heap = loc}2
, Exit values: W:argSideState2, :bc#InJSStack:98arg)2
arg 64:<!0:1-:> InJSStack:MovHintarg(1@ 60arg, 0MustGen:, InJSStack:locthis6
, OSR exit #W:1SideState with availability: , {locals = bc#arg1052):
arg2 67:< 2::locFlushedJSValue4/> UnavailableJSConstant (argJS|UseAsOther1, :Functionarg, 1Weak::FlushedJSValueCell: /0x10c058d00Unavailable ( %argBn0::ArrowFunctionthis):, ID: FlushedJSValue415/, Unavailablebc#; heap = 112})
68:<!0: Exit values: -arg> 2MovHint:(InJSStack:@arg672, MustGenarg, 1loc:3InJSStack:, argW:1SideState , argbc#0112:)InJSStack:
this
70:< 2:loc1Compiling block > #JSConstant0(
JS|UseAsOtherLowering , @Boolint3215, Int32: 1, bc#120)
undefined
71:<!0:-
> MovHint>>> Lowering (@@3370
, MustGenLowering , @loc345
, Lowering W:@SideState35,
bc#Lowering 120@)4
Lowering 73:< 2:@loc363
> Lowering JSConstant@(6JS|UseAsOther
, Lowering Nonboolint32@, 37Int32: 2
, Lowering bc#@1238)
Lowering @ 74:<!0:38-
> Lowering MovHint@(12@
73Lowering , @MustGen39,
locLowering 4@, 16W:
SideStateLowering , @bc#40123
)Lowering
@18 76:<!6:
locLowering 3@> 22Call
(@67, @60, @70, @73, JS|MustGen|VarArgs|UseAsOther, Nonboolint32, R:World, W:Heap, bc#126) predicting Nonboolint32 OSR exit #
2 with availability: 77:<!0:{locals = -arg> 2MovHint:(arg@276:, FlushedInt32MustGen/, @loc343 , argW:1SideState:, argbc#1126:)FlushedInt32
/@ 148:<!0:33- > argInvalidationPoint0(:MustGenConflictingFlush, /W:@SideState15, ; heap = bc#}126
, Available recoveries: exit: @bc#34135 => )Sub
, 0x7ffe80e10408 142:<!0:, -0x7ffe80e10178> , CheckInt32(
Check:Int32 Exit values: :arg@276:, InJSStackAsInt32:MustGenarg, 2bc# 135arg)1
:InJSStackAsInt32: 153:<!0:arg-1> StoreBarrierarg(0Check::CellConstant(:@60, MustGen, Cell: W:0x10c082ba0SideState (, 0x10c071520bc#:[135JSProxy), {
}, NonArray 80:<!0:, Proto:-0x10c05fff0> ]PutGlobalVar)(, ID: Cell386:)@ 60loc, 0@:76Dead, MustGenloc, 1global:scopeDead40 (loc0x10c3dc9c02):Dead, W:locAbsolute(4500343232)3, :bc#Dead135
)Lowering
@41 83:<!0:
-Lowering > @MovHint23(
@Lowering 60@, 25MustGen
, loc2, W:SideState, bc#142LLVM IR for )
#BUN2VQ 87:<!0::[-0x10c2dfbb8> ->MovHint0x10c2df4b0(->@0x10c043e0076, , FTLMustGenFunction, Callloc, 317, (NeverInline)W:]SideState , after loweringbc#:
149)
89:< 1:loc2> JSConstant(JS|UseAsOther, Nonboolint32, ; ModuleID = 'Int32: 3jsBody_1__BUN2VQ'
, bc#157
)
define 90:< 1:i64loc 2@> jsBody_1__BUN2VQ(CompareEq) #(Int32:@76, Int320:@89 {,
PrologueBoolean|UseAsOther:
, %0Bool = alloca, bc# 157[0) x i
64]
91:< 2: %loc1 = 2ptrtoint > [0LogicalNot x i(64]Boolean* :%0@ to 90i64
, %2 = Boolean|UseAsOtheradd , i64 Bool%1, , bc#0157
) call
void ( 158:<!0:i64-, i> 32, Phantom...)(* @@llvm.experimental.stackmap76(i64, 0, MustGeni32 , 0, bc#[0157 x i)64]
* % 92:<!0:0)-
> %3MovHint = call( i@8*91 @llvm.frameaddress, (iMustGen32 , 0)loc
3%4 = ptrtoint , i8W:* SideState%3, to ibc#64
157 %)5 =
add i 94:<!0:64 -%4> , 16Branch
(%6Boolean = inttoptr: i@64 91%5 to , i64*MustGen
store, iT:64 #4499307448, 2i64/w:* %61.000000, !tbaa, F: !#0
3 br/w: i110.000000 false, label, %W:"SSideStateta, ckbc# o161ve)rf
lo States: w"TakeBoth, label, %StructuresAreWatched"C
hec Vars After: k locar2gu:me(ntsOtherobj", !, prof TOP!3,
TOP"S, taCell: ck0x10c03f800 o (ver%flCyow:":global ;) preds = %, ID: Prologue
414 call) void locinttoptr3 (:i(64 Bool4485021616) to voidloc (4i:64(, i64Nonboolint32)*, )(Int32: 2i64) % 4, loci645 4499307448:)
( callBoolint32 void, (iInt32: 164, )i32 , ...loc)*6 @:llvm.experimental.stackmap((i64 Otherobj1, , i32TOP 5, )
TOP unreachable,
Cell: "H0x10c03f800an (dl%e CyEx:ceglobalpt)io, ID: ns414":) ;
No predecessors!
Var Links: callloc void1 (i:64, @i32139, ...
)*
@llvm.experimental.stackmapBlock (i#64 22, (i32bc# 5164)
): unreachable
" Execution count: Che1.000000ck
ar Predecessors:gu me#nt1s"
: Successors:; preds =
%Prologue
Dominated by: %7# = add0 i 64 #%41, 56
#%82 = inttoptr
i64 Dominates: %7# to i264*
% Dominance Frontier: 9 =
load i Iterated Dominance Frontier: 64*
%8 States: , !tbaaStructuresAreWatched !
4
Vars Before: %10
= icmp Intersected Vars Before: ult
i Var Links: 64
%9, 95:< 3:-281474976710656
loc br2 i> 1 JSConstant%10(, label %"JS|UseAsOtherOS, R eStringidentxit, fStrongai:lCStringas (atomic)e (identifier)fo: r -", label %"OError: bad result: SR , ID: ex4it, cbc#on164ti)nu
ati 96:<!0:on- f> orMovHint -(", !@prof 95!3
, "OSMustGenR , exlocit2 fai, lCW:asSideStatee , fobc#r 164-"):
; preds = % 98:< 2:"Cloche3ck> aJSConstantrg(umentJS|UseAsOthers",
callOtherobj void, (iWeak64, :i32Cell: , ...0x10c03f800)* ( @%llvm.experimental.stackmap(Cyi64: 3global, i)32 5, ID: , i64414 %, 9)bc#
167unreachable
)
"
OSR 99:<!0: e-xi> t MovHintco(nt@in98uat, ionMustGen f, orloc -3": , ; preds = W:%"SideStateCh, ecbc#k 167ar)gum
ents 102:<!0:"
- %> 11 = ForceOSRExitadd (i64 %MustGen4, 48
, %W:12 = SideStateinttoptr , i64bc# %17411 to )i
64*
103:< 3: %loc13 = 1load > i64GetGlobalVar* (%12, !tbaa JS|UseAsOther!5,
global%14scope = icmp40 ult( i0x10c3dc9c064 )%13, -281474976710656
, br R:i1Absolute(4500343232) %, 14, bc#label 174%")OS predicting R Noneex
it 159:<!0:fa-il> CaPhantomse( f@or98 -1, ", labelMustGen %, "Obc#SR174 e)xi
t c 104:<!0:on-ti> nuMovHintat(io@n 103for, -MustGen2", !, prof loc!34
", OSW:R SideStateex, itbc# f174ai)lCa
se 143:<!0:fo-r > -1Check":( ;Check: preds = %String"OS:R @ex95it , conMustGenti, nubc#at182io)n
for 144:<!1: -loc"
3 call> voidToPrimitive (i(64, @i32103, ...)*, @llvm.experimental.stackmapJS|MustGen|PureInt(i64 4, , iR:32 World5, i64, %W:13)Heap
, unreachable
bc#
"182OS)R
exit 145:<!1: colocnt3in> uaToStringtio(n f@or144 -2":, ; preds = %JS|MustGen|PureInt"O, SRString exit, cR:onWorldtin, uaW:tiHeapon, fbc#or 182-")
%15 = 106:< 2:add loci643 %> 4, MakeRope40
( %Check:16 = KnownStringinttoptr :i64@ %9515 to , i64Check:*
KnownString %:17 = @load 145i64* , %16, !JS|PureInttbaa !, 6
bc# br182 label) %
"Bl 160:<!0:oc-k > #0Phantom"
(
"@Bl103ock, #0MustGen": , ; preds = bc#%"182OS)R
exi 107:<!0:t -co> ntMovHintin(ua@ti106on f, or MustGen-2, "
loc %218 = trunc, iW:64 SideState%13, to ibc#32
182 %)19 =
trunc i 147:<!0:64 -%9> to iInvalidationPoint32
( %20 = MustGencall { i, 32, W:i1SideState } , @llvm.sadd.with.overflow.i32bc#(i18232 , %18exit: , ibc#32 187%19))
%21 109:<!0: = extractvalue- { > i32Throw, i(1 }@ %10620, 0
, %MustGen22 = extractvalue { i32, , iW:1 }SideState %, 20, bc#1
187 br) i
1 % 110:<!0:22, -label > %"UnreachableOS(R exMustGenit f, aiW:lCSideStateas, e bc#fo187r )@2
2" States: , labelInvalidBranchDirection %, "OStructuresAreWatchedSR, CFAInvalidated e
xi Vars After: t
co Var Links: nti
nu
atiBlock on# f3or ( @bc#22189", !):prof !
3
Execution count:
"O10.000000SR
ex Predecessors:it f#ai1lC
ase Successors: f or# @122 ":# ;4 preds = %
"Bl Dominated by: oc#k 0#0 "
# call1 void (i#64, 3i32,
...)* Dominates: @#llvm.experimental.stackmap(3i64
5, Dominance Frontier: i32# 51)
unreachable#
4"O
SR e Iterated Dominance Frontier: xi#t 1co nt#in4ua
tio Containing loop headers:n fo#r 1@2
2": Phi Nodes: ; preds = @%"138Bl<oclock 1#0,"
2 %>->(23 = @extractvalue 139{ i)32,
i1 States: } StructuresAreWatched%20
, 0 Vars Before:
%24 Intersected Vars Before: = zext
i Var Links: 32 loc%231 to i:64
@%25 = 138add
i64 111:< 3:%24loc, 3-281474976710656
> retJSConstant i(64 %25
}
JS|UseAsOther
, declare voidOtherobj @, llvm.experimental.stackmap(Weaki64:, iCell: 32, 0x10c03f800... ()%
Cy:; Function Attrs: nounwind readnoneglobal
declare )i8, ID: * [email protected], (ibc#32)189 #1)
; Function Attrs: nounwind readnone
112:<!0:declare { -i32> , iMovHint1 }( @@llvm.sadd.with.overflow.i32(111i32, , i32)MustGen #1,
locattributes #20 = { , "target-features"="-avx"W: }
SideStateattributes #1, = { nounwind readnonebc# }
189!)0 = metadata
!{metadata 115:< 2:!"vlocar1ia> blGetGlobalVares(_2", metadataJS|PureNum|UseAsOther !, 1}
Nonboolint32!1, = metadata !{globalmetadata scope!"v39a(ri0x10c3dc9b8ab)les", metadata , !2R:}
Absolute(4500343224)!2, = metadata !{bc#metadata 196!"j)sc predicting RooNonboolint32t"
}
! 116:<!0:3 = metadata -!{metadata> !"MovHintbr(an@ch115_we, ighMustGents, ", loci323 0, , i32W: 2147483647SideState}
, !4bc# = metadata !{196metadata )!"v
ari 118:< 1:ablocle2s_> 7"JSConstant, metadata( !1}
!JS|PureNum|UseAsOther5 = metadata , !{metadataBoolint32 !", vaInt32: 1ria, blbc#es204_6)",
metadata ! 119:<!4:1}loc
!26 = metadata > !{metadataArithAdd !"(vaCheck:riInt32ab:le@s_1155", , metadataInt32 !:1}@
118, Number|MustGen|UseAsOther, Int32, CheckOverflow, bc#204)
120:<!0:-> MovHint(@119, MustGen, loc3, W:SideState, bc#204)
123:<!0:-> PutGlobalVar(Cell:@111, @119, MustGen, globalscope39(0x10c3dc9b8), W:Absolute(4500343224), bc#206)
126:<!0:-> MovHint(@111, MustGen, loc2, W:SideState, bc#213)
130:<!0:-> MovHint(@119, MustGen, loc3, W:SideState, bc#220)
132:< 1:loc3> JSConstant(JS|UseAsOther, Nonboolint32, Int32: 1000000, bc#228)
133:< 1:loc3> CompareLess(Int32:@119, Int32:@132, Boolean|UseAsOther, Bool, bc#228)
134:<!0:-> Branch(Boolean:@133, MustGen, T:#1/w:10.000000, F:#4/w:1.000000, W:SideState, bc#228)
States: TakeBoth, StructuresAreWatched
Vars After: loc2:(Otherobj, TOP, TOP, Cell: 0x10c03f800 (%Cy:global), ID: 414) loc3:(Int32)
Var Links: loc1:@138
Block #4 (bc#232):
Execution count: 1.000000
Predecessors: #0 #3
Successors:
Dominated by: #0 #4
Dominates: #4
Dominance Frontier:
Iterated Dominance Frontier:
Phi Nodes: @137<loc1,1>->(@138, @41)
States: StructuresAreWatched
Vars Before:
Intersected Vars Before:
Var Links: loc1:@137
135:<!1:loc3> GetLocal(@137, JS|MustGen|UseAsOther, Other, loc1(K~<Other>/FlushedJSValue), machine:loc0, R:Stack(-2), bc#232) predicting Other
136:<!0:-> Return(@135, MustGen, W:SideState, bc#232)
States: InvalidBranchDirection, StructuresAreWatched, CFAInvalidated
Vars After:
Var Links: loc1:@135
GC Values:
Strong:String (atomic) (identifier): Error: bad result: , ID: 4
Weak:Cell: 0x10c058d00 (%Bn:ArrowFunction), ID: 415
Weak:Cell: 0x10c059240 (%CC:Function), ID: 44
Strong:Cell: 0x10c043e00 (%EH:FunctionExecutable), ID: 16
Weak:Cell: 0x10c03f800 (%Cy:global), ID: 414
Structures:
%Bn:ArrowFunction = 0x10c070870:[ArrowFunction, {prototype:100}, NonArray, Proto:0x10c031e20]
%CC:Function = 0x10c022cc0:[Function, {name:100, length:101}, NonArray, Proto:0x10c031e20]
%Cy:global = 0x10c0708e0:[global, {parseInt:100, Object:101, Function:102, Array:103, RegExp:104, EvalError:105, RangeError:106, ReferenceError:107, SyntaxError:108, TypeError:109, URIError:110, Promise:111, Set:112, Map:113, Date:114, String:115, Symbol:116, Boolean:117, Number:118, ErrorLLVM IR for :119#, BUN2VQArrayBuffer:[:0x10c2dfbb8120->, 0x10c2df4b0WeakMap->:0x10c043e00121, , FTLWeakSetFunction:Call122, , 17eval (NeverInline):]123 , after optimizationIntl:
:124, JSON:; ModuleID = '125jsBody_1__BUN2VQ, '
Mathtarget datalayout = ":e-m:o-i64:64-f80:128-n8:16:32:64-S128126"
,
Reflectdefine :i12764 , @DataViewjsBody_1__BUN2VQ:(128) #, Float64Array:129, Float32Array0: {130
, Prologue:Uint32Array
: %1310, = allocaInt32Array :[1320, x iUint16Array64:]133, align 8,
Int16Array :call134 , void (Uint8ClampedArrayi:64, 135i, 32, Uint8Array...:)*136 , @Int8Arrayllvm.experimental.stackmap:(137i64, console0:, i13832, 0debug, :[0139 x , i64describe]:* 140%, 0)describeArray
: %1411, = callprint :i1428*, quit@:llvm.frameaddress143(, i32gc :0)144
, %fullGC2: = 145ptrtoint, iedenGC8:* 146%, 1 to gcHeapSizei:64
147 , %3deleteAllCompiledCode = :add148 i, 64addressOf :%2149, , 16version
:%1504 = , inttoptrrun :i64151 , %3load to :i15264*,
readFile :store153 i, 64checkSyntax :4499307448, 154i, 64*jscStack: 155, %4readline, align 8:, !156tbaa, !preciseTime0
: %1575 = , add neverInlineFunctioni64: %1582, , 56
noInline %:6 = 159inttoptr , i64numberOfDFGCompiles %:5 to 160i64, *
optimizeNextInvocation%7: = load161 , i64*reoptimizationRetryCount %:6, align 1628, !, tbaa !transferArrayBuffer3
:%8163 = icmp, ultRoot i:64 164%7, , -281474976710656Element
:br 165i1, %getElement8, :label 166%", OSsetElementRootR :ex167it, fDFGTrueai:lC168as, e OSRExitfo:r 169-", , labelisFinalTier %:"O170SR, expredictInt32it: c171on, tiisInt32nu:at172io, n fiatInt52fo:r 173-", , !profeffectful42 !:4
174
", OSmakeMasqueraderR :ex175it, fhasCustomPropertiesai:lC176as, e createProxyfo:r 177-", : createRuntimeArray; preds = :%Prologue178
, call createImpureGettervoid (:i64179, i, 32, setImpureGetterDelegate...)*: @180llvm.experimental.stackmap(, i64dumpTypesForAllVariables 3:, i18132 , 5, findTypeForExpressioni64: %1827),
returnTypeForunreachable
:
"183OS, R dumpBasicBlockExecutionRangesex:it184 c, onthasBasicBlockExecutedin:ua185ti, on enableExceptionFuzzfo:r 186-", : arguments; preds = :%Prologue187
}, %9NonArray = add, Proto: i0x10c05fff064 ]%2
, 48
%10 = %EH:FunctionExecutableinttoptr = i640x10c023900 %:[9 to FunctionExecutablei64, {*
}, %NonArray11 = ]load
i64
* %10, align 8, !tbaa !5
%12 = icmp ult i64 %11SpeculativeJIT generating Node @0 (bc#0) at JIT offset 0x2d, -281474976710656
br SpeculativeJIT generating Node @1 (bc#0) at JIT offset 0x2di1
%12, SpeculativeJIT generating Node @2 (bc#0) at JIT offset 0x2dlabel
%"OSpeculativeJIT generating Node @4 (bc#1) at JIT offset 0x2dSR
exit failCaSpeculativeJIT generating Node @5 (bc#1) at JIT offset 0x31se
for -1", label %"OSR exiSpeculativeJIT generating Node @6 (bc#1) at JIT offset 0x35t
conSpeculativeJIT generating Node @9 (bc#3) at JIT offset 0x35ti
nuaSpeculativeJIT generating Node @11 (bc#6) at JIT offset 0x35ti
on fSpeculativeJIT generating Node @12 (bc#6) at JIT offset 0x35or
-2SpeculativeJIT generating Node @14 (bc#13) at JIT offset 0x35", !
prof !4
SpeculativeJIT generating Node @140 (bc#13) at JIT offset 0x39
"
OSR exit failCSpeculativeJIT generating Node @15 (bc#13) at JIT offset 0x53as
e for -1"Bailing compilation.
: ; preds = %"OSR exit continBailing compilation.
uationSpeculativeJIT generating Node @59 (bc#97) at JIT offset 0xab f
or SpeculativeJIT generating Node @60 (bc#98) at JIT offset 0xab-"
callSpeculativeJIT generating Node @61 (bc#98) at JIT offset 0xab void
(i64SpeculativeJIT generating Node @64 (bc#105) at JIT offset 0xab, i
32, ...SpeculativeJIT generating Node @67 (bc#112) at JIT offset 0xab)*
@llvm.experimental.stackmapSpeculativeJIT generating Node @68 (bc#112) at JIT offset 0xab(i
64 4SpeculativeJIT generating Node @70 (bc#120) at JIT offset 0xab, i
32 5SpeculativeJIT generating Node @71 (bc#120) at JIT offset 0xab, i
64 %SpeculativeJIT generating Node @73 (bc#123) at JIT offset 0xab11)
unreachableSpeculativeJIT generating Node @74 (bc#123) at JIT offset 0xab
"OSRSpeculativeJIT generating Node @76 (bc#126) at JIT offset 0xab
exit continuation for -SpeculativeJIT generating Node @77 (bc#126) at JIT offset 0x1252"
: ;SpeculativeJIT generating Node @148 (bc#126) at JIT offset 0x125 preds = %
"OSR SpeculativeJIT generating Node @142 (bc#135) at JIT offset 0x125ex
it continuatSpeculativeJIT generating Node @153 (bc#135) at JIT offset 0x12eio
n for -"
%13 = trunc i64 %SpeculativeJIT generating Node @80 (bc#135) at JIT offset 0x1bf11 to i
32
%14 = trunc SpeculativeJIT generating Node @83 (bc#142) at JIT offset 0x1c9i64
%7SpeculativeJIT generating Node @87 (bc#149) at JIT offset 0x1c9 to i
32
SpeculativeJIT generating Node @89 (bc#157) at JIT offset 0x1c9%15
= call SpeculativeJIT generating Node @90 (bc#157) at JIT offset 0x1c9{ i
32, i1 } @llvm.sadd.with.overflow.i32(i32 %13, i32 %14SpeculativeJIT generating Node @91 (bc#157) at JIT offset 0x1d9)
%16 = extractvalue { i32, i1 } %15, 1SpeculativeJIT generating Node @158 (bc#157) at JIT offset 0x1dd
br iSpeculativeJIT generating Node @92 (bc#157) at JIT offset 0x1dd1
%16, SpeculativeJIT generating Node @94 (bc#161) at JIT offset 0x1ddlabel
%"OSR SpeculativeJIT generating Node @95 (bc#164) at JIT offset 0x1e6ex
it fSpeculativeJIT generating Node @96 (bc#164) at JIT offset 0x1e6a
ilCase forSpeculativeJIT generating Node @98 (bc#167) at JIT offset 0x1e6 @
22"SpeculativeJIT generating Node @99 (bc#167) at JIT offset 0x1e6, label
%"SpeculativeJIT generating Node @102 (bc#174) at JIT offset 0x1e6OS
R exit Bailing compilation.
coBailing compilation.
ntinSpeculativeJIT generating Node @111 (bc#189) at JIT offset 0x1fcua
tionSpeculativeJIT generating Node @112 (bc#189) at JIT offset 0x1fc f
or SpeculativeJIT generating Node @115 (bc#196) at JIT offset 0x1fc@2
2", !SpeculativeJIT generating Node @116 (bc#196) at JIT offset 0x206prof
!4
SpeculativeJIT generating Node @118 (bc#204) at JIT offset 0x206
"
OSRSpeculativeJIT generating Node @119 (bc#204) at JIT offset 0x206 e
xit failSpeculativeJIT generating Node @120 (bc#204) at JIT offset 0x21aCa
se SpeculativeJIT generating Node @123 (bc#206) at JIT offset 0x21afo
r @2SpeculativeJIT generating Node @126 (bc#213) at JIT offset 0x22a2"
: SpeculativeJIT generating Node @130 (bc#220) at JIT offset 0x22a; preds =
%"OSpeculativeJIT generating Node @132 (bc#228) at JIT offset 0x22aSR
exSpeculativeJIT generating Node @133 (bc#228) at JIT offset 0x22ait
continuatiSpeculativeJIT generating Node @135 (bc#232) at JIT offset 0x236on
foBailing compilation.
r -2"
call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 5, i32 5)
OSR Entries:
unreachable
"bc#OS0R e, machine code offset = xi45t , stack rules = [coargnti0nu:at(ion fTopor, @TOP22, ":TOP ;) preds = % ("Omaps to SRthis e)xi, t locco0nt:in(uatiTopon, fTOPor, -TOP2")
(%17ignored = extractvalue) { , i32loc, i11 }: %(15, 0
Top %, 18 = TOPzext , i32TOP %)17 to (i64ignored
)%19, = orloc i264 :%18(, -281474976710656
Top ret, iTOP64 , %19TOP
}
)
(declare voidignored @)llvm.experimental.stackmap(, i64loc, i332, ...:)(
Top; Function Attrs: nounwind readnone,
declare TOPi8, * [email protected])(i (32)ignored #1)
,
; Function Attrs: locnounwind readnone
4declare { :i32(, i1 }Top @, llvm.sadd.with.overflow.i32(TOPi32, , iTOP32)) #1 (
ignored
)attributes #0, = { loc5"target-features"="-avx" }
:attributes #(1 = { nounwind readnone }
Top
!, 0 = metadata TOP!{metadata, !"TOPva)ri (abignoredle)s_, 2"loc, metadata6 !:1}(
!1 = metadata Top!{metadata, !"TOPva, riTOPab)le (s"ignored, metadata) !, 2}loc
!72 = metadata :!{metadata( !"jsTopcR, ooTOPt", }
TOP!3) = metadata !{ (metadata ignored!"v)ar, ialocble8s_:7"(, metadata !Top1}
, !4TOP = metadata !{, metadata TOP!"b)ra (ncignoredh_)we, ighlocts9", :i32( 0, iTop32 , 2147483647}TOP
!, 5 = metadata TOP!{metadata) !" (vaignoredri)ab, lelocs_106":, metadata( !1}
Top, TOP, TOP) (ignored), loc11:(Top, TOP, TOP) (ignored)], machine stack used = ---------------------------------------------------------------
bc#97, machine code offset = 171, stack rules = [arg0:(Top, TOP, TOP) (maps to this), loc0:(Top, TOP, TOP) (overwritten), loc1:(None) (maps to loc0), loc2:(Top, TOP, TOP) (ignored), loc3:(Top, TOP, TOP) (ignored), loc4:(Top, TOP, TOP) (ignored), loc5:(Top, TOP, TOP) (ignored), loc6:(Top, TOP, TOP) (ignored), loc7:(Top, TOP, TOP) (ignored), loc8:(Top, TOP, TOP) (ignored), loc9:(Top, TOP, TOP) (ignored), loc10:(Top, TOP, TOP) (ignored), loc11:(Top, TOP, TOP) (ignored)], machine stack used = 1--------------------------------------------------------------
Handling OSR stackmap #3 for bc#0
Exit values: arg2:InJSStack:arg2 arg1:InJSStack:arg1 arg0:InJSStack:this
Handling OSR stackmap #4 for bc#0
Exit values: arg2:InJSStack:arg2 arg1:InJSStack:arg1 arg0:InJSStack:this
Handling OSR stackmap #5 for bc#8
Exit values: arg2:InJSStackAsInt32:arg2 arg1:InJSStackAsInt32:arg1 arg0:Constant(Cell: 0x10c082ba0 (%EF:JSProxy), ID: 386) loc0:Dead loc1:Dead loc2:Dead loc3:Dead
debug('fff')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment