⦠and ARMv6 and ARMv7 stack and stack/spur VMs updated accordingly. Doug
On Nov 15, 2014, at 19:24, Eliot Miranda <eliot.miranda@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@gmail.com <mailto:eliot.miranda@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