mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 11:04:34 +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
|
@ -41,7 +41,8 @@ class vframeArrayElement : public _ValueObj {
|
|||
private:
|
||||
|
||||
frame _frame; // the interpreter frame we will unpack into
|
||||
int _bci; // raw bci for this vframe
|
||||
int _bci; // raw bci for this vframe
|
||||
bool _reexecute; // whether sould we reexecute this bytecode
|
||||
methodOop _method; // the method for this vframe
|
||||
MonitorChunk* _monitors; // active monitors for this vframe
|
||||
StackValueCollection* _locals;
|
||||
|
@ -54,6 +55,7 @@ class vframeArrayElement : public _ValueObj {
|
|||
int bci(void) const;
|
||||
|
||||
int raw_bci(void) const { return _bci; }
|
||||
bool should_reexecute(void) const { return _reexecute; }
|
||||
|
||||
methodOop method(void) const { return _method; }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue