Implemented a instrumentation-based call graph profiler for Harmony. The callgraph data structure are created and stored in EM component.
The patch is attached and three other additional source files are also included:
1. CallGraphProfileCollector.cpp, and CallGraphProfileCollector.h, to be added into directory \working_vm\vm\em\src
2. CallGphProfiler.cpp, to be added into directory: \working_vm\vm\jitrino\src\dynopt
Another configuration file, server.emconf, is also included. You can add or remove "callgph_instrument" to enable and disable call graph in SD1_OPT and SD2_OPT compilations.
The call graph is only workable in server mode. Example command line is:
java.exe -Xem:server -Xmx512m -Xms512m -jar SPECjvm2008.jar scimark.fft.small