diff src/share/vm/runtime/jniHandles.cpp @ 6725:da91efe96a93

6964458: Reimplement class meta-data storage to use native memory Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author coleenp
date Sat, 01 Sep 2012 13:25:18 -0400
parents f08d439fab8c
children f34d701e952e
line wrap: on
line diff
--- a/src/share/vm/runtime/jniHandles.cpp	Fri Aug 31 16:39:35 2012 -0700
+++ b/src/share/vm/runtime/jniHandles.cpp	Sat Sep 01 13:25:18 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -111,19 +111,6 @@
   return res;
 }
 
-jmethodID JNIHandles::make_jmethod_id(methodHandle mh) {
-  return (jmethodID) make_weak_global(mh);
-}
-
-
-
-void JNIHandles::change_method_associated_with_jmethod_id(jmethodID jmid, methodHandle mh) {
-  MutexLocker ml(JNIGlobalHandle_lock); // Is this necessary?
-  Handle obj = (Handle)mh;
-  oop* jobj = (oop*)jmid;
-  *jobj = obj();
-}
-
 
 void JNIHandles::destroy_global(jobject handle) {
   if (handle != NULL) {
@@ -140,10 +127,6 @@
   }
 }
 
-void JNIHandles::destroy_jmethod_id(jmethodID mid) {
-  destroy_weak_global((jobject)mid);
-}
-
 
 void JNIHandles::oops_do(OopClosure* f) {
   f->do_oop(&_deleted_handle);
@@ -162,8 +145,8 @@
   EXCEPTION_MARK;
   // We will never reach the CATCH below since Exceptions::_throw will cause
   // the VM to exit if an exception is thrown during initialization
-  klassOop k      = SystemDictionary::Object_klass();
-  _deleted_handle = instanceKlass::cast(k)->allocate_permanent_instance(CATCH);
+  Klass* k      = SystemDictionary::Object_klass();
+  _deleted_handle = InstanceKlass::cast(k)->allocate_instance(CATCH);
 }