| 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
|
| }
|
| }
|
|
|
|
|