Closed
Bug 670628
Opened 13 years ago
Closed 13 years ago
IonMonkey: Support floating point registers in linear scan register allocator
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: adrake, Assigned: adrake)
References
Details
Attachments
(2 files)
13.26 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
26.84 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
Currently floating point registers are not supported, and they should be.
Assignee | ||
Comment 1•13 years ago
|
||
This cleans up and isolates freeUntilPos/nextUse maps in prep for part 2.
Attachment #552753 -
Flags: review?(dvander)
Assignee | ||
Comment 2•13 years ago
|
||
Actually adds floating point support.
Attachment #552757 -
Flags: review?(dvander)
Updated•13 years ago
|
Attachment #552753 -
Flags: review?(dvander) → review+
Comment on attachment 552757 [details] [diff] [review] Part 2 v0 Review of attachment 552757 [details] [diff] [review]: ----------------------------------------------------------------- Yay! ::: js/src/ion/LinearScan.cpp @@ +726,5 @@ > + if (!assign(LFloatReg(best.fpu()))) > + return false; > + } else { > + if (!assign(LGeneralReg(best.gpr()))) > + return false; Could we make LAllocation take an AnyRegister instead? @@ +757,5 @@ > + if (!assign(LFloatReg(best.fpu()))) > + return false; > + } else { > + if (!assign(LGeneralReg(best.gpr()))) > + return false; Same. ::: js/src/ion/x86/Lowering-x86.cpp @@ +71,5 @@ > MDefinition *inner = box->getOperand(0); > > // If the box wrapped a double, it needs a new register. > if (inner->type() == MIRType_Double) > + return defineBox(new LBoxDouble(use(inner), temp(LDefinition::DOUBLE)), box); Please omit this change, bug 677339 removes it. @@ +119,5 @@ > > // With SSE < 4.1, use a slower (but still very efficient) sequence of > // instructions that needs a temporary register. Note that it also > // needs to read the type twice so we keep it in a register. > + LUnboxDouble *lir = new LUnboxDouble(temp(LDefinition::DOUBLE)); Ditto.
Attachment #552757 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 4•13 years ago
|
||
http://hg.mozilla.org/projects/ionmonkey/rev/8d3e5e4be933 http://hg.mozilla.org/projects/ionmonkey/rev/1e2078273deb
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•