Reviewers: Karl Klose,

Description:
ARM: Fix lithium codegeneration of TypeofIs

The previous implementation was incomplete and wrong.

[email protected]

Please review this at http://codereview.chromium.org/6113003/

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     src/arm/lithium-codegen-arm.cc


Index: src/arm/lithium-codegen-arm.cc
===================================================================
--- src/arm/lithium-codegen-arm.cc      (revision 6228)
+++ src/arm/lithium-codegen-arm.cc      (working copy)
@@ -2484,10 +2484,15 @@
                                                   &false_label,
                                                   input,
                                                   instr->type_literal());
+  __ b(final_branch_condition, &true_label);
+  __ bind(&false_label);
+  __ LoadRoot(result, Heap::kFalseValueRootIndex);
+  __ b(&done);

-  __ LoadRoot(result, Heap::kTrueValueRootIndex, final_branch_condition);
-  __ LoadRoot(result, Heap::kFalseValueRootIndex,
-              NegateCondition(final_branch_condition));
+  __ bind(&true_label);
+  __ LoadRoot(result, Heap::kTrueValueRootIndex);
+
+  __ bind(&done);
 }




--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to