| Index: src/ic/ic-inl.h
|
| diff --git a/src/ic/ic-inl.h b/src/ic/ic-inl.h
|
| index 55572f75277ea20f28537596cda393ed6a183709..4db1b39510629e0753c4b0980ed1f0a49c10deb9 100644
|
| --- a/src/ic/ic-inl.h
|
| +++ b/src/ic/ic-inl.h
|
| @@ -48,40 +48,41 @@
|
| }
|
|
|
|
|
| -Address IC::constant_pool() const {
|
| - if (!FLAG_enable_embedded_constant_pool) {
|
| +ConstantPoolArray* IC::constant_pool() const {
|
| + if (!FLAG_enable_ool_constant_pool) {
|
| return NULL;
|
| } else {
|
| - Address constant_pool = raw_constant_pool();
|
| + Handle<ConstantPoolArray> result = raw_constant_pool_;
|
| Debug* debug = isolate()->debug();
|
| // First check if any break points are active if not just return the
|
| // original constant pool.
|
| - if (!debug->has_break_points()) return constant_pool;
|
| + if (!debug->has_break_points()) return *result;
|
|
|
| // At least one break point is active perform additional test to ensure that
|
| // break point locations are updated correctly.
|
| Address target = Assembler::target_address_from_return_address(pc());
|
| if (debug->IsDebugBreak(
|
| - Assembler::target_address_at(target, constant_pool))) {
|
| + Assembler::target_address_at(target, raw_constant_pool()))) {
|
| // If the call site is a call to debug break then we want to return the
|
| // constant pool for the original code instead of the breakpointed code.
|
| return GetOriginalCode()->constant_pool();
|
| }
|
| - return constant_pool;
|
| - }
|
| -}
|
| -
|
| -
|
| -Address IC::raw_constant_pool() const {
|
| - if (FLAG_enable_embedded_constant_pool) {
|
| - return *constant_pool_address_;
|
| + return *result;
|
| + }
|
| +}
|
| +
|
| +
|
| +ConstantPoolArray* IC::raw_constant_pool() const {
|
| + if (FLAG_enable_ool_constant_pool) {
|
| + return *raw_constant_pool_;
|
| } else {
|
| return NULL;
|
| }
|
| }
|
|
|
|
|
| -Code* IC::GetTargetAtAddress(Address address, Address constant_pool) {
|
| +Code* IC::GetTargetAtAddress(Address address,
|
| + ConstantPoolArray* constant_pool) {
|
| // Get the target address of the IC.
|
| Address target = Assembler::target_address_at(address, constant_pool);
|
| // Convert target address to the code object. Code::GetCodeFromTargetAddress
|
| @@ -93,7 +94,7 @@
|
|
|
|
|
| void IC::SetTargetAtAddress(Address address, Code* target,
|
| - Address constant_pool) {
|
| + ConstantPoolArray* constant_pool) {
|
| if (AddressIsDeoptimizedCode(target->GetIsolate(), address)) return;
|
|
|
| DCHECK(target->is_inline_cache_stub() || target->is_compare_ic_stub());
|
|
|