Closed
Bug 820406
Opened 13 years ago
Closed 13 years ago
BaselineCompiler: Store the scope chain
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: jandem, Assigned: jandem)
References
Details
Attachments
(1 file, 1 obsolete file)
|
9.18 KB,
patch
|
djvj
:
review+
|
Details | Diff | Splinter Review |
Need this to compile DEFVAR, NAME etc.
| Assignee | ||
Comment 1•13 years ago
|
||
I tried to handle heavyweight functions too, but we have to compile more ops to test it. So this just aborts on heavyweight functions until we support DEFVAR, NAME, LAMBDA etc.
Attachment #691364 -
Flags: review?(kvijayan)
| Assignee | ||
Updated•13 years ago
|
Attachment #691364 -
Flags: review?(kvijayan)
| Assignee | ||
Comment 2•13 years ago
|
||
Attachment #691364 -
Attachment is obsolete: true
Attachment #691368 -
Flags: review?(kvijayan)
Comment 3•13 years ago
|
||
Comment on attachment 691368 [details] [diff] [review]
Patch
Review of attachment 691368 [details] [diff] [review]:
-----------------------------------------------------------------
Thanks for taking care of this. Unblocks some important ops for implementation.
::: js/src/ion/arm/IonFrames-arm.h
@@ +462,5 @@
> uint32_t loScratchValue;
> uint32_t hiScratchValue;
> size_t frameSize;
> + JSObject *scopeChain;
> + uint32_t dummy; // Keep frame 8-byte aligned.
I don't understand the need for this. Without it, BaselineFrame is 16 bytes on ARM. This bumps it to 20 bytes. Are we expecting the stack to be at a 4-byte offset when this is pushed?
Attachment #691368 -
Flags: review?(kvijayan) → review+
| Assignee | ||
Comment 4•13 years ago
|
||
(In reply to Kannan Vijayan [:djvj] from comment #3)
>
> I don't understand the need for this. Without it, BaselineFrame is 16 bytes
> on ARM. This bumps it to 20 bytes. Are we expecting the stack to be at a
> 4-byte offset when this is pushed?
Yeah, the 4-byte offset is for the old frame pointer we push on the stack. See the BaselineFrame static assert, it asserts (sizeof(BaselineFrame) + FramePointerOffset) % 8 == 0.
| Assignee | ||
Comment 5•13 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•