Mercurial > hg > truffle
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); |