Branch: refs/heads/LLP64 Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: cfdc33ff5d0080c8e4fd51b972eafc1a7d46a15b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cfdc33ff5d0080c8e4f... Author: nicolas-cellier-aka-nice nicolas.cellier.aka.nice@gmail.com Date: 2016-08-11 (Thu, 11 Aug 2016)
Changed paths: M build.win64x64/makeall M build.win64x64/makeallinstall M build.win64x64/makeproduct M build.win64x64/makeproductinstall
Log Message: ----------- Add the -e flags to build.win64x64 bash files
Commit: fb67d23eb1ad566f4f4f7c72fe58f801732ded33 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fb67d23eb1ad566f4f4... Author: nicolas-cellier-aka-nice nicolas.cellier.aka.nice@gmail.com Date: 2016-08-11 (Thu, 11 Aug 2016)
Changed paths: M build.win64x64/squeak.stack.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.int A platforms/Cross/plugins/IA32ABI/dax64win64business.h M platforms/Cross/plugins/IA32ABI/ia32abi.h A platforms/Cross/plugins/IA32ABI/x64win64ia32abicc.c M platforms/Cross/plugins/IA32ABI/xabicc.c M platforms/win32/plugins/IA32ABI/Makefile.plugin M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c
Log Message: ----------- Attempt a first x64 win64 FFI plugin
Warning: MOSTLY UNTESTED
Implementation note: do not use the loadFloatRegs(...) fake call for loading floating point registers xmm0...xmm3 Instead, simply and dumbly switch on the 16 possible combinations of int/float register parameters The reasons for this choice are: -1) I don't understand how loadFloatRegs would work with x64-win64 ABI I believe the caller should save/restore the registers before/after loadFloatRegs call - 2) be more robust versus aggressive compiler optimizations and eventually link time optimizations (loadFloatRegs needs to be in a separate file, but LTO might spoil this) - 3) it's simple enough to encode (even if a bit copy/paste error prone)
For thunkEntry, use few asm instructions (REMINDER: have to replace asm with some intrinsics for MSVC - see https://software.intel.com/sites/landingpage/IntrinsicsGuide/#cats=Load&... )
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/c64566a79a17...fb6...
vm-dev@lists.squeakfoundation.org