Mercurial > hg > truffle
comparison src/share/vm/runtime/os.cpp @ 12220:8e94527f601e
8024007: Misc. cleanup of static agent code
Summary: Minor cleanup of static agent code from 8014135
Reviewed-by: dcubed, sspitsyn
author | bpittore |
---|---|
date | Wed, 11 Sep 2013 20:03:34 -0400 |
parents | c636758ea616 |
children | 179cd89fb279 |
comparison
equal
deleted
inserted
replaced
12186:313b724f8911 | 12220:8e94527f601e |
---|---|
452 * executable if agent_lib->is_static_lib() == true or in the shared library | 452 * executable if agent_lib->is_static_lib() == true or in the shared library |
453 * referenced by 'handle'. | 453 * referenced by 'handle'. |
454 */ | 454 */ |
455 void* os::find_agent_function(AgentLibrary *agent_lib, bool check_lib, | 455 void* os::find_agent_function(AgentLibrary *agent_lib, bool check_lib, |
456 const char *syms[], size_t syms_len) { | 456 const char *syms[], size_t syms_len) { |
457 assert(agent_lib != NULL, "sanity check"); | |
457 const char *lib_name; | 458 const char *lib_name; |
458 void *handle = agent_lib->os_lib(); | 459 void *handle = agent_lib->os_lib(); |
459 void *entryName = NULL; | 460 void *entryName = NULL; |
460 char *agent_function_name; | 461 char *agent_function_name; |
461 size_t i; | 462 size_t i; |
482 size_t syms_len) { | 483 size_t syms_len) { |
483 void *ret; | 484 void *ret; |
484 void *proc_handle; | 485 void *proc_handle; |
485 void *save_handle; | 486 void *save_handle; |
486 | 487 |
488 assert(agent_lib != NULL, "sanity check"); | |
487 if (agent_lib->name() == NULL) { | 489 if (agent_lib->name() == NULL) { |
488 return false; | 490 return false; |
489 } | 491 } |
490 proc_handle = get_default_process_handle(); | 492 proc_handle = get_default_process_handle(); |
491 // Check for Agent_OnLoad/Attach_lib_name function | 493 // Check for Agent_OnLoad/Attach_lib_name function |
492 save_handle = agent_lib->os_lib(); | 494 save_handle = agent_lib->os_lib(); |
493 // We want to look in this process' symbol table. | 495 // We want to look in this process' symbol table. |
494 agent_lib->set_os_lib(proc_handle); | 496 agent_lib->set_os_lib(proc_handle); |
495 ret = find_agent_function(agent_lib, true, syms, syms_len); | 497 ret = find_agent_function(agent_lib, true, syms, syms_len); |
496 agent_lib->set_os_lib(save_handle); | |
497 if (ret != NULL) { | 498 if (ret != NULL) { |
498 // Found an entry point like Agent_OnLoad_lib_name so we have a static agent | 499 // Found an entry point like Agent_OnLoad_lib_name so we have a static agent |
499 agent_lib->set_os_lib(proc_handle); | |
500 agent_lib->set_valid(); | 500 agent_lib->set_valid(); |
501 agent_lib->set_static_lib(true); | 501 agent_lib->set_static_lib(true); |
502 return true; | 502 return true; |
503 } | 503 } |
504 agent_lib->set_os_lib(save_handle); | |
504 return false; | 505 return false; |
505 } | 506 } |
506 | 507 |
507 // --------------------- heap allocation utilities --------------------- | 508 // --------------------- heap allocation utilities --------------------- |
508 | 509 |