diff src/share/vm/ci/ciInstanceKlass.hpp @ 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 49036505ab5f
children e522a00b91aa bd7a7ce2e264
line wrap: on
line diff
--- a/src/share/vm/ci/ciInstanceKlass.hpp	Fri Aug 31 16:39:35 2012 -0700
+++ b/src/share/vm/ci/ciInstanceKlass.hpp	Sat Sep 01 13:25:18 2012 -0400
@@ -27,14 +27,13 @@
 
 #include "ci/ciConstantPoolCache.hpp"
 #include "ci/ciFlags.hpp"
-#include "ci/ciInstanceKlassKlass.hpp"
 #include "ci/ciKlass.hpp"
 #include "ci/ciSymbol.hpp"
 
 // ciInstanceKlass
 //
-// This class represents a klassOop in the HotSpot virtual machine
-// whose Klass part is an instanceKlass.  It may or may not
+// This class represents a Klass* in the HotSpot virtual machine
+// whose Klass part is an InstanceKlass.  It may or may not
 // be loaded.
 class ciInstanceKlass : public ciKlass {
   CI_PACKAGE_ACCESS
@@ -48,7 +47,7 @@
   jobject                _loader;
   jobject                _protection_domain;
 
-  instanceKlass::ClassState _init_state;           // state of class
+  InstanceKlass::ClassState _init_state;           // state of class
   bool                   _is_shared;
   bool                   _has_finalizer;
   bool                   _has_subklass;
@@ -77,8 +76,8 @@
   ciInstanceKlass(KlassHandle h_k);
   ciInstanceKlass(ciSymbol* name, jobject loader, jobject protection_domain);
 
-  instanceKlass* get_instanceKlass() const {
-    return (instanceKlass*)get_Klass();
+  InstanceKlass* get_instanceKlass() const {
+    return (InstanceKlass*)get_Klass();
   }
 
   oop loader();
@@ -103,7 +102,7 @@
   GrowableArray<ciField*>* compute_nonstatic_fields_impl(GrowableArray<ciField*>* super_fields);
 
   // Update the init_state for shared klasses
-  void update_if_shared(instanceKlass::ClassState expected) {
+  void update_if_shared(InstanceKlass::ClassState expected) {
     if (_is_shared && _init_state != expected) {
       if (is_loaded()) compute_shared_init_state();
     }
@@ -112,18 +111,18 @@
 public:
   // Has this klass been initialized?
   bool                   is_initialized() {
-    update_if_shared(instanceKlass::fully_initialized);
-    return _init_state == instanceKlass::fully_initialized;
+    update_if_shared(InstanceKlass::fully_initialized);
+    return _init_state == InstanceKlass::fully_initialized;
   }
   // Is this klass being initialized?
   bool                   is_being_initialized() {
-    update_if_shared(instanceKlass::being_initialized);
-    return _init_state == instanceKlass::being_initialized;
+    update_if_shared(InstanceKlass::being_initialized);
+    return _init_state == InstanceKlass::being_initialized;
   }
   // Has this klass been linked?
   bool                   is_linked() {
-    update_if_shared(instanceKlass::linked);
-    return _init_state >= instanceKlass::linked;
+    update_if_shared(InstanceKlass::linked);
+    return _init_state >= InstanceKlass::linked;
   }
 
   // General klass information.
@@ -220,7 +219,7 @@
   // Is the defining class loader of this class the default loader?
   bool uses_default_loader();
 
-  bool is_java_lang_Object();
+  bool is_java_lang_Object() const;
 
   // Is this klass in the given package?
   bool is_in_package(const char* packagename) {
@@ -229,8 +228,8 @@
   bool is_in_package(const char* packagename, int len);
 
   // What kind of ciObject is this?
-  bool is_instance_klass() { return true; }
-  bool is_java_klass()     { return true; }
+  bool is_instance_klass() const { return true; }
+  bool is_java_klass() const     { return true; }
 };
 
 #endif // SHARE_VM_CI_CIINSTANCEKLASS_HPP