[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 614fad: Make the pc
offset longer in sqWin32Backtrace, jus...
GitHub
noreply at github.com
Fri Aug 19 13:46:10 UTC 2016
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 614fadf2fdb1270428e0763ca6bc4fa1cc1dfc84
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/614fadf2fdb1270428e0763ca6bc4fa1cc1dfc84
Author: Nicolas Cellier <nicolas.cellier at sirehna.com>
Date: 2016-08-18 (Thu, 18 Aug 2016)
Changed paths:
M platforms/win32/vm/sqWin32Backtrace.c
M platforms/win32/vm/sqWin32Backtrace.h
Log Message:
-----------
Make the pc offset longer in sqWin32Backtrace, just in case
Commit: 57fa38ee5fde3dd87fb83c628f6b09c6b46d2957
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/57fa38ee5fde3dd87fb83c628f6b09c6b46d2957
Author: Nicolas Cellier <nicolas.cellier at sirehna.com>
Date: 2016-08-18 (Thu, 18 Aug 2016)
Changed paths:
M platforms/win32/plugins/IA32ABI/Makefile
M platforms/win32/plugins/IA32ABI/Makefile.plugin
Log Message:
-----------
Don't hardcode the IA32 ABI on windows
(well, despite the directory name...)
Commit: 546cd55c8f05e228973d1b0e7ee0513e979ba1b5
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/546cd55c8f05e228973d1b0e7ee0513e979ba1b5
Author: Nicolas Cellier <nicolas.cellier at sirehna.com>
Date: 2016-08-18 (Thu, 18 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
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&expand=3069,3073,3075,3080 )
Conflicts:
src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c
Commit: c2d0de1fe75adf823026a3643c2fe9f6012e59a3
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c2d0de1fe75adf823026a3643c2fe9f6012e59a3
Author: Nicolas Cellier <nicolas.cellier at sirehna.com>
Date: 2016-08-18 (Thu, 18 Aug 2016)
Changed paths:
M platforms/Cross/plugins/IA32ABI/x64win64ia32abicc.c
Log Message:
-----------
Fix win64 x64 compilation
2 problems here:
- erroneous usage of asm directives
- it was necessary to republish SqueakFFIPrims for correction of WIN64 #ifdef
Commit: 0af004c7a34df823f37ef178a37dcc07a4c7cdc9
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0af004c7a34df823f37ef178a37dcc07a4c7cdc9
Author: Nicolas Cellier <nicolas.cellier at sirehna.com>
Date: 2016-08-18 (Thu, 18 Aug 2016)
Changed paths:
M platforms/Cross/plugins/IA32ABI/arm32ia32abicc.c
M platforms/Cross/plugins/IA32ABI/ia32abi.h
M platforms/Cross/plugins/IA32ABI/ia32abicc.c
M platforms/Cross/plugins/IA32ABI/ppc32abicc.c
M platforms/Cross/plugins/IA32ABI/x64ia32abicc.c
M platforms/Cross/plugins/IA32ABI/x64win64ia32abicc.c
Log Message:
-----------
Make sure that the stack pointer points to large enough words in thunkEntry
This is a fix for LLP64 (x64 win64)
Words are large enough when == sizeof(void *)
Indeed, we want to skip other return address and things like that...
Commit: 5f7a7505f6d14a77eed5788f2aa61baf119fa0e9
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5f7a7505f6d14a77eed5788f2aa61baf119fa0e9
Author: Nicolas Cellier <nicolas.cellier at sirehna.com>
Date: 2016-08-18 (Thu, 18 Aug 2016)
Changed paths:
M build.win64x64/squeak.stack.spur/plugins.ext
Log Message:
-----------
Temporarily revert compilation of FFI for win64
Changes of sources generated by VMMaker.oscog are necessary for compilation to succeed.
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/5160d1803ca8...5f7a7505f6d1
More information about the Vm-dev
mailing list