那一定是线程本地握手poll。看
%r11从哪里读取。如果是从
%r15(线程本地存储)偏移量读取的,那就是家伙。在这里查看示例:
0.31% ↗ ...70: movzbl 0x94(%r9),%r10d 0.19% │ ...78: mov 0x108(%r15),%r11 ; read the thread-local page addr 25.62% │ ...7f: add $0x1,%rbp35.10% │ ...83: test %eax,(%r11) ; thread-local handshake poll 34.91% │ ...86: test %r10d,%r10d ╰ ...89: je ...70
它不是没有用的,一旦将防护页标记为不可读,就会导致SEGV,并将控制权转移到JVM的SEGV处理程序。这是JVM安全点Java线程(例如用于GC)机制的一部分。
UPD:希望在这里有更多详细信息。



