Index: src/objects-inl.h |
=================================================================== |
--- src/objects-inl.h (revision 5008) |
+++ src/objects-inl.h (working copy) |
@@ -2784,7 +2784,7 @@ |
INT_ACCESSORS(Code, instruction_size, kInstructionSizeOffset) |
-INT_ACCESSORS(Code, relocation_size, kRelocationSizeOffset) |
+ACCESSORS(Code, relocation_info, ByteArray, kRelocationInfoOffset) |
INT_ACCESSORS(Code, sinfo_size, kSInfoSizeOffset) |
@@ -2793,16 +2793,31 @@ |
} |
+byte* Code::instruction_end() { |
+ return instruction_start() + instruction_size(); |
+} |
+ |
+ |
int Code::body_size() { |
- return RoundUp(instruction_size() + relocation_size(), kObjectAlignment); |
+ return RoundUp(instruction_size(), kObjectAlignment); |
} |
+ByteArray* Code::unchecked_relocation_info() { |
+ return reinterpret_cast<ByteArray*>(READ_FIELD(this, kRelocationInfoOffset)); |
+} |
+ |
+ |
byte* Code::relocation_start() { |
- return FIELD_ADDR(this, kHeaderSize + instruction_size()); |
+ return unchecked_relocation_info()->GetDataStartAddress(); |
} |
+int Code::relocation_size() { |
+ return unchecked_relocation_info()->length(); |
+} |
+ |
+ |
byte* Code::entry() { |
return instruction_start(); |
} |