Fix cast that fails to build on Windows.
authorlrn@chromium.org <lrn@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 9 Aug 2010 12:44:48 +0000 (12:44 +0000)
committerlrn@chromium.org <lrn@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 9 Aug 2010 12:44:48 +0000 (12:44 +0000)
Review URL: http://codereview.chromium.org/3044055

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

src/ia32/codegen-ia32.cc
src/ia32/full-codegen-ia32.cc

index 6ab0464..ba7785b 100644 (file)
@@ -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 d68d8cc..eb944e6 100644 (file)
@@ -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);