Closed
Bug 989344
Opened 11 years ago
Closed 11 years ago
IonMonkey: Lower resume points and encode them with RecoverWriter.
Categories
(Core :: JavaScript Engine: JIT, defect)
Tracking
()
RESOLVED
FIXED
mozilla31
People
(Reporter: nbp, Assigned: nbp)
References
Details
Attachments
(2 files)
22.14 KB,
patch
|
jandem
:
review+
|
Details | Diff | Splinter Review |
1.88 KB,
patch
|
jandem
:
review+
|
Details | Diff | Splinter Review |
Currently RecoverWriter is writing one Recover entry per snapshot. We should share the recover entry among snapshots and encode the recover separately.
Assignee | ||
Comment 1•11 years ago
|
||
This patch extract the LRecover out of LSnapshot, this patch also separate the function for encoding Recover and Snapshots.
Assignee: nobody → nicolas.b.pierron
Status: NEW → ASSIGNED
Attachment #8398940 -
Flags: review?(jdemooij)
Assignee | ||
Updated•11 years ago
|
Attachment #8398940 -
Attachment description: Extract LRecover from LSnapshot. → [part 1] Extract LRecover from LSnapshot.
Assignee | ||
Comment 2•11 years ago
|
||
Attachment #8398958 -
Flags: review?(jdemooij)
Comment 3•11 years ago
|
||
Comment on attachment 8398940 [details] [diff] [review]
[part 1] Extract LRecover from LSnapshot.
Review of attachment 8398940 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/jit/shared/CodeGenerator-shared.cpp
@@ +311,1 @@
> recovers_.endFrame();
AFAICS, endFrame doesn't do much. Can we combine startFrame and endFrame as writeFrame()?
@@ +324,5 @@
>
> + if (!encode(snapshot->recover()))
> + return false;
> +
> + RecoverOffset recoverOffset = snapshot->recover()->recoverOffset();
Nit: MOZ_ASSERT(recoverOffset != INVALID_RECOVER_OFFSET);
Attachment #8398940 -
Flags: review?(jdemooij) → review+
Comment 4•11 years ago
|
||
Comment on attachment 8398958 [details] [diff] [review]
[part 2] Share LRecover between LSnapshot
Review of attachment 8398958 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/jit/shared/Lowering-shared.cpp
@@ +56,5 @@
> lir->setOperand(inputPosition, LUse(operand->virtualRegister(), LUse::ANY));
> }
>
> LRecover *
> LIRGeneratorShared::buildRecover(MResumePoint *rp)
Renaming this to getRecover now would make it more clear that it's not always returning a new LRecover.
Attachment #8398958 -
Flags: review?(jdemooij) → review+
Comment 5•11 years ago
|
||
As discussed on IRC, LRecoverInfo would be nice.
Assignee | ||
Comment 6•11 years ago
|
||
(In reply to Jan de Mooij [:jandem] from comment #3)
> Comment on attachment 8398940 [details] [diff] [review]
> [part 1] Extract LRecover from LSnapshot.
>
> ::: js/src/jit/shared/CodeGenerator-shared.cpp
> @@ +311,1 @@
> > recovers_.endFrame();
>
> AFAICS, endFrame doesn't do much. Can we combine startFrame and endFrame as
> writeFrame()?
I did so, and removed the nallocs_ field of RecoverWriter, as it is only used within writeFrame.
Assignee | ||
Comment 7•11 years ago
|
||
Comment 8•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/2aeb2f123f8e
https://hg.mozilla.org/mozilla-central/rev/feae125fca6f
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla31
You need to log in
before you can comment on or make changes to this bug.
Description
•