Closed
Bug 529218
Opened 16 years ago
Closed 15 years ago
nanojit: underrunProtect() fixes for X64 backend
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: n.nethercote, Assigned: n.nethercote)
References
Details
(Whiteboard: fixed-in-nanojit fixed-in-tamarin, fixed-in-tracemonkey)
Attachments
(2 files)
7.32 KB,
patch
|
edwsmith
:
review+
|
Details | Diff | Splinter Review |
810 bytes,
patch
|
Details | Diff | Splinter Review |
Bug 520712 introduced some underrunProtect() problems in the X64 backend. A follow-up patch fixed one of them, but there are several remaining. This patch fixes all of them, AFAICT, and commons out some code in the process hopefully making things less error-prone. (It also fixes a printf-style compile warning.)
I tested this by reducing the size of chunks allocated by codeAlloc to only 128 bytes. After doing that, without this patch, Tracemonkey was fairly crashy and Tamarin was totally crashy; with the patch both were fine, albeit slower than usual. (I tried 64 bytes as well but got assertions in the code allocator, that seems to be Just Too Small.)
Attachment #412778 -
Flags: review?(edwsmith)
![]() |
Assignee | |
Comment 1•16 years ago
|
||
In case anyone wants to try it out.
Comment 2•16 years ago
|
||
Comment on attachment 412778 [details] [diff] [review]
patch
Nice.
In the PPC backend, I introduced a PEDANTIC #define, to enable/disable stuff like this to stress-test various things. (small code chunks, limited registers, large displacements for loads, etc).
if you like that pattern, you could tie the codealloc chunk size to PEDANTIC. but totally optional and out of scope for this bug, probably.
Attachment #412778 -
Flags: review?(edwsmith) → review+
Comment 4•16 years ago
|
||
nanojit: http://hg.mozilla.org/projects/nanojit-central/rev/7972be620488
tamarin: http://hg.mozilla.org/tamarin-redux/rev/22912629a250
Whiteboard: fixed-in-nanojit fixed-in-tamarin
![]() |
Assignee | |
Comment 5•16 years ago
|
||
Whiteboard: fixed-in-nanojit fixed-in-tamarin → fixed-in-nanojit fixed-in-tamarin, fixed-in-tracemonkey
![]() |
Assignee | |
Comment 6•15 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•