Mercurial > hg > truffle
diff src/share/vm/c1x/c1x_CodeInstaller.cpp @ 1484:6b7001391c97
Fix dummy obj boxed long hack by replacing it with a reliable solution.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Mon, 29 Nov 2010 18:32:30 +0100 |
parents | 1f81c0d18c75 |
children | 48bbaead8b6c |
line wrap: on
line diff
--- a/src/share/vm/c1x/c1x_CodeInstaller.cpp Mon Nov 29 16:58:26 2010 +0100 +++ b/src/share/vm/c1x/c1x_CodeInstaller.cpp Mon Nov 29 18:32:30 2010 +0100 @@ -551,16 +551,8 @@ TRACE_C1X_3("relocating (HotSpotType) at %016x/%016x", instruction, operand); } else { jobject value; - if (java_lang_boxing_object::is_instance(obj(), T_LONG)) { - jlong id = obj->long_field(java_lang_boxing_object::value_offset_in_bytes(T_LONG)); - - //assert((id & VmIds::TYPE_MASK) == VmIds::CONSTANT, "unexpected DataPatch type"); - address operand = Assembler::locate_operand(instruction, Assembler::imm_operand); - if (id == VmIds::DUMMY_CONSTANT) { - value = (jobject) Universe::non_oop_word(); - } else { - value = JNIHandles::make_local(VmIds::get<oop>(id)); - } + if (obj() == HotSpotProxy::DUMMY_CONSTANT_OBJ()) { + value = (jobject) Universe::non_oop_word(); } else { value = JNIHandles::make_local(obj()); }