| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index c99302a44052997e1027eaedac0d48e483c037d5..57a7c0b7c26dca0bce9c787fd10a9474a7eb04e5 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -1191,7 +1191,9 @@ class BinaryOpICWithAllocationSiteStub V8_FINAL : public PlatformCodeStub {
|
| public:
|
| BinaryOpICWithAllocationSiteStub(Isolate* isolate,
|
| const BinaryOpIC::State& state)
|
| - : PlatformCodeStub(isolate), state_(state) {}
|
| + : PlatformCodeStub(isolate) {
|
| + minor_key_ = state.GetExtraICState();
|
| + }
|
|
|
| static void GenerateAheadOfTime(Isolate* isolate);
|
|
|
| @@ -1206,11 +1208,11 @@ class BinaryOpICWithAllocationSiteStub V8_FINAL : public PlatformCodeStub {
|
| }
|
|
|
| virtual InlineCacheState GetICState() const V8_OVERRIDE {
|
| - return state_.GetICState();
|
| + return state().GetICState();
|
| }
|
|
|
| virtual ExtraICState GetExtraICState() const V8_OVERRIDE {
|
| - return state_.GetExtraICState();
|
| + return static_cast<ExtraICState>(minor_key_);
|
| }
|
|
|
| virtual void Generate(MacroAssembler* masm) V8_OVERRIDE;
|
| @@ -1220,14 +1222,15 @@ class BinaryOpICWithAllocationSiteStub V8_FINAL : public PlatformCodeStub {
|
| virtual Major MajorKey() const V8_OVERRIDE {
|
| return BinaryOpICWithAllocationSite;
|
| }
|
| - virtual uint32_t MinorKey() const V8_OVERRIDE { return GetExtraICState(); }
|
|
|
| private:
|
| + BinaryOpIC::State state() const {
|
| + return BinaryOpIC::State(isolate(), static_cast<ExtraICState>(minor_key_));
|
| + }
|
| +
|
| static void GenerateAheadOfTime(Isolate* isolate,
|
| const BinaryOpIC::State& state);
|
|
|
| - BinaryOpIC::State state_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(BinaryOpICWithAllocationSiteStub);
|
| };
|
|
|
|
|