src/share/vm/interpreter/templateInterpreterGenerator.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/interpreter/templateInterpreterGenerator.hpp	Thu Dec 17 17:52:19 2015
--- new/src/share/vm/interpreter/templateInterpreterGenerator.hpp	Thu Dec 17 17:52:19 2015

*** 80,112 **** --- 80,134 ---- void trace_bytecode(Template* t) PRODUCT_RETURN; void stop_interpreter_at() PRODUCT_RETURN; void generate_all(); public: ! TemplateInterpreterGenerator(StubQueue* _code); + // entry point generator ! address generate_method_entry(AbstractInterpreter::MethodKind kind); + + address generate_normal_entry(bool synchronized); + address generate_native_entry(bool synchronized); + address generate_abstract_entry(void); + address generate_math_entry(AbstractInterpreter::MethodKind kind); + address generate_Reference_get_entry(); + address generate_CRC32_update_entry(); + address generate_CRC32_updateBytes_entry(AbstractInterpreter::MethodKind kind); + address generate_CRC32C_updateBytes_entry(AbstractInterpreter::MethodKind kind); + #ifndef _LP64 + address generate_Float_intBitsToFloat_entry(); + address generate_Float_floatToRawIntBits_entry(); + address generate_Double_longBitsToDouble_entry(); + address generate_Double_doubleToRawLongBits_entry(); + #endif // _LP64 + void generate_stack_overflow_check(void); #ifdef TARGET_ARCH_x86 # include "templateInterpreterGenerator_x86.hpp" #endif + void generate_counter_incr(Label* overflow, Label* profile_method, Label* profile_method_continue); + void generate_counter_overflow(Label& continue_entry); + + void generate_fixed_frame(bool native_call); #ifdef TARGET_ARCH_sparc # include "templateInterpreterGenerator_sparc.hpp" #endif #ifdef TARGET_ARCH_zero # include "templateInterpreterGenerator_zero.hpp" ! #endif // TARGET_ARCH_sparc #ifdef TARGET_ARCH_arm # include "templateInterpreterGenerator_arm.hpp" #endif #ifdef TARGET_ARCH_ppc # include "templateInterpreterGenerator_ppc.hpp" #endif + void generate_stack_overflow_check(Register Rframe_size, Register Rscratch, + Register Rscratch2); + void save_native_result(void); + void restore_native_result(void); + #ifdef TARGET_ARCH_aarch64 # include "templateInterpreterGenerator_aarch64.hpp" #endif + void bang_stack_shadow_pages(bool native_call); + void generate_transcendental_entry(AbstractInterpreter::MethodKind kind, int fpargs); + #endif // TARGET_ARCH_aarch64 + + #ifdef TARGET_ARCH_ppc + void lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded=false); + void unlock_method(bool check_exceptions = true); + void generate_fixed_frame(bool native_call, Register Rsize_of_parameters, Register Rsize_of_locals); + void generate_stack_overflow_check(Register Rframe_size, Register Rscratch1); + #endif // TARGET_ARCH_ppc + public: + TemplateInterpreterGenerator(StubQueue* _code); }; #endif // !CC_INTERP #endif // SHARE_VM_INTERPRETER_TEMPLATEINTERPRETERGENERATOR_HPP

src/share/vm/interpreter/templateInterpreterGenerator.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File