Mercurial > hg > graal-jvmci-8
comparison src/share/vm/code/debugInfoRec.cpp @ 1253:f70b0d9ab095
6910618: C2: Error: assert(d->is_oop(),"JVM_ArrayCopy: dst not an oop")
Summary: Mark in PcDesc call sites which return oop and save the result oop across objects reallocation during deoptimization.
Reviewed-by: never
author | kvn |
---|---|
date | Tue, 09 Feb 2010 01:31:13 -0800 |
parents | e66fd840cb6b |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1252:f516d5d7a019 | 1253:f70b0d9ab095 |
---|---|
280 void DebugInformationRecorder::describe_scope(int pc_offset, | 280 void DebugInformationRecorder::describe_scope(int pc_offset, |
281 ciMethod* method, | 281 ciMethod* method, |
282 int bci, | 282 int bci, |
283 bool reexecute, | 283 bool reexecute, |
284 bool is_method_handle_invoke, | 284 bool is_method_handle_invoke, |
285 bool return_oop, | |
285 DebugToken* locals, | 286 DebugToken* locals, |
286 DebugToken* expressions, | 287 DebugToken* expressions, |
287 DebugToken* monitors) { | 288 DebugToken* monitors) { |
288 assert(_recording_state != rs_null, "nesting of recording calls"); | 289 assert(_recording_state != rs_null, "nesting of recording calls"); |
289 PcDesc* last_pd = last_pc(); | 290 PcDesc* last_pd = last_pc(); |
294 last_pd->set_scope_decode_offset(stream_offset); | 295 last_pd->set_scope_decode_offset(stream_offset); |
295 | 296 |
296 // Record flags into pcDesc. | 297 // Record flags into pcDesc. |
297 last_pd->set_should_reexecute(reexecute); | 298 last_pd->set_should_reexecute(reexecute); |
298 last_pd->set_is_method_handle_invoke(is_method_handle_invoke); | 299 last_pd->set_is_method_handle_invoke(is_method_handle_invoke); |
300 last_pd->set_return_oop(return_oop); | |
299 | 301 |
300 // serialize sender stream offest | 302 // serialize sender stream offest |
301 stream()->write_int(sender_stream_offset); | 303 stream()->write_int(sender_stream_offset); |
302 | 304 |
303 // serialize scope | 305 // serialize scope |