Mercurial > hg > graal-compiler
changeset 15126:bd4c7b669bd8
initialize NodeClass for Node classes that are not on the boot class path
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 16 Apr 2014 11:16:36 +0200 |
parents | f4c5498fdf4c |
children | dc774fe9d0e0 844cfee4041a |
files | src/share/vm/oops/instanceKlass.cpp |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/oops/instanceKlass.cpp Wed Apr 16 11:16:00 2014 +0200 +++ b/src/share/vm/oops/instanceKlass.cpp Wed Apr 16 11:16:36 2014 +0200 @@ -1203,13 +1203,16 @@ } #ifdef GRAAL - if (this_oop->class_loader() == NULL && this_oop->is_subtype_of(SystemDictionary::Node_klass())) { + if (this_oop->is_subtype_of(SystemDictionary::Node_klass())) { if (this_oop() != SystemDictionary::Node_klass()) { // 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