Closed
Bug 605700
Opened 14 years ago
Closed 14 years ago
TM: improve naming in LIR dumps
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: n.nethercote, Assigned: n.nethercote)
References
Details
(Whiteboard: fixed-in-tracemonkey)
Attachments
(1 file)
(deleted),
patch
|
luke
:
review+
|
Details | Diff | Splinter Review |
Bug 602703 overhauls how LIR is generated in jstracer.cpp. To facilitate testing, in that bug's patches I ensured that the generated LIR was unchanged. But there are opportunities to give more meaningful names to a lot of values in LIR dumps. This bug is for doing that.
Assignee | ||
Comment 1•14 years ago
|
||
This patch adds a lot of extra names to LIR instructions. Here's a small example of the changes, from GETELEM:
- addi3 = addi slots4, lshi1
- ldi7 = ldi.slots addi3[4]
- eqi5 = eqi ldi7, JSVAL_TAG_INT32/*......*/
- xf5: xf eqi5 -> pc=...... imacpc=(nil) sp+32 rp+0 (......)
- ldi5 = ldi.slots addi3[0]
- sti.sp sp[16] = ldi5
+ elemp3 = addi slots4, lshi1
+ tag4 = ldi.slots elemp3[4]
+ isInt3 = eqi tag4, JSVAL_TAG_INT32/*......*/
+ xf5: xf isInt3 -> pc=...... imacpc=(nil) sp+32 rp+0 (......)
+ payload3 = ldi.slots elemp3[0]
+ sti.sp sp[16] = payload3
And some of the cases where the naming was done in jstracer.cpp, the naming is now done in Writer.h. It also removes some stupid cases where eg. 0 is given the name "0" (unnecessary because immediates always have their value printed next to their name). And there's a tiny bit of LIR reordering that won't affect perf at all.
Attachment #487803 -
Flags: review?(lw)
Updated•14 years ago
|
Attachment #487803 -
Flags: review?(lw) → review+
Assignee | ||
Comment 2•14 years ago
|
||
Whiteboard: fixed-in-tracemonkey
Comment 3•14 years ago
|
||
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
•