Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: d37a6ddfd0231d6905440c992edccca236a9ed0e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d37a6ddfd0231d6905440c992edccca236a9ed0e Author: Eliot Miranda <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 |
Free forum by Nabble | Edit this page |