mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
[INFER] Don't use loop registers for entries whose representation changed due to a jump into the loop, bug 684824.
This commit is contained in:
parent
093c919b57
commit
bd9939fb3a
7
js/src/jit-test/tests/jaeger/bug684824.js
Normal file
7
js/src/jit-test/tests/jaeger/bug684824.js
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
function X(n) {
|
||||
while ('' + (n--)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
X();
|
@ -7216,7 +7216,12 @@ mjit::Compiler::updateJoinVarTypes()
|
||||
if (newv->slot < TotalSlots(script)) {
|
||||
VarType &vt = a->varTypes[newv->slot];
|
||||
vt.types = analysis->getValueTypes(newv->value);
|
||||
vt.type = vt.types->getKnownTypeTag(cx);
|
||||
JSValueType newType = vt.types->getKnownTypeTag(cx);
|
||||
if (newType != vt.type) {
|
||||
FrameEntry *fe = frame.getSlotEntry(newv->slot);
|
||||
frame.forgetLoopReg(fe);
|
||||
}
|
||||
vt.type = newType;
|
||||
}
|
||||
newv++;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user