[Vm-dev] Re: [Pharo-dev] New Cog VMs available

Douglas McPherson djm1329 at san.rr.com
Sun Nov 16 05:06:03 UTC 2014


… and ARMv6 and ARMv7 stack and stack/spur VMs updated accordingly.

Doug

> On Nov 15, 2014, at 19:24, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> 
> Hi All,
> 
>     problems solved.  So new VMs available at http://www.mirandabanda.org/files/Cog/VM/VM.r3137/ <http://www.mirandabanda.org/files/Cog/VM/VM.r3137/>.
> 
> CogVM binaries as per VMMaker.oscog-eem.935/r3137
> 
> These VMs should be functionally identical to the 3126 VMs; the core VM differs
> only in having been compiled from generated source that has been refactored to
> enable convenient 32-bit to 64-bit Spur image bootstrap.  I'm building and
> releasing them mostly to test that refactoring.  However, there is new DNS
> support on Windows and SSL support on Unix.  See below.
> 
> Simulator/Slang:
> Refactor to allow 32-bit and 64-bit Spur to coexist
> in the simulator, thereby allowing a 64-bit bootstrap.
> 
> Replace direct use of BytesPerWord, ShiftForWord, BytesPerOop and BaseHeaderSize
> with sends of wordSize, shiftForWord, bytesPerOop & baseHeaderSize respectively.
> Make sure these are still output as the manifest constants in the generated C.
> Eliminate use of bytesPerSlot in favour of bytesPerOop.  The use of sends is
> similar to those in trunk VMMaker, but I don't have time to merge.  Sorry :-(.
> 
> Work-around use of sends for bytesPerOop in e.g.  generateToByDo:on:indent: and
> users of isConstantNode:valueInto:.
> 
> Do a better job at inlining via inlineCodeOrNilForStatement:in:.  Comment in
> isNode:substitutableFor:inMethod:in: explains.
> 
> Eliminate generic VM_LABEL support, labelling only the bytecodes in interpret.
> 
> Eliminate use of LargeContextSize in the stack and cog VMs.  Alas haven't yet
> eliminated the frame offset constants such as FoxCallerSavedIP et al.  We only
> need one of the two word sizes of interpreter to be executable in the bootstrap.
> 
> And remember to generate the GdbARMPlugin
> 
> Add accessorDepths for the exported browser plugin primitives for Spur.
> 
> Merge Levente's recent changes to DNS lookup on Windows and SSL on Unix.
> See http://squeakvm.org/cgi-bin/viewvc.cgi/squeak?view=revision&revision=2249 <http://squeakvm.org/cgi-bin/viewvc.cgi/squeak?view=revision&revision=2249>
> http://bugs.squeak.org/view.php?id=7824 <http://bugs.squeak.org/view.php?id=7824>
> 
> Have the Unix & Mac VMs print the process id and working directory when blocking
> on error or assert fail.  Add scripts for the ARM VM archives.
> 
> 
> On Fri, Nov 14, 2014 at 3:11 PM, Eliot Miranda <eliot.miranda at gmail.com <mailto:eliot.miranda at gmail.com>> wrote:
> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3133/ <http://www.mirandabanda.org/files/Cog/VM/VM.r3133/>.
> 
> CogVM binaries as per VMMaker.oscog-eem.934/r3133
> These VMs should be functionally identical to the 3126 VMs; the core VM differs
> only in having been compiled from generated source that has been refactored to
> enable convenient 32-bit to 64-bit Spur image bootstrap.  I'm building and
> releasing them mostly to test that refactoring.  However, there is new DNS
> support on Windows and SSL support on Unix.  See below.
> 
> Simulator/Slang:
> Refactor to allow 32-bit and 64-bit Spur to coexist
> in the simulator, thereby allowing a 64-bit bootstrap.
> 
> Replace direct use of BytesPerWord, ShiftForWord, BytesPerOop and BaseHeaderSize
> with sends of wordSize, shiftForWord, bytesPerOop & baseHeaderSize respectively.
> Make sure these are still output as the manifest constants in the generated C.
> Eliminate use of bytesPerSlot in favour of bytesPerOop.  The use of sends is
> similar to those in trunk VMMaker, but I don't have time to merge.  Sorry :-(.
> 
> Work-around use of sends for bytesPerOop in e.g.  generateToByDo:on:indent: and
> users of isConstantNode:valueInto:.
> 
> Do a better job at inlining via inlineCodeOrNilForStatement:in:.  Comment in
> isNode:substitutableFor:inMethod:in: explains.
> 
> Eliminate generic VM_LABEL support, labelling only the bytecodes in interpret.
> 
> Eliminate use of LargeContextSize in the stack and cog VMs.  Alas haven't yet
> eliminated the frame offset constants such as FoxCallerSavedIP et al.  We only
> need one of the two word sizes of interpreter to be executable in the bootstrap.
> 
> And remember to generate the GdbARMPlugin
> 
> Add accessorDepths for the exported browser plugin primitives for Spur.
> 
> Merge Levente's recent changes to DNS lookup on Windows and SSL on Unix.
> See http://squeakvm.org/cgi-bin/viewvc.cgi/squeak?view=revision&revision=2249 <http://squeakvm.org/cgi-bin/viewvc.cgi/squeak?view=revision&revision=2249>
> http://bugs.squeak.org/view.php?id=7824 <http://bugs.squeak.org/view.php?id=7824>
> 
> Have the Unix & Mac VMs print the process id and working directory when blocking
> on error or assert fail.  Add scripts for the ARM VM archives.
> -- 
> best,
> Eliot
> 
> 
> 
> -- 
> best,
> Eliot

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20141115/74727386/attachment.htm


More information about the Vm-dev mailing list