equal
deleted
inserted
replaced
44 #ifdef TARGET_OS_FAMILY_bsd |
44 #ifdef TARGET_OS_FAMILY_bsd |
45 # include "jvm_bsd.h" |
45 # include "jvm_bsd.h" |
46 # include <setjmp.h> |
46 # include <setjmp.h> |
47 #endif |
47 #endif |
48 |
48 |
|
49 class AgentLibrary; |
|
50 |
49 // os defines the interface to operating system; this includes traditional |
51 // os defines the interface to operating system; this includes traditional |
50 // OS services (time, I/O) as well as other functionality with system- |
52 // OS services (time, I/O) as well as other functionality with system- |
51 // dependent code. |
53 // dependent code. |
52 |
54 |
53 typedef void (*dll_func)(...); |
55 typedef void (*dll_func)(...); |
535 static void* dll_lookup(void* handle, const char* name); |
537 static void* dll_lookup(void* handle, const char* name); |
536 |
538 |
537 // Unload library |
539 // Unload library |
538 static void dll_unload(void *lib); |
540 static void dll_unload(void *lib); |
539 |
541 |
|
542 // Return the handle of this process |
|
543 static void* get_default_process_handle(); |
|
544 |
|
545 // Check for static linked agent library |
|
546 static bool find_builtin_agent(AgentLibrary *agent_lib, const char *syms[], |
|
547 size_t syms_len); |
|
548 |
|
549 // Find agent entry point |
|
550 static void *find_agent_function(AgentLibrary *agent_lib, bool check_lib, |
|
551 const char *syms[], size_t syms_len); |
|
552 |
540 // Print out system information; they are called by fatal error handler. |
553 // Print out system information; they are called by fatal error handler. |
541 // Output format may be different on different platforms. |
554 // Output format may be different on different platforms. |
542 static void print_os_info(outputStream* st); |
555 static void print_os_info(outputStream* st); |
543 static void print_os_info_brief(outputStream* st); |
556 static void print_os_info_brief(outputStream* st); |
544 static void print_cpu_info(outputStream* st); |
557 static void print_cpu_info(outputStream* st); |
803 // Used at creation if requested by the diagnostic flag PauseAtStartup. |
816 // Used at creation if requested by the diagnostic flag PauseAtStartup. |
804 // Causes the VM to wait until an external stimulus has been applied |
817 // Causes the VM to wait until an external stimulus has been applied |
805 // (for Unix, that stimulus is a signal, for Windows, an external |
818 // (for Unix, that stimulus is a signal, for Windows, an external |
806 // ResumeThread call) |
819 // ResumeThread call) |
807 static void pause(); |
820 static void pause(); |
|
821 |
|
822 // Builds a platform dependent Agent_OnLoad_<libname> function name |
|
823 // which is used to find statically linked in agents. |
|
824 static char* build_agent_function_name(const char *sym, const char *cname, |
|
825 bool is_absolute_path); |
808 |
826 |
809 class SuspendedThreadTaskContext { |
827 class SuspendedThreadTaskContext { |
810 public: |
828 public: |
811 SuspendedThreadTaskContext(Thread* thread, void *ucontext) : _thread(thread), _ucontext(ucontext) {} |
829 SuspendedThreadTaskContext(Thread* thread, void *ucontext) : _thread(thread), _ucontext(ucontext) {} |
812 Thread* thread() const { return _thread; } |
830 Thread* thread() const { return _thread; } |