22 * 23 */ 24 25 #ifndef SHARE_VM_INTERPRETER_CPPINTERPRETERGENERATOR_HPP 26 #define SHARE_VM_INTERPRETER_CPPINTERPRETERGENERATOR_HPP 27 28 // This file contains the platform-independent parts 29 // of the template interpreter generator. 30 31 #ifdef CC_INTERP 32 #ifdef ZERO 33 # include "entry_zero.hpp" 34 # include "interpreter/interp_masm.hpp" 35 #endif 36 37 class CppInterpreterGenerator: public AbstractInterpreterGenerator { 38 39 private: 40 void generate_all(); 41 42 address generate_method_entry(AbstractInterpreter::MethodKind kind); 43 address generate_normal_entry(bool synchronized); 44 address generate_native_entry(bool synchronized); 45 address generate_abstract_entry(); 46 address generate_math_entry(AbstractInterpreter::MethodKind kind); 47 address generate_empty_entry(); 48 address generate_accessor_entry(); 49 address generate_Reference_get_entry(); 50 51 public: 52 CppInterpreterGenerator(StubQueue* _code); 53 54 #ifdef ZERO 55 protected: 56 MacroAssembler* assembler() const { 57 return _masm; 58 } 59 60 public: 61 static address generate_entry_impl(MacroAssembler* masm, address entry_point) { | 22 * 23 */ 24 25 #ifndef SHARE_VM_INTERPRETER_CPPINTERPRETERGENERATOR_HPP 26 #define SHARE_VM_INTERPRETER_CPPINTERPRETERGENERATOR_HPP 27 28 // This file contains the platform-independent parts 29 // of the template interpreter generator. 30 31 #ifdef CC_INTERP 32 #ifdef ZERO 33 # include "entry_zero.hpp" 34 # include "interpreter/interp_masm.hpp" 35 #endif 36 37 class CppInterpreterGenerator: public AbstractInterpreterGenerator { 38 39 private: 40 void generate_all(); 41 42 address generate_slow_signature_handler(); 43 44 address generate_method_entry(AbstractInterpreter::MethodKind kind); 45 address generate_normal_entry(bool synchronized); 46 address generate_native_entry(bool synchronized); 47 address generate_abstract_entry(); 48 address generate_math_entry(AbstractInterpreter::MethodKind kind); 49 address generate_empty_entry(); 50 address generate_accessor_entry(); 51 address generate_Reference_get_entry(); 52 53 public: 54 CppInterpreterGenerator(StubQueue* _code); 55 56 #ifdef ZERO 57 protected: 58 MacroAssembler* assembler() const { 59 return _masm; 60 } 61 62 public: 63 static address generate_entry_impl(MacroAssembler* masm, address entry_point) { |