mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 605352 - JM: avoid double-pin in x64 FrameState:syncFe (r=sstangl)
This commit is contained in:
parent
4511595997
commit
4e00bb8e1e
@ -597,13 +597,13 @@ FrameState::syncFe(FrameEntry *fe)
|
||||
|
||||
/* Get a register if necessary, without clobbering its pair. */
|
||||
if (needTypeReg) {
|
||||
if (backing->data.inRegister()) {
|
||||
if (backing->data.inRegister() && !regstate[backing->data.reg()].isPinned()) {
|
||||
pairReg = backing->data.reg();
|
||||
pinReg(backing->data.reg());
|
||||
}
|
||||
tempRegForType(backing);
|
||||
} else if (needDataReg) {
|
||||
if (backing->type.inRegister()) {
|
||||
if (backing->type.inRegister() && !regstate[backing->type.reg()].isPinned()) {
|
||||
pairReg = backing->type.reg();
|
||||
pinReg(backing->type.reg());
|
||||
}
|
||||
|
@ -248,12 +248,14 @@ class FrameState
|
||||
}
|
||||
|
||||
void pin() {
|
||||
JS_ASSERT(fe_ != NULL);
|
||||
assertConsistency();
|
||||
save_ = fe_;
|
||||
fe_ = NULL;
|
||||
}
|
||||
|
||||
void unpin() {
|
||||
JS_ASSERT(save_ != NULL);
|
||||
assertConsistency();
|
||||
fe_ = save_;
|
||||
save_ = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user