Closed Bug 836742 Opened 11 years ago Closed 11 years ago

BaselineCompiler: Fix debugger test failures

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(3 files, 1 obsolete file)

      No description provided.
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.
Attachment #709051 - Flags: review?(kvijayan) → review+
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 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)
Now uses IonFrame_Unwound_* instead of IonFrame_Exit_*
Attachment #709060 - Attachment is obsolete: true
Attachment #711763 - Flags: review?(nicolas.b.pierron)
Attachment #711763 - Flags: review?(nicolas.b.pierron) → review+
Summary: BaselineCompiler: Compile ALIASEDVAR ops → BaselineCompiler: Fix debugger test failures
Whiteboard: [leave open]
Fixes the debug/Frame-live-02.js failure + adds an extra test that also failed without the patch.
Attachment #712375 - Flags: review?(kvijayan)
Attachment #712375 - Flags: review?(kvijayan) → review+
https://hg.mozilla.org/projects/ionmonkey/rev/44981f029a24
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Whiteboard: [leave open]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: