Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/vframeArray.hpp @ 900:9987d9d5eb0e
6833129: specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot
Summary: developed a reexecute logic for the interpreter to reexecute the bytecode when deopt happens
Reviewed-by: kvn, never, jrose, twisti
author | cfang |
---|---|
date | Fri, 31 Jul 2009 17:12:33 -0700 |
parents | a61af66fc99e |
children | 89e0543e1737 |
comparison
equal
deleted
inserted
replaced
899:55cb84cd1247 | 900:9987d9d5eb0e |
---|---|
39 | 39 |
40 class vframeArrayElement : public _ValueObj { | 40 class vframeArrayElement : public _ValueObj { |
41 private: | 41 private: |
42 | 42 |
43 frame _frame; // the interpreter frame we will unpack into | 43 frame _frame; // the interpreter frame we will unpack into |
44 int _bci; // raw bci for this vframe | 44 int _bci; // raw bci for this vframe |
45 bool _reexecute; // whether sould we reexecute this bytecode | |
45 methodOop _method; // the method for this vframe | 46 methodOop _method; // the method for this vframe |
46 MonitorChunk* _monitors; // active monitors for this vframe | 47 MonitorChunk* _monitors; // active monitors for this vframe |
47 StackValueCollection* _locals; | 48 StackValueCollection* _locals; |
48 StackValueCollection* _expressions; | 49 StackValueCollection* _expressions; |
49 | 50 |
52 frame* iframe(void) { return &_frame; } | 53 frame* iframe(void) { return &_frame; } |
53 | 54 |
54 int bci(void) const; | 55 int bci(void) const; |
55 | 56 |
56 int raw_bci(void) const { return _bci; } | 57 int raw_bci(void) const { return _bci; } |
58 bool should_reexecute(void) const { return _reexecute; } | |
57 | 59 |
58 methodOop method(void) const { return _method; } | 60 methodOop method(void) const { return _method; } |
59 | 61 |
60 MonitorChunk* monitors(void) const { return _monitors; } | 62 MonitorChunk* monitors(void) const { return _monitors; } |
61 | 63 |