sun.misc.Unsafe的本机方法在哪里实现?

时间:2015-07-16 08:03:40

标签: java jvm openjdk jvm-hotspot

我一直在阅读sun.misc.Unsafe类(openjdk6),因为我很好奇它实际引用了多少本机方法。可以理解的是,类中有大量的本机方法,但我似乎无法找到它们的实现位置。

我已经通过openjdk6 repo了解,虽然我可以找到其他类本机方法的实现,但我找不到不安全的方法。我猜测它们不是openjdk代码,而是编译为热点的一部分?

我是否在openjdk中查找错误的位置,或者它们是否确实在热点中实现?我们非常感谢您对其所在地的参考。

1 个答案:

答案 0 :(得分:11)

Openjdk版本可以在这里找到:

http://hg.openjdk.java.net/jdk6/jdk6/hotspot/file/4fc084dac61e/src/share/vm/prims/unsafe.cpp

http://hg.openjdk.java.net/jdk7/jdk7/hotspot/file/4fc084dac61e/src/share/vm/prims/unsafe.cpp

编辑:

正如8472所指出的,这些是解释器模式中使用的本机实现。他们中的大多数人在热点都有intrinsic implementations。 这个header file列出了内在的(搜索“sun_misc_Unsafe”)。