diff src/share/vm/oops/instanceKlass.cpp @ 19405:e6637891a870

Simplify NodeClass management.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Mon, 16 Feb 2015 18:51:13 +0100
parents 52b4284cb496
children 7848fc12602b
line wrap: on
line diff
--- a/src/share/vm/oops/instanceKlass.cpp	Mon Feb 16 18:08:55 2015 +0100
+++ b/src/share/vm/oops/instanceKlass.cpp	Mon Feb 16 18:51:13 2015 +0100
@@ -294,9 +294,6 @@
   set_init_state(InstanceKlass::allocated);
   set_init_thread(NULL);
   set_reference_type(rt);
-#ifdef GRAAL
-  set_graal_node_class(NULL);
-#endif
   set_oop_map_cache(NULL);
   set_jni_ids(NULL);
   set_osr_nmethods_head(NULL);
@@ -326,13 +323,6 @@
   set_layout_helper(Klass::instance_layout_helper(0, true));
 }
 
-#ifdef GRAAL
-void InstanceKlass::oops_do(OopClosure* cl) {
-  Klass::oops_do(cl);
-  cl->do_oop(adr_graal_node_class());
-}
-#endif
-
 void InstanceKlass::deallocate_methods(ClassLoaderData* loader_data,
                                        Array<Method*>* methods) {
   if (methods != NULL && methods != Universe::the_empty_method_array() &&
@@ -1208,29 +1198,6 @@
     JavaCalls::call(&result, h_method, &args, CHECK); // Static call (no args)
   }
 
-#ifdef GRAAL
-  if (SystemDictionary::Node_klass() != NULL && this_oop->is_subtype_of(SystemDictionary::Node_klass())) {
-    if (this_oop() != SystemDictionary::Node_klass()) {
-      if (!GraalRuntime::is_HotSpotGraalRuntime_initialized() && JavaAssertions::systemClassDefault() == false) {
-        // We want to ensure that the process of initializing HotSpotGraalRuntime
-        // is fast since it executes at VM startup. We must avoid triggering
-        // class initialization of any Node classes during this process.
-        ResourceMark rm;
-        char buf[200];
-        jio_snprintf(buf, sizeof(buf), "Node subclass %s must not be initialized before HotSpotGraalRuntime is initialized", this_oop->name()->as_C_string());
-        THROW_MSG(vmSymbols::java_lang_InternalError(), buf);
-      }
-      // Create the NodeClass for a Node subclass.
-      TempNewSymbol sig = SymbolTable::new_symbol("(Ljava/lang/Class;)Lcom/oracle/graal/graph/NodeClass;", CHECK);
-      JavaValue result(T_OBJECT);
-      JavaCalls::call_static(&result, SystemDictionary::NodeClass_klass(), vmSymbols::get_name(), sig, this_oop->java_mirror(), CHECK);
-      this_oop->set_graal_node_class((oop) result.get_jobject());
-    } else {
-      // A NodeClass cannot be created for Node due to checks in
-      // NodeClass.FieldScanner.scanField()
-    }
-  }
-#endif
 }
 
 
@@ -2310,10 +2277,6 @@
   }
   init_implementor();
 
-#ifdef GRAAL
-  set_graal_node_class(NULL);
-#endif
-
   constants()->remove_unshareable_info();
 
   for (int i = 0; i < methods()->length(); i++) {