< prev index next >

src/hotspot/share/interpreter/zero/zeroInterpreterGenerator.hpp

Print this page

21  * questions.
22  *
23  */
24 
25 #ifndef SHARE_INTERPRETER_CPPINTERPRETERGENERATOR_HPP
26 #define SHARE_INTERPRETER_CPPINTERPRETERGENERATOR_HPP
27 
28 // This file contains the platform-independent parts
29 // of the Zero interpreter generator.
30 
31 # include "entry_zero.hpp"
32 
33 class ZeroInterpreterGenerator: public AbstractInterpreterGenerator {
34 
35  private:
36   void generate_all();
37 
38   address generate_slow_signature_handler();
39 
40   address generate_method_entry(AbstractInterpreter::MethodKind kind);
41   address generate_normal_entry(bool synchronized);
42   address generate_native_entry(bool synchronized);
43   address generate_abstract_entry();
44   address generate_math_entry(AbstractInterpreter::MethodKind kind);
45   address generate_empty_entry();
46   address generate_getter_entry();
47   address generate_setter_entry();
48   address generate_Reference_get_entry();
49 
50  public:
51   ZeroInterpreterGenerator();
52 
53  protected:
54   MacroAssembler* assembler() const {
55     return _masm;
56   }
57 
58  public:
59   static address generate_entry_impl(MacroAssembler* masm, address entry_point) {
60     ZeroEntry *entry = (ZeroEntry *) masm->pc();
61     masm->advance(sizeof(ZeroEntry));
62     entry->set_entry_point(entry_point);

21  * questions.
22  *
23  */
24 
25 #ifndef SHARE_INTERPRETER_CPPINTERPRETERGENERATOR_HPP
26 #define SHARE_INTERPRETER_CPPINTERPRETERGENERATOR_HPP
27 
28 // This file contains the platform-independent parts
29 // of the Zero interpreter generator.
30 
31 # include "entry_zero.hpp"
32 
33 class ZeroInterpreterGenerator: public AbstractInterpreterGenerator {
34 
35  private:
36   void generate_all();
37 
38   address generate_slow_signature_handler();
39 
40   address generate_method_entry(AbstractInterpreter::MethodKind kind);
41   address generate_normal_entry(bool synchronized, bool runtime_upcalls);
42   address generate_native_entry(bool synchronized, bool runtime_upcalls);
43   address generate_abstract_entry();
44   address generate_math_entry(AbstractInterpreter::MethodKind kind);
45   address generate_empty_entry();
46   address generate_getter_entry();
47   address generate_setter_entry();
48   address generate_Reference_get_entry();
49 
50  public:
51   ZeroInterpreterGenerator();
52 
53  protected:
54   MacroAssembler* assembler() const {
55     return _masm;
56   }
57 
58  public:
59   static address generate_entry_impl(MacroAssembler* masm, address entry_point) {
60     ZeroEntry *entry = (ZeroEntry *) masm->pc();
61     masm->advance(sizeof(ZeroEntry));
62     entry->set_entry_point(entry_point);
< prev index next >