diff src/share/vm/graal/graalCodeInstaller.cpp @ 7814:bab2a51f8dbe

Introduce marker interface InvokeTarget. Remove method lookupRuntimeCall from CodeCacheProvider.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Mon, 18 Feb 2013 20:21:09 -0800
parents c58f8f4cda69
children 4e1278443941
line wrap: on
line diff
--- a/src/share/vm/graal/graalCodeInstaller.cpp	Mon Feb 18 19:16:59 2013 -0800
+++ b/src/share/vm/graal/graalCodeInstaller.cpp	Mon Feb 18 20:21:09 2013 -0800
@@ -605,7 +605,7 @@
   oop hotspot_method = NULL; // JavaMethod
   oop global_stub = NULL;
 
-  if (target_klass->is_subclass_of(SystemDictionary::Long_klass())) {
+  if (target_klass->is_subclass_of(SystemDictionary::HotSpotRuntimeCallTarget_klass())) {
     global_stub = target;
   } else {
     hotspot_method = target;
@@ -658,9 +658,7 @@
   }
 
   if (global_stub != NULL) {
-    assert(java_lang_boxing_object::is_instance(global_stub, T_LONG), "global_stub needs to be of type Long");
-
-    jlong global_stub_destination = global_stub->long_field(java_lang_boxing_object::value_offset_in_bytes(T_LONG));
+    jlong global_stub_destination = HotSpotRuntimeCallTarget::address(global_stub);
     if (inst->is_call()) {
       // NOTE: for call without a mov, the offset must fit a 32-bit immediate
       //       see also CompilerToVM.getMaxCallTargetOffset()