Index: src/ia32/lithium-codegen-ia32.cc |
=================================================================== |
--- src/ia32/lithium-codegen-ia32.cc (revision 10366) |
+++ src/ia32/lithium-codegen-ia32.cc (working copy) |
@@ -1831,7 +1831,7 @@ |
// Branches to a label or falls through with the answer in the z flag. Trashes |
-// the temp registers, but not the input. Only input and temp2 may alias. |
+// the temp registers, but not the input. |
void LCodeGen::EmitClassOfTest(Label* is_true, |
Label* is_false, |
Handle<String>class_name, |
@@ -1839,7 +1839,8 @@ |
Register temp, |
Register temp2) { |
ASSERT(!input.is(temp)); |
- ASSERT(!temp.is(temp2)); // But input and temp2 may be the same register. |
+ ASSERT(!input.is(temp2)); |
+ ASSERT(!temp.is(temp2)); |
__ JumpIfSmi(input, is_false); |
if (class_name->IsEqualTo(CStrVector("Function"))) { |
@@ -1899,12 +1900,7 @@ |
Register input = ToRegister(instr->InputAt(0)); |
Register temp = ToRegister(instr->TempAt(0)); |
Register temp2 = ToRegister(instr->TempAt(1)); |
- if (input.is(temp)) { |
- // Swap. |
- Register swapper = temp; |
- temp = temp2; |
- temp2 = swapper; |
- } |
+ |
Handle<String> class_name = instr->hydrogen()->class_name(); |
int true_block = chunk_->LookupDestination(instr->true_block_id()); |