Closed Bug 836742 Opened 13 years ago Closed 12 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+
Status: ASSIGNED → RESOLVED
Closed: 12 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: