< prev index next >

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

Print this page

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 // # include "interpreter/interp_masm.hpp"
33 
34 class ZeroInterpreterGenerator: public AbstractInterpreterGenerator {
35 
36  private:
37   void generate_all();
38 
39   address generate_slow_signature_handler();
40 
41   address generate_method_entry(AbstractInterpreter::MethodKind kind);
42   address generate_normal_entry(bool synchronized);
43   address generate_native_entry(bool synchronized);
44   address generate_abstract_entry();
45   address generate_math_entry(AbstractInterpreter::MethodKind kind);
46   address generate_empty_entry();
47   address generate_getter_entry();
48   address generate_setter_entry();
49   address generate_Reference_get_entry();
50 
51  public:
52   ZeroInterpreterGenerator();
53 
54  protected:
55   MacroAssembler* assembler() const {
56     return _masm;
57   }
58 
59  public:
60   static address generate_entry_impl(MacroAssembler* masm, address entry_point) {
61     ZeroEntry *entry = (ZeroEntry *) masm->pc();
62     masm->advance(sizeof(ZeroEntry));
63     entry->set_entry_point(entry_point);

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 // # include "interpreter/interp_masm.hpp"
33 
34 class ZeroInterpreterGenerator: public AbstractInterpreterGenerator {
35 
36  private:
37   void generate_all();
38 
39   address generate_slow_signature_handler();
40 
41   address generate_method_entry(AbstractInterpreter::MethodKind kind);
42   address generate_normal_entry(bool synchronized, bool runtime_upcalls);
43   address generate_native_entry(bool synchronized, bool runtime_upcalls);
44   address generate_abstract_entry();
45   address generate_math_entry(AbstractInterpreter::MethodKind kind);
46   address generate_empty_entry();
47   address generate_getter_entry();
48   address generate_setter_entry();
49   address generate_Reference_get_entry();
50 
51  public:
52   ZeroInterpreterGenerator();
53 
54  protected:
55   MacroAssembler* assembler() const {
56     return _masm;
57   }
58 
59  public:
60   static address generate_entry_impl(MacroAssembler* masm, address entry_point) {
61     ZeroEntry *entry = (ZeroEntry *) masm->pc();
62     masm->advance(sizeof(ZeroEntry));
63     entry->set_entry_point(entry_point);
< prev index next >