Closed
Bug 504594
Opened 16 years ago
Closed 16 years ago
Addresses in nanojit-debug output are wrong on SPARC
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: wes, Unassigned)
Details
(Whiteboard: fixed-in-tracemonkey)
Attachments
(1 file)
|
19.91 KB,
patch
|
graydon
:
review+
|
Details | Diff | Splinter Review |
Nanojit-debug output:
00fed95f60 [prologue]
00fed95f64 nop
00fed95f68 nop
00fed95f6c nop
00fed95f70 save %sp, -152, %sp
GDB Disassembly:
0xfed95f60: nop
0xfed95f64: nop
0xfed95f68: nop
0xfed95f6c: save %sp, -152, %sp
0xfed95f70: ldsw [ %i1 + 0x10 ], %l1
The attached patch corrects this issue by inverting the order of instruction formating vs. asm_output() to match the x86 code (format, then output). The patch also removes a superflous verbose_only guard on asm_output() for the CALL instruction.
Thanks go to sewardj, his keen eyes spotted the root cause of this problem.
Even with this patch, there is still a small SPARC output bug: the NOP in the final branch delay slot (after the returning JMPL) does not have an address in the debug output. That NOP corresponds to asmOutput.data[0], so the epilogue looks like this:
00fed95fe4 [epilogue]
00fed95fe8 or %o0, 0, %i0
00fed95fec jmpl [%i7 + 8]
00fed95ff0 restore
00fed95ff4 sethi fedc2000, %g2
00fed95ff8 or %g2, 0, %g2
00fed95ffc jmpl [%g0 + %g2]
nop
| Reporter | ||
Updated•16 years ago
|
Attachment #388932 -
Flags: review?(graydon)
Comment 1•16 years ago
|
||
Comment on attachment 388932 [details] [diff] [review]
Patch to fix nanojit-debug addresses on SPARC
Looks good.
Attachment #388932 -
Flags: review?(graydon) → review+
| Reporter | ||
Updated•16 years ago
|
Keywords: checkin-needed
http://hg.mozilla.org/tamarin-redux/rev/e4fd2000638f
http://hg.mozilla.org/tracemonkey/rev/0f54349334ba
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Keywords: checkin-needed
Whiteboard: fixed-in-tracemonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•