Closed
Bug 552374
Opened 15 years ago
Closed 15 years ago
nanojit: clean up asm_spill() and friends a little
Categories
(Core Graveyard :: Nanojit, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: n.nethercote, Assigned: n.nethercote)
References
Details
(Whiteboard: fixed-in-nanojit, fixed-in-tracemonkey, fixed-in-tamarin)
Attachments
(1 file)
25.31 KB,
patch
|
edwsmith
:
review+
|
Details | Diff | Splinter Review |
This patch has some slight clean-ups to asm_spill() and
friends. I was hoping to clean things up more, but failed. 'pop' really
bugs me :(
- Rename asm_spilli() as asm_maybe_spill(), because it doesn't always spill.
- Move the post-spill handling of the i386-only 'pop' case into
prepareResultReg(), which already has the computation of 'pop'.
- Only call asm_spill() if a spill is necessary; avoids a test in each
back-end's copy of asm_spill().
- Using 'i' for non-integer variable names is a bad idea. Avoid a few more
of these.
- Remove the no-longer-needed 'pop' arg to deprecated_freeRsrcOf().
Attachment #432496 -
Flags: review?(edwsmith)
Updated•15 years ago
|
Attachment #432496 -
Flags: review?(edwsmith) → review+
Comment 2•15 years ago
|
||
Comment on attachment 432496 [details] [diff] [review]
patch
Assembler.cpp:587: the comment should read "...no longer used on i386..."
Assembler.cpp:647: TR does hit this assert. In AS3 a call to a function that is declared to return Number will emit a non-pure LIR_fcall with the result ignored, e.g.
package {
function f():Number { return 0 }
f()
}
In the TR regressions, it happens in these three tests:
as3/Definitions/FunctionAccessors/GetSuper.abc
ecma3/GlobalObject/e15_1_2_2_1.abc
ecma3/String/e15_5_4_5_4.abc
Tests run fine with the assert removed. R+ with those minor changes.
![]() |
Assignee | |
Comment 3•15 years ago
|
||
NJ: http://hg.mozilla.org/projects/nanojit-central/rev/5806c6f3bf12
TM: http://hg.mozilla.org/tracemonkey/rev/5ff90d0961a7
Whiteboard: fixed-in-nanojit, fixed-in-tracemonkey
Comment 4•15 years ago
|
||
Whiteboard: fixed-in-nanojit, fixed-in-tracemonkey → fixed-in-nanojit, fixed-in-tracemonkey, fixed-in-tamarin
Comment 5•15 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Updated•11 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•