Mercurial > hg > graal-compiler
diff src/share/vm/graal/graalCodeInstaller.cpp @ 6351:c5024000ff0f
fix for cyclic references in virtual objects
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Tue, 11 Sep 2012 12:10:45 +0200 |
parents | 58a607307306 |
children | 6b74f44c5059 |
line wrap: on
line diff
--- 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();