Revision: 10017
Author: [email protected]
Date: Thu Nov 17 05:35:15 2011
Log: MIPS: Fixed a minor inconsistency in lithium-codegen-mips.cc
EmitIsObject is only called from one function, DoIsObjectAndBranch.
DoIsObjectAndBranch now passes the temp2 register to EmitIsObject
instead of simply relying on the two functions using the same
lithium scratch register.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8588004
Patch from Gergely Kis <[email protected]>.
http://code.google.com/p/v8/source/detail?r=10017
Modified:
/branches/bleeding_edge/src/mips/lithium-codegen-mips.cc
/branches/bleeding_edge/src/mips/lithium-codegen-mips.h
=======================================
--- /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Thu Nov 17
05:33:56 2011
+++ /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Thu Nov 17
05:35:15 2011
@@ -1681,9 +1681,9 @@
Condition LCodeGen::EmitIsObject(Register input,
Register temp1,
+ Register temp2,
Label* is_not_object,
Label* is_object) {
- Register temp2 = scratch0();
__ JumpIfSmi(input, is_not_object);
__ LoadRoot(temp2, Heap::kNullValueRootIndex);
@@ -1716,7 +1716,7 @@
Label* false_label = chunk_->GetAssemblyLabel(false_block);
Condition true_cond =
- EmitIsObject(reg, temp1, false_label, true_label);
+ EmitIsObject(reg, temp1, temp2, false_label, true_label);
EmitBranch(true_block, false_block, true_cond, temp2,
Operand(LAST_NONCALLABLE_SPEC_OBJECT_TYPE));
=======================================
--- /branches/bleeding_edge/src/mips/lithium-codegen-mips.h Tue Nov 8
01:56:09 2011
+++ /branches/bleeding_edge/src/mips/lithium-codegen-mips.h Thu Nov 17
05:35:15 2011
@@ -300,6 +300,7 @@
// true and false label should be made, to optimize fallthrough.
Condition EmitIsObject(Register input,
Register temp1,
+ Register temp2,
Label* is_not_object,
Label* is_object);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev