Closed Bug 605700 Opened 14 years ago Closed 14 years ago

TM: improve naming in LIR dumps

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: n.nethercote, Assigned: n.nethercote)

References

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file)

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.
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)
Attachment #487803 - Flags: review?(lw) → review+
Whiteboard: fixed-in-tracemonkey
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.

Attachment

General

Created:
Updated:
Size: