Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 8363ebdc623b5d988dc78caf3238e42fb82f249e
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8363ebdc623b5d988d…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2019-03-07 (Thu, 07 Mar 2019)
Changed paths:
M platforms/unix/plugins/FileAttributesPlugin/faSupport.h
Log Message:
-----------
Fix stupid mistake in previous commit; access answers 0 on success and non-zero
on failure. COnsequently we must negate its result to a nswer success.
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 2f27a1e1f213943a6f7860713f5d78f15310ac8d
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2f27a1e1f213943a6f…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2019-03-06 (Wed, 06 Mar 2019)
Changed paths:
M platforms/unix/plugins/FileAttributesPlugin/faSupport.c
M platforms/unix/plugins/FileAttributesPlugin/faSupport.h
M platforms/win32/plugins/FileAttributesPlugin/faSupport.c
M platforms/win32/plugins/FileAttributesPlugin/faSupport.h
M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c
M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.2525/FileAttributesPlugin.oscog-eem.50
Plugins:
ThreadedFFIPlugin: Make sure the ARM identifyingPredefinedMacros do not
confuse 32 & 64 bits.
FileAttributesPlugin:
Simpification and simulaiton of primitiveFileExists & primitivePathMax,
using the simpler and more efficient methodreturnXXX: protocol.
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 2ede00338b9cdb2b3cb90263a6aa1f5e219f1cab
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2ede00338b9cdb2b3c…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2019-03-06 (Wed, 06 Mar 2019)
Changed paths:
M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c
M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c
M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.2527
Force default initialization of VM options before generating VM plugins.
This undefines SPURVM as the default in the SqueakFFIPrims variants.
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2527.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.2527
Author: eem
Time: 6 March 2019, 11:21:46.164876 am
UUID: 6941605a-42c2-4ac0-82dd-7945ac547937
Ancestors: VMMaker.oscog-eem.2526
Ho hum. That default intialization for plgin source generation requires a little more effort.
=============== Diff against VMMaker.oscog-eem.2526 ===============
Item was added:
+ ----- Method: VMClass class>>initializeForPlugins: (in category 'initialization') -----
+ initializeForPlugins: optionsDictionaryOrArray
+ "Do a default initialization, suitable for generating plugin sources."
+ StackInterpreterSimulator
+ initializeWithOptions: optionsDictionaryOrArray
+ objectMemoryClass: ObjectMemory!
Item was changed:
----- Method: VMMaker class>>makerFor:and:with:to:platformDir: (in category 'instance creation') -----
makerFor: interpreterClass and: cogitClassOrNil with: optionsPairsArrayArg to: srcDirName platformDir: platDirName
"Initialize a VMMaker to generate the VM to the given target directory."
| optionsPairsArray |
optionsPairsArray := (cogitClassOrNil isNil or: [optionsPairsArrayArg includes: #Cogit])
ifTrue: [optionsPairsArrayArg]
ifFalse: [optionsPairsArrayArg, { #Cogit. cogitClassOrNil name }].
+ VMClass initializeForPlugins: optionsPairsArray.
- VMClass initializeWithOptions: optionsPairsArray.
^(self forPlatform: 'Cross')
sourceDirectoryName: (self fullNameForPath: srcDirName);
platformRootDirectoryName: (self fullNameForPath: platDirName);
options: optionsPairsArray;
interpreterClass: interpreterClass;
yourself!
Item was changed:
----- Method: VMMaker>>generateExternalPlugin: (in category 'generate sources') -----
generateExternalPlugin: pluginName
"generate the named external plugin"
| exports plugin |
"Refuse to translate this plugin if it requires platform specific files and they are not present."
[plugin := self validateExternalPlugin: pluginName]
on: VMMakerException
do: [:ex|
logger show: 'external plugin ' , plugin name , ' failed to validate: ' , ex messageText; cr.
^self].
+ VMClass initializeForPlugins: #().
- VMClass initializeWithOptions: #().
[exports := plugin
translateInDirectory: (self externalPluginsDirectoryFor: plugin)
doInlining: inline]
on: ProvideAnswerNotification
do: [:ex|
ex tag == #logger
ifTrue: [ex resume: logger]
ifFalse: [ex pass]].
exports ifNotNil: "if exp is nil we skip this since the plugin was already up to date"
[logger show: 'external plugin ' , plugin name , ' generated as ' , plugin moduleName; cr.
self export: exports forExternalPlugin: plugin.
self processFilesForExternalPlugin: plugin]!