Closed
Bug 583946
Opened 15 years ago
Closed 15 years ago
JM: mochitest-plain assert on content/canvas/test/test_canvas.html
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: dmandelin, Assigned: dmandelin)
References
Details
Attachments
(1 file)
2.28 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
Assertion failure: !hasReg(reg), at c:\sources\moo\js\src\methodjit/MachineRegs.h:209
TEST-UNEXPECTED-FAIL | /tests/content/canvas/test/test_canvas.html | Exited with code -1073741819 during test run
Assignee | ||
Comment 1•15 years ago
|
||
This bug happened inside the ImmutableSync machinery:
1. All registers were used, and a register was needed to sync a type.
2. The search for a register first tried eax, but that had already been allocated in the immutable sync.
3. The search next tried ecx. The frame entry in the regstate was 0, so it was taken without requiring any spilling. But this was wrong, because that register was actually pinned.
3. After picking ecx and using it, the immutable sync marked ecx free.
4. Later, when we tried to sync the item that had been using ecx (and had pinned it), we asserted because we tried to free ecx again when it had already been freed.
Attachment #462612 -
Flags: review?(dvander)
![]() |
||
Updated•15 years ago
|
Attachment #462612 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 2•15 years ago
|
||
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•