Fix DoHasInstanceType on ARM
authorjkummerow@chromium.org <jkummerow@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 20 Jun 2011 12:45:09 +0000 (12:45 +0000)
committerjkummerow@chromium.org <jkummerow@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 20 Jun 2011 12:45:09 +0000 (12:45 +0000)
Was broken by the recent JumpIfSmi() cleanup.

TEST=es5conform

Review URL: http://codereview.chromium.org/7206023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/arm/lithium-codegen-arm.cc

index 014556f..04712dc 100644 (file)
@@ -1990,8 +1990,9 @@ void LCodeGen::DoHasInstanceType(LHasInstanceType* instr) {
 
   ASSERT(instr->hydrogen()->value()->representation().IsTagged());
   Label done;
+  __ tst(input, Operand(kSmiTagMask));
   __ LoadRoot(result, Heap::kFalseValueRootIndex, eq);
-  __ JumpIfSmi(input, &done);
+  __ b(eq, &done);
   __ CompareObjectType(input, result, result, TestType(instr->hydrogen()));
   Condition cond = BranchCondition(instr->hydrogen());
   __ LoadRoot(result, Heap::kTrueValueRootIndex, cond);