[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] d69735: Unify
Processor/OS detection a bit more, also a bi...
GitHub
noreply at github.com
Wed Jul 27 22:08:25 UTC 2016
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: d6973532fab5abcabc6e6cd7853990b736931b36
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d6973532fab5abcabc6e6cd7853990b736931b36
Author: Tobias Pape <tobias at netshed.de>
Date: 2016-07-27 (Wed, 27 Jul 2016)
Changed paths:
M platforms/Cross/plugins/IA32ABI/ia32abi.h
M platforms/win32/vm/sqConfig.h
M platforms/win32/vm/sqWin32.h
Log Message:
-----------
Unify Processor/OS detection a bit more, also a bit more complete
Commit: f6c3d89714ab5c8c74e5d5e14d8b04772168dbf2
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6c3d89714ab5c8c74e5d5e14d8b04772168dbf2
Author: Tobias Pape <tobias at netshed.de>
Date: 2016-07-27 (Wed, 27 Jul 2016)
Changed paths:
M platforms/Cross/vm/sqAtomicOps.h
Log Message:
-----------
Allow bit-detection via limits.h macro
Commit: ffc6dded843ba60de33bb968e36f7e3affc4e4bd
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ffc6dded843ba60de33bb968e36f7e3affc4e4bd
Author: Tobias Pape <tobias at netshed.de>
Date: 2016-07-27 (Wed, 27 Jul 2016)
Changed paths:
M platforms/Cross/vm/sqAtomicOps.h
Log Message:
-----------
Atomic 64bit get/set on 32 bit windows
Someone please review :)
Commit: 51d8645674ba73e9957e7c8dfdc11845ba2be84b
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/51d8645674ba73e9957e7c8dfdc11845ba2be84b
Author: Tobias Pape <tobias at netshed.de>
Date: 2016-07-27 (Wed, 27 Jul 2016)
Changed paths:
M platforms/Cross/vm/sqMemoryFence.h
Log Message:
-----------
Use 'lock add' based memfence for Windows
see https://shipilev.net/blog/2014/on-the-fence-with-dependencies
Commit: 856b989904eb55eecd5454f1ef51f91d1d113d27
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/856b989904eb55eecd5454f1ef51f91d1d113d27
Author: Tobias Pape <tobias at netshed.de>
Date: 2016-07-27 (Wed, 27 Jul 2016)
Changed paths:
M platforms/Cross/vm/sqMemoryFence.h
Log Message:
-----------
Use MemoryBarrier on Win64
We leave the 32 bit version, tho. The `MemoryBarrier` expands to a
`__faststorefence` on x86_64, which compiles to
lock or DWORD PTR [rsp], ebp
The 32bit code we use is quite similar but avoids the ebp access:
lock add [esp], 0
whereas the x86 `MemoryBarrier` is a more costly `xchg [...], eax`.
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/7e603e74c7aa...856b989904eb
More information about the Vm-dev
mailing list