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

*** 33,74 **** --- 33,76 ---- # include "entry_zero.hpp" # include "interpreter/interp_masm.hpp" #endif class CppInterpreterGenerator: public AbstractInterpreterGenerator { protected: // shared code sequences // Converter for native abi result to tosca result address generate_result_handler_for(BasicType type); address generate_tosca_to_stack_converter(BasicType type); address generate_stack_to_stack_converter(BasicType type); address generate_stack_to_native_abi_converter(BasicType type); + private: void generate_all(); + address generate_method_entry(AbstractInterpreter::MethodKind kind); + address generate_normal_entry(bool synchronized); + address generate_native_entry(bool synchronized); + address generate_abstract_entry(); + address generate_math_entry(AbstractInterpreter::MethodKind kind); + address generate_empty_entry(); + address generate_accessor_entry(); + address generate_Reference_get_entry(); + public: CppInterpreterGenerator(StubQueue* _code); #ifdef TARGET_ARCH_x86 # include "cppInterpreterGenerator_x86.hpp" #endif #ifdef TARGET_ARCH_sparc # include "cppInterpreterGenerator_sparc.hpp" #endif #ifdef TARGET_ARCH_zero # include "cppInterpreterGenerator_zero.hpp" #endif #ifdef TARGET_ARCH_arm # include "cppInterpreterGenerator_arm.hpp" #endif #ifdef TARGET_ARCH_ppc # include "cppInterpreterGenerator_ppc.hpp" #endif #ifdef TARGET_ARCH_aarch64 # include "cppInterpreterGenerator_aarch64.hpp" #endif + protected: + MacroAssembler* assembler() const { + return _masm; + } + + public: + static address generate_entry_impl(MacroAssembler* masm, address entry_point) { + ZeroEntry *entry = (ZeroEntry *) masm->pc(); + masm->advance(sizeof(ZeroEntry)); + entry->set_entry_point(entry_point); + return (address) entry; + } + protected: + address generate_entry(address entry_point) { + return generate_entry_impl(assembler(), entry_point); + } + #endif }; #endif // CC_INTERP #endif // SHARE_VM_INTERPRETER_CPPINTERPRETERGENERATOR_HPP

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