Index: src/x64/assembler-x64.cc |
=================================================================== |
--- src/x64/assembler-x64.cc (revision 2251) |
+++ src/x64/assembler-x64.cc (working copy) |
@@ -341,8 +341,9 @@ |
#endif |
// copy the data |
- int pc_delta = desc.buffer - buffer_; |
- int rc_delta = (desc.buffer + desc.buffer_size) - (buffer_ + buffer_size_); |
+ intptr_t pc_delta = desc.buffer - buffer_; |
+ intptr_t rc_delta = (desc.buffer + desc.buffer_size) - |
+ (buffer_ + buffer_size_); |
memmove(desc.buffer, buffer_, desc.instr_size); |
memmove(rc_delta + reloc_info_writer.pos(), |
reloc_info_writer.pos(), desc.reloc_size); |
@@ -365,11 +366,8 @@ |
// relocate runtime entries |
for (RelocIterator it(desc); !it.done(); it.next()) { |
RelocInfo::Mode rmode = it.rinfo()->rmode(); |
- if (rmode == RelocInfo::RUNTIME_ENTRY) { |
- int32_t* p = reinterpret_cast<int32_t*>(it.rinfo()->pc()); |
- *p -= pc_delta; // relocate entry |
- } else if (rmode == RelocInfo::INTERNAL_REFERENCE) { |
- int32_t* p = reinterpret_cast<int32_t*>(it.rinfo()->pc()); |
+ if (rmode == RelocInfo::INTERNAL_REFERENCE) { |
+ intptr_t* p = reinterpret_cast<intptr_t*>(it.rinfo()->pc()); |
if (*p != 0) { // 0 means uninitialized. |
*p += pc_delta; |
} |
@@ -1825,9 +1823,7 @@ |
} |
-const int RelocInfo::kApplyMask = |
- RelocInfo::kCodeTargetMask | 1 << RelocInfo::RUNTIME_ENTRY | |
- 1 << RelocInfo::JS_RETURN | 1 << RelocInfo::INTERNAL_REFERENCE; |
+const int RelocInfo::kApplyMask = 1 << RelocInfo::INTERNAL_REFERENCE; |
} } // namespace v8::internal |