总算把周志明老师的 Safe-Point 坑给填上了,以前读完 JVM 虚拟机之后,
对 safe-point 控制业务线程流程的实现一直非常好奇,中间也读了 mprotect 调用相关的案例,
因为当时内联汇编玩不转,也玩的不好,也没什么时间抽空空看文档,gdb 用的也不熟练,
今天总算找各种资料,用 gdb + inline 汇编,各种魔改操作 rbp rsp,
实现了拿到信号量之后,又恢复现场的方法。
https://github.com/jonwinters/jvm-suspend-working-thread-mechanism小弟不才,勉强贡献上一点小资料,对 JVM 挂起业务线程( STW )的机制 做了一个小小的 demo