From 0fd2f1ae2152782f2127c56fb5302002c95502d3 Mon Sep 17 00:00:00 2001 From: nealsid Date: Thu, 19 Feb 2009 21:26:20 +0000 Subject: Modify symbol supplier interface to support an overload that takes a symbol data buffer, to get around an extraneous read/write of symbol data R=doshimun git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@311 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/processor/stackwalker.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/processor/stackwalker.cc') diff --git a/src/processor/stackwalker.cc b/src/processor/stackwalker.cc index cdb0ce52..de67bdaa 100644 --- a/src/processor/stackwalker.cc +++ b/src/processor/stackwalker.cc @@ -101,13 +101,15 @@ bool Stackwalker::Walk(CallStack *stack) { if (resolver_ && !resolver_->HasModule(frame->module->code_file()) && supplier_) { - string symbol_file; + string symbol_data, symbol_file; SymbolSupplier::SymbolResult symbol_result = - supplier_->GetSymbolFile(module, system_info_, &symbol_file); + supplier_->GetSymbolFile(module, system_info_, + &symbol_file, &symbol_data); switch (symbol_result) { case SymbolSupplier::FOUND: - resolver_->LoadModule(frame->module->code_file(), symbol_file); + resolver_->LoadModuleUsingMapBuffer(frame->module->code_file(), + symbol_data); break; case SymbolSupplier::NOT_FOUND: break; // nothing to do -- cgit v1.2.1