605 static jint* method_type_offsets_chain(); // series of pointer-offsets, terminated by -1 |
605 static jint* method_type_offsets_chain(); // series of pointer-offsets, terminated by -1 |
606 // presize interpreter frames for extra interpreter stack entries, if needed |
606 // presize interpreter frames for extra interpreter stack entries, if needed |
607 // method handles want to be able to push a few extra values (e.g., a bound receiver), and |
607 // method handles want to be able to push a few extra values (e.g., a bound receiver), and |
608 // invokedynamic sometimes needs to push a bootstrap method, call site, and arglist, |
608 // invokedynamic sometimes needs to push a bootstrap method, call site, and arglist, |
609 // all without checking for a stack overflow |
609 // all without checking for a stack overflow |
610 static int extra_stack_entries() { return (EnableMethodHandles ? (int)MethodHandlePushLimit : 0) + (EnableInvokeDynamic ? 3 : 0); } |
610 static int extra_stack_entries() { return EnableInvokeDynamic ? (int) MethodHandlePushLimit + 3 : 0; } |
611 static int extra_stack_words(); // = extra_stack_entries() * Interpreter::stackElementSize() |
611 static int extra_stack_words(); // = extra_stack_entries() * Interpreter::stackElementSize() |
612 |
612 |
613 // RedefineClasses() support: |
613 // RedefineClasses() support: |
614 bool is_old() const { return access_flags().is_old(); } |
614 bool is_old() const { return access_flags().is_old(); } |
615 void set_is_old() { _access_flags.set_is_old(); } |
615 void set_is_old() { _access_flags.set_is_old(); } |