# HG changeset patch # User Lukas Stadler # Date 1347358245 -7200 # Node ID c5024000ff0fd5b9a7fa263319c09a6a19fca280 # Parent f45d5cb03c3b6ffec8b9377341ae13660afe3e15 fix for cyclic references in virtual objects diff -r f45d5cb03c3b -r c5024000ff0f src/share/vm/graal/graalCodeInstaller.cpp --- a/src/share/vm/graal/graalCodeInstaller.cpp Mon Sep 10 15:50:31 2012 +0200 +++ b/src/share/vm/graal/graalCodeInstaller.cpp Tue Sep 11 12:10:45 2012 +0200 @@ -189,13 +189,10 @@ } ObjectValue* sv = new ObjectValue(id, new ConstantOopWriteValue(JNIHandles::make_local(Thread::current(), klass))); + objects->append(sv); arrayOop values = (arrayOop) VirtualObject::values(value); for (jint i = 0; i < values->length(); i++) { - ((oop*) values->base(T_OBJECT))[i]; - } - - for (jint i = 0; i < values->length(); i++) { ScopeValue* cur_second = NULL; ScopeValue* value = get_hotspot_value(((oop*) values->base(T_OBJECT))[i], total_frame_size, objects, cur_second); @@ -215,7 +212,6 @@ } sv->field_values()->append(value); } - objects->append(sv); return sv; } else { value->klass()->print();