diff 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
line wrap: on
line diff
--- a/src/share/vm/code/debugInfoRec.cpp	Mon Feb 08 12:20:09 2010 -0800
+++ b/src/share/vm/code/debugInfoRec.cpp	Tue Feb 09 01:31:13 2010 -0800
@@ -282,6 +282,7 @@
                                               int         bci,
                                               bool        reexecute,
                                               bool        is_method_handle_invoke,
+                                              bool        return_oop,
                                               DebugToken* locals,
                                               DebugToken* expressions,
                                               DebugToken* monitors) {
@@ -296,6 +297,7 @@
   // Record flags into pcDesc.
   last_pd->set_should_reexecute(reexecute);
   last_pd->set_is_method_handle_invoke(is_method_handle_invoke);
+  last_pd->set_return_oop(return_oop);
 
   // serialize sender stream offest
   stream()->write_int(sender_stream_offset);