| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index c43cb2f3efc56acf3080dd0c8e9b2999912c1b07..dea29dcbc55e01354251880e22509182ef0ae0bb 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -1944,7 +1944,9 @@ class KeyedLoadGenericStub : public HydrogenCodeStub {
|
| class LoadICTrampolineStub : public PlatformCodeStub {
|
| public:
|
| LoadICTrampolineStub(Isolate* isolate, const LoadIC::State& state)
|
| - : PlatformCodeStub(isolate), state_(state) {}
|
| + : PlatformCodeStub(isolate) {
|
| + minor_key_ = state.GetExtraICState();
|
| + }
|
|
|
| virtual Code::Kind GetCodeKind() const V8_OVERRIDE { return Code::LOAD_IC; }
|
|
|
| @@ -1953,17 +1955,18 @@ class LoadICTrampolineStub : public PlatformCodeStub {
|
| }
|
|
|
| virtual ExtraICState GetExtraICState() const V8_FINAL V8_OVERRIDE {
|
| - return state_.GetExtraICState();
|
| + return static_cast<ExtraICState>(minor_key_);
|
| }
|
|
|
| + virtual Major MajorKey() const V8_OVERRIDE { return LoadICTrampoline; }
|
| +
|
| private:
|
| - Major MajorKey() const { return LoadICTrampoline; }
|
| - uint32_t MinorKey() const { return GetExtraICState(); }
|
| + LoadIC::State state() const {
|
| + return LoadIC::State(static_cast<ExtraICState>(minor_key_));
|
| + }
|
|
|
| virtual void Generate(MacroAssembler* masm);
|
|
|
| - const LoadIC::State state_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(LoadICTrampolineStub);
|
| };
|
|
|
| @@ -1977,9 +1980,9 @@ class KeyedLoadICTrampolineStub : public LoadICTrampolineStub {
|
| return Code::KEYED_LOAD_IC;
|
| }
|
|
|
| - private:
|
| - Major MajorKey() const { return KeyedLoadICTrampoline; }
|
| + virtual Major MajorKey() const V8_OVERRIDE { return KeyedLoadICTrampoline; }
|
|
|
| + private:
|
| virtual void Generate(MacroAssembler* masm);
|
|
|
| DISALLOW_COPY_AND_ASSIGN(KeyedLoadICTrampolineStub);
|
| @@ -2008,8 +2011,9 @@ class VectorLoadStub : public HydrogenCodeStub {
|
| return state_.GetExtraICState();
|
| }
|
|
|
| + virtual Major MajorKey() const V8_OVERRIDE { return VectorLoad; }
|
| +
|
| private:
|
| - Major MajorKey() const { return VectorLoad; }
|
| int NotMissMinorKey() const { return state_.GetExtraICState(); }
|
|
|
| const LoadIC::State state_;
|
| @@ -2034,9 +2038,9 @@ class VectorKeyedLoadStub : public VectorLoadStub {
|
| return Code::KEYED_LOAD_IC;
|
| }
|
|
|
| - private:
|
| - Major MajorKey() const { return VectorKeyedLoad; }
|
| + virtual Major MajorKey() const V8_OVERRIDE { return VectorKeyedLoad; }
|
|
|
| + private:
|
| DISALLOW_COPY_AND_ASSIGN(VectorKeyedLoadStub);
|
| };
|
|
|
|
|