unafe.cpp如何链接到openJDK构建系统中的Unsafe.java

时间:2015-11-18 13:33:47

标签: java c++ openjdk

我已将unsafe.cpp和Unsafe.java克隆到自定义版本。我已经有了新的JVM来构建,但似乎我的UnsafeNew.java正在使用unsafe.cpp方法而不是我的新unsafenew.cpp方法。

希望拥有openJDK构建系统专业知识的人知道这是如何捆绑在一起的。

由于

托默

1 个答案:

答案 0 :(得分:1)

好吧,至少在openJDK 7中,答案是它已经硬编码到构建系统中。虽然常规JNI需要LoadLibrary()调用,但对于Unsafe和一些其他文件,这是由编译器完成的。

在hotspot / src / share / vm / prims / nativeLookup.cpp中有一个名为

的数组
JNINativeMethod lookup_special_native_methods[] 

包括

{ CC"Java_sun_misc_Unsafe_registerNatives",NULL, FN_PTR(JVM_RegisterUnsafeMethods)} 

这就是诀窍。

我希望我帮助过这个人。

托默