Index: src/arm/lithium-codegen-arm.cc |
=================================================================== |
--- src/arm/lithium-codegen-arm.cc (revision 7203) |
+++ src/arm/lithium-codegen-arm.cc (working copy) |
@@ -3525,12 +3525,18 @@ |
void LCodeGen::DoCheckSmi(LCheckSmi* instr) { |
LOperand* input = instr->InputAt(0); |
- ASSERT(input->IsRegister()); |
__ tst(ToRegister(input), Operand(kSmiTagMask)); |
- DeoptimizeIf(instr->condition(), instr->environment()); |
+ DeoptimizeIf(ne, instr->environment()); |
} |
+void LCodeGen::DoCheckNonSmi(LCheckNonSmi* instr) { |
+ LOperand* input = instr->InputAt(0); |
+ __ tst(ToRegister(input), Operand(kSmiTagMask)); |
+ DeoptimizeIf(eq, instr->environment()); |
+} |
+ |
+ |
void LCodeGen::DoCheckInstanceType(LCheckInstanceType* instr) { |
Register input = ToRegister(instr->InputAt(0)); |
Register scratch = scratch0(); |