@@ -160,7 +160,7 @@ BackwardPass::DoTrackNegativeZero() const
160
160
bool
161
161
BackwardPass::DoTrackBitOpsOrNumber () const
162
162
{
163
- #if _WIN64
163
+ #if defined(_WIN32) && defined(TARGET_64)
164
164
return
165
165
!PHASE_OFF1 (Js::TypedArrayVirtualPhase) &&
166
166
tag == Js::BackwardPhase &&
@@ -316,8 +316,8 @@ BackwardPass::ProcessBailOnStackArgsOutOfActualsRange()
316
316
{
317
317
IR::Instr * instr = this ->currentInstr ;
318
318
319
- if (tag == Js::DeadStorePhase &&
320
- (instr->m_opcode == Js::OpCode::LdElemI_A || instr->m_opcode == Js::OpCode::TypeofElem) &&
319
+ if (tag == Js::DeadStorePhase &&
320
+ (instr->m_opcode == Js::OpCode::LdElemI_A || instr->m_opcode == Js::OpCode::TypeofElem) &&
321
321
instr->HasBailOutInfo () && !IsPrePass ())
322
322
{
323
323
if (instr->DoStackArgsOpt (this ->func ))
@@ -1735,7 +1735,7 @@ BackwardPass::ProcessBailOutCopyProps(BailOutInfo * bailOutInfo, BVSparse<JitAre
1735
1735
StackSym * float64StackSym = nullptr ;
1736
1736
StackSym * simd128StackSym = nullptr ;
1737
1737
1738
- // If the sym is type specialized, we need to check for upward exposed uses of the specialized sym and not the equivalent var sym. If there are no
1738
+ // If the sym is type specialized, we need to check for upward exposed uses of the specialized sym and not the equivalent var sym. If there are no
1739
1739
// uses and we use the copy prop sym to restore, we'll need to find the type specialize sym for that sym as well.
1740
1740
StackSym * typeSpecSym = nullptr ;
1741
1741
auto findTypeSpecSym = [&]()
@@ -2590,7 +2590,7 @@ BackwardPass::ProcessBlock(BasicBlock * block)
2590
2590
2591
2591
this ->currentInstr = instr;
2592
2592
this ->currentRegion = this ->currentBlock ->GetFirstInstr ()->AsLabelInstr ()->GetRegion ();
2593
-
2593
+
2594
2594
IR::Instr * insertedInstr = TryChangeInstrForStackArgOpt ();
2595
2595
if (insertedInstr != nullptr )
2596
2596
{
@@ -2600,7 +2600,7 @@ BackwardPass::ProcessBlock(BasicBlock * block)
2600
2600
2601
2601
MarkScopeObjSymUseForStackArgOpt ();
2602
2602
ProcessBailOnStackArgsOutOfActualsRange ();
2603
-
2603
+
2604
2604
if (ProcessNoImplicitCallUses (instr) || this ->ProcessBailOutInfo (instr))
2605
2605
{
2606
2606
continue ;
@@ -2943,7 +2943,7 @@ BackwardPass::ProcessBlock(BasicBlock * block)
2943
2943
#endif
2944
2944
}
2945
2945
2946
- bool
2946
+ bool
2947
2947
BackwardPass::CanDeadStoreInstrForScopeObjRemoval (Sym *sym) const
2948
2948
{
2949
2949
if (tag == Js::DeadStorePhase && this ->currentInstr ->m_func ->IsStackArgsEnabled ())
@@ -3099,7 +3099,7 @@ BackwardPass::DeadStoreOrChangeInstrForScopeObjRemoval(IR::Instr ** pInstrPrev)
3099
3099
case Js::OpCode::GetCachedFunc:
3100
3100
{
3101
3101
// <dst> = GetCachedFunc <scopeObject>, <functionNum>
3102
- // is converted to
3102
+ // is converted to
3103
3103
// <dst> = NewScFunc <functionNum>, <env: FrameDisplay>
3104
3104
3105
3105
if (instr->GetSrc1 ()->IsScopeObjOpnd (currFunc))
@@ -3161,8 +3161,8 @@ BackwardPass::TryChangeInstrForStackArgOpt()
3161
3161
* -This is to facilitate Bailout to record the live Scope object Sym, whenever required.
3162
3162
* -Reason for doing is this because - Scope object has to be implicitly live whenever Heap Arguments object is live.
3163
3163
* -When we restore HeapArguments object in the bail out path, it expects the scope object also to be restored - if one was created.
3164
- * -We do not know detailed information about Heap arguments obj syms(aliasing etc.) until we complete Forward Pass.
3165
- * -And we want to avoid dead sym clean up (in this case, scope object though not explicitly live, it is live implicitly) during Block merging in the forward pass.
3164
+ * -We do not know detailed information about Heap arguments obj syms(aliasing etc.) until we complete Forward Pass.
3165
+ * -And we want to avoid dead sym clean up (in this case, scope object though not explicitly live, it is live implicitly) during Block merging in the forward pass.
3166
3166
* -Hence this is the optimal spot to do this.
3167
3167
*/
3168
3168
@@ -3196,10 +3196,10 @@ bool
3196
3196
BackwardPass::IsFormalParamSym (Func * func, Sym * sym) const
3197
3197
{
3198
3198
Assert (sym);
3199
-
3199
+
3200
3200
if (sym->IsPropertySym ())
3201
3201
{
3202
- // If the sym is a propertySym, then see if the propertyId is within the range of the formals
3202
+ // If the sym is a propertySym, then see if the propertyId is within the range of the formals
3203
3203
// We can have other properties stored in the scope object other than the formals (following the formals).
3204
3204
PropertySym * propSym = sym->AsPropertySym ();
3205
3205
IntConstType value = propSym->m_propertyId ;
@@ -4250,8 +4250,8 @@ bool
4250
4250
BackwardPass::ProcessSymUse (Sym * sym, bool isRegOpndUse, BOOLEAN isNonByteCodeUse)
4251
4251
{
4252
4252
BasicBlock * block = this ->currentBlock ;
4253
-
4254
- if (CanDeadStoreInstrForScopeObjRemoval (sym))
4253
+
4254
+ if (CanDeadStoreInstrForScopeObjRemoval (sym))
4255
4255
{
4256
4256
return false ;
4257
4257
}
@@ -4537,7 +4537,7 @@ BackwardPass::TrackObjTypeSpecProperties(IR::PropertySymOpnd *opnd, BasicBlock *
4537
4537
}
4538
4538
bucket->SetMonoGuardType (nullptr );
4539
4539
}
4540
-
4540
+
4541
4541
if (!opnd->IsTypeAvailable ())
4542
4542
{
4543
4543
// Stop tracking the guarded properties if there's not another type check upstream.
@@ -5651,7 +5651,7 @@ BackwardPass::TrackIntUsage(IR::Instr *const instr)
5651
5651
SetNegativeZeroDoesNotMatterIfLastUse (instr->GetSrc2 ());
5652
5652
break ;
5653
5653
}
5654
-
5654
+
5655
5655
// -0 + -0 == -0. As long as one src is guaranteed to not be -0, -0 does not matter for the other src. Pick a
5656
5656
// src for which to ignore negative zero, based on which sym is last-use. If both syms are last-use, src2 is
5657
5657
// picked arbitrarily.
@@ -6741,9 +6741,9 @@ BackwardPass::DeadStoreInstr(IR::Instr *instr)
6741
6741
tempBv.Copy (this ->currentBlock ->byteCodeUpwardExposedUsed );
6742
6742
#endif
6743
6743
PropertySym *unusedPropertySym = nullptr ;
6744
-
6744
+
6745
6745
GlobOpt::TrackByteCodeSymUsed (instr, this ->currentBlock ->byteCodeUpwardExposedUsed , &unusedPropertySym);
6746
-
6746
+
6747
6747
#if DBG
6748
6748
BVSparse<JitArenaAllocator> tempBv2 (this ->tempAlloc );
6749
6749
tempBv2.Copy (this ->currentBlock ->byteCodeUpwardExposedUsed );
@@ -6781,7 +6781,7 @@ BackwardPass::DeadStoreInstr(IR::Instr *instr)
6781
6781
}
6782
6782
#endif
6783
6783
6784
-
6784
+
6785
6785
if (instr->m_opcode == Js::OpCode::ArgIn_A)
6786
6786
{
6787
6787
// Ignore tracking ArgIn for "this", as argInsCount only tracks other params - unless it is a asmjs function(which doesn't have a "this").
@@ -6793,7 +6793,7 @@ BackwardPass::DeadStoreInstr(IR::Instr *instr)
6793
6793
}
6794
6794
6795
6795
TraceDeadStoreOfInstrsForScopeObjectRemoval ();
6796
-
6796
+
6797
6797
block->RemoveInstr (instr);
6798
6798
return true ;
6799
6799
}
0 commit comments