| 677 | } |
| 678 | |
| 679 | void WinUnwindGenerator::OnReturnAddress(ModuleInfo* module, |
| 680 | size_t original_address, |
| 681 | size_t translated_address) |
| 682 | { |
| 683 | WinUnwindData* unwind_data = (WinUnwindData*)module->unwind_data; |
| 684 | |
| 685 | FunctionInfo *info = unwind_data->LookupFunctionInfoForOther(original_address - 1); |
| 686 | if (!info) return; |
| 687 | |
| 688 | WinUnwindData::ReturnAddressInfo ret_info; |
| 689 | ret_info.original_return_address = original_address; |
| 690 | ret_info.original_function_info = info; |
| 691 | |
| 692 | // printf("Return address %zx %zx\n", translated_address, original_address); |
| 693 | |
| 694 | unwind_data->return_addresses[translated_address] = ret_info; |
| 695 | } |
| 696 | |
| 697 | void WinUnwindGenerator::OnBasicBlockStart(ModuleInfo* module, |
| 698 | size_t original_address, |
no test coverage detected