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