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