< prev index next >

src/share/vm/interpreter/templateInterpreterGenerator.hpp

Print this page




  84 
  85   void generate_all();
  86 
  87   // entry point generator
  88   address generate_method_entry(AbstractInterpreter::MethodKind kind);
  89 
  90   address generate_normal_entry(bool synchronized);
  91   address generate_native_entry(bool synchronized);
  92   address generate_abstract_entry(void);
  93   address generate_math_entry(AbstractInterpreter::MethodKind kind);
  94   address generate_Reference_get_entry();
  95   address generate_CRC32_update_entry();
  96   address generate_CRC32_updateBytes_entry(AbstractInterpreter::MethodKind kind);
  97   address generate_CRC32C_updateBytes_entry(AbstractInterpreter::MethodKind kind);
  98 #ifdef IA32
  99   address generate_Float_intBitsToFloat_entry();
 100   address generate_Float_floatToRawIntBits_entry();
 101   address generate_Double_longBitsToDouble_entry();
 102   address generate_Double_doubleToRawLongBits_entry();
 103 #endif // IA32


 104   void generate_stack_overflow_check(void);

 105 
 106   void generate_counter_incr(Label* overflow, Label* profile_method, Label* profile_method_continue);
 107   void generate_counter_overflow(Label& continue_entry);
 108 
 109   void generate_fixed_frame(bool native_call);
 110 #ifdef SPARC
 111   void generate_stack_overflow_check(Register Rframe_size, Register Rscratch);
 112   void save_native_result(void);
 113   void restore_native_result(void);
 114 #endif // SPARC
 115 
 116 #ifdef AARCH64
 117   void generate_transcendental_entry(AbstractInterpreter::MethodKind kind, int fpargs);
 118 #endif // AARCH64
 119 
 120 #ifdef PPC
 121   void lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded=false);
 122   void unlock_method(bool check_exceptions = true);
 123 
 124   void generate_fixed_frame(bool native_call, Register Rsize_of_parameters, Register Rsize_of_locals);
 125   void generate_stack_overflow_check(Register Rframe_size, Register Rscratch1);
 126 #endif // PPC
 127 
 128  public:
 129   TemplateInterpreterGenerator(StubQueue* _code);
 130 };
 131 
 132 #endif // !CC_INTERP
 133 
 134 #endif // SHARE_VM_INTERPRETER_TEMPLATEINTERPRETERGENERATOR_HPP


  84 
  85   void generate_all();
  86 
  87   // entry point generator
  88   address generate_method_entry(AbstractInterpreter::MethodKind kind);
  89 
  90   address generate_normal_entry(bool synchronized);
  91   address generate_native_entry(bool synchronized);
  92   address generate_abstract_entry(void);
  93   address generate_math_entry(AbstractInterpreter::MethodKind kind);
  94   address generate_Reference_get_entry();
  95   address generate_CRC32_update_entry();
  96   address generate_CRC32_updateBytes_entry(AbstractInterpreter::MethodKind kind);
  97   address generate_CRC32C_updateBytes_entry(AbstractInterpreter::MethodKind kind);
  98 #ifdef IA32
  99   address generate_Float_intBitsToFloat_entry();
 100   address generate_Float_floatToRawIntBits_entry();
 101   address generate_Double_longBitsToDouble_entry();
 102   address generate_Double_doubleToRawLongBits_entry();
 103 #endif // IA32
 104   // Some platforms don't need registers, other need two. Unused function is
 105   // left unimplemented.
 106   void generate_stack_overflow_check(void);
 107   void generate_stack_overflow_check(Register Rframe_size, Register Rscratch);
 108 
 109   void generate_counter_incr(Label* overflow, Label* profile_method, Label* profile_method_continue);
 110   void generate_counter_overflow(Label& continue_entry);
 111 
 112   void generate_fixed_frame(bool native_call);
 113 #ifdef SPARC

 114   void save_native_result(void);
 115   void restore_native_result(void);
 116 #endif // SPARC
 117 
 118 #ifdef AARCH64
 119   void generate_transcendental_entry(AbstractInterpreter::MethodKind kind, int fpargs);
 120 #endif // AARCH64
 121 
 122 #ifdef PPC
 123   void lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded=false);


 124   void generate_fixed_frame(bool native_call, Register Rsize_of_parameters, Register Rsize_of_locals);

 125 #endif // PPC
 126 
 127  public:
 128   TemplateInterpreterGenerator(StubQueue* _code);
 129 };
 130 
 131 #endif // !CC_INTERP
 132 
 133 #endif // SHARE_VM_INTERPRETER_TEMPLATEINTERPRETERGENERATOR_HPP
< prev index next >