mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-24 04:54:40 +02:00
8014135
: The JVMTI specification does not conform to recent changes in JNI specification
Added support for statically linked agents Reviewed-by: sspitsyn, bobv, coleenp
This commit is contained in:
parent
6549fc2f25
commit
993de8ba28
8 changed files with 373 additions and 65 deletions
|
@ -46,6 +46,8 @@
|
|||
# include <setjmp.h>
|
||||
#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 @@ class os: AllStatic {
|
|||
// 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 @@ class os: AllStatic {
|
|||
// ResumeThread call)
|
||||
static void pause();
|
||||
|
||||
// Builds a platform dependent Agent_OnLoad_<libname> 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) {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue