<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>289680</bug_id>
          
          <creation_ts>2025-03-13 00:52:32 -0700</creation_ts>
          <short_desc>DFG ASSERTION FAILED: AI-clobberize disagreement; AI says NotClobbered while clobberize says (Direct:[Heap], Super:[World])</short_desc>
          <delta_ts>2025-03-13 13:29:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>katoshi1337</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2102811</commentid>
    <comment_count>0</comment_count>
    <who name="">katoshi1337</who>
    <bug_when>2025-03-13 00:52:32 -0700</bug_when>
    <thetext>commit: c5e0671158732bcdf83d26d4a964a0d88b2ca02c

PoC:

```
for (let i1 = -409186827; i1 != -268435456;) {
    new WeakMap();
    new SharedArrayBuffer();
}


```

command:

./jsc ./poc.js


logs:

```
// CRASH INFO
// ==========
// TERMSIG: 6
// STDERR:
// DFG ASSERTION FAILED: AI-clobberize disagreement; AI says NotClobbered while clobberize says (Direct:[Heap], Super:[World])
// /home/fuzzer/webkit/WebKit-c5e0671158732bcdf83d26d4a964a0d88b2ca02c/Source/JavaScriptCore/dfg/DFGCFAPhase.cpp(229) : void JSC::DFG::CFAPhase::performBlockCFA(BasicBlock *)
// 
// While handling node D@121
// 
// Graph at time of failure:
// 
//        11: DFG for &lt;global&gt;#C01K4u:[0x7ee9790f9470-&gt;0x7ee9790f9360-&gt;0x7ee97924c1e0, DFGGlobal, 212]:
//        11:   Fixpoint state: FixpointNotConverged; Form: ThreadedCPS; Unification state: GloballyUnified; Ref count state: EverythingIsLive
//        11:   Arguments for block#0: D@0
// 
//      0 11: Block #0 (bc#0): (OSR target)
//      0 11:   Execution count: 1.000000
//      0 11:   Predecessors:
//      0 11:   Successors: #2 #1
//      0 11:   Dominated by: #root #0
//      0 11:   Dominates: #0 #1 #2
//      0 11:   Dominance Frontier: 
//      0 11:   Iterated Dominance Frontier: 
//      0 11:   States: StructuresAreWatched
//      0 11:   Vars Before: arg0:(BytecodeTop, TOP, TOP, none:StructuresAreClobbered)
//      0 11:   Intersected Vars Before: arg0:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc0:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc1:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc2:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc3:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc4:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc5:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc6:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc7:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc8:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc9:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc10:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc11:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc12:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc13:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc14:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc15:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc16:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc17:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc18:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc19:(FullTop, TOP, TOP, none:StructuresAreClobbered)
//      0 11:   Var Links: arg0:D@0
//   0  0 11:    D@0:&lt; 1:-&gt;	SetArgumentDefinitely(IsFlushed, this(A~&lt;Object&gt;/FlushedJSValue), W:SideState, bc#0, ExitValid)  predicting GlobalProxy
//   1  0 11:    D@1:&lt; 1:-&gt;	JSConstant(JS|PureInt, Other, Undefined, bc#0, ExitValid)
//   2  0 11:    D@2:&lt;!0:-&gt;	MovHint(Check:Untyped:D@1, MustGen, loc0, W:SideState, ClobbersExit, bc#0, ExitValid)
//   3  0 11:    D@3:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@1, loc0(B~&lt;Other&gt;/FlushedJSValue), W:Stack(loc0), bc#0, ExitInvalid)  predicting Other
//   4  0 11:    D@4:&lt;!0:-&gt;	MovHint(Check:Untyped:D@1, MustGen, loc1, W:SideState, ClobbersExit, bc#0, ExitInvalid)
//   5  0 11:    D@5:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@1, loc1(C~&lt;Other&gt;/FlushedJSValue), W:Stack(loc1), bc#0, ExitInvalid)  predicting Other
//   6  0 11:    D@6:&lt;!0:-&gt;	MovHint(Check:Untyped:D@1, MustGen, loc2, W:SideState, ClobbersExit, bc#0, ExitInvalid)
//   7  0 11:    D@7:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@1, loc2(D~&lt;Other&gt;/FlushedJSValue), W:Stack(loc2), bc#0, ExitInvalid)  predicting Other
//   8  0 11:    D@8:&lt;!0:-&gt;	MovHint(Check:Untyped:D@1, MustGen, loc3, W:SideState, ClobbersExit, bc#0, ExitInvalid)
//   9  0 11:    D@9:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@1, loc3(E~&lt;Other&gt;/FlushedJSValue), W:Stack(loc3), bc#0, ExitInvalid)  predicting Other
//  10  0 11:   D@10:&lt;!0:-&gt;	MovHint(Check:Untyped:D@1, MustGen, loc4, W:SideState, ClobbersExit, bc#0, ExitInvalid)
//  11  0 11:   D@11:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@1, loc4(F~&lt;Other&gt;/FlushedJSValue), W:Stack(loc4), bc#0, ExitInvalid)  predicting Other
//  12  0 11:   D@12:&lt; 1:-&gt;	GetCallee(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Function, R:Stack(callee), bc#0, ExitInvalid)
//  13  0 11:   D@13:&lt; 1:-&gt;	GetScope(KnownCell:D@12, JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, bc#0, ExitInvalid)
//  14  0 11:   D@14:&lt;!0:-&gt;	MovHint(Check:Untyped:D@13, MustGen, loc4, W:SideState, ClobbersExit, bc#0, ExitInvalid)
//  15  0 11:   D@15:&lt;!0:-&gt;	ExitOK(MustGen, W:SideState, bc#0, ExitValid)
//  16  0 11:   D@16:&lt;!0:-&gt;	InvalidationPoint(MustGen, W:SideState, Exits, bc#0, ExitValid)
//  17  0 11:   D@17:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@13, loc4(G~&lt;Object&gt;/FlushedJSValue), W:Stack(loc4), bc#0, exit: bc#1, ExitValid)  predicting OtherObj
//  18  0 11:   D@18:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Other, Undefined, bc#1, ExitValid)
//  19  0 11:   D@19:&lt;!0:-&gt;	MovHint(Check:Untyped:D@18, MustGen, loc5, W:SideState, ClobbersExit, bc#1, ExitValid)
//  20  0 11:   D@20:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@18, loc5(H~&lt;Other&gt;/FlushedJSValue), W:Stack(loc5), bc#1, exit: bc#4, ExitValid)  predicting Other
//  21  0 11:   D@21:&lt; 1:-&gt;	JSConstant(JS|PureInt, OtherCell, Strong:Cell: 0x7ee979268130 (%CW:Immutable Butterfly,ArrayWithDouble), StructureID: 18880, bc#4, ExitValid)
//  22  0 11:   D@22:&lt; 1:-&gt;	NewArrayBuffer(JS|PureInt, Array, &lt;0x7ee979268130, Immutable Butterfly&gt;, vectorLengthHint = 7, CopyOnWriteArrayWithDouble, R:HeapObjectCount, W:HeapObjectCount, Exits, bc#4, ExitValid)
//  23  0 11:   D@23:&lt;!0:-&gt;	MovHint(Check:Untyped:D@22, MustGen, loc5, W:SideState, ClobbersExit, bc#4, ExitValid)
//  24  0 11:   D@24:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@22, loc5(I~&lt;Array&gt;/FlushedJSValue), W:Stack(loc5), bc#4, exit: bc#9, ExitValid)  predicting Array
//  25  0 11:   D@25:&lt; 1:-&gt;	JSConstant(JS|PureInt, OtherCell, Strong:Cell: 0x7ee97914c1a0 (%Dx:Immutable Butterfly,ArrayWithInt32), StructureID: 18656, bc#9, ExitValid)
//  26  0 11:   D@26:&lt; 1:-&gt;	NewArrayBuffer(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Array, &lt;0x7ee97914c1a0, Immutable Butterfly&gt;, vectorLengthHint = 1, CopyOnWriteArrayWithInt32, R:HeapObjectCount, W:HeapObjectCount, Exits, bc#9, ExitValid)
//  27  0 11:   D@27:&lt;!0:-&gt;	MovHint(Check:Untyped:D@26, MustGen, loc5, W:SideState, ClobbersExit, bc#9, ExitValid)
//  28  0 11:   D@28:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@26, loc5(J~&lt;Array&gt;/FlushedJSValue), W:Stack(loc5), bc#9, exit: bc#14, ExitValid)  predicting Array
//  29  0 11:   D@29:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, Int32: 2, bc#14, ExitValid)
//  30  0 11:   D@30:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 56466, bc#14, ExitValid)
//  31  0 11:  D@156:&lt;!0:-&gt;	ArrayifyToStructure(Cell:D@26, Int32:D@29, MustGen, Int32+OriginalCopyOnWriteArray+InBounds+Convert+Write, %Ar:Array,ArrayWithInt32, R:JSCell_indexingType,JSCell_structureID,JSObject_butterfly, W:JSCell_indexingType,JSCell_structureID,JSObject_butterfly,Watchpoint_fire, Exits, bc#14, ExitValid)
//  32  0 11:  D@157:&lt; 1:-&gt;	GetButterfly(Cell:D@26, Storage|PureInt, R:JSObject_butterfly, bc#14, ExitValid)
//  33  0 11:   D@31:&lt;!0:-&gt;	PutByValDirect(KnownCell:D@26, Int32:D@29, Int32:D@30, Check:Untyped:D@157, MustGen|VarArgs, Int32+OriginalCopyOnWriteArray+InBounds+Convert+Write, R:Butterfly_publicLength,Butterfly_vectorLength,IndexedInt32Properties, W:IndexedInt32Properties, Exits, ClobbersExit, bc#14, ExitValid)
//  34  0 11:  D@186:&lt;!0:-&gt;	InvalidationPoint(MustGen, W:SideState, Exits, bc#20, ExitValid)
//  35  0 11:   D@32:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, Int32: 3, bc#20, ExitValid)
//  36  0 11:   D@33:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 998143057, bc#20, ExitValid)
//  37  0 11:  D@158:&lt;!0:-&gt;	CheckStructure(Cell:D@26, MustGen, [%Ar:Array,ArrayWithInt32], R:JSCell_structureID, Exits, bc#20, ExitValid)
//  38  0 11:  D@159:&lt; 1:-&gt;	GetButterfly(Cell:D@26, Storage|PureInt, R:JSObject_butterfly, bc#20, ExitValid)
//  39  0 11:   D@34:&lt;!0:-&gt;	PutByValDirect(KnownCell:D@26, Int32:D@32, Int32:D@33, Check:Untyped:D@159, MustGen|VarArgs, Int32+OriginalNonCopyOnWriteArray+ToHole+AsIs+Write, R:Butterfly_publicLength,Butterfly_vectorLength,IndexedInt32Properties, W:Butterfly_publicLength,IndexedInt32Properties, Exits, ClobbersExit, bc#20, ExitValid)
//  40  0 11:   D@35:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, Int32: 4, bc#26, ExitValid)
//  41  0 11:   D@36:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: -14, bc#26, ExitValid)
//  42  0 11:  D@160:&lt;!0:-&gt;	CheckStructure(Cell:D@26, MustGen, [%Ar:Array,ArrayWithInt32], R:JSCell_structureID, Exits, bc#26, ExitValid)
//  43  0 11:  D@161:&lt; 1:-&gt;	GetButterfly(Cell:D@26, Storage|PureInt, R:JSObject_butterfly, bc#26, ExitValid)
//  44  0 11:   D@37:&lt;!0:-&gt;	PutByValDirect(KnownCell:D@26, Int32:D@35, Int32:D@36, Check:Untyped:D@161, MustGen|VarArgs, Int32+OriginalNonCopyOnWriteArray+ToHole+AsIs+Write, R:Butterfly_publicLength,Butterfly_vectorLength,IndexedInt32Properties, W:Butterfly_publicLength,IndexedInt32Properties, Exits, ClobbersExit, bc#26, ExitValid)
//  45  0 11:   D@38:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, Int32: 5, bc#32, ExitValid)
//  46  0 11:   D@39:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 646500229, bc#32, ExitValid)
//  47  0 11:  D@162:&lt;!0:-&gt;	CheckStructure(Cell:D@26, MustGen, [%Ar:Array,ArrayWithInt32], R:JSCell_structureID, Exits, bc#32, ExitValid)
//  48  0 11:  D@163:&lt; 1:-&gt;	GetButterfly(Cell:D@26, Storage|PureInt, R:JSObject_butterfly, bc#32, ExitValid)
//  49  0 11:   D@40:&lt;!0:-&gt;	PutByValDirect(KnownCell:D@26, Int32:D@38, Int32:D@39, Check:Untyped:D@163, MustGen|VarArgs, Int32+OriginalNonCopyOnWriteArray+ToHole+AsIs+Write, R:Butterfly_publicLength,Butterfly_vectorLength,IndexedInt32Properties, W:Butterfly_publicLength,IndexedInt32Properties, Exits, ClobbersExit, bc#32, ExitValid)
//  50  0 11:   D@41:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, Int32: 8, bc#38, ExitValid)
//  51  0 11:   D@42:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 268435439, bc#38, ExitValid)
//  52  0 11:  D@164:&lt;!0:-&gt;	CheckStructure(Cell:D@26, MustGen, [%Ar:Array,ArrayWithInt32], R:JSCell_structureID, Exits, bc#38, ExitValid)
//  53  0 11:  D@165:&lt; 1:-&gt;	GetButterfly(Cell:D@26, Storage|PureInt, R:JSObject_butterfly, bc#38, ExitValid)
//  54  0 11:   D@43:&lt;!0:-&gt;	PutByValDirect(KnownCell:D@26, Int32:D@41, Int32:D@42, Check:Untyped:D@165, MustGen|VarArgs, Int32+OriginalNonCopyOnWriteArray+OutOfBounds+AsIs+Write, R:World, W:Heap, Exits, ClobbersExit, bc#38, ExitValid)
//  55  0 11:  D@187:&lt;!0:-&gt;	InvalidationPoint(MustGen, W:SideState, Exits, bc#44, ExitValid)
//  56  0 11:   D@44:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, Int32: 9, bc#44, ExitValid)
//  57  0 11:   D@45:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonInt32AsInt52, Double: -4476578029604175872, -2147483649.000000, bc#44, ExitValid)
//  58  0 11:  D@166:&lt;!0:-&gt;	ArrayifyToStructure(Cell:D@26, Int32:D@44, MustGen, Double+OriginalNonCopyOnWriteArray+ToHole+Convert+Write, %Bu:Array,ArrayWithDouble, R:JSCell_indexingType,JSCell_structureID,JSObject_butterfly, W:JSCell_indexingType,JSCell_structureID,JSObject_butterfly,Watchpoint_fire, Exits, bc#44, ExitValid)
//  59  0 11:  D@167:&lt; 1:-&gt;	GetButterfly(Cell:D@26, Storage|PureInt, R:JSObject_butterfly, bc#44, ExitValid)
//  60  0 11:  D@178:&lt; 1:-&gt;	DoubleConstant(Double|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, BytecodeDouble, Double: -4476578029604175872, -2147483649.000000, bc#44, ExitValid)
//  61  0 11:   D@46:&lt;!0:-&gt;	PutByValDirect(KnownCell:D@26, Int32:D@44, DoubleRepReal:D@178&lt;Double&gt;, Check:Untyped:D@167, MustGen|VarArgs, Double+OriginalNonCopyOnWriteArray+ToHole+Convert+Write, R:Butterfly_publicLength,Butterfly_vectorLength,IndexedDoubleProperties, W:Butterfly_publicLength,IndexedDoubleProperties, Exits, ClobbersExit, bc#44, ExitValid)
//  62  0 11:  D@188:&lt;!0:-&gt;	InvalidationPoint(MustGen, W:SideState, Exits, bc#50, ExitValid)
//  63  0 11:   D@47:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, Int32: 10, bc#50, ExitValid)
//  64  0 11:   D@48:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 1088171092, bc#50, ExitValid)
//  65  0 11:  D@168:&lt;!0:-&gt;	CheckStructure(Cell:D@26, MustGen, [%Bu:Array,ArrayWithDouble], R:JSCell_structureID, Exits, bc#50, ExitValid)
//  66  0 11:  D@169:&lt; 1:-&gt;	GetButterfly(Cell:D@26, Storage|PureInt, R:JSObject_butterfly, bc#50, ExitValid)
//  67  0 11:  D@179:&lt; 1:-&gt;	DoubleConstant(Double|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, BytecodeDouble, Double: 4742350928357621760, 1088171092.000000, bc#50, ExitValid)
//  68  0 11:   D@49:&lt;!0:-&gt;	PutByValDirect(KnownCell:D@26, Int32:D@47, DoubleRepReal:D@179&lt;Double&gt;, Check:Untyped:D@169, MustGen|VarArgs, Double+OriginalNonCopyOnWriteArray+ToHole+AsIs+Write, R:Butterfly_publicLength,Butterfly_vectorLength,IndexedDoubleProperties, W:Butterfly_publicLength,IndexedDoubleProperties, Exits, ClobbersExit, bc#50, ExitValid)
//  69  0 11:   D@50:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, Int32: 11, bc#56, ExitValid)
//  70  0 11:   D@51:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: -2147483648, bc#56, ExitValid)
//  71  0 11:  D@170:&lt;!0:-&gt;	CheckStructure(Cell:D@26, MustGen, [%Bu:Array,ArrayWithDouble], R:JSCell_structureID, Exits, bc#56, ExitValid)
//  72  0 11:  D@171:&lt; 1:-&gt;	GetButterfly(Cell:D@26, Storage|PureInt, R:JSObject_butterfly, bc#56, ExitValid)
//  73  0 11:  D@180:&lt; 1:-&gt;	DoubleConstant(Double|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, BytecodeDouble, Double: -4476578029606273024, -2147483648.000000, bc#56, ExitValid)
//  74  0 11:   D@52:&lt;!0:-&gt;	PutByValDirect(KnownCell:D@26, Int32:D@50, DoubleRepReal:D@180&lt;Double&gt;, Check:Untyped:D@171, MustGen|VarArgs, Double+OriginalNonCopyOnWriteArray+ToHole+AsIs+Write, R:Butterfly_publicLength,Butterfly_vectorLength,IndexedDoubleProperties, W:Butterfly_publicLength,IndexedDoubleProperties, Exits, ClobbersExit, bc#56, ExitValid)
//  75  0 11:   D@53:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, Int32: 12, bc#62, ExitValid)
//  76  0 11:   D@54:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 3, bc#62, ExitValid)
//  77  0 11:  D@172:&lt;!0:-&gt;	CheckStructure(Cell:D@26, MustGen, [%Bu:Array,ArrayWithDouble], R:JSCell_structureID, Exits, bc#62, ExitValid)
//  78  0 11:  D@173:&lt; 1:-&gt;	GetButterfly(Cell:D@26, Storage|PureInt, R:JSObject_butterfly, bc#62, ExitValid)
//  79  0 11:  D@181:&lt; 1:-&gt;	DoubleConstant(Double|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, BytecodeDouble, Double: 4613937818241073152, 3.000000, bc#62, ExitValid)
//  80  0 11:   D@55:&lt;!0:-&gt;	PutByValDirect(KnownCell:D@26, Int32:D@53, DoubleRepReal:D@181&lt;Double&gt;, Check:Untyped:D@173, MustGen|VarArgs, Double+OriginalNonCopyOnWriteArray+ToHole+AsIs+Write, R:Butterfly_publicLength,Butterfly_vectorLength,IndexedDoubleProperties, W:Butterfly_publicLength,IndexedDoubleProperties, Exits, ClobbersExit, bc#62, ExitValid)
//  81  0 11:   D@56:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, Int32: 13, bc#68, ExitValid)
//  82  0 11:   D@57:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: -268435456, bc#68, ExitValid)
//  83  0 11:  D@174:&lt;!0:-&gt;	CheckStructure(Cell:D@26, MustGen, [%Bu:Array,ArrayWithDouble], R:JSCell_structureID, Exits, bc#68, ExitValid)
//  84  0 11:  D@175:&lt; 1:-&gt;	GetButterfly(Cell:D@26, Storage|PureInt, R:JSObject_butterfly, bc#68, ExitValid)
//  85  0 11:  D@182:&lt; 1:-&gt;	DoubleConstant(Double|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, BytecodeDouble, Double: -4490088828488384512, -268435456.000000, bc#68, ExitValid)
//  86  0 11:   D@58:&lt;!0:-&gt;	PutByValDirect(KnownCell:D@26, Int32:D@56, DoubleRepReal:D@182&lt;Double&gt;, Check:Untyped:D@175, MustGen|VarArgs, Double+OriginalNonCopyOnWriteArray+ToHole+AsIs+Write, R:Butterfly_publicLength,Butterfly_vectorLength,IndexedDoubleProperties, W:Butterfly_publicLength,IndexedDoubleProperties, Exits, ClobbersExit, bc#68, ExitValid)
//  87  0 11:   D@59:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: 15, bc#74, ExitValid)
//  88  0 11:   D@60:&lt;!0:-&gt;	ForceOSRExit(MustGen, W:SideState, Exits, bc#74, ExitValid)
//  89  0 11:   D@61:&lt;!0:-&gt;	PutById(Check:Cell:D@26, Check:Untyped:D@59, MustGen, cachable-id {uid:(length)}, R:World, W:Heap, Exits, ClobbersExit, bc#74, ExitValid)
//  90  0 11:  D@189:&lt;!0:-&gt;	InvalidationPoint(MustGen, W:SideState, Exits, bc#80, ExitValid)
//  91  0 11:   D@62:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x7ee979230180 with butterfly (nil)(base=0xfffffffffffffff8) (Structure %BQ:JSGlobalLexicalEnvironment), StructureID: 235456, bc#80, ExitValid)
//  92  0 11:   D@63:&lt;!0:-&gt;	MovHint(Check:Untyped:D@62, MustGen, loc6, W:SideState, ClobbersExit, bc#80, ExitValid)
//  93  0 11:   D@64:&lt;!0:-&gt;	Check(MustGen, bc#80, ExitInvalid)
//  94  0 11:   D@65:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@62, loc6(K~&lt;Object&gt;/FlushedJSValue), W:Stack(loc6), bc#80, exit: bc#87, ExitValid)  predicting OtherObj
//  95  0 11:   D@66:&lt; 1:-&gt;	NewArray(JS|VarArgs|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Array, vectorLengthHint = 5, ArrayWithUndecided, R:HeapObjectCount, W:HeapObjectCount, Exits, bc#87, ExitValid)
//  96  0 11:   D@67:&lt;!0:-&gt;	MovHint(Check:Untyped:D@66, MustGen, loc7, W:SideState, ClobbersExit, bc#87, ExitValid)
//  97  0 11:   D@68:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@66, loc7(L~&lt;Array&gt;/FlushedJSValue), W:Stack(loc7), bc#87, exit: bc#93, ExitValid)  predicting Array
//  98  0 11:   D@69:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x7ee979230180 with butterfly (nil)(base=0xfffffffffffffff8) (Structure %BQ:JSGlobalLexicalEnvironment), StructureID: 235456, bc#93, ExitValid)
//  99  0 11:   D@70:&lt;!0:-&gt;	PutGlobalVariable(Check:Cell:D@69, Check:Untyped:D@66, MustGen, global(0x7ee97b0a9580), W:Absolute(139541256770944), Exits, ClobbersExit, bc#93, ExitValid)
// 100  0 11:   D@71:&lt;!0:-&gt;	NotifyWrite(MustGen, 0x7ee97b1e1b00, W:Watchpoint_fire,SideState, ClobbersExit, bc#93, ExitInvalid)
// 101  0 11:   D@72:&lt;!0:-&gt;	Check(MustGen, bc#93, ExitInvalid)
// 102  0 11:  D@190:&lt;!0:-&gt;	InvalidationPoint(MustGen, W:SideState, Exits, bc#101, ExitValid)
// 103  0 11:   D@73:&lt;!0:-&gt;	MovHint(Check:Untyped:D@18, MustGen, loc5, W:SideState, ClobbersExit, bc#101, ExitValid)
// 104  0 11:   D@74:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@18, loc5(M~/FlushedJSValue), W:Stack(loc5), bc#101, exit: bc#104, ExitValid)  predicting OtherObj|Other
// 105  0 11:   D@75:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther|ReallyWantsInt, NonBoolInt32, Int32: -409186827, bc#104, ExitValid)
// 106  0 11:   D@76:&lt;!0:-&gt;	MovHint(Check:Untyped:D@75, MustGen, loc6, W:SideState, ClobbersExit, bc#104, ExitValid)
// 107  0 11:   D@77:&lt; 1:-&gt;	SetLocal(Check:Int32:D@75, loc6(N&lt;Int32&gt;/FlushedInt32), W:Stack(loc6), Exits, bc#104, exit: bc#107, ExitValid)  predicting NonBoolInt32
// 108  0 11:   D@78:&lt; 1:-&gt;	CompareEq(Check:Int32:D@75, Check:Int32:D@57, Boolean|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Bool, Exits, bc#107, ExitValid)
// 109  0 11:   D@79:&lt;!0:-&gt;	Branch(Check:KnownBoolean:D@78, MustGen, T:#2/w:1.000000, F:#1/w:10.000000, W:SideState, bc#107, ExitInvalid)
//      0 11:   States: InvalidBranchDirection, StructuresAreWatched, CFAInvalidated
//      0 11:   Vars After: 
//      0 11:   Var Links: arg0:D@0 loc0:D@3 loc1:D@5 loc2:D@7 loc3:D@9 loc4:D@17 loc5:D@74 loc6:D@77 loc7:D@68
// 
//      1 11: Block #1 (bc#111): (OSR target)
//      1 11:   Execution count: 10.000000
//      1 11:   Predecessors: #0 #1
//      1 11:   Successors: #2 #1
//      1 11:   Dominated by: #root #0 #1
//      1 11:   Dominates: #1
//      1 11:   Dominance Frontier: #1 #2
//      1 11:   Iterated Dominance Frontier: #1 #2
//      1 11:   Loop header, contains: #1
//      1 11:   Containing loop headers: #1
//      1 11:   Phi Nodes: D@153&lt;loc4,1&gt;-&gt;(D@153, D@17), D@154&lt;loc6,1&gt;-&gt;(D@154, D@77), D@155&lt;this,1, IsFlushed&gt;-&gt;(D@155, D@0)
//      1 11:   States: StructuresAreWatched
//      1 11:   Vars Before: arg0:(GlobalProxy, NonArray, [%Ac:JSGlobalProxy], Object: 0x7ee979248160 with butterfly (nil)(base=0xfffffffffffffff8) (Structure %Ac:JSGlobalProxy), StructureID: 250944, none:StructuresAreClobbered) loc4:(OtherObj, NonArray, [%BQ:JSGlobalLexicalEnvironment], Object: 0x7ee979230180 with butterfly (nil)(base=0xfffffffffffffff8) (Structure %BQ:JSGlobalLexicalEnvironment), StructureID: 235456, none:StructuresAreClobbered) loc6:(NonBoolInt32, Int32: -409186827, none:StructuresAreClobbered)
//      1 11:   Intersected Vars Before: arg0:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc0:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc1:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc2:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc3:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc4:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc5:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc6:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc7:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc8:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc9:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc10:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc11:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc12:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc13:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc14:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc15:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc16:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc17:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc18:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc19:(FullTop, TOP, TOP, none:StructuresAreClobbered)
//      1 11:   Var Links: arg0:D@155 loc4:D@153 loc6:D@154
//   0  1 11:   D@80:&lt;!0:-&gt;	LoopHint(MustGen, W:SideState, bc#111, ExitValid)
//   1  1 11:   D@81:&lt;!0:-&gt;	InvalidationPoint(MustGen, W:SideState, Exits, bc#112, ExitValid)
//   2  1 11:   D@82:&lt; 1:-&gt;	JSConstant(JS|PureInt, Empty, &lt;JSValue()&gt;, bc#113, ExitValid)
//   3  1 11:   D@83:&lt;!0:-&gt;	MovHint(Check:Untyped:D@82, MustGen, loc7, W:SideState, ClobbersExit, bc#113, ExitValid)
//   4  1 11:   D@84:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@82, loc7(O~/FlushedJSValue), W:Stack(loc7), bc#113, exit: bc#116, ExitValid)  predicting Empty
//   5  1 11:   D@85:&lt;!0:-&gt;	MovHint(Check:Untyped:D@82, MustGen, loc8, W:SideState, ClobbersExit, bc#116, ExitValid)
//   6  1 11:   D@86:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@82, loc8(P~/FlushedJSValue), W:Stack(loc8), bc#116, exit: bc#119, ExitValid)  predicting Empty
//   7  1 11:   D@87:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x7ee97922d5a0 with butterfly 0x7ee9790ef0c8(base=0x7ee9790eecc0) (Structure %CL:global), StructureID: 250832, bc#119, ExitValid)
//   8  1 11:   D@88:&lt;!0:-&gt;	MovHint(Check:Untyped:D@87, MustGen, loc9, W:SideState, ClobbersExit, bc#119, ExitValid)
//   9  1 11:   D@89:&lt;!0:-&gt;	GetLocal(Check:Untyped:D@153, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, loc4(G~&lt;Object&gt;/FlushedJSValue), R:Stack(loc4), bc#119, ExitInvalid)  predicting OtherObj
//  10  1 11:   D@90:&lt;!0:-&gt;	Check(MustGen, bc#119, ExitInvalid)
//  11  1 11:   D@91:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@87, loc9(R~&lt;Object&gt;/FlushedJSValue), W:Stack(loc9), bc#119, exit: bc#126, ExitValid)  predicting OtherObj
//  12  1 11:   D@92:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x7ee97922d5a0 with butterfly 0x7ee9790ef0c8(base=0x7ee9790eecc0) (Structure %CL:global), StructureID: 250832, bc#126, ExitValid)
//  13  1 11:   D@93:&lt;!0:-&gt;	Check(MustGen, bc#126, ExitValid)
//  14  1 11:   D@94:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x7ee9790e2980 with butterfly 0x7ee97923f848(base=0x7ee97923f820) (Structure %An:Function), StructureID: 253632, bc#126, ExitValid)
//  15  1 11:   D@95:&lt;!0:-&gt;	Check(MustGen, bc#126, ExitValid)
//  16  1 11:   D@96:&lt;!0:-&gt;	MovHint(Check:Untyped:D@94, MustGen, loc10, W:SideState, ClobbersExit, bc#126, ExitValid)
//  17  1 11:   D@97:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@94, loc10(S~&lt;Object&gt;/FlushedJSValue), W:Stack(loc10), bc#126, exit: bc#135, ExitValid)  predicting OtherObj
//  18  1 11:   D@98:&lt;!0:-&gt;	MovHint(Check:Untyped:D@94, MustGen, loc12, W:SideState, ClobbersExit, bc#135, ExitValid)
//  19  1 11:   D@99:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@94, loc12(T~&lt;Object&gt;/FlushedJSValue), W:Stack(loc12), bc#135, exit: bc#138, ExitValid)  predicting OtherObj
//  20  1 11:  D@100:&lt;!0:-&gt;	FilterCallLinkStatus(Check:Untyped:D@94, MustGen, Statically Proved, InternalFunction: Object: 0x7ee9790e2980 with butterfly 0x7ee97923f848(base=0x7ee97923f820) (Structure 0x7ee80003dec0:[0x3dec0/253632, Function, (0/0, 3/4){length:64, name:65, prototype:66}, NonArray, Unknown, Proto:0x7ee9790e2620, Leaf]), StructureID: 253632, W:SideState, bc#138, ExitValid)
//  21  1 11:  D@101:&lt;!0:-&gt;	Construct(Check:Untyped:D@94, Check:Untyped:D@94, JS|MustGen|VarArgs|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, WeakMapObject, R:World, W:Heap, ExitsForExceptions, ClobbersExit, bc#138, ExitValid)  predicting WeakMapObject
//  22  1 11:  D@102:&lt;!0:-&gt;	MovHint(Check:Untyped:D@101, MustGen, loc7, W:SideState, ClobbersExit, bc#138, ExitInvalid)
//  23  1 11:  D@183:&lt;!0:-&gt;	InvalidationPoint(MustGen, W:SideState, Exits, bc#138, exit: bc#145, ExitValid)
//  24  1 11:  D@103:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@101, loc7(U~&lt;Object&gt;/FlushedJSValue), W:Stack(loc7), bc#138, exit: bc#145, ExitValid)  predicting WeakMapObject
//  25  1 11:  D@104:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x7ee97922d5a0 with butterfly 0x7ee9790ef0c8(base=0x7ee9790eecc0) (Structure %CL:global), StructureID: 250832, bc#145, ExitValid)
//  26  1 11:  D@105:&lt;!0:-&gt;	MovHint(Check:Untyped:D@104, MustGen, loc9, W:SideState, ClobbersExit, bc#145, ExitValid)
//  27  1 11:  D@106:&lt;!0:-&gt;	Check(MustGen, bc#145, ExitInvalid)
//  28  1 11:  D@107:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@104, loc9(V~&lt;Object&gt;/FlushedJSValue), W:Stack(loc9), bc#145, exit: bc#152, ExitValid)  predicting OtherObj
//  29  1 11:  D@108:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x7ee97922d5a0 with butterfly 0x7ee9790ef0c8(base=0x7ee9790eecc0) (Structure %CL:global), StructureID: 250832, bc#152, ExitValid)
//  30  1 11:  D@109:&lt;!0:-&gt;	Check(MustGen, bc#152, ExitValid)
//  31  1 11:  D@110:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x7ee9790e2950 with butterfly 0x7ee97923ea48(base=0x7ee97923ea20) (Structure %CR:Function), StructureID: 249600, bc#152, ExitValid)
//  32  1 11:  D@111:&lt;!0:-&gt;	Check(MustGen, bc#152, ExitValid)
//  33  1 11:  D@112:&lt;!0:-&gt;	MovHint(Check:Untyped:D@110, MustGen, loc10, W:SideState, ClobbersExit, bc#152, ExitValid)
//  34  1 11:  D@113:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@110, loc10(W~&lt;Object&gt;/FlushedJSValue), W:Stack(loc10), bc#152, exit: bc#161, ExitValid)  predicting OtherObj
//  35  1 11:  D@114:&lt;!0:-&gt;	MovHint(Check:Untyped:D@101, MustGen, loc13, W:SideState, ClobbersExit, bc#161, ExitValid)
//  36  1 11:  D@115:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@101, loc13(X~&lt;Object&gt;/FlushedJSValue), W:Stack(loc13), bc#161, exit: bc#164, ExitValid)  predicting WeakMapObject
//  37  1 11:  D@116:&lt;!0:-&gt;	MovHint(Check:Untyped:D@110, MustGen, loc14, W:SideState, ClobbersExit, bc#164, ExitValid)
//  38  1 11:  D@117:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@110, loc14(Y~&lt;Object&gt;/FlushedJSValue), W:Stack(loc14), bc#164, exit: bc#167, ExitValid)  predicting OtherObj
//  39  1 11:  D@118:&lt;!0:-&gt;	FilterCallLinkStatus(Check:Untyped:D@110, MustGen, Statically Proved, InternalFunction: Object: 0x7ee9790e2950 with butterfly 0x7ee97923ea48(base=0x7ee97923ea20) (Structure 0x7ee80003cf00:[0x3cf00/249600, Function, (0/0, 4/4){length:64, name:65, prototype:66, Symbol.species:67}, NonArray, Unknown, Proto:0x7ee9790e2620, Leaf]), StructureID: 249600, W:SideState, bc#167, ExitValid)
//  40  1 11:  D@119:&lt;!0:-&gt;	CheckIsConstant(Cell:D@110, MustGen, &lt;0x7ee9790e2950, Function&gt;, Exits, bc#167, ExitValid)
//  41  1 11:  D@120:&lt;!0:-&gt;	Check(MustGen, bc#167, ExitValid)
//  42  1 11:  D@121:&lt;!0:-&gt;	NewTypedArrayBuffer(Check:Untyped:D@101, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, %ED:ArrayBuffer, R:World, W:Heap, Exits, ClobbersExit, bc#167, ExitValid)
//  43  1 11:  D@122:&lt;!0:-&gt;	MovHint(Check:Untyped:D@121, MustGen, loc8, W:SideState, ClobbersExit, bc#167, ExitInvalid)
//  44  1 11:  D@123:&lt;!0:-&gt;	Check(MustGen, bc#167, ExitInvalid)
//  45  1 11:  D@124:&lt;!0:-&gt;	Check(MustGen, bc#167, ExitInvalid)
//  46  1 11:  D@125:&lt;!0:-&gt;	Check(MustGen, bc#167, ExitInvalid)
//  47  1 11:  D@184:&lt;!0:-&gt;	InvalidationPoint(MustGen, W:SideState, Exits, bc#167, exit: bc#174, ExitValid)
//  48  1 11:  D@126:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@121, loc8(Z~&lt;Object&gt;/FlushedJSValue), W:Stack(loc8), bc#167, exit: bc#174, ExitValid)  predicting OtherObj
//  49  1 11:  D@127:&lt; 1:-&gt;	JSConstant(JS|PureInt, Other, Undefined, bc#174, ExitValid)
//  50  1 11:  D@128:&lt;!0:-&gt;	MovHint(Check:Untyped:D@127, MustGen, loc5, W:SideState, ClobbersExit, bc#174, ExitValid)
//  51  1 11:  D@129:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@127, loc5(AB~&lt;Other&gt;/FlushedJSValue), W:Stack(loc5), bc#174, exit: bc#177, ExitValid)  predicting Other
//  52  1 11:  D@130:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj, Weak:Object: 0x7ee979230180 with butterfly (nil)(base=0xfffffffffffffff8) (Structure %BQ:JSGlobalLexicalEnvironment), StructureID: 235456, bc#177, ExitValid)
//  53  1 11:  D@131:&lt;!0:-&gt;	MovHint(Check:Untyped:D@130, MustGen, loc9, W:SideState, ClobbersExit, bc#177, ExitValid)
//  54  1 11:  D@132:&lt;!0:-&gt;	Check(MustGen, bc#177, ExitInvalid)
//  55  1 11:  D@133:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@130, loc9(BB~&lt;Object&gt;/FlushedJSValue), W:Stack(loc9), bc#177, exit: bc#184, ExitValid)  predicting OtherObj
//  56  1 11:  D@134:&lt;!0:-&gt;	Check(MustGen, bc#184, ExitValid)
//  57  1 11:  D@135:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Array, Weak:Object: 0x7ee9791502a0 with butterfly 0x7ee9791401f8(base=0x7ee9791401d0) (Structure %Am:Array,ArrayWithUndecided), StructureID: 253744, bc#184, ExitValid)
//  58  1 11:  D@136:&lt;!0:-&gt;	MovHint(Check:Untyped:D@135, MustGen, loc10, W:SideState, ClobbersExit, bc#184, ExitValid)
//  59  1 11:  D@137:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@135, loc10(CB~&lt;Array&gt;/FlushedJSValue), W:Stack(loc10), bc#184, exit: bc#193, ExitValid)  predicting Array
//  60  1 11:  D@138:&lt;!0:-&gt;	MovHint(Check:Untyped:D@121, MustGen, loc5, W:SideState, ClobbersExit, bc#193, ExitValid)
//  61  1 11:  D@139:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@121, loc5(M~/FlushedJSValue), W:Stack(loc5), bc#193, exit: bc#196, ExitValid)  predicting OtherObj|Other
//  62  1 11:  D@140:&lt;!0:-&gt;	GetLocal(Check:Untyped:D@154, JS|MustGen|PureNum|NeedsNaNOrInfinity|UseAsOther|UseAsInt|ReallyWantsInt, NonBoolInt32, loc6(N&lt;Int32&gt;/FlushedInt32), R:Stack(loc6), bc#196, ExitValid)  predicting NonBoolInt32
//  63  1 11:  D@176:&lt;!0:-&gt;	Arrayify(Check:Cell:D@135, Check:Int32:D@140, MustGen, Contiguous+Array+OutOfBounds+Convert+Write, R:JSCell_indexingType,JSCell_structureID,JSObject_butterfly, W:JSCell_indexingType,JSCell_structureID,JSObject_butterfly,Watchpoint_fire, Exits, bc#196, ExitValid)
//  64  1 11:  D@177:&lt; 1:-&gt;	GetButterfly(Check:Cell:D@135, Storage|PureInt, R:JSObject_butterfly, Exits, bc#196, ExitValid)
//  65  1 11:  D@141:&lt;!0:-&gt;	PutByVal(Check:KnownCell:D@135, Check:Int32:D@140, Check:Untyped:D@121, Check:Untyped:D@177, MustGen|VarArgs, Contiguous+Array+OutOfBounds+Convert+Write, R:World, W:Heap, Exits, ClobbersExit, bc#196, ExitValid)
//  66  1 11:  D@185:&lt;!0:-&gt;	InvalidationPoint(MustGen, W:SideState, Exits, bc#202, ExitValid)
//  67  1 11:  D@142:&lt; 1:-&gt;	ArithBitNot(Check:Int32:D@140, Int32|PureInt, Int32, Exits, bc#202, ExitValid)
//  68  1 11:  D@143:&lt;!0:-&gt;	MovHint(Check:Untyped:D@142, MustGen, loc7, W:SideState, ClobbersExit, bc#202, ExitInvalid)
//  69  1 11:  D@144:&lt; 1:-&gt;	SetLocal(Check:Untyped:D@142, loc7(FB~&lt;Int32&gt;/FlushedJSValue), W:Stack(loc7), bc#202, exit: bc#206, ExitValid)  predicting Int32
//  70  1 11:  D@145:&lt; 1:-&gt;	JSConstant(JS|PureNum|NeedsNaNOrInfinity|UseAsOther, NonBoolInt32, Int32: -268435456, bc#206, ExitValid)
//  71  1 11:  D@146:&lt; 1:-&gt;	CompareEq(Check:Int32:D@140, Check:Int32:D@145, Boolean|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, Bool, Exits, bc#206, ExitValid)
//  72  1 11:  D@147:&lt;!0:-&gt;	Branch(Check:KnownBoolean:D@146, MustGen, T:#2/w:1.000000, F:#1/w:10.000000, W:SideState, bc#206, ExitInvalid)
//      1 11:   States: InvalidBranchDirection, StructuresAreWatched
//      1 11:   Vars After: 
//      1 11:   Var Links: arg0:D@155 loc4:D@89 loc5:D@139 loc6:D@140 loc7:D@144 loc8:D@126 loc9:D@133 loc10:D@137 loc12:D@99 loc13:D@115 loc14:D@117
// 
//      2 11: Block #2 (bc#210):
//      2 11:   Execution count: 1.000000
//      2 11:   Predecessors: #0 #1
//      2 11:   Successors:
//      2 11:   Dominated by: #root #0 #2
//      2 11:   Dominates: #2
//      2 11:   Dominance Frontier: 
//      2 11:   Iterated Dominance Frontier: 
//      2 11:   Phi Nodes: D@151&lt;loc5,1&gt;-&gt;(D@139, D@74), D@152&lt;this,1, IsFlushed&gt;-&gt;(D@155, D@0)
//      2 11:   States: StructuresAreWatched, CurrentlyCFAUnreachable
//      2 11:   Vars Before: &lt;empty&gt;
//      2 11:   Intersected Vars Before: arg0:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc0:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc1:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc2:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc3:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc4:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc5:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc6:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc7:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc8:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc9:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc10:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc11:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc12:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc13:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc14:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc15:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc16:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc17:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc18:(FullTop, TOP, TOP, none:StructuresAreClobbered) loc19:(FullTop, TOP, TOP, none:StructuresAreClobbered)
//      2 11:   Var Links: arg0:D@152 loc5:D@151
//   0  2 11:  D@148:&lt;!0:-&gt;	GetLocal(Check:Untyped:D@151, JS|MustGen|PureNum|NeedsNegZero|NeedsNaNOrInfinity|UseAsOther, OtherObj|Other, loc5(M~/FlushedJSValue), R:Stack(loc5), bc#210, ExitValid)  predicting OtherObj|Other
//   1  2 11:  D@149:&lt;!0:-&gt;	Return(Check:Untyped:D@148, MustGen, W:SideState, Exits, bc#210, ExitValid)
//   2  2 11:  D@150:&lt;!0:-&gt;	Flush(Check:Untyped:D@152, MustGen|IsFlushed, this(A~&lt;Object&gt;/FlushedJSValue), R:Stack(this), W:SideState, bc#210, ExitValid)  predicting GlobalProxy
//      2 11:   States: InvalidBranchDirection, StructuresAreWatched
//      2 11:   Vars After: &lt;empty&gt;
//      2 11:   Var Links: arg0:D@150 loc5:D@148
// 
//        11: GC Values:
//        11:     Strong:Cell: 0x7ee979268130 (%CW:Immutable Butterfly,ArrayWithDouble), StructureID: 18880
//        11:     Strong:Cell: 0x7ee97914c1a0 (%Dx:Immutable Butterfly,ArrayWithInt32), StructureID: 18656
//        11:     Weak:Object: 0x7ee979230180 with butterfly (nil)(base=0xfffffffffffffff8) (Structure %BQ:JSGlobalLexicalEnvironment), StructureID: 235456
//        11:     Weak:Object: 0x7ee97922d5a0 with butterfly 0x7ee9790ef0c8(base=0x7ee9790eecc0) (Structure %CL:global), StructureID: 250832
//        11:     Weak:Object: 0x7ee9790e2980 with butterfly 0x7ee97923f848(base=0x7ee97923f820) (Structure %An:Function), StructureID: 253632
//        11:     Weak:Object: 0x7ee9790e2950 with butterfly 0x7ee97923ea48(base=0x7ee97923ea20) (Structure %CR:Function), StructureID: 249600
//        11:     Weak:Object: 0x7ee9791502a0 with butterfly 0x7ee9791401f8(base=0x7ee9791401d0) (Structure %Am:Array,ArrayWithUndecided), StructureID: 253744
//        11:     Weak:Object: 0x7ee979248160 with butterfly (nil)(base=0xfffffffffffffff8) (Structure %Ac:JSGlobalProxy), StructureID: 250944
//        11: Desired watchpoints:
//        11:     Watchpoint sets: 0x7ee97b1e0d00, 0x7ee97b1e1b00
//        11:     Inline watchpoint sets: 0x7ee80003cf68, 0x7ee80003df28, 0x7ee80003cef8, 0x7ee800004948, 0x7ee8000041d8, 0x7ee8000042b8, 0x7ee80003a548, 0x7ee800039828, 0x7ee800004a28, 0x7ee80003df98, 0x7ee80003a778, 0x7ee800004868, 0x7ee80003d4a8
//        11:     SymbolTables: 
//        11:     FunctionExecutables: 
//        11:     Buffer views: 
//        11:     Object property conditions: &lt;Object: 0x7ee97922d5a0 with butterfly 0x7ee9790ef0c8(base=0x7ee9790eecc0) (Structure %CL:global), StructureID: 250832: Equivalence of WeakMap with Object: 0x7ee9790e2980 with butterfly 0x7ee97923f848(base=0x7ee97923f820) (Structure %An:Function), StructureID: 253632&gt;, &lt;Object: 0x7ee97922d5a0 with butterfly 0x7ee9790ef0c8(base=0x7ee9790eecc0) (Structure %CL:global), StructureID: 250832: Equivalence of SharedArrayBuffer with Object: 0x7ee9790e2950 with butterfly 0x7ee97923ea48(base=0x7ee97923ea20) (Structure %CR:Function), StructureID: 249600&gt;
//        11: Structures:
//        11:     %Ac:JSGlobalProxy                       = 0x7ee80003d440:[0x3d440/250944, JSGlobalProxy, (0/0, 0/0){}, NonArray, Unknown, Proto:0x7ee9790dd100, Leaf]
//        11:     %Am:Array,ArrayWithUndecided            = 0x7ee80003df30:[0x3df30/253744, Array, (0/0, 1/4){-409186827:64}, ArrayWithUndecided, PropertyAddition, Proto:0x7ee979150270, Leaf]
//        11:     %An:Function                            = 0x7ee80003dec0:[0x3dec0/253632, Function, (0/0, 3/4){length:64, name:65, prototype:66}, NonArray, Unknown, Proto:0x7ee9790e2620, Leaf]
//        11:     %Ar:Array,ArrayWithInt32                = 0x7ee80003a400:[0x3a400/238592, Array, (0/0, 0/0){}, ArrayWithInt32, Unknown, Proto:0x7ee979150270]
//        11:     %BQ:JSGlobalLexicalEnvironment          = 0x7ee8000397c0:[0x397c0/235456, JSGlobalLexicalEnvironment, (0/0, 0/0){}, NonArray, Unknown, Leaf]
//        11:     %Bu:Array,ArrayWithDouble               = 0x7ee80003a4e0:[0x3a4e0/238816, Array, (0/0, 0/0){}, ArrayWithDouble, Unknown, Proto:0x7ee979150270, Leaf]
//        11:     %CL:global                              = 0x7ee80003d3d0:[0x3d3d0/250832, global, (0/0, 95/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, WebAssembly:77, Symbol.toStringTag:78, testLoopCount:79, wasmTestLoopCount:80, atob:81, btoa:82, disassembleBase64:83, debug:84, describe:85, describeArray:86, print:87, printErr:88, prettyPrint:89, gc:90, fullGC:91, edenGC:92, jscStack:93, preciseTime:94, neverInlineFunction:95, noInline:96, noDFG:97, noFTL:98, noOSRExitFuzzing:99, numberOfDFGCompiles:100, callerIsBBQOrOMGCompiled:101, jscOptions:102, optimizeNextInvocation:103, reoptimizationRetryCount:104, transferArrayBuffer:105, OSRExit:106, isFinalTier:107, predictInt32:108, isInt32:109, isPureNaN:110, fiatInt52:111, effectful42:112, makeMasquerader:113, hasCustomProperties:114, createGlobalObject:115, createHeapBigInt:116, useBigInt32:117, isBigInt32:118, isHeapBigInt:119, createNonRopeNonAtomString:120, dumpTypesForAllVariables:121, drainMicrotasks:122, setTimeout:123, releaseWeakRefs:124, finalizationRegistryLiveCount:125, finalizationRegistryDeadCount:126, getRandomSeed:127, setRandomSeed:128, isRope:129, callerSourceOrigin:130, is32BitPlatform:131, checkModuleSyntax:132, checkScriptSyntax:133, platformSupportsSamplingProfiler:134, generateHeapSnapshot:135, generateHeapSnapshotForGCDebugging:136, resetSuperSamplerState:137, ensureArrayStorage:138, startSamplingProfiler:139, samplingProfilerStackTraces:140, maxArguments:141, asyncTestStart:142, asyncTestPassed:143, WebAssemblyMemoryMode:144, console:145, waiterListSize:146, waitForReport:147, heapCapacity:148, flashHeapAccess:149, disableRichSourceInfo:150, mallocInALoop:151, totalCompileTime:152, setUnhandledRejectionCallback:153, asDoubleNumber:154, dropAllLocks:155, performance:156, fuzzilli:157, WeakMap:158}, NonArray, ChangePrototype, Proto:0x7ee9790dd100, Dictionary, Leaf]
//        11:     %CR:Function                            = 0x7ee80003cf00:[0x3cf00/249600, Function, (0/0, 4/4){length:64, name:65, prototype:66, Symbol.species:67}, NonArray, Unknown, Proto:0x7ee9790e2620, Leaf]
//        11:     %CW:Immutable Butterfly,ArrayWithDouble = 0x7ee8000049c0:[0x49c0/18880, Immutable Butterfly, (0/0, 0/0){}, CopyOnWriteArrayWithDouble, Unknown, Leaf]
//        11:     %Dx:Immutable Butterfly,ArrayWithInt32  = 0x7ee8000048e0:[0x48e0/18656, Immutable Butterfly, (0/0, 0/0){}, CopyOnWriteArrayWithInt32, Unknown, Leaf]
//        11:     %ED:ArrayBuffer                         = 0x7ee80003ce90:[0x3ce90/249488, ArrayBuffer, (0/0, 0/0){}, NonArray, Unknown, Proto:0x7ee9790dd250, Leaf]
// 
// 
// DFG ASSERTION FAILED: AI-clobberize disagreement; AI says NotClobbered while clobberize says (Direct:[Heap], Super:[World])
// /home/fuzzer/webkit/WebKit-c5e0671158732bcdf83d26d4a964a0d88b2ca02c/Source/JavaScriptCore/dfg/DFGCFAPhase.cpp(229) : void JSC::DFG::CFAPhase::performBlockCFA(BasicBlock *)
// STDOUT:
// 


```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2102812</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-03-13 00:52:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/146930687&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2102998</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2025-03-13 11:19:14 -0700</bug_when>
    <thetext>ToT bug, fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103002</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2025-03-13 11:20:48 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/42413</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103051</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-03-13 13:29:07 -0700</bug_when>
    <thetext>Committed 292112@main (5ad89cecd558): &lt;https://commits.webkit.org/292112@main&gt;

Reviewed commits have been landed. Closing PR #42413 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>