| Index: src/type-info.h
|
| diff --git a/src/type-info.h b/src/type-info.h
|
| index a457d2ba41d51b701598761a1f16d018221dca20..8a4fd04095e2a04dd5596d9a23b54e49da0a6022 100644
|
| --- a/src/type-info.h
|
| +++ b/src/type-info.h
|
| @@ -52,15 +52,16 @@ class TypeFeedbackOracle: public ZoneObject {
|
| bool StoreIsUninitialized(TypeFeedbackId id);
|
| bool StoreIsPreMonomorphic(TypeFeedbackId id);
|
| bool StoreIsKeyedPolymorphic(TypeFeedbackId id);
|
| + bool CallIsMonomorphic(int slot);
|
| bool CallIsMonomorphic(TypeFeedbackId aid);
|
| bool KeyedArrayCallIsHoley(TypeFeedbackId id);
|
| - bool CallNewIsMonomorphic(TypeFeedbackId id);
|
| + bool CallNewIsMonomorphic(int slot);
|
|
|
| // TODO(1571) We can't use ForInStatement::ForInType as the return value due
|
| // to various cycles in our headers.
|
| // TODO(rossberg): once all oracle access is removed from ast.cc, it should
|
| // be possible.
|
| - byte ForInType(TypeFeedbackId id);
|
| + byte ForInType(int feedback_vector_slot);
|
|
|
| KeyedAccessStoreMode GetStoreMode(TypeFeedbackId id);
|
|
|
| @@ -92,9 +93,9 @@ class TypeFeedbackOracle: public ZoneObject {
|
| Context* native_context);
|
|
|
| CheckType GetCallCheckType(TypeFeedbackId id);
|
| - Handle<JSFunction> GetCallTarget(TypeFeedbackId id);
|
| - Handle<JSFunction> GetCallNewTarget(TypeFeedbackId id);
|
| - Handle<AllocationSite> GetCallNewAllocationSite(TypeFeedbackId id);
|
| + Handle<JSFunction> GetCallTarget(int slot);
|
| + Handle<JSFunction> GetCallNewTarget(int slot);
|
| + Handle<AllocationSite> GetCallNewAllocationSite(int slot);
|
|
|
| bool LoadIsBuiltin(TypeFeedbackId id, Builtins::Name builtin_id);
|
| bool LoadIsStub(TypeFeedbackId id, ICStub* stub);
|
| @@ -138,16 +139,20 @@ class TypeFeedbackOracle: public ZoneObject {
|
| byte* old_start,
|
| byte* new_start);
|
| void ProcessRelocInfos(ZoneList<RelocInfo>* infos);
|
| - void ProcessTypeFeedbackCells(Handle<Code> code);
|
|
|
| // Returns an element from the backing store. Returns undefined if
|
| // there is no information.
|
| Handle<Object> GetInfo(TypeFeedbackId id);
|
|
|
| + // Returns an element from the type feedback vector. Returns undefined
|
| + // if there is no information.
|
| + Handle<Object> GetInfo(int slot);
|
| +
|
| private:
|
| Handle<Context> native_context_;
|
| Zone* zone_;
|
| Handle<UnseededNumberDictionary> dictionary_;
|
| + Handle<FixedArray> feedback_vector_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(TypeFeedbackOracle);
|
| };
|
|
|