Index: src/ic/ic.cc |
diff --git a/src/ic/ic.cc b/src/ic/ic.cc |
index a8323ffe5aa0f8087be9fbe6b81a8effef08532d..f938336ba1aa2f95bf6fdbeb1748bbc3504837c6 100644 |
--- a/src/ic/ic.cc |
+++ b/src/ic/ic.cc |
@@ -150,10 +150,10 @@ IC::IC(FrameDepth depth, Isolate* isolate, FeedbackNexus* nexus, |
// levels of the stack frame iteration code. This yields a ~35% speedup when |
// running DeltaBlue and a ~25% speedup of gbemu with the '--nouse-ic' flag. |
const Address entry = Isolate::c_entry_fp(isolate->thread_local_top()); |
- Address constant_pool = NULL; |
- if (FLAG_enable_ool_constant_pool) { |
- constant_pool = |
- Memory::Address_at(entry + ExitFrameConstants::kConstantPoolOffset); |
+ Address* constant_pool = NULL; |
+ if (FLAG_enable_embedded_constant_pool) { |
+ constant_pool = reinterpret_cast<Address*>( |
+ entry + ExitFrameConstants::kConstantPoolOffset); |
} |
Address* pc_address = |
reinterpret_cast<Address*>(entry + ExitFrameConstants::kCallerPCOffset); |
@@ -162,9 +162,9 @@ IC::IC(FrameDepth depth, Isolate* isolate, FeedbackNexus* nexus, |
// StubFailureTrampoline, we need to look one frame further down the stack to |
// find the frame pointer and the return address stack slot. |
if (depth == EXTRA_CALL_FRAME) { |
- if (FLAG_enable_ool_constant_pool) { |
- constant_pool = |
- Memory::Address_at(fp + StandardFrameConstants::kConstantPoolOffset); |
+ if (FLAG_enable_embedded_constant_pool) { |
+ constant_pool = reinterpret_cast<Address*>( |
+ fp + StandardFrameConstants::kConstantPoolOffset); |
} |
const int kCallerPCOffset = StandardFrameConstants::kCallerPCOffset; |
pc_address = reinterpret_cast<Address*>(fp + kCallerPCOffset); |
@@ -177,10 +177,8 @@ IC::IC(FrameDepth depth, Isolate* isolate, FeedbackNexus* nexus, |
DCHECK(fp == frame->fp() && pc_address == frame->pc_address()); |
#endif |
fp_ = fp; |
- if (FLAG_enable_ool_constant_pool) { |
- raw_constant_pool_ = handle( |
- ConstantPoolArray::cast(reinterpret_cast<Object*>(constant_pool)), |
- isolate); |
+ if (FLAG_enable_embedded_constant_pool) { |
+ constant_pool_address_ = constant_pool; |
} |
pc_address_ = StackFrame::ResolveReturnAddressLocation(pc_address); |
target_ = handle(raw_target(), isolate); |
@@ -479,8 +477,7 @@ void IC::PostPatching(Address address, Code* target, Code* old_target) { |
} |
-void IC::Clear(Isolate* isolate, Address address, |
- ConstantPoolArray* constant_pool) { |
+void IC::Clear(Isolate* isolate, Address address, Address constant_pool) { |
Code* target = GetTargetAtAddress(address, constant_pool); |
// Don't clear debug break inline cache as it will remove the break point. |
@@ -543,7 +540,7 @@ void LoadIC::Clear(Isolate* isolate, Code* host, LoadICNexus* nexus) { |
void StoreIC::Clear(Isolate* isolate, Address address, Code* target, |
- ConstantPoolArray* constant_pool) { |
+ Address constant_pool) { |
if (IsCleared(target)) return; |
Code* code = PropertyICCompiler::FindPreMonomorphic(isolate, Code::STORE_IC, |
target->extra_ic_state()); |
@@ -552,7 +549,7 @@ void StoreIC::Clear(Isolate* isolate, Address address, Code* target, |
void KeyedStoreIC::Clear(Isolate* isolate, Address address, Code* target, |
- ConstantPoolArray* constant_pool) { |
+ Address constant_pool) { |
if (IsCleared(target)) return; |
Handle<Code> code = pre_monomorphic_stub( |
isolate, StoreICState::GetLanguageMode(target->extra_ic_state())); |
@@ -561,7 +558,7 @@ void KeyedStoreIC::Clear(Isolate* isolate, Address address, Code* target, |
void CompareIC::Clear(Isolate* isolate, Address address, Code* target, |
- ConstantPoolArray* constant_pool) { |
+ Address constant_pool) { |
DCHECK(CodeStub::GetMajorKey(target) == CodeStub::CompareIC); |
CompareICStub stub(target->stub_key(), isolate); |
// Only clear CompareICs that can retain objects. |
@@ -2605,8 +2602,7 @@ RUNTIME_FUNCTION(CompareIC_Miss) { |
} |
-void CompareNilIC::Clear(Address address, Code* target, |
- ConstantPoolArray* constant_pool) { |
+void CompareNilIC::Clear(Address address, Code* target, Address constant_pool) { |
if (IsCleared(target)) return; |
ExtraICState state = target->extra_ic_state(); |