diff src/share/vm/graal/graalVMEntries.cpp @ 3572:076a2c9caf71

Factor out runtime call target address determination to avoid redundancy between CodeInstaller::site_Call() and VMEntries.getMaxCallTargetOffset()
author Peter Hofer <peter.hofer@jku.at>
date Tue, 06 Sep 2011 11:18:53 +0200
parents a72615456c50
children 96c40b338c1a
line wrap: on
line diff
--- a/src/share/vm/graal/graalVMEntries.cpp	Sat Sep 03 22:08:00 2011 +0200
+++ b/src/share/vm/graal/graalVMEntries.cpp	Tue Sep 06 11:18:53 2011 +0200
@@ -804,18 +804,7 @@
   TRACE_graal_3("VMEntries::VMEntries_getMaxCallTargetOffset");
   VM_ENTRY_MARK;
   oop call = JNIHandles::resolve(rtcall);
-  address target_addr = 0x0;
-  if (call == CiRuntimeCall::ArithmeticSin()) {
-    target_addr = CAST_FROM_FN_PTR(address, SharedRuntime::dsin);
-  } else if (call == CiRuntimeCall::ArithmeticCos()) {
-    target_addr = CAST_FROM_FN_PTR(address, SharedRuntime::dcos);
-  } else if (call == CiRuntimeCall::ArithmeticTan()) {
-    target_addr = CAST_FROM_FN_PTR(address, SharedRuntime::dtan);
-  } else if (call == CiRuntimeCall::JavaTimeMillis()) {
-    target_addr = CAST_FROM_FN_PTR(address, os::javaTimeMillis);
-  } else if (call == CiRuntimeCall::JavaTimeNanos()) {
-    target_addr = CAST_FROM_FN_PTR(address, os::javaTimeNanos);
-  }
+  address target_addr = CodeInstaller::runtime_call_target_address(call);
   if (target_addr != 0x0) {
     int64_t off_low = (int64_t)target_addr - ((int64_t)CodeCache::low_bound() + sizeof(int));
     int64_t off_high = (int64_t)target_addr - ((int64_t)CodeCache::high_bound() + sizeof(int));