Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: d6973532fab5abcabc6e6cd7853990b736931b36 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d6973532fab5abcabc6... Author: Tobias Pape tobias@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/f6c3d89714ab5c8c74e... Author: Tobias Pape tobias@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/ffc6dded843ba60de33... Author: Tobias Pape tobias@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/51d8645674ba73e9957... Author: Tobias Pape tobias@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/856b989904eb55eecd5... Author: Tobias Pape tobias@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...856...
vm-dev@lists.squeakfoundation.org