Index: src/debug.cc |
=================================================================== |
--- src/debug.cc (revision 13219) |
+++ src/debug.cc (working copy) |
@@ -1887,13 +1887,15 @@ |
// Iterate over the RelocInfo in the original code to compute the sum of the |
// constant pools sizes. (See Assembler::CheckConstPool()) |
// Note that this is only useful for architectures using constant pools. |
+ int frame_const_pool_size = 0; |
+#if !defined(V8_TARGET_ARCH_X64) |
int constpool_mask = RelocInfo::ModeMask(RelocInfo::CONST_POOL); |
- int frame_const_pool_size = 0; |
for (RelocIterator it(*frame_code, constpool_mask); !it.done(); it.next()) { |
RelocInfo* info = it.rinfo(); |
if (info->pc() >= frame->pc()) break; |
frame_const_pool_size += static_cast<int>(info->data()); |
} |
+#endif |
intptr_t frame_offset = |
frame->pc() - frame_code->instruction_start() - frame_const_pool_size; |
@@ -1901,8 +1903,12 @@ |
// generated for debug slots and constant pools. |
int debug_break_slot_bytes = 0; |
int new_code_const_pool_size = 0; |
+#if !defined(V8_TARGET_ARCH_X64) |
int mask = RelocInfo::ModeMask(RelocInfo::DEBUG_BREAK_SLOT) | |
RelocInfo::ModeMask(RelocInfo::CONST_POOL); |
+#else |
+ int mask = RelocInfo::ModeMask(RelocInfo::DEBUG_BREAK_SLOT); |
+#endif |
for (RelocIterator it(*new_code, mask); !it.done(); it.next()) { |
// Check if the pc in the new code with debug break |
// slots is before this slot. |
@@ -1915,10 +1921,12 @@ |
if (RelocInfo::IsDebugBreakSlot(info->rmode())) { |
debug_break_slot_bytes += Assembler::kDebugBreakSlotLength; |
+#if !defined(V8_TARGET_ARCH_X64) |
} else { |
ASSERT(RelocInfo::IsConstPool(info->rmode())); |
// The size of the constant pool is encoded in the data. |
new_code_const_pool_size += static_cast<int>(info->data()); |
+#endif |
} |
} |