Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 6447973d435b9e374daa65575ff0e06d501f3b41
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6447973d435b9e374d…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2016-07-07 (Thu, 07 Jul 2016)
Changed paths:
M platforms/Cross/vm/sqMemoryAccess.h
Log Message:
-----------
Comment squeak types and introduce sqIntptr_t for LLP64 support
Note that using sqInt in place of sqIntptr_t would be OK for COG VM.
However it would not work for legacy interpreter 64bits VM for 32 bits image.
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1899.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1899
Author: eem
Time: 7 July 2016, 11:03:44.100812 am
UUID: 65cf7e79-dadd-453b-ba5b-222dd189a551
Ancestors: VMMaker.oscog-eem.1898
Fix initialization of the primitivesClass so it has initializationOptions set also.
In 1899 Guglielmo Marconi successfully transmits a radio signal across the English Channel, David Hilbert creates the modern concept of geometry with the publication of his book Grundlagen der Geometrie, released on this date at Göttingen, and the highest ever recorded individual cricket score, 628 not out, is made by A. E. J. Collins.
=============== Diff against VMMaker.oscog-eem.1898 ===============
Item was changed:
----- Method: StackInterpreter class>>initializeWithOptions: (in category 'initialization') -----
initializeWithOptions: optionsDictionary
"StackInterpreter initializeWithOptions: Dictionary new"
super initializeWithOptions: optionsDictionary.
+ (self primitivesClass withAllSuperclasses copyUpTo: self) do:
+ [:class| class initializationOptions: initializationOptions].
self initializeMiscConstants. "must precede other initialization."
self initializeAssociationIndex.
self initializeBytecodeTable.
self initializeCaches.
self initializeCharacterIndex.
self initializeCharacterScannerIndices.
self initializeClassIndices.
self initializeContextIndices.
self initializeDirectoryLookupResultCodes.
self initializeFrameIndices.
self initializeMessageIndices.
self initializeMethodIndices.
self initializePointIndices.
self initializePrimitiveTable.
self initializeSchedulerIndices.
self initializeSmallIntegers.
self initializeStreamIndices!
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 0796ebb4b767b50d6f958f98b59d7fc7fa9a54ec
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0796ebb4b767b50d6f…
Author: Nicolas Cellier <nicolas.cellier(a)sirehna.com>
Date: 2016-07-07 (Thu, 07 Jul 2016)
Changed paths:
M platforms/Cross/vm/sqVirtualMachine.c
Log Message:
-----------
Suppress a 'cast from pointer to integer of different size' warning
usqInt is guaranteed to be as long as a pointer
unsigned long is not in case of infamous LLP64
Commit: 8056ec02a44e468aa595f92f632aa63d5b8db89c
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8056ec02a44e468aa5…
Author: Nicolas Cellier <nicolas.cellier(a)sirehna.com>
Date: 2016-07-07 (Thu, 07 Jul 2016)
Changed paths:
M platforms/Cross/vm/sqHeapMap.c
M platforms/win32/vm/sqWin32Backtrace.c
Log Message:
-----------
Define ulong as usqInt for LLP64 compatibility
The intention is to copy pointer <-> ulong so ulong must be long enough !
Commit: b40aa07792fc5d51fd612cf2bf370ab86a988e88
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b40aa07792fc5d51fd…
Author: Nicolas Cellier <nicolas.cellier(a)sirehna.com>
Date: 2016-07-07 (Thu, 07 Jul 2016)
Changed paths:
M platforms/win32/vm/sqWin32Prefs.c
M platforms/win32/vm/sqWin32Window.c
Log Message:
-----------
Convert win32 hInstance or hMenu to sqInt rather than int for LLP64 compatibility
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/706b462659bb...b4…
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 32c98b1cee90dbb9398eacb421e453798907738a
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/32c98b1cee90dbb939…
Author: Nicolas Cellier <nicolas.cellier(a)sirehna.com>
Date: 2016-07-07 (Thu, 07 Jul 2016)
Changed paths:
M platforms/Cross/vm/sqMemoryAccess.h
Log Message:
-----------
Make squeak types LLP64 compatible
When sizeof(long) < sizeof(void *) it is necessary to declare sqInt as long long rather than long
Otherwise, a pointer would not fit into an sqInt
Thus we must inquire SIZEOF_LONG
Same for sqLong: it must be at least 64 bits, so we must inquire SIZEOF_LONG rather than SIZEOF_VOID_P
SIZEOF_LONG should be defined in platform dependent config.h
But we provide a fallback if it's not the case.
Commit: 706b462659bb0cb76a144628230744f3d1751f28
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/706b462659bb0cb76a…
Author: Nicolas Cellier <nicolas.cellier(a)sirehna.com>
Date: 2016-07-07 (Thu, 07 Jul 2016)
Changed paths:
M platforms/win32/vm/config.h
Log Message:
-----------
Infer sizeof void pointer and sizeof long for win32 case (X64 compatibility)
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/08822ce610c2...70…
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 08822ce610c20b61e1faec0ce72e635c8ad10e7c
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/08822ce610c20b61e1…
Author: Nicolas Cellier <nicolas.cellier(a)sirehna.com>
Date: 2016-07-07 (Thu, 07 Jul 2016)
Changed paths:
M platforms/win32/vm/sqWin32Backtrace.c
Log Message:
-----------
Revise valid macro for LLP64 case in sqWin32Backtrace.c
The code would have truncated fp bits because sizeof(long) > sizeof(fp) in LLP64
It would have worked because we only inspect least significant bits for alignment
But it's better to suppress suspicious compiler warning.
Thus use sqInt which is allways large enough to hold a pointer.
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 1d0ad4c6bec1dee958510f59a7072e7bdaddd597
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1d0ad4c6bec1dee958…
Author: Nicolas Cellier <nicolas.cellier(a)sirehna.com>
Date: 2016-07-07 (Thu, 07 Jul 2016)
Changed paths:
M platforms/Cross/vm/sqAtomicOps.h
Log Message:
-----------
Revise inference rules for determining whether 32 or 64 bits arch in sqAtomicOps.h
This is far from complete, but at least, it know recognizes the LLP64 case for windows X64 as 64 bits.