Jimmy K
Jimmy K
This is marked WIP while I get finish running through all the unit tests I wrote. But all the tests for major functionality are passing so far so I don't...
I fixed a problem with my previous implementation. Under compressedrefs `compareAndExchangeReference` uses `CS` to perform the CAS operation. Afterwards the upper 32 bits need to be cleared since they may...
I didn't put too much thought into the design to use `TR_DisableCAEIntrinsic` to disable the changes. I put it in initially for testing purposes but left in since it seemed...
I moved the indicated comments. I will also create a new PR later to handle the chanage to use the flag instead. I rebased my change on the latest `master`...
With the latest changes, my test now passes. Both `-Xint` and `-Xjit`. ``` java -javaagent:RedefAgent.jar -Xint RedefEmptyInit Running warmup. Before redefine Result: 0, Expected: 0 After redefine Result: 1, Expected:...
@hzongaro Is there someone who can help take a look at the X and Common changes? In particular that I am updating `alwaysWorthInlining` and `createUnsafeCASCallDiamond` correctly for common changes. For...
Only these ones exist in `sun/misc/Unsafe`: ``` compareAndSwapObject compareAndSwapInt compareAndSwapLong ``` These ones require going through `jdk/internal/misc/Unsafe.java`: ``` CompareAndExchangeObject CompareAndExchangeReference CompareAndExchangeInt CompareAndExchangeLong ```
I added a few more fixes mostly related to problems on x that showed up after more rigorous testing. I missed adding `jdk_internal_misc_Unsafe_compareAndExchangeObject` to one location on x which stopped...
I discovered a problem on x where the accelerated version of `CompareAndExchangeObject` would making an unexpectedly high number of call outs to `jitWriteBarrierStoreGenerationalAndConcurrentMark` which hurt performance by around 60% compared...
With the latest change, all the tests that I wrote to try out different edges cases are working as expected. @hzongaro, I know it has only been a few days...