Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(374)

Unified Diff: src/ic/ic.h

Issue 1155703006: Revert of Embedded constant pools. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/ia32/frames-ia32.cc ('k') | src/ic/ic.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ic/ic.h
diff --git a/src/ic/ic.h b/src/ic/ic.h
index e8613436f9698cc22a0a58751cf322f0b8684bc4..199b1f60c8a8871dd4161d3b6e4c84e2dc03403c 100644
--- a/src/ic/ic.h
+++ b/src/ic/ic.h
@@ -78,7 +78,8 @@
}
// Clear the inline cache to initial state.
- static void Clear(Isolate* isolate, Address address, Address constant_pool);
+ static void Clear(Isolate* isolate, Address address,
+ ConstantPoolArray* constant_pool);
#ifdef DEBUG
bool IsLoadStub() const {
@@ -169,9 +170,9 @@
// Access the target code for the given IC address.
static inline Code* GetTargetAtAddress(Address address,
- Address constant_pool);
+ ConstantPoolArray* constant_pool);
static inline void SetTargetAtAddress(Address address, Code* target,
- Address constant_pool);
+ ConstantPoolArray* constant_pool);
static void OnTypeFeedbackChanged(Isolate* isolate, Address address,
State old_state, State new_state,
bool target_remains_ic_stub);
@@ -255,8 +256,8 @@
private:
inline Code* raw_target() const;
- inline Address constant_pool() const;
- inline Address raw_constant_pool() const;
+ inline ConstantPoolArray* constant_pool() const;
+ inline ConstantPoolArray* raw_constant_pool() const;
void FindTargetMaps() {
if (target_maps_set_) return;
@@ -276,17 +277,17 @@
// Frame pointer for the frame that uses (calls) the IC.
Address fp_;
- // All access to the program counter and constant pool of an IC structure is
- // indirect to make the code GC safe. This feature is crucial since
+ // All access to the program counter of an IC structure is indirect
+ // to make the code GC safe. This feature is crucial since
// GetProperty and SetProperty are called and they in turn might
// invoke the garbage collector.
Address* pc_address_;
+ Isolate* isolate_;
+
// The constant pool of the code which originally called the IC (which might
// be for the breakpointed copy of the original code).
- Address* constant_pool_address_;
-
- Isolate* isolate_;
+ Handle<ConstantPoolArray> raw_constant_pool_;
// The original code target that missed.
Handle<Code> target_;
@@ -428,7 +429,7 @@
Handle<Code> SimpleFieldLoad(FieldIndex index);
static void Clear(Isolate* isolate, Address address, Code* target,
- Address constant_pool);
+ ConstantPoolArray* constant_pool);
friend class IC;
};
@@ -485,7 +486,7 @@
private:
static void Clear(Isolate* isolate, Address address, Code* target,
- Address constant_pool);
+ ConstantPoolArray* constant_pool);
friend class IC;
};
@@ -553,7 +554,7 @@
inline void set_target(Code* code);
static void Clear(Isolate* isolate, Address address, Code* target,
- Address constant_pool);
+ ConstantPoolArray* constant_pool);
friend class IC;
};
@@ -634,7 +635,7 @@
inline void set_target(Code* code);
static void Clear(Isolate* isolate, Address address, Code* target,
- Address constant_pool);
+ ConstantPoolArray* constant_pool);
KeyedAccessStoreMode GetStoreMode(Handle<JSObject> receiver,
Handle<Object> key, Handle<Object> value);
@@ -685,7 +686,7 @@
bool strong);
static void Clear(Isolate* isolate, Address address, Code* target,
- Address constant_pool);
+ ConstantPoolArray* constant_pool);
Token::Value op_;
@@ -701,7 +702,8 @@
static Handle<Code> GetUninitialized();
- static void Clear(Address address, Code* target, Address constant_pool);
+ static void Clear(Address address, Code* target,
+ ConstantPoolArray* constant_pool);
static Handle<Object> DoCompareNilSlow(Isolate* isolate, NilValue nil,
Handle<Object> object);
« no previous file with comments | « src/ia32/frames-ia32.cc ('k') | src/ic/ic.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698