mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Don't get confused by unreachable opcodes before loop headers when picking chunk boundaries, bug 781859. r=jandem
This commit is contained in:
parent
9381b785f3
commit
a50ee02f2f
25
js/src/jit-test/tests/jaeger/bug781859-1.js
Normal file
25
js/src/jit-test/tests/jaeger/bug781859-1.js
Normal file
@ -0,0 +1,25 @@
|
||||
// |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();
|
9
js/src/jit-test/tests/jaeger/bug781859-2.js
Normal file
9
js/src/jit-test/tests/jaeger/bug781859-2.js
Normal file
@ -0,0 +1,9 @@
|
||||
mjitChunkLimit(42);
|
||||
Function("\
|
||||
switch (/x/) {\
|
||||
case 8:\
|
||||
break;\
|
||||
t(function(){})\
|
||||
}\
|
||||
while (false)(function(){})\
|
||||
")()
|
10
js/src/jit-test/tests/jaeger/bug781859-3.js
Normal file
10
js/src/jit-test/tests/jaeger/bug781859-3.js
Normal file
@ -0,0 +1,10 @@
|
||||
mjitChunkLimit(10);
|
||||
function e() {
|
||||
try {
|
||||
var t = undefined;
|
||||
} catch (e) { }
|
||||
while (t)
|
||||
continue;
|
||||
}
|
||||
for (var i = 0; i < 20; i++)
|
||||
e();
|
@ -704,7 +704,7 @@ MakeJITScript(JSContext *cx, JSScript *script)
|
||||
|
||||
Bytecode *code = analysis->maybeCode(offset);
|
||||
if (!code)
|
||||
continue;
|
||||
op = JSOP_NOP; /* Ignore edges from unreachable opcodes. */
|
||||
|
||||
/* Whether this should be the last opcode in the chunk. */
|
||||
bool finishChunk = false;
|
||||
|
Loading…
Reference in New Issue
Block a user