Index: src/ic/handler-compiler.h |
diff --git a/src/ic/handler-compiler.h b/src/ic/handler-compiler.h |
index d1d5bec597748836376dd60240177d3c60a5c420..dd3b483ced74375f8ddc2a25ee09a7b4d6be6e2a 100644 |
--- a/src/ic/handler-compiler.h |
+++ b/src/ic/handler-compiler.h |
@@ -21,11 +21,10 @@ class PropertyHandlerCompiler : public PropertyAccessCompiler { |
CacheHolderFlag cache_holder, Code::StubType type); |
protected: |
- PropertyHandlerCompiler(Isolate* isolate, Code::Kind kind, |
- Handle<HeapType> type, Handle<JSObject> holder, |
- CacheHolderFlag cache_holder) |
+ PropertyHandlerCompiler(Isolate* isolate, Code::Kind kind, Handle<Map> map, |
+ Handle<JSObject> holder, CacheHolderFlag cache_holder) |
: PropertyAccessCompiler(isolate, kind, cache_holder), |
- type_(type), |
+ map_(map), |
holder_(holder) {} |
virtual ~PropertyHandlerCompiler() {} |
@@ -99,23 +98,23 @@ class PropertyHandlerCompiler : public PropertyAccessCompiler { |
PrototypeCheckType check = CHECK_ALL_MAPS); |
Handle<Code> GetCode(Code::Kind kind, Code::StubType type, Handle<Name> name); |
- void set_type_for_object(Handle<Object> object); |
void set_holder(Handle<JSObject> holder) { holder_ = holder; } |
- Handle<HeapType> type() const { return type_; } |
+ Handle<Map> map() const { return map_; } |
+ void set_map(Handle<Map> map) { map_ = map; } |
Handle<JSObject> holder() const { return holder_; } |
private: |
- Handle<HeapType> type_; |
+ Handle<Map> map_; |
Handle<JSObject> holder_; |
}; |
class NamedLoadHandlerCompiler : public PropertyHandlerCompiler { |
public: |
- NamedLoadHandlerCompiler(Isolate* isolate, Handle<HeapType> type, |
+ NamedLoadHandlerCompiler(Isolate* isolate, Handle<Map> map, |
Handle<JSObject> holder, |
CacheHolderFlag cache_holder) |
- : PropertyHandlerCompiler(isolate, Code::LOAD_IC, type, holder, |
+ : PropertyHandlerCompiler(isolate, Code::LOAD_IC, map, holder, |
cache_holder) {} |
virtual ~NamedLoadHandlerCompiler() {} |
@@ -144,16 +143,16 @@ class NamedLoadHandlerCompiler : public PropertyHandlerCompiler { |
// Static interface |
static Handle<Code> ComputeLoadNonexistent(Handle<Name> name, |
- Handle<HeapType> type); |
+ Handle<Map> map); |
- static void GenerateLoadViaGetter(MacroAssembler* masm, Handle<HeapType> type, |
+ static void GenerateLoadViaGetter(MacroAssembler* masm, Handle<Map> map, |
Register receiver, Register holder, |
int accessor_index, int expected_arguments, |
Register scratch); |
static void GenerateLoadViaGetterForDeopt(MacroAssembler* masm) { |
- GenerateLoadViaGetter(masm, Handle<HeapType>::null(), no_reg, no_reg, -1, |
- -1, no_reg); |
+ GenerateLoadViaGetter(masm, Handle<Map>::null(), no_reg, no_reg, -1, -1, |
+ no_reg); |
} |
static void GenerateLoadFunctionPrototype(MacroAssembler* masm, |
@@ -213,9 +212,9 @@ class NamedLoadHandlerCompiler : public PropertyHandlerCompiler { |
class NamedStoreHandlerCompiler : public PropertyHandlerCompiler { |
public: |
- explicit NamedStoreHandlerCompiler(Isolate* isolate, Handle<HeapType> type, |
+ explicit NamedStoreHandlerCompiler(Isolate* isolate, Handle<Map> map, |
Handle<JSObject> holder) |
- : PropertyHandlerCompiler(isolate, Code::STORE_IC, type, holder, |
+ : PropertyHandlerCompiler(isolate, Code::STORE_IC, map, holder, |
kCacheOnReceiver) {} |
virtual ~NamedStoreHandlerCompiler() {} |
@@ -233,14 +232,14 @@ class NamedStoreHandlerCompiler : public PropertyHandlerCompiler { |
int expected_arguments); |
Handle<Code> CompileStoreInterceptor(Handle<Name> name); |
- static void GenerateStoreViaSetter(MacroAssembler* masm, |
- Handle<HeapType> type, Register receiver, |
- Register holder, int accessor_index, |
- int expected_arguments, Register scratch); |
+ static void GenerateStoreViaSetter(MacroAssembler* masm, Handle<Map> map, |
+ Register receiver, Register holder, |
+ int accessor_index, int expected_arguments, |
+ Register scratch); |
static void GenerateStoreViaSetterForDeopt(MacroAssembler* masm) { |
- GenerateStoreViaSetter(masm, Handle<HeapType>::null(), no_reg, no_reg, -1, |
- -1, no_reg); |
+ GenerateStoreViaSetter(masm, Handle<Map>::null(), no_reg, no_reg, -1, -1, |
+ no_reg); |
} |
static void GenerateSlow(MacroAssembler* masm); |
@@ -284,8 +283,8 @@ class ElementHandlerCompiler : public PropertyHandlerCompiler { |
public: |
explicit ElementHandlerCompiler(Isolate* isolate) |
: PropertyHandlerCompiler(isolate, Code::KEYED_LOAD_IC, |
- Handle<HeapType>::null(), |
- Handle<JSObject>::null(), kCacheOnReceiver) {} |
+ Handle<Map>::null(), Handle<JSObject>::null(), |
+ kCacheOnReceiver) {} |
virtual ~ElementHandlerCompiler() {} |