144 // Initialization/debugging 145 static void initialize(); 146 static StubQueue* code() { return _code; } 147 148 149 // Method activation 150 static MethodKind method_kind(methodHandle m); 151 static address entry_for_kind(MethodKind k) { assert(0 <= k && k < number_of_method_entries, "illegal kind"); return _entry_table[k]; } 152 static address entry_for_method(methodHandle m) { return entry_for_kind(method_kind(m)); } 153 154 // used for bootstrapping method handles: 155 static void set_entry_for_kind(MethodKind k, address e); 156 157 static void print_method_kind(MethodKind kind) PRODUCT_RETURN; 158 159 static bool can_be_compiled(methodHandle m); 160 161 // Runtime support 162 163 // length = invoke bytecode length (to advance to next bytecode) 164 static address deopt_entry (TosState state, int length) { ShouldNotReachHere(); return NULL; } 165 static address return_entry (TosState state, int length) { ShouldNotReachHere(); return NULL; } 166 167 static address rethrow_exception_entry() { return _rethrow_exception_entry; } 168 169 // Activation size in words for a method that is just being called. 170 // Parameters haven't been pushed so count them too. 171 static int size_top_interpreter_activation(Method* method); 172 173 // Deoptimization support 174 // Compute the entry address for continuation after 175 static address deopt_continue_after_entry(Method* method, 176 address bcp, 177 int callee_parameters, 178 bool is_top_frame); 179 // Compute the entry address for reexecution 180 static address deopt_reexecute_entry(Method* method, address bcp); 181 // Deoptimization should reexecute this bytecode 182 static bool bytecode_should_reexecute(Bytecodes::Code code); 183 184 // share implementation of size_activation and layout_activation: 185 static int size_activation(Method* method, | 144 // Initialization/debugging 145 static void initialize(); 146 static StubQueue* code() { return _code; } 147 148 149 // Method activation 150 static MethodKind method_kind(methodHandle m); 151 static address entry_for_kind(MethodKind k) { assert(0 <= k && k < number_of_method_entries, "illegal kind"); return _entry_table[k]; } 152 static address entry_for_method(methodHandle m) { return entry_for_kind(method_kind(m)); } 153 154 // used for bootstrapping method handles: 155 static void set_entry_for_kind(MethodKind k, address e); 156 157 static void print_method_kind(MethodKind kind) PRODUCT_RETURN; 158 159 static bool can_be_compiled(methodHandle m); 160 161 // Runtime support 162 163 // length = invoke bytecode length (to advance to next bytecode) 164 static address deopt_entry(TosState state, int length) { ShouldNotReachHere(); return NULL; } 165 static address return_entry(TosState state, int length, Bytecodes::Code code) { ShouldNotReachHere(); return NULL; } 166 167 static address rethrow_exception_entry() { return _rethrow_exception_entry; } 168 169 // Activation size in words for a method that is just being called. 170 // Parameters haven't been pushed so count them too. 171 static int size_top_interpreter_activation(Method* method); 172 173 // Deoptimization support 174 // Compute the entry address for continuation after 175 static address deopt_continue_after_entry(Method* method, 176 address bcp, 177 int callee_parameters, 178 bool is_top_frame); 179 // Compute the entry address for reexecution 180 static address deopt_reexecute_entry(Method* method, address bcp); 181 // Deoptimization should reexecute this bytecode 182 static bool bytecode_should_reexecute(Bytecodes::Code code); 183 184 // share implementation of size_activation and layout_activation: 185 static int size_activation(Method* method, |