Index: src/ic.h |
diff --git a/src/ic.h b/src/ic.h |
index ffce9418a1ec66f9481d5af16bc55082be2e25a8..b8d508d82f0413877fe2cda27d2536b4ca420a99 100644 |
--- a/src/ic.h |
+++ b/src/ic.h |
@@ -150,9 +150,9 @@ class IC { |
Object* object, |
InlineCacheHolderFlag holder); |
- static inline InlineCacheHolderFlag GetCodeCacheFlag(Type* type); |
+ static inline InlineCacheHolderFlag GetCodeCacheFlag(HeapType* type); |
static inline Handle<Map> GetCodeCacheHolder(InlineCacheHolderFlag flag, |
- Type* type, |
+ HeapType* type, |
Isolate* isolate); |
static bool IsCleared(Code* code) { |
@@ -165,9 +165,10 @@ class IC { |
// - The heap_number_map is used as a marker which includes heap numbers as |
// well as smis. |
// - The oddball map is only used for booleans. |
- static Handle<Map> TypeToMap(Type* type, Isolate* isolate); |
- static Handle<Type> MapToType(Handle<Map> type); |
- static Handle<Type> CurrentTypeOf(Handle<Object> object, Isolate* isolate); |
+ static Handle<Map> TypeToMap(HeapType* type, Isolate* isolate); |
+ static Handle<HeapType> MapToType(Handle<Map> map); |
+ static Handle<HeapType> CurrentTypeOf( |
+ Handle<Object> object, Isolate* isolate); |
protected: |
// Get the call-site target; used for determining the state. |
@@ -221,19 +222,19 @@ class IC { |
return Handle<Code>::null(); |
} |
- void UpdateMonomorphicIC(Handle<Type> type, |
+ void UpdateMonomorphicIC(Handle<HeapType> type, |
Handle<Code> handler, |
Handle<String> name); |
- bool UpdatePolymorphicIC(Handle<Type> type, |
+ bool UpdatePolymorphicIC(Handle<HeapType> type, |
Handle<String> name, |
Handle<Code> code); |
- virtual void UpdateMegamorphicCache(Type* type, Name* name, Code* code); |
+ virtual void UpdateMegamorphicCache(HeapType* type, Name* name, Code* code); |
void CopyICToMegamorphicCache(Handle<String> name); |
- bool IsTransitionOfMonomorphicTarget(Handle<Type> type); |
- void PatchCache(Handle<Type> type, |
+ bool IsTransitionOfMonomorphicTarget(Handle<HeapType> type); |
+ void PatchCache(Handle<HeapType> type, |
Handle<String> name, |
Handle<Code> code); |
virtual Code::Kind kind() const { |
@@ -541,7 +542,7 @@ class KeyedLoadIC: public LoadIC { |
return isolate()->builtins()->KeyedLoadIC_Slow(); |
} |
- virtual void UpdateMegamorphicCache(Type* type, Name* name, Code* code) { } |
+ virtual void UpdateMegamorphicCache(HeapType* type, Name* name, Code* code) {} |
private: |
// Stub accessors. |
@@ -745,7 +746,7 @@ class KeyedStoreIC: public StoreIC { |
protected: |
virtual Code::Kind kind() const { return Code::KEYED_STORE_IC; } |
- virtual void UpdateMegamorphicCache(Type* type, Name* name, Code* code) { } |
+ virtual void UpdateMegamorphicCache(HeapType* type, Name* name, Code* code) {} |
virtual ExtraICState extra_ic_state() { |
return ComputeExtraICState(strict_mode(), STANDARD_STORE); |
@@ -876,13 +877,13 @@ class BinaryOpIC: public IC { |
OverwriteMode mode() const { return mode_; } |
Maybe<int> fixed_right_arg() const { return fixed_right_arg_; } |
- Handle<Type> GetLeftType(Isolate* isolate) const { |
- return KindToType(left_kind_, isolate); |
+ Type* GetLeftType(Zone* zone) const { |
+ return KindToType(left_kind_, zone); |
} |
- Handle<Type> GetRightType(Isolate* isolate) const { |
- return KindToType(right_kind_, isolate); |
+ Type* GetRightType(Zone* zone) const { |
+ return KindToType(right_kind_, zone); |
} |
- Handle<Type> GetResultType(Isolate* isolate) const; |
+ Type* GetResultType(Zone* zone) const; |
void Print(StringStream* stream) const; |
@@ -896,7 +897,7 @@ class BinaryOpIC: public IC { |
Kind UpdateKind(Handle<Object> object, Kind kind) const; |
static const char* KindToString(Kind kind); |
- static Handle<Type> KindToType(Kind kind, Isolate* isolate); |
+ static Type* KindToType(Kind kind, Zone* zone); |
static bool KindMaybeSmi(Kind kind) { |
return (kind >= SMI && kind <= NUMBER) || kind == GENERIC; |
} |
@@ -953,16 +954,16 @@ class CompareIC: public IC { |
static State NewInputState(State old_state, Handle<Object> value); |
- static Handle<Type> StateToType(Isolate* isolate, |
- State state, |
- Handle<Map> map = Handle<Map>()); |
+ static Type* StateToType(Zone* zone, |
+ State state, |
+ Handle<Map> map = Handle<Map>()); |
static void StubInfoToType(int stub_minor_key, |
- Handle<Type>* left_type, |
- Handle<Type>* right_type, |
- Handle<Type>* overall_type, |
+ Type** left_type, |
+ Type** right_type, |
+ Type** overall_type, |
Handle<Map> map, |
- Isolate* isolate); |
+ Zone* zone); |
CompareIC(Isolate* isolate, Token::Value op) |
: IC(EXTRA_CALL_FRAME, isolate), op_(op) { } |