mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
[INFER] Don't mark temporaries as copies of other entries when storing their copies to a variable, bug 659438.
This commit is contained in:
parent
049a9089a0
commit
522292569c
8
js/src/jit-test/tests/jaeger/bug659438.js
Normal file
8
js/src/jit-test/tests/jaeger/bug659438.js
Normal file
@ -0,0 +1,8 @@
|
||||
var o1 = {x: {}};
|
||||
function f() {
|
||||
var o = o1;
|
||||
for(var i=0; i<10; i++) {
|
||||
o1 = o.x;
|
||||
}
|
||||
}
|
||||
f();
|
@ -2235,7 +2235,7 @@ FrameState::storeTop(FrameEntry *target)
|
||||
backing = top->copyOf();
|
||||
JS_ASSERT(backing->trackerIndex() < top->trackerIndex());
|
||||
|
||||
if (backing < target) {
|
||||
if (backing < target || isTemporary(backing)) {
|
||||
/* local.idx < backing.idx means local cannot be a copy yet */
|
||||
if (target->trackerIndex() < backing->trackerIndex())
|
||||
swapInTracker(backing, target);
|
||||
|
Loading…
Reference in New Issue
Block a user