| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index 9ea0b19cbee5b7b74df95aa1920cf3195d87c37d..c334ed7670b520372a88fc6e8a287d9bd8ea0cc7 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -43,7 +43,6 @@ class ObjectLiteral;
|
| V(StoreBufferOverflow) \
|
| V(StoreElement) \
|
| V(SubString) \
|
| - V(StoreIC) \
|
| V(KeyedStoreIC) \
|
| V(KeyedLoadIC) \
|
| V(LoadGlobalIC) \
|
| @@ -62,7 +61,6 @@ class ObjectLiteral;
|
| V(CallICTrampoline) \
|
| V(KeyedLoadICTrampoline) \
|
| V(KeyedStoreICTrampoline) \
|
| - V(StoreICTrampoline) \
|
| /* --- HydrogenCodeStubs --- */ \
|
| V(StringAdd) \
|
| /* These builtins w/ JS linkage are */ \
|
| @@ -2103,13 +2101,15 @@ class KeyedLoadICTrampolineTFStub : public LoadICTrampolineStub {
|
| DEFINE_CODE_STUB(KeyedLoadICTrampolineTF, LoadICTrampolineStub);
|
| };
|
|
|
| -class StoreICTrampolineStub : public PlatformCodeStub {
|
| +class StoreICTrampolineTFStub : public TurboFanCodeStub {
|
| public:
|
| - StoreICTrampolineStub(Isolate* isolate, const StoreICState& state)
|
| - : PlatformCodeStub(isolate) {
|
| + StoreICTrampolineTFStub(Isolate* isolate, const StoreICState& state)
|
| + : TurboFanCodeStub(isolate) {
|
| minor_key_ = state.GetExtraICState();
|
| }
|
|
|
| + void GenerateAssembly(CodeStubAssembler* assembler) const override;
|
| +
|
| Code::Kind GetCodeKind() const override { return Code::STORE_IC; }
|
|
|
| ExtraICState GetExtraICState() const final {
|
| @@ -2119,21 +2119,19 @@ class StoreICTrampolineStub : public PlatformCodeStub {
|
| protected:
|
| StoreICState state() const { return StoreICState(GetExtraICState()); }
|
|
|
| - private:
|
| DEFINE_CALL_INTERFACE_DESCRIPTOR(Store);
|
| - DEFINE_PLATFORM_CODE_STUB(StoreICTrampoline, PlatformCodeStub);
|
| + DEFINE_CODE_STUB(StoreICTrampolineTF, TurboFanCodeStub);
|
| };
|
|
|
| -class StoreICTrampolineTFStub : public TurboFanCodeStub {
|
| +class KeyedStoreICTrampolineStub : public PlatformCodeStub {
|
| public:
|
| - StoreICTrampolineTFStub(Isolate* isolate, const StoreICState& state)
|
| - : TurboFanCodeStub(isolate) {
|
| + KeyedStoreICTrampolineStub(Isolate* isolate, const StoreICState& state)
|
| + : PlatformCodeStub(isolate) {
|
| minor_key_ = state.GetExtraICState();
|
| }
|
|
|
| - void GenerateAssembly(CodeStubAssembler* assembler) const override;
|
| + Code::Kind GetCodeKind() const override { return Code::KEYED_STORE_IC; }
|
|
|
| - Code::Kind GetCodeKind() const override { return Code::STORE_IC; }
|
| ExtraICState GetExtraICState() const final {
|
| return static_cast<ExtraICState>(minor_key_);
|
| }
|
| @@ -2141,18 +2139,9 @@ class StoreICTrampolineTFStub : public TurboFanCodeStub {
|
| protected:
|
| StoreICState state() const { return StoreICState(GetExtraICState()); }
|
|
|
| + private:
|
| DEFINE_CALL_INTERFACE_DESCRIPTOR(Store);
|
| - DEFINE_CODE_STUB(StoreICTrampolineTF, TurboFanCodeStub);
|
| -};
|
| -
|
| -class KeyedStoreICTrampolineStub : public StoreICTrampolineStub {
|
| - public:
|
| - KeyedStoreICTrampolineStub(Isolate* isolate, const StoreICState& state)
|
| - : StoreICTrampolineStub(isolate, state) {}
|
| -
|
| - Code::Kind GetCodeKind() const override { return Code::KEYED_STORE_IC; }
|
| -
|
| - DEFINE_PLATFORM_CODE_STUB(KeyedStoreICTrampoline, StoreICTrampolineStub);
|
| + DEFINE_PLATFORM_CODE_STUB(KeyedStoreICTrampoline, PlatformCodeStub);
|
| };
|
|
|
|
|
| @@ -2235,28 +2224,6 @@ class KeyedLoadICTFStub : public LoadICStub {
|
| DEFINE_CODE_STUB(KeyedLoadICTF, LoadICStub);
|
| };
|
|
|
| -class StoreICStub : public PlatformCodeStub {
|
| - public:
|
| - StoreICStub(Isolate* isolate, const StoreICState& state)
|
| - : PlatformCodeStub(isolate) {
|
| - minor_key_ = state.GetExtraICState();
|
| - }
|
| -
|
| - void GenerateForTrampoline(MacroAssembler* masm);
|
| -
|
| - Code::Kind GetCodeKind() const final { return Code::STORE_IC; }
|
| -
|
| - ExtraICState GetExtraICState() const final {
|
| - return static_cast<ExtraICState>(minor_key_);
|
| - }
|
| -
|
| - DEFINE_CALL_INTERFACE_DESCRIPTOR(StoreWithVector);
|
| - DEFINE_PLATFORM_CODE_STUB(StoreIC, PlatformCodeStub);
|
| -
|
| - protected:
|
| - void GenerateImpl(MacroAssembler* masm, bool in_frame);
|
| -};
|
| -
|
| class StoreICTFStub : public TurboFanCodeStub {
|
| public:
|
| StoreICTFStub(Isolate* isolate, const StoreICState& state)
|
|
|