The problem with this is that a WPO linker will remove all this redundancy.
On Wed, Feb 15, 2012 at 16:19, <[email protected]> wrote: > some musings > > > https://chromiumcodereview.**appspot.com/9401019/diff/1004/** > src/platform-win32.cc<https://chromiumcodereview.appspot.com/9401019/diff/1004/src/platform-win32.cc> > File src/platform-win32.cc (right): > > https://chromiumcodereview.**appspot.com/9401019/diff/1004/** > src/platform-win32.cc#**newcode131<https://chromiumcodereview.appspot.com/9401019/diff/1004/src/platform-win32.cc#newcode131> > src/platform-win32.cc:131: // TODO(siggi): Check for the presence of the > Syzygy instrumentation by > Another way to do this would be to introduce and reference a known > symbol that is set to NULL by default in the source code, but rewritten > to point to the imported resolution function during instrumentation. > > That way less knowledge of the profiler is required here. > > i.e., > // Declared non-const, at global scope, and marked extern. > extern "C" ReturnAddressResolutionFunctio**n address_resolution_func = > NULL; > > Usage below is then simplified: > > Address* OS::**ResolveReturnAddressLocation(**Address* pc_address) { > if (address_resolution_func == NULL) > return pc_address; > return address_resolution_func(pc_**address); > } > > It's the responsiblity of the instrumenter to recognize the symbol and > rewrite all references/relocs to it. > > https://chromiumcodereview.**appspot.com/9401019/<https://chromiumcodereview.appspot.com/9401019/> > -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
