ponyc icon indicating copy to clipboard operation
ponyc copied to clipboard

Implement Arm specific ABA protections

Open SeanTAllen opened this issue 3 years ago • 0 comments
trafficstars

In an earlier commit, I removed the Arm specific ABA handling as it was incorrect. We are currently using the x86 ABA handling that will work on Arm but is more expensive than it has to be.

We could implement the Arm ABA handling and get a low level performance win on Arm CPUs.

@mjp41 took a look at the original Arm ABA code and said "yeah that is broken". "It actually needs to call intrinsics for LL and SC, and it isnt. LDREX and STREX".

I'm not particularly knowledgable about Arm ISA so that doesn't mean much to me at the moment, but it will to someone in the future when they go to implement this enhancement.

SeanTAllen avatar Mar 30 '22 18:03 SeanTAllen