Index: src/arm/assembler-arm.h |
diff --git a/src/arm/assembler-arm.h b/src/arm/assembler-arm.h |
index c35c80b209e149baaab31278dd11aaeb6ef5c4af..5cb4c6111e7595bd26742587d42b78cdb4106d7f 100644 |
--- a/src/arm/assembler-arm.h |
+++ b/src/arm/assembler-arm.h |
@@ -780,9 +780,27 @@ class Assembler : public AssemblerBase { |
// the branch/call instruction at pc, or the object in a mov. |
INLINE(static Address target_pointer_address_at(Address pc)); |
+ // Return the address in the constant pool of the code target address used by |
+ // the branch/call instruction at pc, or the object in a mov. |
+ INLINE(static Address target_constant_pool_address_at( |
+ Address pc, ConstantPoolArray* constant_pool)); |
+ |
// Read/Modify the code target address in the branch/call instruction at pc. |
- INLINE(static Address target_address_at(Address pc)); |
- INLINE(static void set_target_address_at(Address pc, Address target)); |
+ INLINE(static Address target_address_at(Address pc, |
+ ConstantPoolArray* constant_pool)); |
+ INLINE(static void set_target_address_at(Address pc, |
+ ConstantPoolArray* constant_pool, |
+ Address target)); |
+ INLINE(static Address target_address_at(Address pc, Code* code)) { |
+ ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL; |
+ return target_address_at(pc, constant_pool); |
+ } |
+ INLINE(static void set_target_address_at(Address pc, |
+ Code* code, |
+ Address target)) { |
+ ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL; |
+ set_target_address_at(pc, constant_pool, target); |
+ } |
// Return the code target address at a call site from the return address |
// of that call in the instruction stream. |
@@ -795,7 +813,7 @@ class Assembler : public AssemblerBase { |
// This sets the branch destination (which is in the constant pool on ARM). |
// This is for calls and branches within generated code. |
inline static void deserialization_set_special_target_at( |
- Address constant_pool_entry, Address target); |
+ Address constant_pool_entry, Code* code, Address target); |
// Here we are patching the address in the constant pool, not the actual call |
// instruction. The address in the constant pool is the same size as a |