Mercurial > hg > truffle
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));