comparison src/share/vm/code/scopeDesc.hpp @ 3018:5857923e563c

Fixed an issue with frame states in exception dispatch chains (now we are correctly rethrowing the exception immediately at entering the interpreter).
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Sat, 18 Jun 2011 19:13:55 +0200
parents f95d63e2154a
children e522a00b91aa
comparison
equal deleted inserted replaced
3017:b4ba003eb11d 3018:5857923e563c
58 // nmethods possible; each scopeDesc describes a method activation 58 // nmethods possible; each scopeDesc describes a method activation
59 59
60 class ScopeDesc : public ResourceObj { 60 class ScopeDesc : public ResourceObj {
61 public: 61 public:
62 // Constructor 62 // Constructor
63 ScopeDesc(const nmethod* code, int decode_offset, int obj_decode_offset, bool reexecute, bool return_oop); 63 ScopeDesc(const nmethod* code, int decode_offset, int obj_decode_offset, bool reexecute, bool rethrow_exception, bool return_oop);
64 64
65 // Calls above, giving default value of "serialized_null" to the 65 // Calls above, giving default value of "serialized_null" to the
66 // "obj_decode_offset" argument. (We don't use a default argument to 66 // "obj_decode_offset" argument. (We don't use a default argument to
67 // avoid a .hpp-.hpp dependency.) 67 // avoid a .hpp-.hpp dependency.)
68 ScopeDesc(const nmethod* code, int decode_offset, bool reexecute, bool return_oop); 68 ScopeDesc(const nmethod* code, int decode_offset, bool reexecute, bool rethrow_exception, bool return_oop);
69 69
70 // JVM state 70 // JVM state
71 methodHandle method() const { return _method; } 71 methodHandle method() const { return _method; }
72 int bci() const { return _bci; } 72 int bci() const { return _bci; }
73 bool should_reexecute() const { return _reexecute; } 73 bool should_reexecute() const { return _reexecute; }
74 bool rethrow_exception() const { return _rethrow_exception; }
74 bool return_oop() const { return _return_oop; } 75 bool return_oop() const { return _return_oop; }
75 76
76 GrowableArray<ScopeValue*>* locals(); 77 GrowableArray<ScopeValue*>* locals();
77 GrowableArray<ScopeValue*>* expressions(); 78 GrowableArray<ScopeValue*>* expressions();
78 GrowableArray<MonitorValue*>* monitors(); 79 GrowableArray<MonitorValue*>* monitors();
95 96
96 // JVM state 97 // JVM state
97 methodHandle _method; 98 methodHandle _method;
98 int _bci; 99 int _bci;
99 bool _reexecute; 100 bool _reexecute;
101 bool _rethrow_exception;
100 bool _return_oop; 102 bool _return_oop;
101 103
102 // Decoding offsets 104 // Decoding offsets
103 int _decode_offset; 105 int _decode_offset;
104 int _sender_decode_offset; 106 int _sender_decode_offset;