diff src/share/vm/prims/jvmtiCodeBlobEvents.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 72088be4b386
children c18cbe5936b8
line wrap: on
line diff
--- a/src/share/vm/prims/jvmtiCodeBlobEvents.cpp	Mon Feb 08 12:20:09 2010 -0800
+++ b/src/share/vm/prims/jvmtiCodeBlobEvents.cpp	Tue Feb 09 01:31:13 2010 -0800
@@ -402,7 +402,7 @@
 
     address scopes_data = nm->scopes_data_begin();
     for( pcd = nm->scopes_pcs_begin(); pcd < nm->scopes_pcs_end(); ++pcd ) {
-      ScopeDesc sc0(nm, pcd->scope_decode_offset(), pcd->should_reexecute());
+      ScopeDesc sc0(nm, pcd->scope_decode_offset(), pcd->should_reexecute(), pcd->return_oop());
       ScopeDesc *sd  = &sc0;
       while( !sd->is_top() ) { sd = sd->sender(); }
       int bci = sd->bci();