Closed
Bug 476716
Opened 16 years ago
Closed 16 years ago
Unmacroize ip_adj helpers.
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: jorendorff, Assigned: jorendorff)
Details
(Keywords: fixed1.9.1, Whiteboard: fixed-in-tracemonkey)
Attachments
(1 file, 1 obsolete file)
17.14 KB,
patch
|
brendan
:
review+
|
Details | Diff | Splinter Review |
I did this in the process of debugging bug 462027 comment 54, and I'd like to commit the change.
Attachment #360365 -
Flags: review?(brendan)
Comment 2•16 years ago
|
||
Comment on attachment 360365 [details] [diff] [review]
v1
The NAMING_CONVENTION shouts MACRO! but that's ok -- can clean up later, or leave as a warning and a mystery ;-).
/be
Attachment #360365 -
Flags: review?(brendan) → review+
Comment 3•16 years ago
|
||
Comment on attachment 360365 [details] [diff] [review]
v1
>+FI_IMACRO_PC(const FrameInfo &fi, JSStackFrame *fp)
>+{
>+ if (IMACRO_PC_ADJ(fi.ip_adj))
>+ return imacro_code[*FI_SCRIPT_PC(fi, fp)] + IMACRO_PC_ADJ(fi.ip_adj);
>+ return NULL;
>+}
[...]
>+DECODE_IP_ADJ(uintptr_t ip, JSStackFrame *fp)
>+{
>+ if (IMACRO_PC_ADJ(ip)) {
>+ fp->imacpc = fp->script->code + SCRIPT_PC_ADJ(ip);
>+ fp->regs->pc = imacro_code[*fp->imacpc] + IMACRO_PC_ADJ(ip);
Now that these are inlines, would it be clearer to avoid repeating calls and counting on CSE, and use a local var to capture the result of one call to IMACRO_PC_ADJ(ip)?
/be
Assignee | ||
Comment 4•16 years ago
|
||
Completely different patch.
A minor drawback with this approach is that the numbers in the debug spew for LIR guard instructions are now pointers, not bytecode offsets:
xf1: xf eq1 -> 0x30db81:0x0 sp+0 rp+0
I can live with it.
Assignee: general → jorendorff
Attachment #360365 -
Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #361607 -
Flags: review?(brendan)
Comment 5•16 years ago
|
||
Comment on attachment 361607 [details] [diff] [review]
v2
Great! Bye-byte imacro_code. Thanks,
/be
Attachment #361607 -
Flags: review?(brendan) → review+
Assignee | ||
Comment 6•16 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 7•16 years ago
|
||
Reopening because this is nominated for 1.9.1 (nothing wrong with the patch, which is still in tracemonkey).
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Whiteboard: fixed-in-tracemonkey
Comment 8•16 years ago
|
||
Keywords: fixed1.9.1
Updated•16 years ago
|
Status: REOPENED → RESOLVED
Closed: 16 years ago → 16 years ago
Flags: wanted1.9.1? → wanted1.9.1+
Resolution: --- → FIXED
Updated•16 years ago
|
Flags: in-testsuite-
You need to log in
before you can comment on or make changes to this bug.
Description
•