问题描述
运行Java 1.6(1.6.0_03-b05)应用程序时,我添加了 -XX:+ PrintCompilation
标志。在某些方法的输出中,特别是我知道的一些方法被调用了很多,我看到文本没有进入
和制作了僵尸
。
When running a Java 1.6 (1.6.0_03-b05) app I've added the -XX:+PrintCompilation
flag. On the output for some methods, in particular some of those that I know are getting called a lot, I see the text made not entrant
and made zombie
.
这是什么意思?最好的猜测是,在重新编译该方法或具有更高优化的依赖项之前,它是一个反编译步骤。真的吗?为什么僵尸和参赛者?
What do these mean? Best guess is that it's a decompilation step before recompiling either that method or a dependency with greater optimisation. Is that true? Why "zombie" and "entrant"?
示例,其中一些行之间有相当长的时间:
Example, with quite a bit of time between some of these lines:
[... near the beginning]
42 jsr166y.LinkedTransferQueue::xfer (294 bytes)
[... much later]
42 made not entrant jsr166y.LinkedTransferQueue::xfer (294 bytes)
--- n sun.misc.Unsafe::compareAndSwapObject
170 jsr166y.LinkedTransferQueue::xfer (294 bytes)
170 made not entrant jsr166y.LinkedTransferQueue::xfer (294 bytes)
4% jsr166y.LinkedTransferQueue::xfer @ 29 (294 bytes)
171 jsr166y.LinkedTransferQueue::xfer (294 bytes)
[... even later]
42 made zombie jsr166y.LinkedTransferQueue::xfer (294 bytes)
170 made zombie jsr166y.LinkedTransferQueue::xfer (294 bytes)
171 made not entrant jsr166y.LinkedTransferQueue::xfer (294 bytes)
172 jsr166y.LinkedTransferQueue::xfer (294 bytes)
[... no further logs]
推荐答案
我在。我发现Cliff Click评论说:
I've pulled together some info on this on my blog. A Cliff Click comment I found says:
这篇关于java PrintCompilation输出:“make not entrant”的含义是什么?和“制作僵尸”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!