From 3c812247aa9016ec07042198d010801b5234e468 Mon Sep 17 00:00:00 2001 From: "yangguo@chromium.org" Date: Tue, 4 Oct 2011 12:17:08 +0000 Subject: [PATCH] Simplify compares in KeyedStoreIC::GenerateGeneric. Review URL: http://codereview.chromium.org/8068024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/arm/ic-arm.cc | 6 +----- src/ia32/ic-ia32.cc | 6 +----- src/x64/ic-x64.cc | 6 +----- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/src/arm/ic-arm.cc b/src/arm/ic-arm.cc index 68a20cc..879b515 100644 --- a/src/arm/ic-arm.cc +++ b/src/arm/ic-arm.cc @@ -1297,12 +1297,8 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, __ cmp(r4, Operand(JS_ARRAY_TYPE)); __ b(eq, &array); // Check that the object is some kind of JSObject. - __ cmp(r4, Operand(FIRST_JS_RECEIVER_TYPE)); + __ cmp(r4, Operand(FIRST_JS_OBJECT_TYPE)); __ b(lt, &slow); - __ cmp(r4, Operand(JS_PROXY_TYPE)); - __ b(eq, &slow); - __ cmp(r4, Operand(JS_FUNCTION_PROXY_TYPE)); - __ b(eq, &slow); // Object case: Check key against length in the elements array. __ ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); diff --git a/src/ia32/ic-ia32.cc b/src/ia32/ic-ia32.cc index f66b289..4c72e56 100644 --- a/src/ia32/ic-ia32.cc +++ b/src/ia32/ic-ia32.cc @@ -752,12 +752,8 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, __ CmpInstanceType(edi, JS_ARRAY_TYPE); __ j(equal, &array); // Check that the object is some kind of JSObject. - __ CmpInstanceType(edi, FIRST_JS_RECEIVER_TYPE); + __ CmpInstanceType(edi, FIRST_JS_OBJECT_TYPE); __ j(below, &slow); - __ CmpInstanceType(edi, JS_PROXY_TYPE); - __ j(equal, &slow); - __ CmpInstanceType(edi, JS_FUNCTION_PROXY_TYPE); - __ j(equal, &slow); // Object case: Check key against length in the elements array. // eax: value diff --git a/src/x64/ic-x64.cc b/src/x64/ic-x64.cc index e9b2de7..4ae1785 100644 --- a/src/x64/ic-x64.cc +++ b/src/x64/ic-x64.cc @@ -626,12 +626,8 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, __ CmpInstanceType(r9, JS_ARRAY_TYPE); __ j(equal, &array); // Check that the object is some kind of JSObject. - __ CmpInstanceType(r9, FIRST_JS_RECEIVER_TYPE); + __ CmpInstanceType(r9, FIRST_JS_OBJECT_TYPE); __ j(below, &slow); - __ CmpInstanceType(r9, JS_PROXY_TYPE); - __ j(equal, &slow); - __ CmpInstanceType(r9, JS_FUNCTION_PROXY_TYPE); - __ j(equal, &slow); // Object case: Check key against length in the elements array. // rax: value -- 2.7.4