Closed
Bug 834447
Opened 12 years ago
Closed 12 years ago
IonMonkey: Make Ion entry use AbstractFramePtr
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla21
People
(Reporter: djvj, Unassigned)
References
Details
Attachments
(1 file)
|
8.78 KB,
patch
|
sstangl
:
review+
|
Details | Diff | Splinter Review |
This is needed for doing baseline/ion OSR.
| Reporter | ||
Comment 1•12 years ago
|
||
AbstractFramePtr is an abstraction around a pointer to a vm StackFrame, so we can pass in a BaselineFrame to various places that previously only accepted a StackFrame ptr.
This adjusts Ion's entry code use the abstract interface.
Attachment #706062 -
Flags: review?(sstangl)
Comment 2•12 years ago
|
||
Comment on attachment 706062 [details] [diff] [review]
Patch.
Review of attachment 706062 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/jsinterp.cpp
@@ +316,5 @@
>
> #ifdef JS_ION
> if (ion::IsEnabled(cx)) {
> + ion::MethodStatus status = ion::CanEnter(cx, script, AbstractFramePtr(fp),
> + fp->isConstructing(), false);
What's the point in passing in fp->isConstructing() if |fp| itself is already passed in via AbstractFramePtr?
Attachment #706062 -
Flags: review?(sstangl) → review+
| Reporter | ||
Comment 3•12 years ago
|
||
(In reply to Sean Stangl from comment #2)
> Comment on attachment 706062 [details] [diff] [review]
> Patch.
>
> Review of attachment 706062 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: js/src/jsinterp.cpp
> @@ +316,5 @@
> >
> > #ifdef JS_ION
> > if (ion::IsEnabled(cx)) {
> > + ion::MethodStatus status = ion::CanEnter(cx, script, AbstractFramePtr(fp),
> > + fp->isConstructing(), false);
>
> What's the point in passing in fp->isConstructing() if |fp| itself is
> already passed in via AbstractFramePtr?
We can't get at that flag from a BaselineFrame pointer, so the abstraction doesn't expose it. When baseline invokes ion compilation, it'll grab the isConstructing flag by walking its own stack and checking the bytecode op of the caller at the call-point for a JSOP_NEW.
| Reporter | ||
Comment 4•12 years ago
|
||
Comment 5•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla21
You need to log in
before you can comment on or make changes to this bug.
Description
•