Mercurial > hg > truffle
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; |