mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-11-02 04:27:31 +09:00
Add rematerialized frames to the table on JitActivation after rematerialization succeeds.
This commit is contained in:
parent
fbab5890eb
commit
c9717cf3d1
2 changed files with 71 additions and 8 deletions
|
|
@ -1517,11 +1517,7 @@ jit::JitActivation::getRematerializedFrame(JSContext* cx, const JitFrameIterator
|
|||
uint8_t* top = iter.fp();
|
||||
RematerializedFrameTable::AddPtr p = rematerializedFrames_->lookupForAdd(top);
|
||||
if (!p) {
|
||||
RematerializedFrameVector empty(cx);
|
||||
if (!rematerializedFrames_->add(p, top, Move(empty))) {
|
||||
ReportOutOfMemory(cx);
|
||||
return nullptr;
|
||||
}
|
||||
RematerializedFrameVector frames(cx);
|
||||
|
||||
// The unit of rematerialization is an uninlined frame and its inlined
|
||||
// frames. Since inlined frames do not exist outside of snapshots, it
|
||||
|
|
@ -1536,9 +1532,11 @@ jit::JitActivation::getRematerializedFrame(JSContext* cx, const JitFrameIterator
|
|||
// be in the activation's compartment.
|
||||
AutoCompartment ac(cx, compartment_);
|
||||
|
||||
if (!RematerializedFrame::RematerializeInlineFrames(cx, top, inlineIter, recover,
|
||||
p->value()))
|
||||
{
|
||||
if (!RematerializedFrame::RematerializeInlineFrames(cx, top, inlineIter, recover, frames))
|
||||
return nullptr;
|
||||
|
||||
if (!rematerializedFrames_->add(p, top, Move(frames))) {
|
||||
ReportOutOfMemory(cx);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue