Reviewers: Rico,

Description:
Fix cast that fails to build on Windows.

Please review this at http://codereview.chromium.org/3044055/show

Affected files:
  M src/ia32/codegen-ia32.cc
  M src/ia32/full-codegen-ia32.cc


Index: src/ia32/codegen-ia32.cc
diff --git a/src/ia32/codegen-ia32.cc b/src/ia32/codegen-ia32.cc
index 6ab04644cad023d53d744a44309ccf792e5f1334..ba7785b2d093253fe5410be77a25d9a45b0b1f2c 100644
--- a/src/ia32/codegen-ia32.cc
+++ b/src/ia32/codegen-ia32.cc
@@ -7594,9 +7594,7 @@ void CodeGenerator::GenerateIsRegExpEquivalent(ZoneList<Expression*>* args) {
   __ and_(Operand(tmp), right);
   __ test(Operand(tmp), Immediate(kSmiTagMask));
   destination()->false_target()->Branch(equal);
-  __ mov(tmp, FieldOperand(left, HeapObject::kMapOffset));
-  __ cmpb(FieldOperand(tmp, Map::kInstanceTypeOffset),
-          static_cast<int8_t>(JS_REGEXP_TYPE));
+  __ CmpObjectType(left, JS_REGEXP_TYPE, tmp);
   destination()->false_target()->Branch(not_equal);
   __ cmp(tmp, FieldOperand(right, HeapObject::kMapOffset));
   destination()->false_target()->Branch(not_equal);
Index: src/ia32/full-codegen-ia32.cc
diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc
index d68d8cc8886f2e0c09d4d780ddc7991e2cdaecbb..eb944e6f78169025c17985802d37e3f09c611eb8 100644
--- a/src/ia32/full-codegen-ia32.cc
+++ b/src/ia32/full-codegen-ia32.cc
@@ -2696,9 +2696,7 @@ void FullCodeGenerator::EmitIsRegExpEquivalent(ZoneList<Expression*>* args) {
   __ and_(Operand(tmp), right);
   __ test(Operand(tmp), Immediate(kSmiTagMask));
   __ j(zero, &fail);
-  __ mov(tmp, FieldOperand(left, HeapObject::kMapOffset));
-  __ cmpb(FieldOperand(tmp, Map::kInstanceTypeOffset),
-          static_cast<int8_t>(JS_REGEXP_TYPE));
+  __ CmpObjectType(left, JS_REGEXP_TYPE, tmp);
   __ j(not_equal, &fail);
   __ cmp(tmp, FieldOperand(right, HeapObject::kMapOffset));
   __ j(not_equal, &fail);


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

Reply via email to