src/share/vm/oops/methodOop.hpp

changeset 1145
e5b0439ef4ae
parent 1063
7bb995fbd3c0
child 1161
be93aad57795
equal deleted inserted replaced
1144:1d037ecd7960 1145:e5b0439ef4ae
318 318
319 // vtable index 319 // vtable index
320 enum VtableIndexFlag { 320 enum VtableIndexFlag {
321 // Valid vtable indexes are non-negative (>= 0). 321 // Valid vtable indexes are non-negative (>= 0).
322 // These few negative values are used as sentinels. 322 // These few negative values are used as sentinels.
323 highest_unused_vtable_index_value = -5,
323 invalid_vtable_index = -4, // distinct from any valid vtable index 324 invalid_vtable_index = -4, // distinct from any valid vtable index
324 garbage_vtable_index = -3, // not yet linked; no vtable layout yet 325 garbage_vtable_index = -3, // not yet linked; no vtable layout yet
325 nonvirtual_vtable_index = -2 // there is no need for vtable dispatch 326 nonvirtual_vtable_index = -2 // there is no need for vtable dispatch
326 // 6330203 Note: Do not use -1, which was overloaded with many meanings. 327 // 6330203 Note: Do not use -1, which was overloaded with many meanings.
327 }; 328 };
521 int line_number_from_bci(int bci) const; 522 int line_number_from_bci(int bci) const;
522 523
523 // Reflection support 524 // Reflection support
524 bool is_overridden_in(klassOop k) const; 525 bool is_overridden_in(klassOop k) const;
525 526
527 // JSR 292 support
528 bool is_method_handle_invoke() const { return access_flags().is_method_handle_invoke(); }
529 static methodHandle make_invoke_method(KlassHandle holder,
530 symbolHandle signature,
531 Handle method_type,
532 TRAPS);
533 // these operate only on invoke methods:
534 oop method_handle_type() const;
535 static jint* method_type_offsets_chain(); // series of pointer-offsets, terminated by -1
536 // presize interpreter frames for extra interpreter stack entries, if needed
537 static int extra_stack_entries() { return EnableMethodHandles ? (int)MethodHandlePushLimit : 0; }
538 static int extra_stack_words(); // = extra_stack_entries() * Interpreter::stackElementSize()
526 // RedefineClasses() support: 539 // RedefineClasses() support:
527 bool is_old() const { return access_flags().is_old(); } 540 bool is_old() const { return access_flags().is_old(); }
528 void set_is_old() { _access_flags.set_is_old(); } 541 void set_is_old() { _access_flags.set_is_old(); }
529 bool is_obsolete() const { return access_flags().is_obsolete(); } 542 bool is_obsolete() const { return access_flags().is_obsolete(); }
530 void set_is_obsolete() { _access_flags.set_is_obsolete(); } 543 void set_is_obsolete() { _access_flags.set_is_obsolete(); }

mercurial