58 address generate_safept_entry_for(TosState state, address runtime_entry);
59 void generate_throw_exception();
60
61 void lock_method();
62
63 void bang_stack_shadow_pages(bool native_call);
64
65 // Instruction generation
66 void generate_and_dispatch (Template* t, TosState tos_out = ilgl);
67 void set_vtos_entry_points (Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep);
68 void set_short_entry_points(Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep);
69 void set_wide_entry_point (Template* t, address& wep);
70
71 void set_entry_points(Bytecodes::Code code);
72 void set_unimplemented(int i);
73 void set_entry_points_for_all_bytes();
74 void set_safepoints_for_all_bytes();
75
76 // Helpers for generate_and_dispatch
77 address generate_trace_code(TosState state) PRODUCT_RETURN_NULL;
78 void count_bytecode() PRODUCT_RETURN;
79 void histogram_bytecode(Template* t) PRODUCT_RETURN;
80 void histogram_bytecode_pair(Template* t) PRODUCT_RETURN;
81 void trace_bytecode(Template* t) PRODUCT_RETURN;
82 void stop_interpreter_at() PRODUCT_RETURN;
83
84 void generate_all();
85
86 // entry point generator
87 address generate_method_entry(AbstractInterpreter::MethodKind kind, bool native);
88
89 // generate intrinsic method entries
90 address generate_intrinsic_entry(AbstractInterpreter::MethodKind kind);
91
92 address generate_normal_entry(bool synchronized);
93 address generate_native_entry(bool synchronized);
94 address generate_abstract_entry(void);
95 address generate_math_entry(AbstractInterpreter::MethodKind kind);
96 address generate_Reference_get_entry();
97 address generate_CRC32_update_entry();
98 address generate_CRC32_updateBytes_entry(AbstractInterpreter::MethodKind kind);
99 address generate_CRC32C_updateBytes_entry(AbstractInterpreter::MethodKind kind);
|
58 address generate_safept_entry_for(TosState state, address runtime_entry);
59 void generate_throw_exception();
60
61 void lock_method();
62
63 void bang_stack_shadow_pages(bool native_call);
64
65 // Instruction generation
66 void generate_and_dispatch (Template* t, TosState tos_out = ilgl);
67 void set_vtos_entry_points (Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep);
68 void set_short_entry_points(Template* t, address& bep, address& cep, address& sep, address& aep, address& iep, address& lep, address& fep, address& dep, address& vep);
69 void set_wide_entry_point (Template* t, address& wep);
70
71 void set_entry_points(Bytecodes::Code code);
72 void set_unimplemented(int i);
73 void set_entry_points_for_all_bytes();
74 void set_safepoints_for_all_bytes();
75
76 // Helpers for generate_and_dispatch
77 address generate_trace_code(TosState state) PRODUCT_RETURN_NULL;
78 void count_bytecode();
79 void histogram_bytecode(Template* t);
80 void histogram_bytecode_pair(Template* t) PRODUCT_RETURN;
81 void trace_bytecode(Template* t) PRODUCT_RETURN;
82 void stop_interpreter_at() PRODUCT_RETURN;
83
84 void generate_all();
85
86 // entry point generator
87 address generate_method_entry(AbstractInterpreter::MethodKind kind, bool native);
88
89 // generate intrinsic method entries
90 address generate_intrinsic_entry(AbstractInterpreter::MethodKind kind);
91
92 address generate_normal_entry(bool synchronized);
93 address generate_native_entry(bool synchronized);
94 address generate_abstract_entry(void);
95 address generate_math_entry(AbstractInterpreter::MethodKind kind);
96 address generate_Reference_get_entry();
97 address generate_CRC32_update_entry();
98 address generate_CRC32_updateBytes_entry(AbstractInterpreter::MethodKind kind);
99 address generate_CRC32C_updateBytes_entry(AbstractInterpreter::MethodKind kind);
|