mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 832670 - Don't verify barriers when unwinding frames that finished in JM, r=billm.
This commit is contained in:
parent
84fbd821c3
commit
e62502b424
24
js/src/jit-test/tests/jaeger/bug832670.js
Normal file
24
js/src/jit-test/tests/jaeger/bug832670.js
Normal file
@ -0,0 +1,24 @@
|
||||
|
||||
gczeal(4);
|
||||
eval("(function() { " + "\
|
||||
for ( var CHARCODE = 1024; CHARCODE < 65536; CHARCODE+= 1234 ) {\
|
||||
unescape( '%u'+(ToUnicodeString(CHARCODE)).substring(0,3) )\
|
||||
}\
|
||||
function ToUnicodeString( n ) {\
|
||||
var string = ToHexString(n);\
|
||||
return string;\
|
||||
}\
|
||||
function ToHexString( n ) {\
|
||||
var hex = new Array();\
|
||||
for ( var mag = 1; Math.pow(16,mag) <= n ; mag++ ) {}\
|
||||
for ( index = 0, mag -= 1; mag > 0; index++, mag-- ) {\
|
||||
hex[index] = Math.floor( n / Math.pow(16,mag) );\
|
||||
var string ='';\
|
||||
string <<= 'A';\
|
||||
string += hex[index];\
|
||||
}\
|
||||
if ( 'var MYVAR=Number.NEGATIVE_INFINITY;MYVAR++;MYVAR' )\
|
||||
string = '0' + string;\
|
||||
return string;\
|
||||
}\
|
||||
" + " })();");
|
@ -3334,6 +3334,8 @@ END_CASE(JSOP_ARRAYPUSH)
|
||||
Probes::exitScript(cx, script, script->function(), regs.fp());
|
||||
regs.fp()->setFinishedInInterpreter();
|
||||
|
||||
gc::MaybeVerifyBarriers(cx, true);
|
||||
|
||||
#ifdef JS_METHODJIT
|
||||
/*
|
||||
* This path is used when it's guaranteed the method can be finished
|
||||
@ -3342,7 +3344,6 @@ END_CASE(JSOP_ARRAYPUSH)
|
||||
leave_on_safe_point:
|
||||
#endif
|
||||
|
||||
gc::MaybeVerifyBarriers(cx, true);
|
||||
return interpReturnOK ? Interpret_Ok : Interpret_Error;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user