Hello,
Read this:
More precision, read again:
About portability of my software projects
I have thought more, and as you have noticed i have written Intel
assembler routines for 32 bit and 64 bit for atomically incrementing and
and for atomically CompareExchange etc. so now they are working with x86
AMD and Intel processors for 32 bit and 64 bit, but i will soon make my
Delphi and FreePascal and C++ libraries portable the other CPUs like
ARM(for Android) etc. for that i will use the following Delphi methods
for Delphi:
http://docwiki.embarcadero.com/Libraries/XE8/en/System.SyncObjs.TInterlocked.CompareExchange
and
http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.SyncObjs.TInterlocked.Exchange
And I will use the same functions that you find inside FreePascal, here
they are:
https://www.freepascal.org/docs-html/rtl/system/interlockedexchange64.html
and
https://www.freepascal.org/docs-html/rtl/system/interlockedexchange.html
and
https://www.freepascal.org/docs-html/rtl/system/interlockedcompareexchange.html
and
https://www.freepascal.org/docs-html/rtl/system/interlockedcompareexchange64.html
I will use them inside my scalable lock that is called scalable MLock
that i have "invented", so that it will be portable, here it is:
https://sites.google.com/site/scalable68/scalable-mlock
And when my scalable MLock will become portable on Delphi and FreePascal
i will port with it all my other libraries that uses atomically
increment and decrement etc., so my libraries will become portable on
the other CPUs like ARM for Android etc., so i think you will be happy
with my work.
Stay tunned !
Thank you,
Amine Moulay Ramdane.