Closed
Bug 1168753
Opened 10 years ago
Closed 10 years ago
[MBaselineCache] Make VMFunction aware of BaselineFrame
Categories
(Core :: JavaScript Engine: JIT, defect)
Core
JavaScript Engine: JIT
Tracking
()
RESOLVED
FIXED
mozilla41
Tracking | Status | |
---|---|---|
firefox41 | --- | fixed |
People
(Reporter: h4writer, Assigned: h4writer)
References
Details
Attachments
(1 file, 3 obsolete files)
25.21 KB,
patch
|
jandem
:
review+
|
Details | Diff | Splinter Review |
Make it possible to ask if a BaselineFrame needs to get pushed and let the callVM/tailCallVM call take care of pushing them. Makes the code more uniform between in shared (ion/baseline) stubs
Assignee | ||
Comment 1•10 years ago
|
||
Assignee | ||
Comment 2•10 years ago
|
||
Part 1 makes it possible to ask a VMFunction needs a BaselineFrame*. This function is to move the actual pushing to the helper function. This is because ionmonkey doesn't need a BaselineFrame* and will push 0 in that case. This simplification is to make sure that the generateCode functions don't need to worry for which engine they are compiling.
Attachment #8612243 -
Flags: review?(jdemooij)
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → hv1989
Assignee | ||
Comment 3•10 years ago
|
||
I saw I forgot one place where we did (ICStub*, BaselineFrame*). Not a problem, except for consistency.
Attachment #8612243 -
Attachment is obsolete: true
Attachment #8612243 -
Flags: review?(jdemooij)
Attachment #8612256 -
Flags: review?(jdemooij)
Comment 4•10 years ago
|
||
Comment on attachment 8612256 [details] [diff] [review]
Part 2: Move the pushBaselineFramePtr to the helper function
Review of attachment 8612256 [details] [diff] [review]:
-----------------------------------------------------------------
Clever idea, but can't we get the same effect by adding a pushBaselineFramePtr() method to ICStubCompiler, and then doing |if (engine == foo) ..| there? Or a PushBaselineFramePtr(masm, engine) in SharedICHelpers.h?
Attachment #8612256 -
Flags: review?(jdemooij)
Assignee | ||
Comment 5•10 years ago
|
||
This would do the same, without being smart.
(Though I think it was better before. The fact that callVM/tailCallVM pushed the frameptr, made it possible to know if we did an enterStubFrame or not. Now I had to add an extra variable to track that).
Attachment #8612241 -
Attachment is obsolete: true
Attachment #8612256 -
Attachment is obsolete: true
Attachment #8615368 -
Flags: review?(jdemooij)
Comment 6•10 years ago
|
||
Comment on attachment 8615368 [details] [diff] [review]
Push frame ptr
Review of attachment 8615368 [details] [diff] [review]:
-----------------------------------------------------------------
Nice.
::: js/src/jit/BaselineIC.cpp
@@ +267,5 @@
> // Push stub pointer.
> masm.push(ICStubReg);
>
> + // Push JitFrameLayout pointer.
> + pushFramePtr(masm, R0.scratchReg());
Nit: please remove the comment while you're here. I think the argument was changed from JitFrmaeLayout* to BaselineFrame* at some point.
Attachment #8615368 -
Flags: review?(jdemooij) → review+
Comment 8•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
status-firefox41:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
You need to log in
before you can comment on or make changes to this bug.
Description
•