mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backout 6f31bcbcdbf4 (bug 781859) for Android M8 failures
This commit is contained in:
parent
3d83b94fcb
commit
d04981b433
@ -1,25 +0,0 @@
|
||||
// |jit-test| error:ReferenceError
|
||||
function e() {
|
||||
try {} catch (e) {
|
||||
return (actual = "FAIL");
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
a.x + a.x + a.x + a.x + a.x + a.x + a.x + a.x
|
||||
}
|
||||
while (t) continue;
|
||||
}
|
||||
e();
|
@ -1,9 +0,0 @@
|
||||
mjitChunkLimit(42);
|
||||
Function("\
|
||||
switch (/x/) {\
|
||||
case 8:\
|
||||
break;\
|
||||
t(function(){})\
|
||||
}\
|
||||
while (false)(function(){})\
|
||||
")()
|
@ -1,10 +0,0 @@
|
||||
mjitChunkLimit(10);
|
||||
function e() {
|
||||
try {
|
||||
var t = undefined;
|
||||
} catch (e) { }
|
||||
while (t)
|
||||
continue;
|
||||
}
|
||||
for (var i = 0; i < 20; i++)
|
||||
e();
|
@ -866,22 +866,6 @@ MakeJITScript(JSContext *cx, JSScript *script)
|
||||
}
|
||||
}
|
||||
currentEdges.clear();
|
||||
|
||||
/*
|
||||
* A loop's LOOPHEAD instruction is usually marked as safepoint if
|
||||
* either:
|
||||
* (1) The whole loop is contained in a single chunk and tracked
|
||||
* in the compiler (see shouldStartLoop).
|
||||
* (2) The loop's backedge and LOOPHEAD are in different chunks.
|
||||
*
|
||||
* If a while loop follows an unreachable op, we may insert a chunk
|
||||
* boundary between the loop's initial GOTO and LOOPHEAD. In this
|
||||
* case we have to explicitly mark the LOOPHEAD as safepoint since
|
||||
* both of these conditions don't apply.
|
||||
*/
|
||||
jsbytecode *nextpc = script->code + nextOffset;
|
||||
if (JSOp(*nextpc) == JSOP_LOOPHEAD)
|
||||
analysis->getCode(chunkStart).safePoint = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2047,6 +2031,9 @@ mjit::Compiler::generateMethod()
|
||||
{
|
||||
SrcNoteLineScanner scanner(script_->notes(), script_->lineno);
|
||||
|
||||
/* For join points, whether there was fallthrough from the previous opcode. */
|
||||
bool fallthrough = true;
|
||||
|
||||
/* Last bytecode processed. */
|
||||
jsbytecode *lastPC = NULL;
|
||||
|
||||
@ -2095,9 +2082,6 @@ mjit::Compiler::generateMethod()
|
||||
}
|
||||
}
|
||||
|
||||
/* For join points, whether there was fallthrough from the previous opcode. */
|
||||
bool fallthrough = (chunkIndex == 0 || analysis->maybeCode(PC)->fallthrough);
|
||||
|
||||
for (;;) {
|
||||
JSOp op = JSOp(*PC);
|
||||
int trap = stubs::JSTRAP_NONE;
|
||||
@ -7115,18 +7099,6 @@ mjit::Compiler::finishLoop(jsbytecode *head)
|
||||
if (!cx->typeInferenceEnabled() || !bytecodeInChunk(head))
|
||||
return true;
|
||||
|
||||
/*
|
||||
* Edge case: for a while loop, the initial GOTO and LOOPHEAD following it
|
||||
* may be in different chunks. In that case bytecodeInChunk(head) may be
|
||||
* true, but we didn't track this loop, since the GOTO is in the previous
|
||||
* chunk.
|
||||
*/
|
||||
if (!loop) {
|
||||
JS_ASSERT(chunkIndex > 0);
|
||||
JS_ASSERT(head - outerScript->code == outerChunk.begin);
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* We're done processing the current loop. Every loop has exactly one backedge
|
||||
* at the end ('continue' statements are forward jumps to the loop test),
|
||||
|
Loading…
Reference in New Issue
Block a user