mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
[INFER] Don't track type sets of values pushed by opcode fusions, bug 646411.
This commit is contained in:
parent
70ee8fa7f3
commit
2d35b04f7f
9
js/src/jit-test/tests/jaeger/bug646411.js
Normal file
9
js/src/jit-test/tests/jaeger/bug646411.js
Normal file
@ -0,0 +1,9 @@
|
||||
__proto__ = Function();
|
||||
eval("\
|
||||
var MS = 16;\
|
||||
addNewTestCase(new Date(1899,11,31,16,0,0), \"new Date(1899,11,31,16,0,0)\",\
|
||||
typeof UTC_DAY == 'undefined');\
|
||||
function addNewTestCase( DateCase, DateString, ResultArray ) {\
|
||||
ResultArray[MS];\
|
||||
}\
|
||||
");
|
@ -2606,8 +2606,12 @@ mjit::Compiler::generateMethod()
|
||||
* END COMPILER OPS *
|
||||
**********************/
|
||||
|
||||
if (cx->typeInferenceEnabled()) {
|
||||
/* Inform the frame of the type sets for values just pushed. */
|
||||
if (cx->typeInferenceEnabled() && PC == oldPC + analyze::GetBytecodeLength(oldPC)) {
|
||||
/*
|
||||
* Inform the frame of the type sets for values just pushed. Skip
|
||||
* this if we did any opcode fusions, we don't keep track of the
|
||||
* associated type sets in such cases.
|
||||
*/
|
||||
unsigned nuses = analyze::GetUseCount(script, oldPC - script->code);
|
||||
unsigned ndefs = analyze::GetDefCount(script, oldPC - script->code);
|
||||
for (unsigned i = 0; i < ndefs; i++) {
|
||||
|
Loading…
Reference in New Issue
Block a user