File tree Expand file tree Collapse file tree 3 files changed +27
-5
lines changed Expand file tree Collapse file tree 3 files changed +27
-5
lines changed Original file line number Diff line number Diff line change @@ -3021,6 +3021,11 @@ BackwardPass::ProcessBlock(BasicBlock * block)
3021
3021
3022
3022
bool hasLiveFields = (block->upwardExposedFields && !block->upwardExposedFields ->IsEmpty ());
3023
3023
3024
+ if (this ->tag == Js::DeadStorePhase && block->stackSymToFinalType != nullptr )
3025
+ {
3026
+ this ->InsertTypeTransitionsAtPotentialKills ();
3027
+ }
3028
+
3024
3029
IR::Opnd * opnd = instr->GetDst ();
3025
3030
if (opnd != nullptr )
3026
3031
{
@@ -3069,11 +3074,6 @@ BackwardPass::ProcessBlock(BasicBlock * block)
3069
3074
TrackFloatSymEquivalence (instr);
3070
3075
}
3071
3076
3072
- if (this ->tag == Js::DeadStorePhase && block->stackSymToFinalType != nullptr )
3073
- {
3074
- this ->InsertTypeTransitionsAtPotentialKills ();
3075
- }
3076
-
3077
3077
opnd = instr->GetSrc1 ();
3078
3078
if (opnd != nullptr )
3079
3079
{
Original file line number Diff line number Diff line change
1
+ // -maxinterpretcount:1 -maxsimplejitruncount:1 -bgjit-
2
+ function test ( ) {
3
+ var f = function ( ) { } ;
4
+ f . p1 = 1 ;
5
+ ( function ( ) {
6
+ Object . defineProperty ( f , 'length' , { writable : true } ) ;
7
+ f . length = undefined ;
8
+ f . p2 = 2 ;
9
+ } ( ) ) ;
10
+ }
11
+
12
+ test ( ) ;
13
+ test ( ) ;
14
+ test ( ) ;
15
+
16
+ print ( 'Pass' ) ;
Original file line number Diff line number Diff line change 1617
1617
<compile-flags >-maxinterpretcount:1 -maxsimplejitruncount:1</compile-flags >
1618
1618
</default >
1619
1619
</test >
1620
+ <test >
1621
+ <default >
1622
+ <files >aux_slot_type_transition_2.js</files >
1623
+ <compile-flags >-maxinterpretcount:1 -maxsimplejitruncount:1</compile-flags >
1624
+ </default >
1625
+ </test >
1620
1626
</regress-exe >
You can’t perform that action at this time.
0 commit comments