mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
6990754: Use native memory and reference counting to implement SymbolTable
Move symbols from permgen into C heap and reference count them Reviewed-by: never, acorn, jmasa, stefank
This commit is contained in:
parent
950858350d
commit
7b4f8073f0
223 changed files with 3783 additions and 3641 deletions
|
@ -268,9 +268,9 @@ private:
|
|||
jclass _class_being_redefined;
|
||||
|
||||
public:
|
||||
JvmtiClassFileLoadEventMark(JavaThread *thread, symbolHandle name,
|
||||
JvmtiClassFileLoadEventMark(JavaThread *thread, Symbol* name,
|
||||
Handle class_loader, Handle prot_domain, KlassHandle *class_being_redefined) : JvmtiThreadEventMark(thread) {
|
||||
_class_name = name() != NULL? name->as_utf8() : NULL;
|
||||
_class_name = name != NULL? name->as_utf8() : NULL;
|
||||
_jloader = (jobject)to_jobject(class_loader());
|
||||
_protection_domain = (jobject)to_jobject(prot_domain());
|
||||
if (class_being_redefined == NULL) {
|
||||
|
@ -506,7 +506,7 @@ JvmtiExport::get_all_native_method_prefixes(int* count_ptr) {
|
|||
|
||||
class JvmtiClassFileLoadHookPoster : public StackObj {
|
||||
private:
|
||||
symbolHandle _h_name;
|
||||
Symbol* _h_name;
|
||||
Handle _class_loader;
|
||||
Handle _h_protection_domain;
|
||||
unsigned char ** _data_ptr;
|
||||
|
@ -522,7 +522,7 @@ class JvmtiClassFileLoadHookPoster : public StackObj {
|
|||
JvmtiClassLoadKind _load_kind;
|
||||
|
||||
public:
|
||||
inline JvmtiClassFileLoadHookPoster(symbolHandle h_name, Handle class_loader,
|
||||
inline JvmtiClassFileLoadHookPoster(Symbol* h_name, Handle class_loader,
|
||||
Handle h_protection_domain,
|
||||
unsigned char **data_ptr, unsigned char **end_ptr,
|
||||
unsigned char **cached_data_ptr,
|
||||
|
@ -597,7 +597,7 @@ class JvmtiClassFileLoadHookPoster : public StackObj {
|
|||
// EVT_TRACE(JVMTI_EVENT_CLASS_FILE_LOAD_HOOK,
|
||||
// ("JVMTI [%s] class file load hook event sent %s data_ptr = %d, data_len = %d",
|
||||
// JvmtiTrace::safe_get_thread_name(_thread),
|
||||
// _h_name.is_null() ? "NULL" : _h_name->as_utf8(),
|
||||
// _h_name == NULL ? "NULL" : _h_name->as_utf8(),
|
||||
// _curr_data, _curr_len ));
|
||||
JvmtiClassFileLoadEventMark jem(_thread, _h_name, _class_loader,
|
||||
_h_protection_domain,
|
||||
|
@ -655,7 +655,7 @@ class JvmtiClassFileLoadHookPoster : public StackObj {
|
|||
bool JvmtiExport::_should_post_class_file_load_hook = false;
|
||||
|
||||
// this entry is for class file load hook on class load, redefine and retransform
|
||||
void JvmtiExport::post_class_file_load_hook(symbolHandle h_name,
|
||||
void JvmtiExport::post_class_file_load_hook(Symbol* h_name,
|
||||
Handle class_loader,
|
||||
Handle h_protection_domain,
|
||||
unsigned char **data_ptr,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue