| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index 5b9b5351d983ae04f5d8a75fa94e7aff6f562c43..925ad1e631b1d3a47d2976d5612ef6942ba2018e 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -64,10 +64,6 @@ class Node;
|
| /* used universally */ \
|
| V(CallICTrampoline) \
|
| /* --- HydrogenCodeStubs --- */ \
|
| - /* These will be ported/eliminated */ \
|
| - /* as part of the new IC system, ask */ \
|
| - /* ishell before doing anything */ \
|
| - V(LoadField) \
|
| /* These should never be ported to TF */ \
|
| /* because they are either used only by */ \
|
| /* FCG/Crankshaft or are deprecated */ \
|
| @@ -125,6 +121,7 @@ class Node;
|
| V(StoreInterceptor) \
|
| V(LoadApiGetter) \
|
| V(LoadIndexedInterceptor) \
|
| + V(LoadField) \
|
| V(GrowArrayElements) \
|
| /* These are only called from FGC and */ \
|
| /* can be removed when we use ignition */ \
|
| @@ -1167,28 +1164,16 @@ class HandlerStub : public HydrogenCodeStub {
|
| DEFINE_CODE_STUB_BASE(HandlerStub, HydrogenCodeStub);
|
| };
|
|
|
| -
|
| -class LoadFieldStub: public HandlerStub {
|
| +class LoadFieldStub : public TurboFanCodeStub {
|
| public:
|
| - LoadFieldStub(Isolate* isolate, FieldIndex index) : HandlerStub(isolate) {
|
| - int property_index_key = index.GetFieldAccessStubKey();
|
| - set_sub_minor_key(LoadFieldByIndexBits::encode(property_index_key));
|
| - }
|
| -
|
| - FieldIndex index() const {
|
| - int property_index_key = LoadFieldByIndexBits::decode(sub_minor_key());
|
| - return FieldIndex::FromFieldAccessStubKey(property_index_key);
|
| - }
|
| + explicit LoadFieldStub(Isolate* isolate) : TurboFanCodeStub(isolate) {}
|
|
|
| - protected:
|
| - Code::Kind kind() const override { return Code::LOAD_IC; }
|
| + Code::Kind GetCodeKind() const override { return Code::HANDLER; }
|
| + ExtraICState GetExtraICState() const override { return GetCodeKind(); }
|
|
|
| private:
|
| - class LoadFieldByIndexBits : public BitField<int, 0, 13> {};
|
| -
|
| - // TODO(ishell): The stub uses only kReceiver parameter.
|
| - DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadWithVector);
|
| - DEFINE_HANDLER_CODE_STUB(LoadField, HandlerStub);
|
| + DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadField);
|
| + DEFINE_TURBOFAN_CODE_STUB(LoadField, TurboFanCodeStub);
|
| };
|
|
|
| class KeyedLoadSloppyArgumentsStub : public TurboFanCodeStub {
|
|
|