Mercurial > hg > truffle
comparison src/share/vm/oops/instanceKlass.cpp @ 15106:6876a4599b7e
create NodeClass for each Node subclass during class initialization of the latter
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 15 Apr 2014 13:34:29 +0200 |
parents | 5e6f29f287d6 |
children | bd4c7b669bd8 |
comparison
equal
deleted
inserted
replaced
15105:4833806209f2 | 15106:6876a4599b7e |
---|---|
1199 if (h_method() != NULL) { | 1199 if (h_method() != NULL) { |
1200 JavaCallArguments args; // No arguments | 1200 JavaCallArguments args; // No arguments |
1201 JavaValue result(T_VOID); | 1201 JavaValue result(T_VOID); |
1202 JavaCalls::call(&result, h_method, &args, CHECK); // Static call (no args) | 1202 JavaCalls::call(&result, h_method, &args, CHECK); // Static call (no args) |
1203 } | 1203 } |
1204 | |
1205 #ifdef GRAAL | |
1206 if (this_oop->class_loader() == NULL && this_oop->is_subtype_of(SystemDictionary::Node_klass())) { | |
1207 if (this_oop() != SystemDictionary::Node_klass()) { | |
1208 // Create the NodeClass for a Node subclass. | |
1209 TempNewSymbol sig = SymbolTable::new_symbol("(Ljava/lang/Class;)Lcom/oracle/graal/graph/NodeClass;", CHECK); | |
1210 JavaValue result(T_OBJECT); | |
1211 JavaCalls::call_static(&result, SystemDictionary::NodeClass_klass(), vmSymbols::get_name(), sig, this_oop->java_mirror(), CHECK); | |
1212 this_oop->set_graal_node_class((oop) result.get_jobject()); | |
1213 } | |
1214 } | |
1215 #endif | |
1204 } | 1216 } |
1205 | 1217 |
1206 | 1218 |
1207 void InstanceKlass::mask_for(methodHandle method, int bci, | 1219 void InstanceKlass::mask_for(methodHandle method, int bci, |
1208 InterpreterOopMap* entry_for) { | 1220 InterpreterOopMap* entry_for) { |