Closed
Bug 836742
Opened 11 years ago
Closed 11 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•11 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•11 years ago
|
||
Attachment #709051 -
Flags: review?(kvijayan)
Updated•11 years ago
|
Attachment #709051 -
Flags: review?(kvijayan) → review+
Assignee | ||
Comment 3•11 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•11 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•11 years ago
|
||
Part 1: https://hg.mozilla.org/projects/ionmonkey/rev/b70cb746c192
Assignee | ||
Comment 6•11 years ago
|
||
Now uses IonFrame_Unwound_* instead of IonFrame_Exit_*
Attachment #709060 -
Attachment is obsolete: true
Attachment #711763 -
Flags: review?(nicolas.b.pierron)
Updated•11 years ago
|
Attachment #711763 -
Flags: review?(nicolas.b.pierron) → review+
Assignee | ||
Comment 7•11 years ago
|
||
Part 2: https://hg.mozilla.org/integration/mozilla-inbound/rev/872e3eb6841e
Assignee | ||
Updated•11 years ago
|
Summary: BaselineCompiler: Compile ALIASEDVAR ops → BaselineCompiler: Fix debugger test failures
Whiteboard: [leave open]
Comment 8•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/872e3eb6841e
Assignee | ||
Comment 9•11 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•11 years ago
|
Attachment #712375 -
Flags: review?(kvijayan) → review+
Assignee | ||
Comment 10•11 years ago
|
||
https://hg.mozilla.org/projects/ionmonkey/rev/44981f029a24
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•11 years ago
|
Whiteboard: [leave open]
You need to log in
before you can comment on or make changes to this bug.
Description
•