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());
         }