Mercurial > hg > graal-jvmci-8
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(); } |