Index: src/ic.h |
diff --git a/src/ic.h b/src/ic.h |
index 5c883cdc38210e2e9b7e4acda9541f0f8401ab4d..8f09e1d0a2cd87950c714a99c481064b3989768b 100644 |
--- a/src/ic.h |
+++ b/src/ic.h |
@@ -167,14 +167,14 @@ 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, |
+ virtual void UpdateMonomorphicIC(Handle<HeapObject> receiver, |
Handle<Code> handler, |
Handle<String> name, |
StrictModeFlag strict_mode) { |
set_target(*handler); |
} |
bool UpdatePolymorphicIC(State state, |
- Handle<JSObject> receiver, |
+ Handle<HeapObject> receiver, |
Handle<String> name, |
Handle<Code> code, |
StrictModeFlag strict_mode); |
@@ -192,7 +192,7 @@ class IC { |
bool IsTransitionedMapOfMonomorphicTarget(Map* receiver_map); |
void PatchCache(State state, |
StrictModeFlag strict_mode, |
- Handle<JSObject> receiver, |
+ Handle<HeapObject> receiver, |
Handle<String> name, |
Handle<Code> code); |
virtual void UpdateMegamorphicCache(Map* map, Name* name, Code* code); |
@@ -388,7 +388,7 @@ class LoadIC: public IC { |
protected: |
virtual Code::Kind kind() const { return Code::LOAD_IC; } |
- virtual Handle<Code> generic_stub() const { |
+ virtual Handle<Code> slow_stub() const { |
return isolate()->builtins()->LoadIC_Slow(); |
} |
@@ -403,7 +403,7 @@ class LoadIC: public IC { |
Handle<Object> object, |
Handle<String> name); |
- virtual void UpdateMonomorphicIC(Handle<JSObject> receiver, |
+ virtual void UpdateMonomorphicIC(Handle<HeapObject> receiver, |
Handle<Code> handler, |
Handle<String> name, |
StrictModeFlag strict_mode); |
@@ -483,9 +483,12 @@ class KeyedLoadIC: public LoadIC { |
virtual Handle<Code> generic_stub() const { |
return isolate()->builtins()->KeyedLoadIC_Generic(); |
} |
+ virtual Handle<Code> slow_stub() const { |
+ return isolate()->builtins()->KeyedLoadIC_Slow(); |
+ } |
// Update the inline cache. |
- virtual void UpdateMonomorphicIC(Handle<JSObject> receiver, |
+ virtual void UpdateMonomorphicIC(Handle<HeapObject> receiver, |
Handle<Code> handler, |
Handle<String> name, |
StrictModeFlag strict_mode); |
@@ -574,7 +577,7 @@ class StoreIC: public IC { |
return isolate()->builtins()->StoreIC_GlobalProxy_Strict(); |
} |
- virtual void UpdateMonomorphicIC(Handle<JSObject> receiver, |
+ virtual void UpdateMonomorphicIC(Handle<HeapObject> receiver, |
Handle<Code> handler, |
Handle<String> name, |
StrictModeFlag strict_mode); |
@@ -689,7 +692,7 @@ class KeyedStoreIC: public StoreIC { |
KeyedAccessStoreMode store_mode, |
StrictModeFlag strict_mode); |
- virtual void UpdateMonomorphicIC(Handle<JSObject> receiver, |
+ virtual void UpdateMonomorphicIC(Handle<HeapObject> receiver, |
Handle<Code> handler, |
Handle<String> name, |
StrictModeFlag strict_mode); |