| Index: src/ic.h
|
| diff --git a/src/ic.h b/src/ic.h
|
| index fcf0de58f1a85e7694cffaa68fc062fe45ab24fa..92a4d8567a57bd0546ff3c048eb255b62c88cfb9 100644
|
| --- a/src/ic.h
|
| +++ b/src/ic.h
|
| @@ -102,7 +102,7 @@ class IC {
|
| static State StateFrom(Code* target, Object* receiver, Object* name);
|
|
|
| // Clear the inline cache to initial state.
|
| - static void Clear(Address address);
|
| + static void Clear(Isolate* isolate, Address address);
|
|
|
| // Computes the reloc info for this IC. This is a fairly expensive
|
| // operation as it has to search through the heap to find the code
|
| @@ -420,14 +420,14 @@ class LoadIC: public IC {
|
|
|
| private:
|
| // Stub accessors.
|
| - static Handle<Code> initialize_stub() {
|
| - return Isolate::Current()->builtins()->LoadIC_Initialize();
|
| + static Handle<Code> initialize_stub(Isolate* isolate) {
|
| + return isolate->builtins()->LoadIC_Initialize();
|
| }
|
| virtual Handle<Code> pre_monomorphic_stub() {
|
| return isolate()->builtins()->LoadIC_PreMonomorphic();
|
| }
|
|
|
| - static void Clear(Address address, Code* target);
|
| + static void Clear(Isolate* isolate, Address address, Code* target);
|
|
|
| friend class IC;
|
| };
|
| @@ -496,8 +496,8 @@ class KeyedLoadIC: public LoadIC {
|
|
|
| private:
|
| // Stub accessors.
|
| - static Handle<Code> initialize_stub() {
|
| - return Isolate::Current()->builtins()->KeyedLoadIC_Initialize();
|
| + static Handle<Code> initialize_stub(Isolate* isolate) {
|
| + return isolate->builtins()->KeyedLoadIC_Initialize();
|
| }
|
| virtual Handle<Code> pre_monomorphic_stub() {
|
| return isolate()->builtins()->KeyedLoadIC_PreMonomorphic();
|
| @@ -512,7 +512,7 @@ class KeyedLoadIC: public LoadIC {
|
| return isolate()->builtins()->KeyedLoadIC_String();
|
| }
|
|
|
| - static void Clear(Address address, Code* target);
|
| + static void Clear(Isolate* isolate, Address address, Code* target);
|
|
|
| friend class IC;
|
| };
|
| @@ -601,13 +601,13 @@ class StoreIC: public IC {
|
| IC::set_target(code);
|
| }
|
|
|
| - static Handle<Code> initialize_stub() {
|
| - return Isolate::Current()->builtins()->StoreIC_Initialize();
|
| + static Handle<Code> initialize_stub(Isolate* isolate) {
|
| + return isolate->builtins()->StoreIC_Initialize();
|
| }
|
| - static Handle<Code> initialize_stub_strict() {
|
| - return Isolate::Current()->builtins()->StoreIC_Initialize_Strict();
|
| + static Handle<Code> initialize_stub_strict(Isolate* isolate) {
|
| + return isolate->builtins()->StoreIC_Initialize_Strict();
|
| }
|
| - static void Clear(Address address, Code* target);
|
| + static void Clear(Isolate* isolate, Address address, Code* target);
|
|
|
| friend class IC;
|
| };
|
| @@ -685,11 +685,11 @@ class KeyedStoreIC: public StoreIC {
|
| }
|
|
|
| // Stub accessors.
|
| - static Handle<Code> initialize_stub() {
|
| - return Isolate::Current()->builtins()->KeyedStoreIC_Initialize();
|
| + static Handle<Code> initialize_stub(Isolate* isolate) {
|
| + return isolate->builtins()->KeyedStoreIC_Initialize();
|
| }
|
| - static Handle<Code> initialize_stub_strict() {
|
| - return Isolate::Current()->builtins()->KeyedStoreIC_Initialize_Strict();
|
| + static Handle<Code> initialize_stub_strict(Isolate* isolate) {
|
| + return isolate->builtins()->KeyedStoreIC_Initialize_Strict();
|
| }
|
| Handle<Code> generic_stub() const {
|
| return isolate()->builtins()->KeyedStoreIC_Generic();
|
| @@ -701,7 +701,7 @@ class KeyedStoreIC: public StoreIC {
|
| return isolate()->builtins()->KeyedStoreIC_NonStrictArguments();
|
| }
|
|
|
| - static void Clear(Address address, Code* target);
|
| + static void Clear(Isolate* isolate, Address address, Code* target);
|
|
|
| KeyedAccessStoreMode GetStoreMode(Handle<JSObject> receiver,
|
| Handle<Object> key,
|
| @@ -807,9 +807,9 @@ class CompareIC: public IC {
|
| bool strict() const { return op_ == Token::EQ_STRICT; }
|
| Condition GetCondition() const { return ComputeCondition(op_); }
|
|
|
| - static Code* GetRawUninitialized(Token::Value op);
|
| + static Code* GetRawUninitialized(Isolate* isolate, Token::Value op);
|
|
|
| - static void Clear(Address address, Code* target);
|
| + static void Clear(Isolate* isolate, Address address, Code* target);
|
|
|
| Token::Value op_;
|
|
|
|
|