Mercurial > hg > graal-compiler
diff src/share/vm/graal/graalCodeInstaller.cpp @ 5682:f787843c890c
implemented inferStamp for NewInstanceStubCall to infer exact, non-null stamp from constant hub value
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 22 Jun 2012 10:43:06 +0200 |
parents | 69358a2182a3 |
children | 2a64cf19ab2a |
line wrap: on
line diff
--- a/src/share/vm/graal/graalCodeInstaller.cpp Thu Jun 21 17:33:45 2012 +0200 +++ b/src/share/vm/graal/graalCodeInstaller.cpp Fri Jun 22 10:43:06 2012 +0200 @@ -780,7 +780,9 @@ if (obj->is_a(HotSpotKlassOop::klass())) { assert(!obj.is_null(), ""); - *((jobject*) operand) = JNIHandles::make_local(java_lang_Class::as_klassOop(HotSpotKlassOop::javaMirror(obj))); + oop type = HotSpotKlassOop::type(obj); + klassOop klass = java_lang_Class::as_klassOop(HotSpotResolvedJavaType::javaMirror(type)); + *((jobject*) operand) = JNIHandles::make_local(klass); _instructions->relocate(instruction, oop_Relocation::spec_for_immediate(), Assembler::imm_operand); TRACE_graal_3("relocating (HotSpotJavaType) at %016x/%016x", instruction, operand); } else {