| Index: src/code-stubs.h
 | 
| diff --git a/src/code-stubs.h b/src/code-stubs.h
 | 
| index 14e7f30cc690df2de6bcb439b9a9e4b5214fb20a..43c8a272397634f05c60f50939fa2a00a2020907 100644
 | 
| --- a/src/code-stubs.h
 | 
| +++ b/src/code-stubs.h
 | 
| @@ -91,7 +91,6 @@ class ObjectLiteral;
 | 
|    V(LoadField)                                \
 | 
|    V(LoadScriptContextField)                   \
 | 
|    V(StoreFastElement)                         \
 | 
| -  V(StoreGlobal)                              \
 | 
|    V(StoreScriptContextField)                  \
 | 
|    V(StoreTransition)                          \
 | 
|    /* These should never be ported to TF */    \
 | 
| @@ -168,6 +167,7 @@ class ObjectLiteral;
 | 
|    V(LoadICTF)                                 \
 | 
|    V(KeyedLoadICTF)                            \
 | 
|    V(StoreField)                               \
 | 
| +  V(StoreGlobal)                              \
 | 
|    V(StoreInterceptor)                         \
 | 
|    V(LoadApiGetter)                            \
 | 
|    V(LoadIndexedInterceptor)                   \
 | 
| @@ -1774,20 +1774,22 @@ class StoreTransitionStub : public HandlerStub {
 | 
|    DEFINE_HANDLER_CODE_STUB(StoreTransition, HandlerStub);
 | 
|  };
 | 
|  
 | 
| -
 | 
| -class StoreGlobalStub : public HandlerStub {
 | 
| +class StoreGlobalStub : public TurboFanCodeStub {
 | 
|   public:
 | 
|    StoreGlobalStub(Isolate* isolate, PropertyCellType type,
 | 
|                    Maybe<PropertyCellConstantType> constant_type,
 | 
|                    bool check_global)
 | 
| -      : HandlerStub(isolate) {
 | 
| +      : TurboFanCodeStub(isolate) {
 | 
|      PropertyCellConstantType encoded_constant_type =
 | 
|          constant_type.FromMaybe(PropertyCellConstantType::kSmi);
 | 
| -    set_sub_minor_key(CellTypeBits::encode(type) |
 | 
| -                      ConstantTypeBits::encode(encoded_constant_type) |
 | 
| -                      CheckGlobalBits::encode(check_global));
 | 
| +    minor_key_ = CellTypeBits::encode(type) |
 | 
| +                 ConstantTypeBits::encode(encoded_constant_type) |
 | 
| +                 CheckGlobalBits::encode(check_global);
 | 
|    }
 | 
|  
 | 
| +  Code::Kind GetCodeKind() const override { return Code::HANDLER; }
 | 
| +  ExtraICState GetExtraICState() const override { return Code::STORE_IC; }
 | 
| +
 | 
|    static Handle<HeapObject> property_cell_placeholder(Isolate* isolate) {
 | 
|      return isolate->factory()->uninitialized_value();
 | 
|    }
 | 
| @@ -1808,37 +1810,25 @@ class StoreGlobalStub : public HandlerStub {
 | 
|      return CodeStub::GetCodeCopy(pattern);
 | 
|    }
 | 
|  
 | 
| -  Code::Kind kind() const override { return Code::STORE_IC; }
 | 
| -
 | 
|    PropertyCellType cell_type() const {
 | 
| -    return CellTypeBits::decode(sub_minor_key());
 | 
| +    return CellTypeBits::decode(minor_key_);
 | 
|    }
 | 
|  
 | 
|    PropertyCellConstantType constant_type() const {
 | 
|      DCHECK(PropertyCellType::kConstantType == cell_type());
 | 
| -    return ConstantTypeBits::decode(sub_minor_key());
 | 
| +    return ConstantTypeBits::decode(minor_key_);
 | 
|    }
 | 
|  
 | 
| -  bool check_global() const { return CheckGlobalBits::decode(sub_minor_key()); }
 | 
| -
 | 
| -  Representation representation() {
 | 
| -    return Representation::FromKind(
 | 
| -        RepresentationBits::decode(sub_minor_key()));
 | 
| -  }
 | 
| -
 | 
| -  void set_representation(Representation r) {
 | 
| -    set_sub_minor_key(RepresentationBits::update(sub_minor_key(), r.kind()));
 | 
| -  }
 | 
| +  bool check_global() const { return CheckGlobalBits::decode(minor_key_); }
 | 
|  
 | 
|   private:
 | 
|    class CellTypeBits : public BitField<PropertyCellType, 0, 2> {};
 | 
| -  class ConstantTypeBits : public BitField<PropertyCellConstantType, 2, 2> {};
 | 
| -  class RepresentationBits : public BitField<Representation::Kind, 4, 8> {};
 | 
| -  class CheckGlobalBits : public BitField<bool, 12, 1> {};
 | 
| +  class ConstantTypeBits
 | 
| +      : public BitField<PropertyCellConstantType, CellTypeBits::kNext, 2> {};
 | 
| +  class CheckGlobalBits : public BitField<bool, ConstantTypeBits::kNext, 1> {};
 | 
|  
 | 
| -  // TODO(ishell): The stub uses only kValue parameter.
 | 
|    DEFINE_CALL_INTERFACE_DESCRIPTOR(StoreWithVector);
 | 
| -  DEFINE_HANDLER_CODE_STUB(StoreGlobal, HandlerStub);
 | 
| +  DEFINE_TURBOFAN_CODE_STUB(StoreGlobal, TurboFanCodeStub);
 | 
|  };
 | 
|  
 | 
|  // TODO(ishell): remove, once StoreGlobalIC is implemented.
 | 
| 
 |