| Index: src/arm/assembler-arm-inl.h
|
| diff --git a/src/arm/assembler-arm-inl.h b/src/arm/assembler-arm-inl.h
|
| index b31947cc44a4fb197ee261ed432dc9488ab580e9..795dab21e8c26015352730a4aa8ae25e79048109 100644
|
| --- a/src/arm/assembler-arm-inl.h
|
| +++ b/src/arm/assembler-arm-inl.h
|
| @@ -110,6 +110,30 @@ Address* RelocInfo::target_reference_address() {
|
| }
|
|
|
|
|
| +Handle<JSGlobalPropertyCell> RelocInfo::target_cell_handle() {
|
| + ASSERT(rmode_ == RelocInfo::GLOBAL_PROPERTY_CELL);
|
| + Address address = Memory::Address_at(pc_);
|
| + return Handle<JSGlobalPropertyCell>(
|
| + reinterpret_cast<JSGlobalPropertyCell**>(address));
|
| +}
|
| +
|
| +
|
| +JSGlobalPropertyCell* RelocInfo::target_cell() {
|
| + ASSERT(rmode_ == RelocInfo::GLOBAL_PROPERTY_CELL);
|
| + Address address = Memory::Address_at(pc_);
|
| + Object* object = HeapObject::FromAddress(
|
| + address - JSGlobalPropertyCell::kValueOffset);
|
| + return reinterpret_cast<JSGlobalPropertyCell*>(object);
|
| +}
|
| +
|
| +
|
| +void RelocInfo::set_target_cell(JSGlobalPropertyCell* cell) {
|
| + ASSERT(rmode_ == RelocInfo::GLOBAL_PROPERTY_CELL);
|
| + Address address = cell->address() + JSGlobalPropertyCell::kValueOffset;
|
| + Memory::Address_at(pc_) = address;
|
| +}
|
| +
|
| +
|
| Address RelocInfo::call_address() {
|
| // The 2 instructions offset assumes patched debug break slot or return
|
| // sequence.
|
|
|