Created
July 30, 2015 18:05
-
-
Save gskachkov/cc0fd79125c843f7973a to your computer and use it in GitHub Desktop.
arrow function dump
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
>>> 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