[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] d37a6d: Update the getGoodSpourVM script to download a VM ...

GitHub noreply at github.com
Sat May 13 02:32:58 UTC 2017


  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: d37a6ddfd0231d6905440c992edccca236a9ed0e
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d37a6ddfd0231d6905440c992edccca236a9ed0e
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M .gitignore
    M image/BuildSqueakSpurTrunkVMMakerImage.st
    A image/attic/makegetnsvmscripts.sh
    A image/attic/makegetvmscripts.sh
    M image/getGoodSpurVM.sh
    R image/makegetnsvmscripts.sh
    R image/makegetvmscripts.sh

  Log Message:
  -----------
  Update the getGoodSpourVM script to download a VM from bintray.  Currently
linux x86(_64) and macos x86(64) platforms only.  Please extend for windows
& linux ARM.

Move the old script makers to attic.

Remove SpeechPools as one of the packages loaded into VMMaker.  It's gone AWOL.


  Commit: c8c28de2dec963024984c938e16e83a44d833bf8
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c8c28de2dec963024984c938e16e83a44d833bf8
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M platforms/Cross/plugins/SqueakSSL/SqueakSSL.h
    M platforms/iOS/plugins/SqueakSSL/sqMacSSL.c

  Log Message:
  -----------
  Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog


  Commit: 78c402ea71ebcc9db12496f81021fdb9b57deb5f
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/78c402ea71ebcc9db12496f81021fdb9b57deb5f
  Author: Eliot Miranda <eliot.miranda at gmail.com>
  Date:   2017-05-12 (Fri, 12 May 2017)

  Changed paths:
    M build.macos32x86/bochsx64/conf.COG
    M build.macos32x86/bochsx86/conf.COG
    M build.macos32x86/gdbarm32/conf.COG
    M image/BuildSqueakSpurTrunkVMMakerImage.st
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cointerp.c
    M nsspur64src/vm/cointerp.h
    M nsspur64src/vm/gcc3x-cointerp.c
    M nsspursrc/vm/cogit.h
    M nsspursrc/vm/cointerp.c
    M nsspursrc/vm/cointerp.h
    M nsspursrc/vm/gcc3x-cointerp.c
    M nsspurstack64src/vm/gcc3x-interp.c
    M nsspurstack64src/vm/interp.c
    M nsspurstacksrc/vm/gcc3x-interp.c
    M nsspurstacksrc/vm/interp.c
    M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c
    M platforms/Cross/vm/sq.h
    M platforms/iOS/vm/Common/Classes/sqSqueakNullScreenAndWindow.m
    M platforms/iOS/vm/Common/Classes/sqSqueakScreenAPI.m
    M platforms/iOS/vm/OSX/sqSqueakOSXCGView.m
    M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m
    M platforms/iOS/vm/iPhone/Classes/SqueakUIView.h
    M platforms/iOS/vm/iPhone/Classes/SqueakUIView.m
    M platforms/iOS/vm/iPhone/Classes/SqueakUIViewCALayer.m
    M platforms/iOS/vm/iPhone/Classes/SqueakUIViewOpenGL.m
    M platforms/iOS/vm/iPhone/Classes/SqueakUIViewOpenGLAlternate.m
    M platforms/unix/vm-display-X11/sqUnixX11.c
    M platforms/unix/vm/sqUnixMain.c
    M platforms/win32/vm/sqWin32Window.c
    M spur64src/vm/cogit.h
    M spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.c
    M spurlowcode64src/vm/cogit.h
    M spurlowcode64src/vm/cointerp.c
    M spurlowcode64src/vm/cointerp.h
    M spurlowcode64src/vm/gcc3x-cointerp.c
    M spurlowcodesrc/vm/cogit.h
    M spurlowcodesrc/vm/cointerp.c
    M spurlowcodesrc/vm/cointerp.h
    M spurlowcodesrc/vm/gcc3x-cointerp.c
    M spurlowcodestack64src/vm/gcc3x-interp.c
    M spurlowcodestack64src/vm/interp.c
    M spurlowcodestacksrc/vm/gcc3x-interp.c
    M spurlowcodestacksrc/vm/interp.c
    M spursista64src/vm/cogit.h
    M spursista64src/vm/cointerp.c
    M spursista64src/vm/cointerp.h
    M spursista64src/vm/gcc3x-cointerp.c
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cointerp.c
    M spursistasrc/vm/cointerp.h
    M spursistasrc/vm/gcc3x-cointerp.c
    M spursrc/vm/cogit.h
    M spursrc/vm/cointerp.c
    M spursrc/vm/cointerp.h
    M spursrc/vm/gcc3x-cointerp.c
    M spurstack64src/vm/gcc3x-interp.c
    M spurstack64src/vm/interp.c
    M spurstacksrc/vm/gcc3x-interp.c
    M spurstacksrc/vm/interp.c
    M src/plugins/FilePlugin/FilePlugin.c

  Log Message:
  -----------
  CogVM source as per VMMaker.oscog-eem.2211

StackInterpreter:
Simplify and make robust display bitmap access for display update.  The old code
required platforms that needed to redraw at arbitrary times to have to access
the display bits through interpreterProxy->displayObject, decoding it each time.
There exists a small window during compaction, etc, during whiuch such access
will fail and cause a VM crash.  The new code provides four variables to
reference the display, displayBits, displayWidth, displayHeight and
displayDepth, which are assigned appropriately in the primitiveBeDisplay
primitive.  After a GC the interpreter checks if the displayBits have changed
location and if so calls ioNoteDisplayChanged:width:height:depth:
(ioNoteDisplayChangedwidthheightdepth) to inform the platform of the change
(currently all platforms implement this as a null function).

On Spur the primitiveBeDIsplay primitive also pins the display bits.

This scheme allows displayBitsOf:Left:Top:Right:Bottom: to be simplified to
updateDisplayLeft:Top:Right:Bottom:.

On Mac OS X and X11, replace access to the display Dits via displayObject with
direct access to displayBits, displayWidth, displayHeight and displayDepth vars.

Spur:
Fix cloneInOldSpaceForPinning: to handle failed allocations correctly.
Have pinObject: only clone an old space object that is 1Mb or less, simply
pinning larger objects (whioch would include the display bitmap) where it sits.

Lift the limits on Spur image segments.  There is now no limit on the number of
objects in a segment, but the classes in the segment must occupy no more than
2 ^ 21 bytes (maxIdentityHash / 2 * 8 - which allows for about 1.4 million
11 slot classes), and the segment can have no more than 2 ^ 21 out pointers
(again maxIdentityHash / 2.  Tested for simple examples. Manages to export a
project but not load it yet.

Fail if the segment store args that are mutated are either immutable or pinned.

Fix bad bug in shorten:toIndexableSize: (which could affect Scorch/Sista).
The old code for addressAfter: would be fooled by an object with overflow
slows but fewer slots than numSlotsMask.  So fix addressAfter: so it will
still add the overflow header if there is one.

Rewrite objectBytesForSlots: to follow the fixed addressAfter:.  The code
should be cleaner.

Fix checkInterpreterIntegrity in the case of the primitiveDoPrimtiive code
setting newMethod to an integer.

Fix some translation-timer warnings by tweaking storeLiteralVariable:withValue:,
storePointerImmutabilityCheck:ofObject:withValue: & primitiveGetenv.


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/5fb5c090f21e...78c402ea71eb


More information about the Vm-dev mailing list