@@ -178,6 +178,7 @@ class AutoRestoreVal
178
178
179
179
PREVENT_COPY(AutoRestoreVal);
180
180
};
181
+
181
182
GlobOpt::GlobOpt(Func * func)
182
183
: func(func),
183
184
intConstantToStackSymMap(nullptr),
@@ -539,8 +540,6 @@ GlobOpt::ForwardPass()
539
540
END_CODEGEN_PHASE(this->func, Js::ForwardPhase);
540
541
}
541
542
542
-
543
-
544
543
void
545
544
GlobOpt::OptBlock(BasicBlock *block)
546
545
{
@@ -1491,6 +1490,8 @@ GlobOpt::MergePredBlocksValueMaps(BasicBlock *block)
1491
1490
void
1492
1491
GlobOpt::NulloutBlockData(GlobOptBlockData *data)
1493
1492
{
1493
+ data->globOpt = this;
1494
+
1494
1495
data->symToValueMap = nullptr;
1495
1496
data->exprToValueMap = nullptr;
1496
1497
data->liveFields = nullptr;
@@ -1530,6 +1531,8 @@ GlobOpt::NulloutBlockData(GlobOptBlockData *data)
1530
1531
void
1531
1532
GlobOpt::InitBlockData(GlobOptBlockData* data)
1532
1533
{
1534
+ data->globOpt = this;
1535
+
1533
1536
JitArenaAllocator *const alloc = this->alloc;
1534
1537
1535
1538
data->symToValueMap = GlobHashTable::New(alloc, 64);
@@ -1577,6 +1580,8 @@ GlobOpt::InitBlockData(GlobOptBlockData* data)
1577
1580
void
1578
1581
GlobOpt::ReuseBlockData(GlobOptBlockData *toData, GlobOptBlockData *fromData)
1579
1582
{
1583
+ toData->globOpt = fromData->globOpt;
1584
+
1580
1585
// Reuse dead map
1581
1586
toData->symToValueMap = fromData->symToValueMap;
1582
1587
toData->exprToValueMap = fromData->exprToValueMap;
@@ -1628,6 +1633,8 @@ GlobOpt::ReuseBlockData(GlobOptBlockData *toData, GlobOptBlockData *fromData)
1628
1633
void
1629
1634
GlobOpt::CopyBlockData(GlobOptBlockData *toData, GlobOptBlockData *fromData)
1630
1635
{
1636
+ toData->globOpt = fromData->globOpt;
1637
+
1631
1638
toData->symToValueMap = fromData->symToValueMap;
1632
1639
toData->exprToValueMap = fromData->exprToValueMap;
1633
1640
toData->liveFields = fromData->liveFields;
@@ -1674,6 +1681,8 @@ void GlobOpt::CloneBlockData(BasicBlock *const toBlock, GlobOptBlockData *const
1674
1681
GlobOptBlockData *const fromData = &fromBlock->globOptData;
1675
1682
JitArenaAllocator *const alloc = this->alloc;
1676
1683
1684
+ toData->globOpt = fromData->globOpt;
1685
+
1677
1686
toData->symToValueMap = fromData->symToValueMap->Copy();
1678
1687
toData->exprToValueMap = fromData->exprToValueMap->Copy();
1679
1688
0 commit comments