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