Closed Bug 769853 Opened 12 years ago Closed 12 years ago

IonMonkey: x86 buildFakeExitFrame() issued call instruction to push PC

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: efaust, Assigned: efaust)

Details

Attachments

(1 file)

Attached patch FixSplinter Review
buildFakeExitFrame() uses a scheme involving a call to push the PC. This is inefficient. We can use a label instead to get the same information without all the overhead.
Attachment #638054 - Flags: review?(sstangl)
Assignee: general → efaust
Status: NEW → ASSIGNED
Summary: x86 buildFakeExitFrame() issued call instruction to push PC → IonMonkey: x86 buildFakeExitFrame() issued call instruction to push PC
Comment on attachment 638054 [details] [diff] [review]
Fix

Review of attachment 638054 [details] [diff] [review]:
-----------------------------------------------------------------

r+ with changes.

::: js/src/ion/shared/MacroAssembler-x86-shared.h
@@ +379,4 @@
>  
> +        CodeLabel *cl = new CodeLabel();
> +        if (!addCodeLabel(cl))
> +            return false;

Function does not return boolean. If it can fail, it needs a bool return with a uint32 outparam. Callers also must check for error. ARM will need equivalent changes, since visitCallNative() is shared.
Attachment #638054 - Flags: review?(sstangl) → review+
https://hg.mozilla.org/projects/ionmonkey/rev/13304da358b6
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.