comparison src/share/vm/code/debugInfoRec.cpp @ 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 0e8a2a629afb
comparison
equal deleted inserted replaced
3017:b4ba003eb11d 3018:5857923e563c
281 // the last PcDesc set 281 // the last PcDesc set
282 void DebugInformationRecorder::describe_scope(int pc_offset, 282 void DebugInformationRecorder::describe_scope(int pc_offset,
283 ciMethod* method, 283 ciMethod* method,
284 int bci, 284 int bci,
285 bool reexecute, 285 bool reexecute,
286 bool rethrow_exception,
286 bool is_method_handle_invoke, 287 bool is_method_handle_invoke,
287 bool return_oop, 288 bool return_oop,
288 DebugToken* locals, 289 DebugToken* locals,
289 DebugToken* expressions, 290 DebugToken* expressions,
290 DebugToken* monitors) { 291 DebugToken* monitors) {
296 int stream_offset = stream()->position(); 297 int stream_offset = stream()->position();
297 last_pd->set_scope_decode_offset(stream_offset); 298 last_pd->set_scope_decode_offset(stream_offset);
298 299
299 // Record flags into pcDesc. 300 // Record flags into pcDesc.
300 last_pd->set_should_reexecute(reexecute); 301 last_pd->set_should_reexecute(reexecute);
302 last_pd->set_rethrow_exception(rethrow_exception);
301 last_pd->set_is_method_handle_invoke(is_method_handle_invoke); 303 last_pd->set_is_method_handle_invoke(is_method_handle_invoke);
302 last_pd->set_return_oop(return_oop); 304 last_pd->set_return_oop(return_oop);
303 305
304 // serialize sender stream offest 306 // serialize sender stream offest
305 stream()->write_int(sender_stream_offset); 307 stream()->write_int(sender_stream_offset);