TI: Assertion failure: obj->isObject(), at jsinterp.cpp:5273

RESOLVED FIXED

Status

()

defect
--
critical
RESOLVED FIXED
8 years ago
8 years ago

People

(Reporter: decoder, Unassigned)

Tracking

(Blocks 2 bugs, {assertion, testcase})

Trunk
x86_64
Linux
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

The attached testcase asserts on TI revision bd40ad1be9d8. To run this test, see the README file in the archive (the test is fragile and cannot be detached from the driver easily as it seems).
The wrong PC was being used when calling one of several lambda-related stubs that avoid cloning the function in certain circumstances (the stub expects the wrong PC, and uses it to see whether to avoid the clone).  This led to an incorrect interpreter state after rejoining if the stubs triggered a recompilation (only possible now that GCs discard all jitcode on the stack).  The fix uses the correct PC for the call and stores the other PC in f.scratch for use by the stub.

http://hg.mozilla.org/projects/jaegermonkey/rev/d43c6dddeb2b
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Blocks: 676763
You need to log in before you can comment on or make changes to this bug.