mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
6833129: specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot
Developed a reexecute logic for the interpreter to reexecute the bytecode when deopt happens Reviewed-by: kvn, never, jrose, twisti
This commit is contained in:
parent
f2ea22a547
commit
ae00753bf7
29 changed files with 465 additions and 241 deletions
|
@ -122,11 +122,15 @@ class AbstractInterpreter: AllStatic {
|
|||
static int size_top_interpreter_activation(methodOop method);
|
||||
|
||||
// Deoptimization support
|
||||
static address continuation_for(methodOop method,
|
||||
address bcp,
|
||||
int callee_parameters,
|
||||
bool is_top_frame,
|
||||
bool& use_next_mdp);
|
||||
// Compute the entry address for continuation after
|
||||
static address deopt_continue_after_entry(methodOop method,
|
||||
address bcp,
|
||||
int callee_parameters,
|
||||
bool is_top_frame);
|
||||
// Compute the entry address for reexecution
|
||||
static address deopt_reexecute_entry(methodOop method, address bcp);
|
||||
// Deoptimization should reexecute this bytecode
|
||||
static bool bytecode_should_reexecute(Bytecodes::Code code);
|
||||
|
||||
// share implementation of size_activation and layout_activation:
|
||||
static int size_activation(methodOop method,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue