Fixing stack traces, making lr BC... to diff from stack scribble BE...
This commit is contained in:
@@ -259,7 +259,7 @@ void X64CodeCache::InitializeUnwindEntry(uint8_t* unwind_entry_address,
|
||||
unwind_info->Version = 1;
|
||||
unwind_info->Flags = 0;
|
||||
unwind_info->SizeOfProlog = prolog_size;
|
||||
unwind_info->CountOfCodes = 3;
|
||||
unwind_info->CountOfCodes = 2;
|
||||
unwind_info->FrameRegister = 0;
|
||||
unwind_info->FrameOffset = 0;
|
||||
|
||||
|
||||
@@ -235,13 +235,13 @@ bool X64Emitter::Emit(HIRBuilder* builder, size_t& out_stack_size) {
|
||||
add(rsp, (uint32_t)stack_size);
|
||||
ret();
|
||||
|
||||
#if XE_DEBUG
|
||||
nop();
|
||||
nop();
|
||||
nop();
|
||||
nop();
|
||||
nop();
|
||||
#endif // XE_DEBUG
|
||||
if (FLAGS_debug) {
|
||||
nop();
|
||||
nop();
|
||||
nop();
|
||||
nop();
|
||||
nop();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -253,13 +253,13 @@ void X64Emitter::MarkSourceOffset(const Instr* i) {
|
||||
entry->code_offset = static_cast<uint32_t>(getSize());
|
||||
source_map_count_++;
|
||||
|
||||
#if XE_DEBUG
|
||||
nop();
|
||||
nop();
|
||||
mov(eax, entry->source_offset);
|
||||
nop();
|
||||
nop();
|
||||
#endif // XE_DEBUG
|
||||
if (FLAGS_debug) {
|
||||
nop();
|
||||
nop();
|
||||
mov(eax, entry->source_offset);
|
||||
nop();
|
||||
nop();
|
||||
}
|
||||
|
||||
if (debug_info_flags_ & DebugInfoFlags::kDebugInfoTraceFunctionCoverage) {
|
||||
auto trace_data = debug_info_->trace_data();
|
||||
|
||||
Reference in New Issue
Block a user