Closed Bug 816985 Opened 12 years ago Closed 12 years ago

BaselineCompiler: Compile GETGNAME

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

We need this for most of the interesting benchmarks and tests.
With GETGNAME we compile a lot more code and this uncovered various problems, mostly frame stuff. The Bailed_BaselineStub is used when baseline calls directly into Ion and the Ion frame bails out.
Attachment #687374 - Flags: review?(kvijayan)
Adds an IC for GETGNAME. Also fixes two other bugs: * Ion does not save/restore the frame pointer, so we have to restore the stack pointer from the frame descriptor when we call an Ion-compiled function. * x64-only: using boxValue with the same source and dest register is invalid. The patch adds an assert to boxValue and uses tagValue for now.
Attachment #687380 - Flags: review?(kvijayan)
Comment on attachment 687374 [details] [diff] [review] Part 1: Fix some bugs Review of attachment 687374 [details] [diff] [review]: ----------------------------------------------------------------- Everything looks OK, but I am not very familiar with the frame code. For example, I don't understand why we need to change frame types for JS, BaselineStub, and Rectifier to "Bailed" variants when their children bail. I can't see anything really wrong with the changes, though. R+ing.
Attachment #687374 - Flags: review?(kvijayan) → review+
Comment on attachment 687380 [details] [diff] [review] Part 2: Compile GETGNAME Review of attachment 687380 [details] [diff] [review]: ----------------------------------------------------------------- Looks good.
Attachment #687380 - Flags: review?(kvijayan) → review+
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.

Attachment

General

Created:
Updated:
Size: