comparison src/share/vm/interpreter/interpreter.cpp @ 9046:c6a1ffc707ff

Comments and #ifdef GRAAL for recent changes to C++ code for calling nmethods directly.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Fri, 12 Apr 2013 17:22:54 +0200
parents ff5a32117e02
children 6b0fd0964b87
comparison
equal deleted inserted replaced
9030:9a3e25e270a0 9046:c6a1ffc707ff
186 if (m->is_abstract()) return abstract; 186 if (m->is_abstract()) return abstract;
187 187
188 // Method handle primitive? 188 // Method handle primitive?
189 if (m->is_method_handle_intrinsic()) { 189 if (m->is_method_handle_intrinsic()) {
190 vmIntrinsics::ID id = m->intrinsic_id(); 190 vmIntrinsics::ID id = m->intrinsic_id();
191 #ifdef GRAAL
191 if (id == vmIntrinsics::_CompilerToVMImpl_executeCompiledMethod) { 192 if (id == vmIntrinsics::_CompilerToVMImpl_executeCompiledMethod) {
193 // Special method kind for directly executing the verified entry point
194 // of a given nmethod.
192 return AbstractInterpreter::execute_compiled_method; 195 return AbstractInterpreter::execute_compiled_method;
193 } 196 }
197 #endif
194 assert(MethodHandles::is_signature_polymorphic(id), "must match an intrinsic"); 198 assert(MethodHandles::is_signature_polymorphic(id), "must match an intrinsic");
195 MethodKind kind = (MethodKind)( method_handle_invoke_FIRST + 199 MethodKind kind = (MethodKind)( method_handle_invoke_FIRST +
196 ((int)id - vmIntrinsics::FIRST_MH_SIG_POLY) ); 200 ((int)id - vmIntrinsics::FIRST_MH_SIG_POLY) );
197 assert(kind <= method_handle_invoke_LAST, "parallel enum ranges"); 201 assert(kind <= method_handle_invoke_LAST, "parallel enum ranges");
198 return kind; 202 return kind;
288 switch (kind) { 292 switch (kind) {
289 case zerolocals : tty->print("zerolocals" ); break; 293 case zerolocals : tty->print("zerolocals" ); break;
290 case zerolocals_synchronized: tty->print("zerolocals_synchronized"); break; 294 case zerolocals_synchronized: tty->print("zerolocals_synchronized"); break;
291 case native : tty->print("native" ); break; 295 case native : tty->print("native" ); break;
292 case native_synchronized : tty->print("native_synchronized" ); break; 296 case native_synchronized : tty->print("native_synchronized" ); break;
297 #ifdef GRAAL
293 case execute_compiled_method: tty->print("execute_compiled_method"); break; 298 case execute_compiled_method: tty->print("execute_compiled_method"); break;
299 #endif
294 case empty : tty->print("empty" ); break; 300 case empty : tty->print("empty" ); break;
295 case accessor : tty->print("accessor" ); break; 301 case accessor : tty->print("accessor" ); break;
296 case abstract : tty->print("abstract" ); break; 302 case abstract : tty->print("abstract" ); break;
297 case java_lang_math_sin : tty->print("java_lang_math_sin" ); break; 303 case java_lang_math_sin : tty->print("java_lang_math_sin" ); break;
298 case java_lang_math_cos : tty->print("java_lang_math_cos" ); break; 304 case java_lang_math_cos : tty->print("java_lang_math_cos" ); break;