| Index: src/ic.h
|
| diff --git a/src/ic.h b/src/ic.h
|
| index 4df0c69611cc62d1deab0a40115e48c9e99d3845..3b4b7fd74cffcaab54ab621f1a1ee7d4e71e459c 100644
|
| --- a/src/ic.h
|
| +++ b/src/ic.h
|
| @@ -179,17 +179,29 @@ class IC {
|
| static void PostPatching(Address address, Code* target, Code* old_target);
|
|
|
| // Compute the handler either by compiling or by retrieving a cached version.
|
| - Handle<Code> ComputeHandler(LookupResult* lookup,
|
| - Handle<Object> object,
|
| + Handle<Code> ComputeHandler(LookupIterator* lookup, Handle<Object> object,
|
| Handle<String> name,
|
| Handle<Object> value = Handle<Code>::null());
|
| - virtual Handle<Code> CompileHandler(LookupResult* lookup,
|
| + virtual Handle<Code> CompileHandler(LookupIterator* lookup,
|
| Handle<Object> object,
|
| Handle<String> name, Handle<Object> value,
|
| CacheHolderFlag cache_holder) {
|
| UNREACHABLE();
|
| return Handle<Code>::null();
|
| }
|
| + // Temporary copy of the above, but using a LookupResult.
|
| + // TODO(jkummerow): Migrate callers to LookupIterator and delete these.
|
| + Handle<Code> ComputeStoreHandler(LookupResult* lookup, Handle<Object> object,
|
| + Handle<String> name,
|
| + Handle<Object> value = Handle<Code>::null());
|
| + virtual Handle<Code> CompileStoreHandler(LookupResult* lookup,
|
| + Handle<Object> object,
|
| + Handle<String> name,
|
| + Handle<Object> value,
|
| + CacheHolderFlag cache_holder) {
|
| + UNREACHABLE();
|
| + return Handle<Code>::null();
|
| + }
|
|
|
| void UpdateMonomorphicIC(Handle<Code> handler, Handle<String> name);
|
| bool UpdatePolymorphicIC(Handle<String> name, Handle<Code> code);
|
| @@ -474,11 +486,10 @@ class LoadIC: public IC {
|
|
|
| // Update the inline cache and the global stub cache based on the
|
| // lookup result.
|
| - void UpdateCaches(LookupResult* lookup,
|
| - Handle<Object> object,
|
| + void UpdateCaches(LookupIterator* lookup, Handle<Object> object,
|
| Handle<String> name);
|
|
|
| - virtual Handle<Code> CompileHandler(LookupResult* lookup,
|
| + virtual Handle<Code> CompileHandler(LookupIterator* lookup,
|
| Handle<Object> object,
|
| Handle<String> name,
|
| Handle<Object> unused,
|
| @@ -638,10 +649,11 @@ class StoreIC: public IC {
|
| Handle<JSObject> receiver,
|
| Handle<String> name,
|
| Handle<Object> value);
|
| - virtual Handle<Code> CompileHandler(LookupResult* lookup,
|
| - Handle<Object> object,
|
| - Handle<String> name, Handle<Object> value,
|
| - CacheHolderFlag cache_holder);
|
| + virtual Handle<Code> CompileStoreHandler(LookupResult* lookup,
|
| + Handle<Object> object,
|
| + Handle<String> name,
|
| + Handle<Object> value,
|
| + CacheHolderFlag cache_holder);
|
|
|
| private:
|
| void set_target(Code* code) {
|
|
|