Reviewers: Mads Ager,
Description:
Fix compilation failure on ia32 and x64.
TBR=ager
BUG=
TEST=
Please review this at http://codereview.chromium.org/6359001/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/arm/lithium-codegen-arm.cc
M src/frames.cc
Index: src/arm/lithium-codegen-arm.cc
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc
index
5f2404359311b7f87dc1ed5fd59b1bcb94b2469e..08ece67cab2a4c5223e4e95d04134dd6c8bb889e
100644
--- a/src/arm/lithium-codegen-arm.cc
+++ b/src/arm/lithium-codegen-arm.cc
@@ -999,6 +999,7 @@ void LCodeGen::DoUnknownOSRValue(LUnknownOSRValue*
instr) {
void LCodeGen::DoModI(LModI* instr) {
+ Abort("ModI not implemented");
class DeferredModI: public LDeferredCode {
public:
DeferredModI(LCodeGen* codegen, LModI* instr)
@@ -1054,6 +1055,7 @@ void LCodeGen::DoModI(LModI* instr) {
void LCodeGen::DoDivI(LDivI* instr) {
+ Abort("DivI not implemented");
class DeferredDivI: public LDeferredCode {
public:
DeferredDivI(LCodeGen* codegen, LDivI* instr)
@@ -1141,9 +1143,9 @@ void
LCodeGen::DoDeferredGenericBinaryStub(LBinaryOperation* instr,
__ PushSafepointRegistersAndDoubles();
GenericBinaryOpStub stub(op, OVERWRITE_LEFT, left, right);
__ CallStub(&stub);
- RecordSafepointWithRegisters(instr->pointer_map(),
- 0,
- Safepoint::kNoDeoptimizationIndex);
+ RecordSafepointWithRegistersAndDoubles(instr->pointer_map(),
+ 0,
+
Safepoint::kNoDeoptimizationIndex);
// Overwrite the stored value of r0 with the result of the stub.
__ str(r0, MemOperand(sp, DwVfpRegister::kNumAllocatableRegisters *
kDoubleSize));
Index: src/frames.cc
diff --git a/src/frames.cc b/src/frames.cc
index
bdc76a9bfeb7d9f972f3b1c9a61eabed8003ca1f..16ffbf5a94e61557879fb1a30de550db49c90338
100644
--- a/src/frames.cc
+++ b/src/frames.cc
@@ -554,6 +554,11 @@ void OptimizedFrame::Iterate(ObjectVisitor* v) const {
parameters_base += safepoint_entry.argument_count();
}
+ if (safepoint_entry.has_doubles()) {
+ parameters_base += DoubleRegister::kNumAllocatableRegisters *
+ kDoubleSize / kPointerSize;
+ }
+
// Visit the registers that contain pointers if any.
if (safepoint_entry.HasRegisters()) {
for (int i = kNumSafepointRegisters - 1; i >=0; i--) {
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev