Mercurial > hg > truffle
comparison src/share/vm/oops/methodOop.hpp @ 1507:cd5dbf694d45
6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
author | jrose |
---|---|
date | Sat, 01 May 2010 02:42:18 -0700 |
parents | cef333a48af6 |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1506:2338d41fbd81 | 1507:cd5dbf694d45 |
---|---|
523 // Reflection support | 523 // Reflection support |
524 bool is_overridden_in(klassOop k) const; | 524 bool is_overridden_in(klassOop k) const; |
525 | 525 |
526 // JSR 292 support | 526 // JSR 292 support |
527 bool is_method_handle_invoke() const { return access_flags().is_method_handle_invoke(); } | 527 bool is_method_handle_invoke() const { return access_flags().is_method_handle_invoke(); } |
528 static bool is_method_handle_invoke_name(vmSymbols::SID name_sid); | |
529 static bool is_method_handle_invoke_name(symbolOop name) { | |
530 return is_method_handle_invoke_name(vmSymbols::find_sid(name)); | |
531 } | |
528 // Tests if this method is an internal adapter frame from the | 532 // Tests if this method is an internal adapter frame from the |
529 // MethodHandleCompiler. | 533 // MethodHandleCompiler. |
530 bool is_method_handle_adapter() const; | 534 bool is_method_handle_adapter() const; |
531 static methodHandle make_invoke_method(KlassHandle holder, | 535 static methodHandle make_invoke_method(KlassHandle holder, |
532 symbolHandle signature, | 536 symbolHandle name, //invokeExact or invokeGeneric |
537 symbolHandle signature, //anything at all | |
533 Handle method_type, | 538 Handle method_type, |
534 TRAPS); | 539 TRAPS); |
535 // these operate only on invoke methods: | 540 // these operate only on invoke methods: |
536 oop method_handle_type() const; | 541 oop method_handle_type() const; |
537 static jint* method_type_offsets_chain(); // series of pointer-offsets, terminated by -1 | 542 static jint* method_type_offsets_chain(); // series of pointer-offsets, terminated by -1 |