Closed
Bug 610306
Opened 14 years ago
Closed 14 years ago
MarkStackRangeConservatively in jsgc.cpp marked wrong objects on big endian system.
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: leon.sha, Assigned: luke)
Details
(Whiteboard: fixed-in-tracemonkey)
Attachments
(2 files)
624 bytes,
patch
|
gal
:
review+
|
Details | Diff | Splinter Review |
1.61 KB,
patch
|
gal
:
review+
|
Details | Diff | Splinter Review |
"jsvals" have different layout on big endian system. We need to provide the real payload to scan.
Updated•14 years ago
|
Attachment #488806 -
Flags: review?(gal) → review+
Comment 2•14 years ago
|
||
It really feels to me like this should somehow live in Value...
Comment 3•14 years ago
|
||
Probably not a bad idea. Luke, want to do some magic here?
Assignee | ||
Comment 4•14 years ago
|
||
Whoa, this code has been 'optimized' since I touched it. Skipping every other word is only valid if every jsval on the stack is 64-bit aligned. I had an assert in js::Value accessors that 'this' was aligned, but I had to take it out since the compiler was misaligning jsvals (parameters in MSVC and temporaries in GCC, IIRC). jsvals aren't even declared to be aligned on MSVC. Thus, unless I'm missing something, I think the real fix is to mark every word.
Comment 5•14 years ago
|
||
I think this was intended for scanning the JIT stack, which is guaranteed to be aligned. At the very least there should always be a version that scans aligned memory.
Assignee | ||
Comment 6•14 years ago
|
||
(In reply to comment #5) > I think this was intended for scanning the JIT stack D'oh! I assumed this was in the C-stack scanner.
Assignee | ||
Comment 7•14 years ago
|
||
This encapsulates the value representation a bit more.
Assignee: leon.sha → lw
Attachment #488886 -
Flags: review?(gal)
Updated•14 years ago
|
Attachment #488886 -
Flags: review?(gal) → review+
Assignee | ||
Comment 8•14 years ago
|
||
http://hg.mozilla.org/tracemonkey/rev/18d56745c3e6
Whiteboard: fixed-in-tracemonkey
Comment 9•14 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/18d56745c3e6
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.
Description
•