[Vm-dev] Two new updates to VMMaker.oscog (update diffs blocked due to size)

Esteban Lorenzano estebanlm at gmail.com
Thu May 21 12:24:06 UTC 2015


that’s me trying to comeback to the trunk :)

> On 21 May 2015, at 14:22, David T. Lewis <lewis at mail.msen.com> wrote:
> 
> 
> There are two new updates to VMMaker.oscog added to the repository. The commit messages
> were blocked due to size, but the updates are in the VMM respository.
> 
> 
> [1] 	Subject: 	VM Maker: VMMaker.oscog-EstebanLorenzano.1317.mcz
>  	Size: 	14312340 bytes
>  	Reason: 	Message body is too big: 14311585 bytes with a limit of 400 KB
>  	Received: 	Wed May 20 15:13:16 2015
> [2] 	Subject: 	VM Maker: VMMaker.oscog-EstebanLorenzano.1318.mcz
>  	Size: 	14330428 bytes
>  	Reason: 	Message body is too big: 14329673 bytes with a limit of 400 KB
>  	Received: 	Thu May 21 07:08:41 2015
> 
> 
> Dave
> 
> 
> On Wed, May 20, 2015 at 03:13:21PM +0000, vm-dev-owner at lists.squeakfoundation.org wrote:
>> As list administrator, your authorization is requested for the
>> following mailing list posting:
>> 
>>    List:    Vm-dev at lists.squeakfoundation.org
>>    From:    commits at source.squeak.org
>>    Subject: VM Maker: VMMaker.oscog-EstebanLorenzano.1317.mcz
>>    Reason:  Message body is too big: 14311585 bytes with a limit of 400 KB
>> 
>> At your convenience, visit:
>> 
>>    http://lists.squeakfoundation.org/mailman/admindb/vm-dev
>> 
>> to approve or deny the request.
> 
>> Delivered-To: list-vm-dev at lists.squeakfoundation.org
>> Date: Wed, 20 May 2015 15:10:11.308 0000
>> From: commits at source.squeak.org
>> To: vm-dev at lists.squeakfoundation.org
>> Reply-To: vm-dev at lists.squeakfoundation.org
>> Subject: VM Maker: VMMaker.oscog-EstebanLorenzano.1317.mcz
>> 
>> Esteban Lorenzano uploaded a new version of VMMaker to project VM Maker:
>> http://source.squeak.org/VMMaker/VMMaker.oscog-EstebanLorenzano.1317.mcz
>> 
>> ==================== Summary ====================
>> 
>> Name: VMMaker.oscog-EstebanLorenzano.1317
>> Author: EstebanLorenzano
>> Time: 20 May 2015, 5:06:47.855784 pm
>> UUID: a710630f-0260-48b8-a9b7-f0950ad25407
>> Ancestors: VMMaker.oscog-eem.1316
>> 
>> Adapted to work with Pharo... it should work with Squeak too
>> 
>> Comprehensive guide to all changes:
>> -----------------------------------
>> 
>> - CCodeGenerator>>#emitCFunctionPrototypes:on:
>> added __MINGW32__ and __MINGW64__ check needed in newer versions of MinGW
>> 
>> - CCodeGenerator>>#emitGlobalCVariablesOn :
>> added VM_EXPORT to exported funtions, needed in windows builds (also, probably because of newer MinGW versions)
>> 
>> - CoInterpreter>>initStackPagesAndInterpret
>> added PHAROVM_USE_EXECUTABLE_MEMORY to mark memory as executable (probably this can be removed soon)
>> 
>> - CoInterpreter>>#declareCVarsIn:
>> some refactors to take advantage of "Smalltalk way" (and remove some ifs... but not all)
>> 
>> - CogVMSimulator>>#primitiveDirectoryEntry
>> changes to take into account FilePlugin changes
>> 
>> - CogVMSimulator>>#primitiveDirectoryLookup
>> changes to take into account FilePlugin changes
>> 
>> - Cogit>>#declareCVarsIn:
>> added <setjmp.h> include (needed for windows builds)
>> 
>> - CurrentImageCoInterpreterFacadeForSqueakV3ObjectRepresentation>>#compactClassIndexOfClass:
>> checking if corresponds MethodContext or Context (Pharo does not have MethodContext)
>> 
>> - Interpreter>>readImageFromFile:HeapSize:StartingAt:
>> Pharo uses sqImageFileReadEntireImage because then in iOS (iPhone, iPad) we take just chunks of memory (a trick made by John)
>> 
>> - InterpreterPrimitives>>#primitiveGetNextEvent
>> We have complex event support... is backeard compatible so ok to include it as is.
>> 
>> - InterpreterPrimitives>>#primitiveImageFormatVersion
>> Useful for certain experiments 
>> 
>> - InterpreterSimulator>>#primitiveDirectoryEntry
>> changes to take into account FilePlugin changes
>> 
>> - InterpreterSimulator>>#primitiveDirectoryLookup
>> changes to take into account FilePlugin changes
>> 
>> - ObjectMemory>>#finalizeReference:
>> cheching for pharo finalizing strategy 
>> 
>> - ObjectMemory>>#getHeapGrowthToSizeGCRatio
>> needed for pharo finalizing strategy
>> 
>> - ObjectMemory>>#isInFinalizationList:head:
>> needed for pharo finalizing strategy
>> 
>> - ObjectMemory>>#readHeapFromImageFile:dataBytes:
>> Pharo uses sqImageFileReadEntireImage because then in iOS (iPhone, iPad) we take just chunks of memory (a trick made by John)
>> 
>> - Spur32BitCoMemoryManager>>#assimilateNewSegment: 
>> added PHAROVM_USE_EXECUTABLE_MEMORY to mark memory as executable (probably this can be removed soon)
>> 
>> - Spur32BitMemoryManager>>#objectRepresentationClass
>> we need this method to generate pharo stack versions
>> 
>> - StackInterpreterPrimitives>>#primitiveDoNamedPrimitiveWithArgs
>> this is a bugfix we made with Guille last week :)
>> 
>> - StackInterpreterSimulator>>#makeDirEntryName: size:createDate:modDate:isDir:fileSize: posixPermissions posixPermissions:
>> changes to take into account FilePlugin changes
>> 
>> - StackInterpreterSimulator>>#makeDirEntryName:size:createDate:modDate:isDir:fileSize:posixPermissions:isSymlink:
>> changes to take into account FilePlugin changes
>> 
>> - StackInterpreterSimulator>>#primitiveDirectoryEntry
>> changes to take into account FilePlugin changes
>> 
>> - StackInterpreterSimulator>>#primitiveDirectoryLookup
>> changes to take into account FilePlugin changes
>> 
>> - StackInterpreterSimulator>>#redirectTranscriptToHost
>> Sometimes when bootstraping spur, I needed to check some oop values, etc. I added this method to be able to see those objects in regular transcript, without needing to open the simulator morph.
>> 
>> - TMethod>>#emitCCodeOn:generator:
>> adds a bit more information to generated methods
>> 
>> - TestOSAPlugin>>#declareCVarsIn:
>> including Carbon.h make the plugin works for newer versions of mac sdk
>> 
>> - VMClass class>>#initializeMiscConstants
>> adds default initialization for PharoVM
>> 
>> - VMMaker>>#needsToRegenerateCogitFile
>> #modificationTime in Pharo answers DateAndTime, not a number, so we need to convert it
>> 
>> - VMMaker>>#needsToRegenerateInterpreterFile
>> #modificationTime in Pharo answers DateAndTime, not a number, so we need to convert it
>> 
>> - VMMakerTool class>>#initialize
>> Pharo does not has TheWorldMenu class
>> 
>> - SerialPlugin>>#primitiveSerialPortOpenByName:baudRate:stopBitsType:parityType:dataBits:inFlowControlType:outFlowControlType:xOnByte:xOffByte:
>> primitive to work on serial plugin with named ports
>> 
>> - SerialPlugin>>#primitiveSerialPortReadByName:into:startingAt:count:
>> primitive to work on serial plugin with named ports
>> 
>> - SerialPlugin>>#primitiveSerialPortWriteByName:from:startingAt:count: 
>> primitive to work on serial plugin with named ports
>> 
>> - FilePlugin>>#primitiveDirectoryEntry
>> adapted to ansert posix permission and symlink flag
>> 
>> - FilePlugin>>#primitiveDirectoryLookup
>> adapted to ansert posix permission and symlink flag
>> 
>> 
>> =============== Diff against VMMaker.oscog-eem.1316 ===============
>> 
>> Item was changed:
>> + SystemOrganization addCategory: #VMMaker!
>> + SystemOrganization addCategory: 'VMMaker-Building'!
>> + SystemOrganization addCategory: 'VMMaker-Interpreter'!
>> + SystemOrganization addCategory: 'VMMaker-InterpreterSimulation'!
>> + SystemOrganization addCategory: 'VMMaker-InterpreterSimulation-Morphic'!
>> + SystemOrganization addCategory: 'VMMaker-JIT'!
>> + SystemOrganization addCategory: 'VMMaker-JITSimulation'!
>> + SystemOrganization addCategory: 'VMMaker-Multithreading'!
>> + SystemOrganization addCategory: 'VMMaker-Plugins'!
>> + SystemOrganization addCategory: 'VMMaker-Plugins-Alien'!
>> + SystemOrganization addCategory: 'VMMaker-Plugins-IOS'!
>> + SystemOrganization addCategory: 'VMMaker-PostProcessing'!
>> + SystemOrganization addCategory: 'VMMaker-SmartSyntaxPlugins'!
>> + SystemOrganization addCategory: 'VMMaker-SpurMemoryManager'!
>> + SystemOrganization addCategory: 'VMMaker-SpurMemoryManagerSimulation'!
>> + SystemOrganization addCategory: 'VMMaker-Support'!
>> + SystemOrganization addCategory: 'VMMaker-Tests'!
>> + SystemOrganization addCategory: 'VMMaker-Translation to C'!
>> - SystemOrganization addCategory: #'VMMaker-Building'!
>> - SystemOrganization addCategory: #'VMMaker-Interpreter'!
>> - SystemOrganization addCategory: #'VMMaker-InterpreterSimulation'!
>> - SystemOrganization addCategory: #'VMMaker-InterpreterSimulation-Morphic'!
>> - SystemOrganization addCategory: #'VMMaker-JIT'!
>> - SystemOrganization addCategory: #'VMMaker-JITSimulation'!
>> - SystemOrganization addCategory: #'VMMaker-Multithreading'!
>> - SystemOrganization addCategory: #'VMMaker-Plugins'!
>> - SystemOrganization addCategory: #'VMMaker-Plugins-Alien'!
>> - SystemOrganization addCategory: #'VMMaker-Plugins-IOS'!
>> - SystemOrganization addCategory: #'VMMaker-PostProcessing'!
>> - SystemOrganization addCategory: #'VMMaker-SmartSyntaxPlugins'!
>> - SystemOrganization addCategory: #'VMMaker-SpurMemoryManager'!
>> - SystemOrganization addCategory: #'VMMaker-SpurMemoryManagerSimulation'!
>> - SystemOrganization addCategory: #'VMMaker-Support'!
>> - SystemOrganization addCategory: #'VMMaker-Tests'!
>> - SystemOrganization addCategory: #'VMMaker-Translation to C'!
>> 
>> Item was changed:
>> 
>> <snip>



More information about the Vm-dev mailing list