--- old/src/share/vm/runtime/os.hpp 2013-08-20 12:12:18.471405579 -0400 +++ new/src/share/vm/runtime/os.hpp 2013-08-20 12:12:17.479349917 -0400 @@ -46,6 +46,8 @@ # include #endif +class AgentLibrary; + // os defines the interface to operating system; this includes traditional // OS services (time, I/O) as well as other functionality with system- // dependent code. @@ -537,6 +539,17 @@ // Unload library static void dll_unload(void *lib); + // return the handle of this process + static void* get_default_process_handle(); + + // Check for static linked agent library + static bool find_builtin_agent(AgentLibrary *agent_lib, const char *syms[], + size_t syms_len); + + // Find agent entry point + static void *find_agent_function(AgentLibrary *agent_lib, bool check_lib, + const char *syms[], size_t syms_len); + // Print out system information; they are called by fatal error handler. // Output format may be different on different platforms. static void print_os_info(outputStream* st); @@ -806,6 +819,11 @@ // ResumeThread call) static void pause(); + // Builds a platform dependent Agent_OnLoad_ function name + // which is used to find statically linked in agents. + static char* build_agent_function_name(const char *sym, const char *cname, + bool is_absolute_path); + class SuspendedThreadTaskContext { public: SuspendedThreadTaskContext(Thread* thread, void *ucontext) : _thread(thread), _ucontext(ucontext) {}