Closed Bug 834447 Opened 12 years ago Closed 12 years ago

IonMonkey: Make Ion entry use AbstractFramePtr

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla21

People

(Reporter: djvj, Unassigned)

References

Details

Attachments

(1 file)

This is needed for doing baseline/ion OSR.
Attached patch Patch.Splinter Review
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 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+
(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.
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.

Attachment

General

Created:
Updated:
Size: