Closed
Bug 836742
Opened 13 years ago
Closed 12 years ago
BaselineCompiler: Fix debugger test failures
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: jandem, Assigned: jandem)
References
Details
Attachments
(3 files, 1 obsolete file)
1006 bytes,
patch
|
djvj
:
review+
|
Details | Diff | Splinter Review |
12.79 KB,
patch
|
nbp
:
review+
|
Details | Diff | Splinter Review |
2.08 KB,
patch
|
djvj
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Assignee | ||
Comment 1•13 years ago
|
||
Turns out many debugger tests use the debugger-statement, and these scripts use SETALISEDVAR in the prologue to store the arguments object.
So compiling *ALIASEDVAR uncovered some debugger problems, going to attach some patches to address these first.
Assignee | ||
Comment 2•13 years ago
|
||
Attachment #709051 -
Flags: review?(kvijayan)
Updated•13 years ago
|
Attachment #709051 -
Flags: review?(kvijayan) → review+
Assignee | ||
Comment 3•13 years ago
|
||
In ion::HandleException, we loop over all frames to close live iterators, and the baseline compiler also looks for catch-handlers. If it finds a catch block, it jumps to it.
In debug mode this is wrong though: we call OnPop and OnExceptionUnwind debugger hooks, and these can query the top most frame. So if ion::HandleException moves past a BaselineJS frame, it has to pop the frame immediately by updating ionTop.
The easiest way to do this is by reusing EnsureExitFrame. This is the m-c part, let me know if you can think of another way to do this.
Attachment #709060 -
Flags: review?(nicolas.b.pierron)
Comment 4•13 years ago
|
||
Comment on attachment 709060 [details] [diff] [review]
Part 2: IonFrame_Bailed_* changes
Review of attachment 709060 [details] [diff] [review]:
-----------------------------------------------------------------
Exporting EnsureExitFrame(IonCommonFrameLayout *frame), r=me
Renaming Bailed_* to Exit_* is boggus as there is no ExitFrame tag on the stack. As discussed on IRC, Unwind_* / Unwound_* would be better for sharing them with Baseline frame exception handling (which might stop on frmae pop).
Attachment #709060 -
Flags: review?(nicolas.b.pierron)
Assignee | ||
Comment 5•13 years ago
|
||
Assignee | ||
Comment 6•12 years ago
|
||
Now uses IonFrame_Unwound_* instead of IonFrame_Exit_*
Attachment #709060 -
Attachment is obsolete: true
Attachment #711763 -
Flags: review?(nicolas.b.pierron)
Updated•12 years ago
|
Attachment #711763 -
Flags: review?(nicolas.b.pierron) → review+
Assignee | ||
Comment 7•12 years ago
|
||
Assignee | ||
Updated•12 years ago
|
Summary: BaselineCompiler: Compile ALIASEDVAR ops → BaselineCompiler: Fix debugger test failures
Whiteboard: [leave open]
Comment 8•12 years ago
|
||
Assignee | ||
Comment 9•12 years ago
|
||
Fixes the debug/Frame-live-02.js failure + adds an extra test that also failed without the patch.
Attachment #712375 -
Flags: review?(kvijayan)
Updated•12 years ago
|
Attachment #712375 -
Flags: review?(kvijayan) → review+
Assignee | ||
Comment 10•12 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•12 years ago
|
Whiteboard: [leave open]
You need to log in
before you can comment on or make changes to this bug.
Description
•