Mercurial > hg > truffle
comparison src/share/vm/interpreter/templateInterpreter.cpp @ 6266:1d7922586cf6
7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI
Summary: remove assembly code for JDK 7 chained method handles
Reviewed-by: jrose, twisti, kvn, mhaupt
Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>
author | twisti |
---|---|
date | Tue, 24 Jul 2012 10:51:00 -0700 |
parents | 6759698e3140 |
children | da91efe96a93 8c5333c80cfd |
comparison
equal
deleted
inserted
replaced
6241:aba91a731143 | 6266:1d7922586cf6 |
---|---|
360 method_entry(zerolocals) | 360 method_entry(zerolocals) |
361 method_entry(zerolocals_synchronized) | 361 method_entry(zerolocals_synchronized) |
362 method_entry(empty) | 362 method_entry(empty) |
363 method_entry(accessor) | 363 method_entry(accessor) |
364 method_entry(abstract) | 364 method_entry(abstract) |
365 method_entry(method_handle) | |
366 method_entry(java_lang_math_sin ) | 365 method_entry(java_lang_math_sin ) |
367 method_entry(java_lang_math_cos ) | 366 method_entry(java_lang_math_cos ) |
368 method_entry(java_lang_math_tan ) | 367 method_entry(java_lang_math_tan ) |
369 method_entry(java_lang_math_abs ) | 368 method_entry(java_lang_math_abs ) |
370 method_entry(java_lang_math_sqrt ) | 369 method_entry(java_lang_math_sqrt ) |
371 method_entry(java_lang_math_log ) | 370 method_entry(java_lang_math_log ) |
372 method_entry(java_lang_math_log10) | 371 method_entry(java_lang_math_log10) |
373 method_entry(java_lang_math_exp ) | 372 method_entry(java_lang_math_exp ) |
374 method_entry(java_lang_math_pow ) | 373 method_entry(java_lang_math_pow ) |
375 method_entry(java_lang_ref_reference_get) | 374 method_entry(java_lang_ref_reference_get) |
375 | |
376 // method handle entry kinds are generated later in MethodHandlesAdapterGenerator::generate: | |
377 for (int i = Interpreter::method_handle_invoke_FIRST; i <= Interpreter::method_handle_invoke_LAST; i++) { | |
378 Interpreter::MethodKind kind = (Interpreter::MethodKind) i; | |
379 Interpreter::_entry_table[kind] = Interpreter::_entry_table[Interpreter::abstract]; | |
380 } | |
376 | 381 |
377 // all native method kinds (must be one contiguous block) | 382 // all native method kinds (must be one contiguous block) |
378 Interpreter::_native_entry_begin = Interpreter::code()->code_end(); | 383 Interpreter::_native_entry_begin = Interpreter::code()->code_end(); |
379 method_entry(native) | 384 method_entry(native) |
380 method_entry(native_synchronized) | 385 method_entry(native_synchronized) |