Closed Bug 581256 Opened 14 years ago Closed 14 years ago

JM: mochitest-plain failure on test_MochiKit-color.html

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dmandelin, Assigned: dmandelin)

References

Details

Attachments

(1 file)

343 ERROR TEST-UNEXPECTED-FAIL | /tests/MochiKit-1.4.2/tests/test_MochiKit-Color.html | rgba output correctly - got "rgba(undefined,0.5)", expected "rgba(0,255,255,0.5)"
Attached patch PatchSplinter Review
Cause: The compiler assumes that the JS frame is fully materialized (every value fully sync'd to memory) at control-flow branches and merges. This wasn't true along the slow path for relational-op/branch fused ops. In particular, a type tag wasn't being sync'd, causing a value to get the wrong type when reloaded from the frame.

The fix has two aspects:

- Before the slow call for relop/branch, sync the entire frame instead of just the top 2 stack elements.
- Any time we sync a data value, also sync the type tag.
Assignee: general → dmandelin
Status: NEW → ASSIGNED
Attachment #459978 - Flags: review?(dvander)
Comment on attachment 459978 [details] [diff] [review]
Patch

After reading ImmutableSync, I think it's okay, and this patch is enough. Thanks for taking.
Attachment #459978 - Flags: review?(dvander) → review+
http://hg.mozilla.org/users/danderson_mozilla.com/moo/rev/256863e70bf1
http://hg.mozilla.org/projects/jaegermonkey/rev/256863e70bf1

Looks like a 10ms slowdown on SunSpider on a fast machine.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: