comparison src/share/vm/oops/methodOop.hpp @ 726:be93aad57795

6655646: dynamic languages need dynamically linked call sites Summary: invokedynamic instruction (JSR 292 RI) Reviewed-by: twisti, never
author jrose
date Tue, 21 Apr 2009 23:21:04 -0700
parents e5b0439ef4ae
children 75596850f863
comparison
equal deleted inserted replaced
725:928912ce8438 726:be93aad57795
532 TRAPS); 532 TRAPS);
533 // these operate only on invoke methods: 533 // these operate only on invoke methods:
534 oop method_handle_type() const; 534 oop method_handle_type() const;
535 static jint* method_type_offsets_chain(); // series of pointer-offsets, terminated by -1 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 536 // presize interpreter frames for extra interpreter stack entries, if needed
537 static int extra_stack_entries() { return EnableMethodHandles ? (int)MethodHandlePushLimit : 0; } 537 // method handles want to be able to push a few extra values (e.g., a bound receiver), and
538 // invokedynamic sometimes needs to push a bootstrap method, call site, and arglist,
539 // all without checking for a stack overflow
540 static int extra_stack_entries() { return (EnableMethodHandles ? (int)MethodHandlePushLimit : 0) + (EnableInvokeDynamic ? 3 : 0); }
538 static int extra_stack_words(); // = extra_stack_entries() * Interpreter::stackElementSize() 541 static int extra_stack_words(); // = extra_stack_entries() * Interpreter::stackElementSize()
539 // RedefineClasses() support: 542 // RedefineClasses() support:
540 bool is_old() const { return access_flags().is_old(); } 543 bool is_old() const { return access_flags().is_old(); }
541 void set_is_old() { _access_flags.set_is_old(); } 544 void set_is_old() { _access_flags.set_is_old(); }
542 bool is_obsolete() const { return access_flags().is_obsolete(); } 545 bool is_obsolete() const { return access_flags().is_obsolete(); }