Hi Gustavo, I wonder why you placed the tabort so late in generate_native_wrapper. I'd put it at the Verified Entry Point. Besides that, it looks good to me. Thanks, Martin -----Original Message----- From: Gustavo Romero [mailto:gromero@linux.vnet.ibm.com] Sent: Montag, 25. Juni 2018 10:21 To: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; Doerr, Martin <martin.doerr@sap.com>; hotspot-compiler-dev@openjdk.java.net Cc: ppc-aix-port-dev@openjdk.java.net Subject: RFR(s): 8205581: PPC64: RTM: Fix abort on native calls Hi, Could the following change be reviewed please? bug : https://bugs.openjdk.java.net/browse/JDK-8205581 webrev: http://cr.openjdk.java.net/~gromero/8205581/v1/ It forces a transactional state to abort before calling native methods, before calling runtime, and on uncommon trap checking, mostly because transaction will be aborted soon or latter in either case, similarly to what happens on Intel. The abort instruction (tabort) is only emitted if UseRTMLocking is "true" and any 'tabort' instruction is treated as a 'nop' instruction if TM state is non-transactional. It fixes the following tests: +Passed: compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java +Passed: compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java Thank you and best regards, Gustavo