mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 865883. (r=jandem)
This commit is contained in:
parent
578e49b54e
commit
692d106e7a
@ -735,8 +735,12 @@ LinearScanAllocator::allocateSlotFor(const LiveInterval *interval)
|
||||
LinearScanVirtualRegister *reg = &vregs[interval->vreg()];
|
||||
|
||||
SlotList *freed;
|
||||
if (reg->type() == LDefinition::DOUBLE || IsNunbox(reg))
|
||||
if (reg->type() == LDefinition::DOUBLE)
|
||||
freed = &finishedDoubleSlots_;
|
||||
#ifdef JS_NUNBOX32
|
||||
else if (IsNunbox(reg))
|
||||
freed = &finishedNunboxSlots_;
|
||||
#endif
|
||||
else
|
||||
freed = &finishedSlots_;
|
||||
|
||||
@ -841,7 +845,7 @@ LinearScanAllocator::freeAllocation(LiveInterval *interval, LAllocation *alloc)
|
||||
if (!candidate->canonicalSpill()->isStackSlot())
|
||||
return;
|
||||
|
||||
finishedDoubleSlots_.append(candidate->lastInterval());
|
||||
finishedNunboxSlots_.append(candidate->lastInterval());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -80,6 +80,9 @@ class LinearScanAllocator : public LiveRangeAllocator<LinearScanVirtualRegister>
|
||||
typedef Vector<LiveInterval *, 0, SystemAllocPolicy> SlotList;
|
||||
SlotList finishedSlots_;
|
||||
SlotList finishedDoubleSlots_;
|
||||
#ifdef JS_NUNBOX32
|
||||
SlotList finishedNunboxSlots_;
|
||||
#endif
|
||||
|
||||
// Run-time state
|
||||
UnhandledQueue unhandled;
|
||||
|
Loading…
Reference in New Issue
Block a user