Chromium Code Reviews| Index: src/ic.h |
| diff --git a/src/ic.h b/src/ic.h |
| index cbc3ce14dec658d165969090f8b7980337dacb73..1b4224f12080d32367d2f97170398f2c59cd3699 100644 |
| --- a/src/ic.h |
| +++ b/src/ic.h |
| @@ -165,6 +165,16 @@ class IC { |
| static inline void SetTargetAtAddress(Address address, Code* target); |
| static void PostPatching(Address address, Code* target, Code* old_target); |
| + virtual void UpdateMonomorphicIC(Handle<JSObject> receiver, |
| + Handle<Code> handler, |
| + Handle<String> name) { |
|
Jakob Kummerow
2013/03/01 22:21:04
I find it slightly less than ideal that we have a
|
| + set_target(*handler); |
| + } |
| + bool UpdatePolymorphicIC(State state, |
| + StrictModeFlag strict_mode, |
| + Handle<JSObject> receiver, |
| + Handle<String> name, |
| + Handle<Code> code); |
| void PatchCache(State state, |
| StrictModeFlag strict_mode, |
| Handle<JSObject> receiver, |
| @@ -377,9 +387,12 @@ class LoadIC: public IC { |
| State state, |
| Handle<Object> object, |
| Handle<String> name); |
| - virtual Handle<Code> ComputeLoadMonomorphic(LookupResult* lookup, |
| - Handle<JSObject> receiver, |
| - Handle<String> name); |
| + virtual void UpdateMonomorphicIC(Handle<JSObject> receiver, |
| + Handle<Code> handler, |
| + Handle<String> name); |
| + virtual Handle<Code> ComputeLoadHandler(LookupResult* lookup, |
| + Handle<JSObject> receiver, |
| + Handle<String> name); |
| private: |
| // Stub accessors. |
| @@ -448,9 +461,12 @@ class KeyedLoadIC: public LoadIC { |
| } |
| // Update the inline cache. |
| - virtual Handle<Code> ComputeLoadMonomorphic(LookupResult* lookup, |
| - Handle<JSObject> receiver, |
| - Handle<String> name); |
| + virtual void UpdateMonomorphicIC(Handle<JSObject> receiver, |
| + Handle<Code> handler, |
| + Handle<String> name); |
| + virtual Handle<Code> ComputeLoadHandler(LookupResult* lookup, |
| + Handle<JSObject> receiver, |
| + Handle<String> name); |
| virtual void UpdateMegamorphicCache(Map* map, String* name, Code* code) { } |
| private: |