| Index: src/ic.h
|
| diff --git a/src/ic.h b/src/ic.h
|
| index 78c364229ffcf67a0d78306698138b7c95e8e9f5..f5f822b7e5f8e9a89e6f896794b7203c43e09e4e 100644
|
| --- a/src/ic.h
|
| +++ b/src/ic.h
|
| @@ -584,43 +584,6 @@ enum KeyedStoreIncrementLength {
|
|
|
| class KeyedStoreIC: public StoreIC {
|
| public:
|
| - enum StubKind {
|
| - STORE_NO_TRANSITION,
|
| - STORE_TRANSITION_SMI_TO_OBJECT,
|
| - STORE_TRANSITION_SMI_TO_DOUBLE,
|
| - STORE_TRANSITION_DOUBLE_TO_OBJECT,
|
| - STORE_TRANSITION_HOLEY_SMI_TO_OBJECT,
|
| - STORE_TRANSITION_HOLEY_SMI_TO_DOUBLE,
|
| - STORE_TRANSITION_HOLEY_DOUBLE_TO_OBJECT,
|
| - STORE_AND_GROW_NO_TRANSITION,
|
| - STORE_AND_GROW_TRANSITION_SMI_TO_OBJECT,
|
| - STORE_AND_GROW_TRANSITION_SMI_TO_DOUBLE,
|
| - STORE_AND_GROW_TRANSITION_DOUBLE_TO_OBJECT,
|
| - STORE_AND_GROW_TRANSITION_HOLEY_SMI_TO_OBJECT,
|
| - STORE_AND_GROW_TRANSITION_HOLEY_SMI_TO_DOUBLE,
|
| - STORE_AND_GROW_TRANSITION_HOLEY_DOUBLE_TO_OBJECT
|
| - };
|
| -
|
| - static const int kGrowICDelta = STORE_AND_GROW_NO_TRANSITION -
|
| - STORE_NO_TRANSITION;
|
| - STATIC_ASSERT(kGrowICDelta ==
|
| - STORE_AND_GROW_TRANSITION_SMI_TO_OBJECT -
|
| - STORE_TRANSITION_SMI_TO_OBJECT);
|
| - STATIC_ASSERT(kGrowICDelta ==
|
| - STORE_AND_GROW_TRANSITION_SMI_TO_DOUBLE -
|
| - STORE_TRANSITION_SMI_TO_DOUBLE);
|
| - STATIC_ASSERT(kGrowICDelta ==
|
| - STORE_AND_GROW_TRANSITION_DOUBLE_TO_OBJECT -
|
| - STORE_TRANSITION_DOUBLE_TO_OBJECT);
|
| -
|
| - static inline StubKind GetGrowStubKind(StubKind stub_kind) {
|
| - if (stub_kind < STORE_AND_GROW_NO_TRANSITION) {
|
| - stub_kind = static_cast<StubKind>(static_cast<int>(stub_kind) +
|
| - kGrowICDelta);
|
| - }
|
| - return stub_kind;
|
| - }
|
| -
|
| explicit KeyedStoreIC(Isolate* isolate) : StoreIC(isolate) {
|
| ASSERT(target()->is_keyed_store_stub());
|
| }
|
| @@ -662,7 +625,7 @@ class KeyedStoreIC: public StoreIC {
|
| }
|
|
|
| Handle<Code> StoreElementStub(Handle<JSObject> receiver,
|
| - StubKind stub_kind,
|
| + KeyedAccessStoreMode store_mode,
|
| StrictModeFlag strict_mode);
|
|
|
| private:
|
| @@ -692,27 +655,12 @@ class KeyedStoreIC: public StoreIC {
|
|
|
| static void Clear(Address address, Code* target);
|
|
|
| - StubKind GetStubKind(Handle<JSObject> receiver,
|
| - Handle<Object> key,
|
| - Handle<Object> value);
|
| -
|
| - static bool IsTransitionStubKind(StubKind stub_kind) {
|
| - return stub_kind > STORE_NO_TRANSITION &&
|
| - stub_kind != STORE_AND_GROW_NO_TRANSITION;
|
| - }
|
| -
|
| - static bool IsGrowStubKind(StubKind stub_kind) {
|
| - return stub_kind >= STORE_AND_GROW_NO_TRANSITION;
|
| - }
|
| -
|
| - static StubKind GetNoTransitionStubKind(StubKind stub_kind) {
|
| - if (!IsTransitionStubKind(stub_kind)) return stub_kind;
|
| - if (IsGrowStubKind(stub_kind)) return STORE_AND_GROW_NO_TRANSITION;
|
| - return STORE_NO_TRANSITION;
|
| - }
|
| + KeyedAccessStoreMode GetStoreMode(Handle<JSObject> receiver,
|
| + Handle<Object> key,
|
| + Handle<Object> value);
|
|
|
| Handle<Map> ComputeTransitionedMap(Handle<JSObject> receiver,
|
| - StubKind stub_kind);
|
| + KeyedAccessStoreMode store_mode);
|
|
|
| friend class IC;
|
| };
|
| @@ -836,7 +784,6 @@ class ToBooleanIC: public IC {
|
| enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK };
|
| void PatchInlinedSmiCode(Address address, InlinedSmiCheck check);
|
|
|
| -DECLARE_RUNTIME_FUNCTION(MaybeObject*, KeyedLoadIC_Miss);
|
| DECLARE_RUNTIME_FUNCTION(MaybeObject*, KeyedLoadIC_MissFromStubFailure);
|
|
|
| } } // namespace v8::internal
|
|
|