[OpenSmalltalk/opensmalltalk-vm] 5afa7a: Fix travis tests for squeak after app rename

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] 5afa7a: Fix travis tests for squeak after app rename

Eliot Miranda-3
 
  Branch: refs/heads/krono/highdpi-v2
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 5afa7aca38a13ad07bc615b45b43b9031dc1e7a5
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5afa7aca38a13ad07bc615b45b43b9031dc1e7a5
  Author: Tobias Pape <[hidden email]>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M tests/smalltalkCI.sh

  Log Message:
  -----------
  Fix travis tests for squeak after app rename


  Commit: a3f38c67c51d3e28be3d94feff22619a3155661c
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a3f38c67c51d3e28be3d94feff22619a3155661c
  Author: Tobias Pape <[hidden email]>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M platforms/iOS/vm/OSX/sqSqueakOSXView.h

  Log Message:
  -----------
  This is shared, too


  Commit: b8db6de4ae7d36f589da955fdf91392c2e782345
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b8db6de4ae7d36f589da955fdf91392c2e782345
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile

  Log Message:
  -----------
  Fix linking of the libB3DAcceleratorPlugin.dylib in the Pharo build.
There is no equivalent of -bundle_loader for dylibs so use the explicit
list of undefines approach passed throguh EXTRADYFLAGS.


  Commit: db818587f1cd785af1274932e164682d3eaf413d
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/db818587f1cd785af1274932e164682d3eaf413d
  Author: kksubbu <[hidden email]>
  Date:   2017-05-07 (Sun, 07 May 2017)

  Changed paths:
    M build.linux64x64/HowToBuild

  Log Message:
  -----------
  [skip ci] uuid-dev is needed on Ubuntu for configure script. GL libraries are also needed


  Commit: c15938059aadfa5505de400f12de954b4339068c
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c15938059aadfa5505de400f12de954b4339068c
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M build.linux64x64/HowToBuild

  Log Message:
  -----------
  Merge pull request #137 from kksubbu/uuidpkg

[skip ci] uuid-dev is needed on Ubuntu for configure script.


  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: 5fb5c090f21e6a95a1e550a1ff39bfc0dcc9ea7d
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5fb5c090f21e6a95a1e550a1ff39bfc0dcc9ea7d
  Author: Tobias Pape <[hidden email]>
  Date:   2017-05-09 (Tue, 09 May 2017)

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

  Log Message:
  -----------
  SqueakSSL v3: With support for verifiation on macOS


  Commit: eb841f02e5cd0b08999fde1930f61fff22787657
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/eb841f02e5cd0b08999fde1930f61fff22787657
  Author: Ronie Salgado <[hidden email]>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.c
    M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGLInfo.c
    M platforms/iOS/vm/Common/Classes/sqSqueakEventsAPI.m
    M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.h
    M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m

  Log Message:
  -----------
  Make sure to restore the OpenGL context in OS X. drawRect: and other methods are called indirectly by Cocoa via ioProcessEvents.
Comment the QuickTime includes. Missing on my machine, and they seem to not be used.


  Commit: 501b645516e4f3d90f99301629c53e4a641dfa6e
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/501b645516e4f3d90f99301629c53e4a641dfa6e
  Author: Ronie Salgado <[hidden email]>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M platforms/iOS/vm/Common/Classes/sqSqueakEventsAPI.m

  Log Message:
  -----------
  Fix a crash with the SDL2 bindings on OS X.


  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: 2c88b76b5d8a8e13dbac9f9a7c987a6641d9ad1d
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2c88b76b5d8a8e13dbac9f9a7c987a6641d9ad1d
  Author: sophie-kaleba <[hidden email]>
  Date:   2017-05-13 (Sat, 13 May 2017)

  Changed paths:
    M build.linux32ARMv6/pharo.cog.spur/plugins.int
    M build.linux32x86/pharo.cog.spur.lowcode/plugins.int
    M build.linux32x86/pharo.cog.spur/plugins.int
    M build.linux32x86/pharo.stack.spur.lowcode/plugins.int
    M build.linux64x64/pharo.cog.spur/plugins.int
    M build.macos32x86/pharo.cog.spur.lowcode/plugins.int
    M build.macos32x86/pharo.cog.spur/plugins.int
    M build.macos32x86/pharo.stack.spur.lowcode/plugins.int
    M build.macos32x86/pharo.stack.spur/plugins.int
    M build.macos64x64/pharo.cog.spur.lowcode/plugins.int
    M build.macos64x64/pharo.cog.spur/plugins.int
    M build.macos64x64/pharo.stack.spur.lowcode/plugins.int
    M build.macos64x64/pharo.stack.spur/plugins.int

  Log Message:
  -----------
  add linux and mac VMProfilePlugins for Pharo


  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.


  Commit: c69688a839b9a9a68477b3cb107452babe3f2207
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c69688a839b9a9a68477b3cb107452babe3f2207
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-12 (Fri, 12 May 2017)

  Changed paths:
    R platforms/win32/plugins/CameraPlugin/sqVirtualMachine.h
    M src/vm/cogit.h
    M src/vm/cointerp.c
    M src/vm/cointerp.h
    M src/vm/cointerpmt.c
    M src/vm/cointerpmt.h
    M src/vm/gcc3x-cointerp.c
    M src/vm/gcc3x-cointerpmt.c
    M stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c

  Log Message:
  -----------
  Hmmm, don't know why but the v3 sources with the displayBits changes don't seem
to have been comitted.  Correct that omission.
Also nuke the erroneous copy of sqVirtualMachine.h in the win32 CameraPlugin.
It is out of date and builds /must/ pick up the proper definition from
platforms/Cross/vm.


  Commit: 345be125160f5b5797d9a0c959bd69836cf0dc32
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/345be125160f5b5797d9a0c959bd69836cf0dc32
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-12 (Fri, 12 May 2017)

  Changed paths:
    M spurlowcodestack64src/vm/gcc3x-interp.c
    M spurlowcodestack64src/vm/interp.c
    M spurlowcodestacksrc/vm/gcc3x-interp.c
    M spurlowcodestacksrc/vm/interp.c

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

Fix the Lowcode non-Cog builds.  primitiveVMParameter failed to guard against
non-Cog for set access to the CogCodeZoneThreshold.


  Commit: 36f33e6cd7e44fc64198536d7e61a5c146164431
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/36f33e6cd7e44fc64198536d7e61a5c146164431
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-12 (Fri, 12 May 2017)

  Changed paths:
    A build.macos32x86/common/Makefile.app.squeak
    R build.macos32x86/common/Makefile.app.squeak.cog
    M build.macos32x86/squeak.cog.spur+immutability/Makefile
    M build.macos32x86/squeak.cog.spur/Makefile
    M build.macos32x86/squeak.cog.v3/Makefile
    M build.macos32x86/squeak.stack.spur/Makefile
    M build.macos32x86/squeak.stack.v3/Makefile
    A build.macos64x64/common/Makefile.app.squeak
    R build.macos64x64/common/Makefile.app.squeak.cog
    M build.macos64x64/squeak.cog.spur.immutability/Makefile
    M build.macos64x64/squeak.cog.spur/Makefile
    M build.macos64x64/squeak.stack.spur/Makefile

  Log Message:
  -----------
  Fix Squeak build failures on travis-ci.  All Mac builds should include
common/Makefile.app.squeak to build Squeak.app et al.  Makefile.app.squeak.cog
is a misnomer.  cog refers to the VM internals (stack vs Cog etc).
Makefile.app.squeak defines the external name of the app produced.


  Commit: bc6e34d1b2998cb8f3b38a2ce0818eda35a25ce9
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bc6e34d1b2998cb8f3b38a2ce0818eda35a25ce9
  Author: Ronie Salgado <[hidden email]>
  Date:   2017-05-13 (Sat, 13 May 2017)

  Changed paths:
    M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile
    R platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.c
    M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.h
    A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.m
    R platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGLInfo.c
    R platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacUIConstants.h
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacOpenGL.c
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacOpenGL.h
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacOpenGLInfo.c
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacUIConstants.h
    M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.h
    M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m

  Log Message:
  -----------
  The B3D plugin is now working again on Mac OS X.


  Commit: 732061467e682946c7ea75a05e5b917d5ba0a5d7
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/732061467e682946c7ea75a05e5b917d5ba0a5d7
  Author: Ronie Salgado <[hidden email]>
  Date:   2017-05-13 (Sat, 13 May 2017)

  Changed paths:
    M .gitignore
    M build.macos32x86/bochsx64/conf.COG
    M build.macos32x86/bochsx86/conf.COG
    A build.macos32x86/common/Makefile.app.squeak
    R build.macos32x86/common/Makefile.app.squeak.cog
    M build.macos32x86/gdbarm32/conf.COG
    M build.macos32x86/squeak.cog.spur+immutability/Makefile
    M build.macos32x86/squeak.cog.spur/Makefile
    M build.macos32x86/squeak.cog.v3/Makefile
    M build.macos32x86/squeak.stack.spur/Makefile
    M build.macos32x86/squeak.stack.v3/Makefile
    A build.macos64x64/common/Makefile.app.squeak
    R build.macos64x64/common/Makefile.app.squeak.cog
    M build.macos64x64/squeak.cog.spur.immutability/Makefile
    M build.macos64x64/squeak.cog.spur/Makefile
    M build.macos64x64/squeak.stack.spur/Makefile
    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
    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
    R platforms/win32/plugins/CameraPlugin/sqVirtualMachine.h
    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
    M src/vm/cogit.h
    M src/vm/cointerp.c
    M src/vm/cointerp.h
    M src/vm/cointerpmt.c
    M src/vm/cointerpmt.h
    M src/vm/gcc3x-cointerp.c
    M src/vm/gcc3x-cointerpmt.c
    M stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c

  Log Message:
  -----------
  Merge branch 'Cog' into B3DFixing


  Commit: ad7c0901d0ce7573ad8c3dc6b57fd6e2a58702ba
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ad7c0901d0ce7573ad8c3dc6b57fd6e2a58702ba
  Author: Esteban Lorenzano <[hidden email]>
  Date:   2017-05-13 (Sat, 13 May 2017)

  Changed paths:
    M build.linux32ARMv6/pharo.cog.spur/plugins.int
    M build.linux32x86/pharo.cog.spur.lowcode/plugins.int
    M build.linux32x86/pharo.cog.spur/plugins.int
    M build.linux32x86/pharo.stack.spur.lowcode/plugins.int
    M build.linux64x64/pharo.cog.spur/plugins.int
    M build.macos32x86/pharo.cog.spur.lowcode/plugins.int
    M build.macos32x86/pharo.cog.spur/plugins.int
    M build.macos32x86/pharo.stack.spur.lowcode/plugins.int
    M build.macos32x86/pharo.stack.spur/plugins.int
    M build.macos64x64/pharo.cog.spur.lowcode/plugins.int
    M build.macos64x64/pharo.cog.spur/plugins.int
    M build.macos64x64/pharo.stack.spur.lowcode/plugins.int
    M build.macos64x64/pharo.stack.spur/plugins.int

  Log Message:
  -----------
  Merge pull request #139 from sophie-kaleba/addingPharoProfilerPlugins

add linux and mac VMProfilePlugins for Pharo


  Commit: 392eec6dbe97c66e387757698a7427c4b3e1b81d
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/392eec6dbe97c66e387757698a7427c4b3e1b81d
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-13 (Sat, 13 May 2017)

  Changed paths:
    M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m
    M platforms/unix/vm-display-X11/sqUnixX11.c
    M platforms/unix/vm/sqUnixMain.c

  Log Message:
  -----------
  Set the flag that prevents error recursion on linux.
On Mac add SIGILL and SIGBUS to teh set of signals that invoke the error
reporting handler and use the same scheme as linux to report an error and
avoid recursion.

Fix a syntax error in the no-XSHM support code in linux argument parsing
in sqUnixX11.c.


  Commit: 2ec84484d2b66d5b494e9ceeb10f5a9b0e8dc35a
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2ec84484d2b66d5b494e9ceeb10f5a9b0e8dc35a
  Author: Esteban Lorenzano <[hidden email]>
  Date:   2017-05-13 (Sat, 13 May 2017)

  Changed paths:
    M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile
    R platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.c
    M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.h
    A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.m
    R platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGLInfo.c
    R platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacUIConstants.h
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacOpenGL.c
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacOpenGL.h
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacOpenGLInfo.c
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacUIConstants.h
    M platforms/iOS/vm/Common/Classes/sqSqueakEventsAPI.m
    M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.h
    M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m

  Log Message:
  -----------
  Merge pull request #138 from ronsaldo/B3DFixing

Fixing Pharo SDL2 on OS X


  Commit: 9f869d1c82062e1f57f8c6a214b67bb9d98de0ee
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9f869d1c82062e1f57f8c6a214b67bb9d98de0ee
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-15 (Mon, 15 May 2017)

  Changed paths:
    M platforms/Cross/plugins/IA32ABI/dax64win64business.h

  Log Message:
  -----------
  Fix a compiler warning for WIN64/Alien about misuse of labs instead of llabs

Note: thanks to little endianness, we believe that a size over 2^31 were necessary to trigger the bug.
Nonetheless, decreasing exposure to exploits can't be a bad thing.


  Commit: 234a4e7d22c036e7e579ebd3ca1a2ab8bb81dae8
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/234a4e7d22c036e7e579ebd3ca1a2ab8bb81dae8
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-15 (Mon, 15 May 2017)

  Changed paths:
    M platforms/Cross/plugins/EventsHandlerPlugin/EventsHandlerPluginImpl.c
    M platforms/iOS/vm/Common/Classes/sqSqueakEventsAPI.m

  Log Message:
  -----------
  Rename nativeIoProcessEvents to vmIOProcessEvents so as to be less confusing.
Beg for commentary on the mysterious
    if (interpreterProxy->methodPrimitiveIndex() == 0) {
  [gDelegateApp.squeakApplication pumpRunLoopEventSendAndSignal:YES];
    } else {
  [gDelegateApp.squeakApplication pumpRunLoop];
    }
usage.  I want to understand this :-)


  Commit: 8354668ff4f7952052647f4bd61fff8f42539d1a
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8354668ff4f7952052647f4bd61fff8f42539d1a
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-16 (Tue, 16 May 2017)

  Changed paths:
    M build.linux32ARMv6/squeak.cog.spur/plugins.ext
    R image/XERRLOG
    M nsspur64src/vm/cogit.c
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64SysV.c
    M nsspur64src/vm/cogitX64WIN64.c
    M nsspur64src/vm/cointerp.c
    M nsspur64src/vm/cointerp.h
    M nsspur64src/vm/gcc3x-cointerp.c
    M nsspursrc/vm/cogit.h
    M nsspursrc/vm/cogitARMv5.c
    M nsspursrc/vm/cogitIA32.c
    M nsspursrc/vm/cogitMIPSEL.c
    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 spur64src/vm/cogit.c
    M spur64src/vm/cogit.h
    M spur64src/vm/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    M spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.c
    M spurlowcode64src/vm/cogit.c
    M spurlowcode64src/vm/cogit.h
    M spurlowcode64src/vm/cogitX64SysV.c
    M spurlowcode64src/vm/cogitX64WIN64.c
    M spurlowcode64src/vm/cointerp.c
    M spurlowcode64src/vm/cointerp.h
    M spurlowcode64src/vm/gcc3x-cointerp.c
    M spurlowcodesrc/vm/cogit.h
    M spurlowcodesrc/vm/cogitARMv5.c
    M spurlowcodesrc/vm/cogitIA32.c
    M spurlowcodesrc/vm/cogitMIPSEL.c
    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.c
    M spursista64src/vm/cogit.h
    M spursista64src/vm/cogitX64SysV.c
    M spursista64src/vm/cogitX64WIN64.c
    M spursista64src/vm/cointerp.c
    M spursista64src/vm/cointerp.h
    M spursista64src/vm/gcc3x-cointerp.c
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cogitARMv5.c
    M spursistasrc/vm/cogitIA32.c
    M spursistasrc/vm/cogitMIPSEL.c
    M spursistasrc/vm/cointerp.c
    M spursistasrc/vm/cointerp.h
    M spursistasrc/vm/gcc3x-cointerp.c
    M spursrc/vm/cogit.h
    M spursrc/vm/cogitARMv5.c
    M spursrc/vm/cogitIA32.c
    M spursrc/vm/cogitMIPSEL.c
    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/SqueakFFIPrims/ARM32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c
    M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c
    M src/vm/cogit.h
    M src/vm/cogitARMv5.c
    M src/vm/cogitIA32.c
    M src/vm/cogitMIPSEL.c
    M src/vm/cointerp.c
    M src/vm/cointerp.h
    M src/vm/cointerpmt.c
    M src/vm/cointerpmt.h
    M src/vm/gcc3x-cointerp.c
    M src/vm/gcc3x-cointerpmt.c
    M stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c

  Log Message:
  -----------
  Cog VM source as per VMMaker.oscog-eem.2213

Use _WIN32 and _WIN64 in place of WIN32 and WIN64 in C preprocessor expressions.
Add a flag to VM parameter 65 identifying ITIMER_HEARTBEAT VMs.
Make B3DAcceleratorPlugin an option as an external plugin on Raspberry Pi.


  Commit: ca7e8db32835f5d2489ebddc7e14a51c9bbd4697
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ca7e8db32835f5d2489ebddc7e14a51c9bbd4697
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-16 (Tue, 16 May 2017)

  Changed paths:
    M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h
    M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c
    M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.h
    M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp
    M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp
    M platforms/Cross/plugins/IA32ABI/ia32abi.h
    M platforms/Cross/plugins/IA32ABI/ia32abicc.c
    M platforms/Cross/plugins/IA32ABI/x64win64stub.c
    M platforms/Cross/plugins/IA32ABI/xabicc.c
    M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c
    M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.h
    M platforms/Cross/plugins/SqueakFFIPrims/sqFFIPlugin.c
    M platforms/Cross/vm/sqVirtualMachine.c
    M platforms/win32/plugins/CameraPlugin/CameraPlugin.cpp
    M platforms/win32/vm/sqConfig.h
    M platforms/win32/vm/sqPlatformSpecific.h
    M platforms/win32/vm/sqWin32.h
    M platforms/win32/vm/sqWin32Window.c
    R spursistastacksrc/examplePlugins.ext
    R spursistastacksrc/examplePlugins.int
    R spursistastacksrc/vm/exampleSqNamedPrims.h
    R spursistastacksrc/vm/gcc3x-interp.c
    R spursistastacksrc/vm/interp.c
    R spursistastacksrc/vm/interp.h
    R spursistastacksrc/vm/vmCallback.h

  Log Message:
  -----------
  Change platform sources to refer to _WIN32 & _WIN64, not WIN32 & WIN64.
Change getSystemAttribute: 1005 (the Windowing system name) to answer 'Windows'
insrtead of 'Win32' (we are stuck with answering 'Win32' on 'Win64' unless we
want to break /lots/ of image platform-dependent code).  If this breaks things
then we'll have tio revert.  But fingers crossed it is not a problem; there are
no uses of 1005 assuming other than 'X11' in a base Squeak image.

Nuke spursistastacksrc; it's a misnomer.  Sista presupposes a Cogit.


  Commit: e45e7ebf8f7baf4548990a6f7fa09c480cfbc683
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e45e7ebf8f7baf4548990a6f7fa09c480cfbc683
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-19 (Fri, 19 May 2017)

  Changed paths:
    M build.linux32ARMv6/HowToBuild
    M build.linux32ARMv7/HowToBuild
    M build.linux32x86/HowToBuild
    M build.linux64x64/HowToBuild
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64SysV.c
    M nsspur64src/vm/cogitX64WIN64.c
    M nsspur64src/vm/cointerp.c
    M nsspur64src/vm/cointerp.h
    M nsspur64src/vm/gcc3x-cointerp.c
    M nsspursrc/vm/cogit.h
    M nsspursrc/vm/cogitARMv5.c
    M nsspursrc/vm/cogitIA32.c
    M nsspursrc/vm/cogitMIPSEL.c
    M nsspursrc/vm/cointerp.c
    M nsspursrc/vm/cointerp.h
    M nsspursrc/vm/gcc3x-cointerp.c
    M platforms/Cross/plugins/SoundPlugin/SoundPlugin.h
    M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.h
    M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m
    M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudioAPI.m
    M platforms/unix/plugins/SoundPlugin/sqUnixSound.c
    M platforms/unix/vm/SqSound.h
    M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c
    M spur64src/vm/cogit.h
    M spur64src/vm/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    M spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.c
    M spursista64src/vm/cogit.h
    M spursista64src/vm/cogitX64SysV.c
    M spursista64src/vm/cogitX64WIN64.c
    M spursista64src/vm/cointerp.c
    M spursista64src/vm/cointerp.h
    M spursista64src/vm/gcc3x-cointerp.c
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cogitARMv5.c
    M spursistasrc/vm/cogitIA32.c
    M spursistasrc/vm/cogitMIPSEL.c
    M spursistasrc/vm/cointerp.c
    M spursistasrc/vm/cointerp.h
    M spursistasrc/vm/gcc3x-cointerp.c
    M spursrc/vm/cogit.h
    M spursrc/vm/cogitARMv5.c
    M spursrc/vm/cogitIA32.c
    M spursrc/vm/cogitMIPSEL.c
    M spursrc/vm/cointerp.c
    M spursrc/vm/cointerp.h
    M spursrc/vm/gcc3x-cointerp.c
    M src/plugins/FilePlugin/FilePlugin.c
    M src/plugins/SoundPlugin/SoundPlugin.c
    M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c
    M src/vm/cogit.h
    M src/vm/cogitARMv5.c
    M src/vm/cogitIA32.c
    M src/vm/cogitMIPSEL.c
    M src/vm/cointerp.c
    M src/vm/cointerp.h
    M src/vm/cointerpmt.c
    M src/vm/cointerpmt.h
    M src/vm/gcc3x-cointerp.c
    M src/vm/gcc3x-cointerpmt.c

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

Cogit:
The code for restoring saved registers after a CallRT: did a benign iteration
in excess.

Spur:
Never inline objectsReachableFromRoots:.  Fix a speeling rorre.

SoundPlugin:
Add the Terf SoundPlugin extensions (to deal with multiple devices, their names,
volumes, etc).  Provide a nearly full implementation on Mac OS X Cocoa (inc 64
bits, but no AEC as yet).  Provide stub implementations for Unix & WIn32.  Any
one interested in win32/win64 I have the Terf C code in C++ files which needs
to be recast as C files.

Slang/FilePlugin:
Avoid remapping oops on creating directory entries in the FilePlugin on Spur by using remapOop:in:.  Change Slang to avoid creating nested #if-#else-#endif structures for nested remapOop:in:'s.  Nuke an unused configuration.

Cogit/CoInterpreter interaction:
Use a special form of sigsetjmp to avoid stack unwinding on Windows 64.

Note 1: stack unwinding is for C++ exception handling (for example for calling
destructors).  We do not need it, and it requires the presence of specific
information on stack which is not honoured by our JIT frames.

Note 2: this patch is specific to Mingw-w64. It might not work for another
compiler (MSVC/Intel/...). Someone making the Vm compile with other tools
might have to amend this #preambleCCode again.

In mingw, there is a possibility to pass a 2nd parameter to a _setjmp, and if
this 2nd argument is NULL, there will be no context unwinding. This knowledge
is extracted from these references:

http://mingw-w64-public.narkive.com/1mUoWEfG/setjmp-longjmp-crashes-second-setjmp-argument
https://patchwork.ozlabs.org/patch/437794/
http://www.agardner.me/golang/windows/cgo/64-bit/setjmp/longjmp/2016/02/29/go-windows-setjmp-x86.html
https://sourceforge.net/p/mingw-w64/bugs/465/

Build system:
Note that gcc beyond 4.8 does not work, at least on Debian linux.


  Commit: 1d60beaad5af99c14b3b8f7303902e34956228cc
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1d60beaad5af99c14b3b8f7303902e34956228cc
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-19 (Fri, 19 May 2017)

  Changed paths:
    M src/plugins/SoundPlugin/SoundPlugin.c

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

Fix slips in the SoundPlugin code.


  Commit: 2c6c2e5f9516fcfb040f04ff1028742a681f7a4a
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2c6c2e5f9516fcfb040f04ff1028742a681f7a4a
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-20 (Sat, 20 May 2017)

  Changed paths:
    M platforms/iOS/plugins/SoundPlugin/sqSqueakOSXSoundCoreAudio.m
    M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m

  Log Message:
  -----------
  Minor clean ups to the Mac Cocoa CoreAudio SoundPlugin support code.


  Commit: 28b4c888dac7670c84f3ac4201c8429ae8ac9a86
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/28b4c888dac7670c84f3ac4201c8429ae8ac9a86
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M deploy/pharo/pack-vm.sh

  Log Message:
  -----------
  On win64 we build pharo.stack.spur for the moment, not pharo.cog.spur yet.


  Commit: fb29a23251134ea6ae4f52358da2afbc339e1feb
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fb29a23251134ea6ae4f52358da2afbc339e1feb
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M platforms/unix/plugins/SoundPlugin/sqUnixSound.c
    M platforms/unix/vm/SqSound.h

  Log Message:
  -----------
  Let SoundPlugin compile on linux x64

The function snd_SetRecordBufferFrameCount must take a sqInt parameter, rather than an int,
in order to be source-code-compatible with every other OS (iOS, Win32, ...).


  Commit: 24bea92739c825b642bf8dc60690ef48df23503d
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/24bea92739c825b642bf8dc60690ef48df23503d
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c

  Log Message:
  -----------
  Fix compilation of SoundPlugin on Windows

interpreterProxy must be defined before used!


  Commit: 235b21415025322f336f2df59addc4fb9c804869
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/235b21415025322f336f2df59addc4fb9c804869
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c

  Log Message:
  -----------
  Fix compilation warning void function returning a value


  Commit: 9c10bf5278167f890d04a06bcfe49981ef17d7db
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9c10bf5278167f890d04a06bcfe49981ef17d7db
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c

  Log Message:
  -----------
  Fix getsockopt for MSVC

the len parameter must be a socket_len because it is a size_t on linux/cygwin (thus 64 bits) and int on MSVC (thus 32 bits)


  Commit: 527bff9d3c4cc64c4d06ed2d445fe490ed184f14
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/527bff9d3c4cc64c4d06ed2d445fe490ed184f14
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M platforms/win32/vm/sqWin32Backtrace.c

  Log Message:
  -----------
  Don't convert Address* to DWORD for WIN64 compatibility


  Commit: a043f1cbcaa73fae34b07db564204ebecb81bc78
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a043f1cbcaa73fae34b07db564204ebecb81bc78
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M platforms/win32/vm/sqWin32Utils.c

  Log Message:
  -----------
  Cosmetic: remove warning about passing an LPVOID as argument to printf %s on MSVC


  Commit: da0cf27ccb18d469e4654efa5b3b0f8a2336c460
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/da0cf27ccb18d469e4654efa5b3b0f8a2336c460
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M platforms/Cross/vm/sqVirtualMachine.h

  Log Message:
  -----------
  Let's not loose the volatile qualifier of utcMicroseconds()


  Commit: f1dfe3c34335da5f38f0c436b4fd15920786246d
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f1dfe3c34335da5f38f0c436b4fd15920786246d
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M platforms/Cross/vm/sq.h

  Log Message:
  -----------
  Declare displayBits &co as VM_EXPORT for MSVC compatibility


  Commit: ac49591e3c3a2f30c5492023c992d9ef75105872
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ac49591e3c3a2f30c5492023c992d9ef75105872
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-25 (Thu, 25 May 2017)

  Changed paths:
    M platforms/Cross/plugins/FilePlugin/FilePlugin.h
    M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c

  Log Message:
  -----------
  Cosmetic changes

- unify style: char* x -> char *x
- rename misleading sqFileNameIndex -> sqFileName
- rename oldName -> sqOldName because we have to distinguish squeak names and c names
- remove dead code #if 0
- call setFile with NULL rather than 0 to avoid making a pointer from integer warning


  Commit: c1db1eb40b73373b4e4fe6541cda74c8c742edc7
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c1db1eb40b73373b4e4fe6541cda74c8c742edc7
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-25 (Thu, 25 May 2017)

  Changed paths:
    M platforms/Cross/plugins/FilePlugin/FilePlugin.h
    M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c
    M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c

  Log Message:
  -----------
  Fix possible race condition in unix FilePlugin sqFileOpen

From original post of Monty
http://forum.world.st/Please-review-and-merge-A-commit-to-fix-race-conditions-is-sqFileOpen-buffer-overflows-in-sqUnixFilee-td4920046.html

This commit fixes race conditions in sqFilePluginBasicPrims.c's sqFileOpen() and adds sqFileOpenNew() to support a new primitive to open only new files for IO atomically using open() with O_CREAT|O_EXCL and the equivalent on Windows, failing if they already exist. This will hopefully eventually replace any in-image code that tests for a file's existence before opening it for writing and creation/truncation, a classic race condition.

sqFileOpen() issues:

Look at the current implementation. It tries fopen() with "r+b", reading/writing of an existing file, then if that fails, with "w+b", reading/writing of a new or truncated file. If the file is created and modified elsewhere between the first and second fopen(), you get unintentional truncation with potential data loss. There's also a minor race condition involving the setting of Mac file characteristics. The fix is replacing use of fopen() with the more general sys call open() and fdopen() after and proper error checking throughout.


  Commit: 64a159ba324702316c4c74961118061a9e4fffed
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/64a159ba324702316c4c74961118061a9e4fffed
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-26 (Fri, 26 May 2017)

  Changed paths:
    M platforms/Cross/plugins/FilePlugin/FilePlugin.h
    M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c
    M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c

  Log Message:
  -----------
  Merge pull request #140 from OpenSmalltalk/monty_fix_fopen_race

Monty fix fopen race


  Commit: 27a9c75c56e0cb9547721eb39f33cd754f92ccbd
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/27a9c75c56e0cb9547721eb39f33cd754f92ccbd
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-26 (Fri, 26 May 2017)

  Changed paths:
    M platforms/unix/plugins/FilePlugin/sqUnixFile.c

  Log Message:
  -----------
  Fix potential buffer overrun in UNIX file plugin

Note: this is a minimal fix for the bug reported by Monty
http://forum.world.st/Please-review-and-merge-A-commit-to-fix-race-conditions-is-sqFileOpen-buffer-overflows-in-sqUnixFilee-td4920046.html
The patch provided by Monty was much more aggressive - see PR #82
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/82
Nobody had enough energy to review all implications, thus the minimalist replacement.


  Commit: 009ff81ab09e08c134be3c8706639c4857fdb656
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/009ff81ab09e08c134be3c8706639c4857fdb656
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-27 (Sat, 27 May 2017)

  Changed paths:
    M platforms/unix/plugins/FilePlugin/sqUnixFile.c

  Log Message:
  -----------
  Fix missing ;


  Commit: 4d3f02655d68964e1fe4ed2b533658fe38168936
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4d3f02655d68964e1fe4ed2b533658fe38168936
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-26 (Fri, 26 May 2017)

  Changed paths:
    M build.win64x64/common/Makefile.plugin
    M build.win64x64/common/Makefile.tools
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64SysV.c
    M nsspur64src/vm/cogitX64WIN64.c
    M nsspur64src/vm/cointerp.c
    M nsspur64src/vm/cointerp.h
    M nsspur64src/vm/gcc3x-cointerp.c
    M nsspursrc/vm/cogit.h
    M nsspursrc/vm/cogitARMv5.c
    M nsspursrc/vm/cogitIA32.c
    M nsspursrc/vm/cogitMIPSEL.c
    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/unix/vm/aio.c
    M platforms/win32/vm/sqConfig.h
    M platforms/win32/vm/sqWin32DnsInfo.c
    M spur64src/vm/cogit.h
    M spur64src/vm/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    M spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.c
    M spurlowcode64src/vm/cogit.h
    M spurlowcode64src/vm/cogitX64SysV.c
    M spurlowcode64src/vm/cogitX64WIN64.c
    M spurlowcode64src/vm/cointerp.c
    M spurlowcode64src/vm/cointerp.h
    M spurlowcode64src/vm/gcc3x-cointerp.c
    M spurlowcodesrc/vm/cogit.h
    M spurlowcodesrc/vm/cogitARMv5.c
    M spurlowcodesrc/vm/cogitIA32.c
    M spurlowcodesrc/vm/cogitMIPSEL.c
    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/cogitX64SysV.c
    M spursista64src/vm/cogitX64WIN64.c
    M spursista64src/vm/cointerp.c
    M spursista64src/vm/cointerp.h
    M spursista64src/vm/gcc3x-cointerp.c
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cogitARMv5.c
    M spursistasrc/vm/cogitIA32.c
    M spursistasrc/vm/cogitMIPSEL.c
    M spursistasrc/vm/cointerp.c
    M spursistasrc/vm/cointerp.h
    M spursistasrc/vm/gcc3x-cointerp.c
    M spursrc/vm/cogit.h
    M spursrc/vm/cogitARMv5.c
    M spursrc/vm/cogitIA32.c
    M spursrc/vm/cogitMIPSEL.c
    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/vm/cogit.h
    M src/vm/cogitARMv5.c
    M src/vm/cogitIA32.c
    M src/vm/cogitMIPSEL.c
    M src/vm/cointerp.c
    M src/vm/cointerp.h
    M src/vm/cointerpmt.c
    M src/vm/cointerpmt.h
    M src/vm/gcc3x-cointerp.c
    M src/vm/gcc3x-cointerpmt.c
    M stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c

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

StackInterpreter:
Add time primitives to answer the UTC and local microsecond clocks as updated
by the heartbeat (as the Cog VM was originally before David changed the
primitives to access the time now).  This access is much faster (of the order
of 20 nsecs per invocartion vs 450 nsecs per invocatuon on a 2.3 GHz Mac Mini).
Terf demands very fast clock times but is not concerned with fine granularity.
The primitive numbers are 245 for UTC and 246 for local.

primitiveMakePoint should fail if its /argument/ is not a SmallInteger or
Float.  Since the primitive is on Number we know the receiver is valid, and
there is no point checking it.

Fix warnings for addIdleUsecs: on WIN32/64 (must not be marked exporrt to
avoid declspec being added).

Fix display pixel reversal (for debug).  Modern implementation of displayBits
is (void *).  We can't calculate an offset (dispalyBits + n) because we don't
know the size of void! At least it fails on MSVC compiler.  So it's necessary
to convert it to char *, int *, or just sqInt.  While at it, as calculated,
the range is a pixel range (assumed on the first display line) not a word
range, but this range will be rounded to a whole word boundary.

Cogit:
Modified with Sophie K the collectCogConstituents primitive to take a boolean
parameter "withDetails". If false or no parameter, the primitive does the same
thing as before. If true, the primitive maps each CogMethod that is frameful
to an array starting with the cogMethod address followed by a mapping between
the mcpc and the bcpc instead of just the cogMethod address.

Fix the method for getting the stack pointer in Win64 ABI.  The generated
ceCaptureCStackPointers must account for the 32 bytes reserved for saving
the 4 register parameters which are allocated whatever the real number of
parameters.

Minor fix in register in branchIfInstanceOf: in SistaCogit for Characters.

Plugins:
Fix slips in the SoundPlugin code.

Win64 build.  Do not define WIN32.  Fix the win32 sqConfig.h file to work around
the clang preprocessor's failure to default undefined identifiers to 0L.


  Commit: 7367a97ea5901b20b4b0b6f2023f09b752aa1a60
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7367a97ea5901b20b4b0b6f2023f09b752aa1a60
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-28 (Sun, 28 May 2017)

  Changed paths:
    M platforms/Cross/vm/sqCogStackAlignment.h

  Log Message:
  -----------
  Define getsp and getfp for WIN64 MSVC

Use the default COG engine generated functions ceGetSP ceGetFP


  Commit: 5dd7668b8d91f0bf789537cfc435a15c8935acc1
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5dd7668b8d91f0bf789537cfc435a15c8935acc1
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-28 (Sun, 28 May 2017)

  Changed paths:
    M build.macos32x86/common/Makefile.plugin
    M build.macos64x64/common/Makefile.plugin
    M build.win32x86/common/Makefile
    M build.win32x86/common/Makefile.plugin
    M build.win64x64/common/Makefile
    M build.win64x64/common/Makefile.plugin
    M platforms/win32/plugins/BochsIA32Plugin/Makefile.plugin
    M platforms/win32/plugins/BochsX64Plugin/Makefile.plugin

  Log Message:
  -----------
  Implement the PREREQUISITES plugin exclusion mechanism for win32/64.
Provide the same mechanism for Pharo dylib plugins on Mac OS X.
Restore the dependency on the plugin makefile for win32.  If the plugin
makefile changes in any way we *should* rebuild the plugin; flags may have
been changed, etc.


  Commit: 0f07ffbedcc184391ed973636f8968c93b63f2cc
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0f07ffbedcc184391ed973636f8968c93b63f2cc
  Author: Tobias Pape <[hidden email]>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M platforms/iOS/vm/OSX/sqSqueakOSXCGView.m
    M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m

  Log Message:
  -----------
  [iOS] Dont autorelease what we not own


  Commit: 0364ee70e95e68d2acea04067147f102b1510ce0
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0364ee70e95e68d2acea04067147f102b1510ce0
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64SysV.c
    M nsspur64src/vm/cogitX64WIN64.c
    M nsspursrc/vm/cogit.h
    M nsspursrc/vm/cogitARMv5.c
    M nsspursrc/vm/cogitIA32.c
    M nsspursrc/vm/cogitMIPSEL.c
    M spur64src/vm/cogit.h
    M spur64src/vm/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    M spurlowcode64src/vm/cogit.h
    M spurlowcode64src/vm/cogitX64SysV.c
    M spurlowcode64src/vm/cogitX64WIN64.c
    M spurlowcodesrc/vm/cogit.h
    M spurlowcodesrc/vm/cogitARMv5.c
    M spurlowcodesrc/vm/cogitIA32.c
    M spurlowcodesrc/vm/cogitMIPSEL.c
    M spursista64src/vm/cogit.h
    M spursista64src/vm/cogitX64SysV.c
    M spursista64src/vm/cogitX64WIN64.c
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cogitARMv5.c
    M spursistasrc/vm/cogitIA32.c
    M spursistasrc/vm/cogitMIPSEL.c
    M spursrc/vm/cogit.h
    M spursrc/vm/cogitARMv5.c
    M spursrc/vm/cogitIA32.c
    M spursrc/vm/cogitMIPSEL.c
    M src/plugins/FilePlugin/FilePlugin.c
    M src/vm/cogit.h
    M src/vm/cogitARMv5.c
    M src/vm/cogitIA32.c
    M src/vm/cogitMIPSEL.c

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

Cogit:
Use genMarshallNArgs:arg:arg:arg:arg: when compiling an interpreter primitive
call to allow adding the shadow parameter space on Win64.

Remove a couple of unused and dubious methods in the CogAbstractInstruction
hierarchy.  Inline arg removal to match inlining of arg marshalling, since
removal is either no or one instruction.

Fix generation of JumpR on x64.  I forgot a rex byte.  This doesn't affect SysV
because we only ever jump through ClassReg (in an open PIC dispatch) which is
RCX (1) on SysV but R8 (8) on Win64.
With the fix to JumpR a Win64 image simulates correctly (with smashing of the
shadow parameter space).

FilePlugin:
Incorporate Monty's file plugin changes: add a new primitiveFileOpenNew to open an unexisting file atomically without race condition.


  Commit: a8d70a803372fb4a766934f212f1e11df78c5c73
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a8d70a803372fb4a766934f212f1e11df78c5c73
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M .appveyor.yml

  Log Message:
  -----------
  Let the CI server build win64 cog spur for squeak/pharo

Kudos to Eliot for making this possible!


  Commit: 304562526c798ddfae3ea82bfe40df60c6ab4d12
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/304562526c798ddfae3ea82bfe40df60c6ab4d12
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-30 (Tue, 30 May 2017)

  Changed paths:
    M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c

  Log Message:
  -----------
  Win32OSProcessPlugin MUST be regenerated from latest source

This does fix a crash dump on Win64
(but might be insufficient to make the plugin work safely)


  Commit: d98ddedf4cc39553d2ebed6074c62b205f37990f
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d98ddedf4cc39553d2ebed6074c62b205f37990f
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-30 (Tue, 30 May 2017)

  Changed paths:
    A build.win64x64/pharo.cog.spur/Makefile
    A build.win64x64/pharo.cog.spur/Pharo.def.in
    A build.win64x64/pharo.cog.spur/Pharo.exe.manifest
    A build.win64x64/pharo.cog.spur/Pharo.ico
    A build.win64x64/pharo.cog.spur/Pharo.rc
    A build.win64x64/pharo.cog.spur/mvm
    A build.win64x64/pharo.cog.spur/plugins.ext
    A build.win64x64/pharo.cog.spur/plugins.int

  Log Message:
  -----------
  Add Win64 pharo.cog.spur configuration


  Commit: 271300a0d3b3b0f1c3430b480121f9f5f846c7ea
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/271300a0d3b3b0f1c3430b480121f9f5f846c7ea
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-30 (Tue, 30 May 2017)

  Changed paths:
    M build.win64x64/squeak.cog.spur/plugins.ext
    M build.win64x64/squeak.cog.spur/plugins.int

  Log Message:
  -----------
  Build Win64 squeak.cog.spur FFI & Alien plugins


  Commit: fd3688239f281f81a567108791fefbdea7579ead
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fd3688239f281f81a567108791fefbdea7579ead
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-05-30 (Tue, 30 May 2017)

  Changed paths:
    M deploy/pharo/pack-vm.sh

  Log Message:
  -----------
  Make pharo deploy work for both WIN64 stack and cog


  Commit: 1af6780218671ceac9d05937b2a00b17da951168
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1af6780218671ceac9d05937b2a00b17da951168
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-30 (Tue, 30 May 2017)

  Changed paths:
    M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c

  Log Message:
  -----------
  CogVm source as per VMMaker.oscog-eem.2228

Implement shadow parameter space in the Win64 FFI plugin by always incrememting
currentArg, even if passed in a register.


  Commit: 9f04af30f26cd94d6545ba199230c3fedc89e429
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9f04af30f26cd94d6545ba199230c3fedc89e429
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-30 (Tue, 30 May 2017)

  Changed paths:
    M .gitignore
    R image/.gdb_history
    M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c

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

Fix a compilation warning in the FFI plugin.


  Commit: 8802cfef99b110aeb57142a27aa89d24dc73c831
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8802cfef99b110aeb57142a27aa89d24dc73c831
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-30 (Tue, 30 May 2017)

  Changed paths:
    M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m

  Log Message:
  -----------
  Use the NSProcessInfo API to get an accurate OS verison string on Mac OS X.


  Commit: 6a63f68a3dd4deb7c17dd2c7ac6e4dd4b0b6d937
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6a63f68a3dd4deb7c17dd2c7ac6e4dd4b0b6d937
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-05-30 (Tue, 30 May 2017)

  Changed paths:
    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 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 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 src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c
    M src/vm/cogit.h

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

Spur:
Fix an assert fail with receiverTagBitsForMethod: for mixin methods in the
Newspeak VM.

ThreadedFFIPlugin:
ThreadedFFICalloutStateForX64 can save a little space using chars for the
register indices and format.


  Commit: fe6078f0fe7dede0f737a485f75a8cd23122718b
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fe6078f0fe7dede0f737a485f75a8cd23122718b
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c

  Log Message:
  -----------
  Regenerate Unix OS ProcessPlugin from oscog-dtl.56

Signal number references are one-based, dimension arrays accordingly.
Remove unreferenced instance variable and accessor.


  Commit: 4fe42439a7bed2f0da7835596781b78b478abfd9
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4fe42439a7bed2f0da7835596781b78b478abfd9
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M platforms/Mac OS/plugins/FilePlugin/sqMacDirectory.c
    M platforms/Mac OS/vm/Developer/sqMacMinimal.c
    M platforms/Mac OS/vm/sqMacNSPlugin.c
    M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c
    M platforms/win32/vm/sqWin32Directory.c

  Log Message:
  -----------
  Fix int */sqInt * mismatch for Win64 FilePlugin

While at it, also revise a few potential mismatch for legacy Mac OS (which did not have a 64 bits flavour, but well...)


  Commit: 2f8eedd80ecc762d43bfcf6af481c0c8dbd8ab51
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2f8eedd80ecc762d43bfcf6af481c0c8dbd8ab51
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M build.win64x64/common/Makefile.plugin

  Log Message:
  -----------
  Fix plugin compilation for Win64 PharoVM

The plugins where compiled without -DPharoVM=1 flags, making FilePlugin crash
This is because this flag was in COGDEFS, but COGDEFS was not used in CFLAGS


  Commit: a6771d7531219b29f98a6233e136971a7d610c29
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a6771d7531219b29f98a6233e136971a7d610c29
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-06-05 (Mon, 05 Jun 2017)

  Changed paths:
    M platforms/Cross/plugins/FilePlugin/FilePlugin.h
    M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c

  Log Message:
  -----------
  Make recent FilePlugin changes MSVC compatible

mode_t is not defined, it's int, and authorization flags will be different than unix


  Commit: 768987b363c724184752a939b306b7195a0b36aa
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/768987b363c724184752a939b306b7195a0b36aa
  Author: monty <[hidden email]>
  Date:   2017-06-05 (Mon, 05 Jun 2017)

  Changed paths:
    M platforms/Cross/plugins/FilePlugin/FilePlugin.h
    M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c
    M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c

  Log Message:
  -----------
  added a flag pointer parameter to sqFileOpenNew() for failure being caused by the file already existing


  Commit: 1a3827782176bed9cffe511277116360b22844da
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1a3827782176bed9cffe511277116360b22844da
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-06-05 (Mon, 05 Jun 2017)

  Changed paths:
    M src/plugins/FilePlugin/FilePlugin.c

  Log Message:
  -----------
  Fail primitiveFileOpenNew with PrimErrInappropriate if file already exists

Fixed on behalf of monty.


  Commit: 66133d2224585cff9a1342b1e36962a9adf12ab8
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/66133d2224585cff9a1342b1e36962a9adf12ab8
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-06-05 (Mon, 05 Jun 2017)

  Changed paths:
    M platforms/unix/plugins/FilePlugin/sqUnixFile.c

  Log Message:
  -----------
  cosmetic: fix weird alignment


  Commit: 5ca1dfd981b768108e4c783a3f4a68984cd47dd2
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5ca1dfd981b768108e4c783a3f4a68984cd47dd2
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-06-06 (Tue, 06 Jun 2017)

  Changed paths:
    M build.macos32x86/HowToBuild
    M build.macos64x64/HowToBuild
    M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m

  Log Message:
  -----------
  Fix regression in recent system attribute 1002 (OS Version) change on Mac OS X.
Answering e.g. 10.10.5 breaks everyting that uses Smalltalk osVerison asNumber.
So answer e.g. 1010.5 insteads so that Smalltalk osVerison asNumber = 1010.
Typical image code looks like Smalltalk osVerison asNumber >= 1000 to identify
Mac OS X over MacOS 9 et al.

Mention how to get past an error when using lldb via ssh in the Mac HowToBuilds.


  Commit: 77dcd09cdd6c8c889e91578b62f04201ebdc9999
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/77dcd09cdd6c8c889e91578b62f04201ebdc9999
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-06-07 (Wed, 07 Jun 2017)

  Changed paths:
    M image/BuildSqueakSpurTrunkVMMakerImage.st
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64SysV.c
    M nsspur64src/vm/cogitX64WIN64.c
    M nsspur64src/vm/cointerp.c
    M nsspur64src/vm/cointerp.h
    M nsspur64src/vm/gcc3x-cointerp.c
    M nsspursrc/vm/cogit.h
    M nsspursrc/vm/cogitARMv5.c
    M nsspursrc/vm/cogitIA32.c
    M nsspursrc/vm/cogitMIPSEL.c
    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 spur64src/vm/cogit.h
    M spur64src/vm/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    M spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.c
    M spurlowcode64src/vm/cogit.h
    M spurlowcode64src/vm/cogitX64SysV.c
    M spurlowcode64src/vm/cogitX64WIN64.c
    M spurlowcode64src/vm/cointerp.c
    M spurlowcode64src/vm/cointerp.h
    M spurlowcode64src/vm/gcc3x-cointerp.c
    M spurlowcodesrc/vm/cogit.h
    M spurlowcodesrc/vm/cogitARMv5.c
    M spurlowcodesrc/vm/cogitIA32.c
    M spurlowcodesrc/vm/cogitMIPSEL.c
    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/cogitX64SysV.c
    M spursista64src/vm/cogitX64WIN64.c
    M spursista64src/vm/cointerp.c
    M spursista64src/vm/cointerp.h
    M spursista64src/vm/gcc3x-cointerp.c
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cogitARMv5.c
    M spursistasrc/vm/cogitIA32.c
    M spursistasrc/vm/cogitMIPSEL.c
    M spursistasrc/vm/cointerp.c
    M spursistasrc/vm/cointerp.h
    M spursistasrc/vm/gcc3x-cointerp.c
    M spursrc/vm/cogit.h
    M spursrc/vm/cogitARMv5.c
    M spursrc/vm/cogitIA32.c
    M spursrc/vm/cogitMIPSEL.c
    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/vm/cogit.h
    M src/vm/cogitARMv5.c
    M src/vm/cogitIA32.c
    M src/vm/cogitMIPSEL.c
    M src/vm/cointerp.c
    M src/vm/cointerp.h
    M src/vm/cointerpmt.c
    M src/vm/cointerpmt.h
    M src/vm/gcc3x-cointerp.c
    M src/vm/gcc3x-cointerpmt.c
    M stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c

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

Interpreter:
Fix regression in VMMaker.oscog-eem.2222.  If primitiveMakePoint no longer
checks its receiver the inlined special selector form must.  Add isFloatOrInt:
to make checking simpler.

Provide a breakLookupClassTag check on full lookup sends for debugging.

Spur:
Implement an allocated bytes tally accessible via vmParameterAt: 34 (which used
to access statAllocationCount).  Do this by counting bytes allocated in eden
plus change in usage between scavenges.  Hence maintain
totalHeapSizeIncludingBridges in SpurSegmentManager. N.B. the parameter can be
reset, e.g. to 0, via vmParameterAt: 34 put: 0, hence it can be used to measure
allocation over a span of code.

Fix a bug in calculating heapSizeAtPreviousGC which simply calculated the extentof oldSpace, potentially a huge overestimate, not its size.

Add printOopsExcept: for debugging.  Add printMarkedOops: and printUnmarkedOops:
to get round an LLDB limitation with calling printOopsSuchThat:/Except:

VMMaker build scripts:
KlattResonatorIndices does need to be loaded.  classnamed: => classNamed:


  Commit: 5ec678cdc4c1c2a66ef81b47762b7338d8ee81d1
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5ec678cdc4c1c2a66ef81b47762b7338d8ee81d1
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-06-09 (Fri, 09 Jun 2017)

  Changed paths:
    M spurlowcode64src/vm/cogit.h
    M spurlowcode64src/vm/cogitX64SysV.c
    M spurlowcode64src/vm/cogitX64WIN64.c
    M spurlowcode64src/vm/cointerp.c
    M spurlowcode64src/vm/cointerp.h
    M spurlowcode64src/vm/gcc3x-cointerp.c
    M spurlowcodesrc/vm/cogit.h
    M spurlowcodesrc/vm/cogitARMv5.c
    M spurlowcodesrc/vm/cogitIA32.c
    M spurlowcodesrc/vm/cogitMIPSEL.c
    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/cogitX64SysV.c
    M spursista64src/vm/cogitX64WIN64.c
    M spursista64src/vm/cointerp.c
    M spursista64src/vm/cointerp.h
    M spursista64src/vm/gcc3x-cointerp.c
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cogitARMv5.c
    M spursistasrc/vm/cogitIA32.c
    M spursistasrc/vm/cogitMIPSEL.c
    M spursistasrc/vm/cointerp.c
    M spursistasrc/vm/cointerp.h
    M spursistasrc/vm/gcc3x-cointerp.c

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

SistaCogit:
Fix (I think) genGetInstanceOfFixedClass:into:initializingIf: for duff's device
instance creation, and restore its use in genUnaryInlinePrimitive:.

Fixed a regression where primitiveCollectCogCodeConstituents would not extract
the details of CogMethods anymore if the first parameter is true.

Simulator:
Fix a bad bug with the simulation of the remembered set in 64-bits; the type
for rememberedSet was ending up as int *.  It must be int * on 32-bits but
long long * on 64-bits.


  Commit: 9a98be0c6d5968627db24a3e4d97d0be28fba27c
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9a98be0c6d5968627db24a3e4d97d0be28fba27c
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-06-09 (Fri, 09 Jun 2017)

  Changed paths:
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64SysV.c
    M nsspur64src/vm/cogitX64WIN64.c
    M nsspur64src/vm/cointerp.c
    M nsspur64src/vm/cointerp.h
    M nsspur64src/vm/gcc3x-cointerp.c
    M nsspursrc/vm/cogit.h
    M nsspursrc/vm/cogitARMv5.c
    M nsspursrc/vm/cogitIA32.c
    M nsspursrc/vm/cogitMIPSEL.c
    M nsspursrc/vm/cointerp.c
    M nsspursrc/vm/cointerp.h
    M nsspursrc/vm/gcc3x-cointerp.c
    M nsspurstacksrc/vm/gcc3x-interp.c
    M nsspurstacksrc/vm/interp.c
    M spur64src/vm/cogit.h
    M spur64src/vm/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    M spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.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/cogitARMv5.c
    M spursrc/vm/cogitIA32.c
    M spursrc/vm/cogitMIPSEL.c
    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

  Log Message:
  -----------
  CogVm source as per VMMaker.oscog-eem.2241

Spur:
Fix sign extension bug with new allocated bytes count.


  Commit: b1bb2e26d0efe204b742681ba5674d9af57a4304
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b1bb2e26d0efe204b742681ba5674d9af57a4304
  Author: Eliot Miranda <[hidden email]>
  Date:   2017-06-12 (Mon, 12 Jun 2017)

  Changed paths:
    M nsspur64src/vm/cointerp.c
    M nsspur64src/vm/cointerp.h
    M nsspur64src/vm/gcc3x-cointerp.c
    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 spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.c
    M spurlowcode64src/vm/cointerp.c
    M spurlowcode64src/vm/cointerp.h
    M spurlowcode64src/vm/gcc3x-cointerp.c
    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/cointerp.c
    M spursista64src/vm/cointerp.h
    M spursista64src/vm/gcc3x-cointerp.c
    M spursistasrc/vm/cointerp.c
    M spursistasrc/vm/cointerp.h
    M spursistasrc/vm/gcc3x-cointerp.c
    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/vm/cointerp.c
    M src/vm/cointerp.h
    M src/vm/cointerpmt.c
    M src/vm/cointerpmt.h
    M src/vm/gcc3x-cointerp.c
    M src/vm/gcc3x-cointerpmt.c
    M stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c

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

The self assert: (stackPages isFree: thePage) not in findSPOf:on:startingFrom:
is misplaced.  Relocate it to avoid a bogus assert fail running the Cadence
debugger tests.


  Commit: 8044775ccbb1d4b61af8fcdd1bc999346112b82c
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8044775ccbb1d4b61af8fcdd1bc999346112b82c
  Author: Tobias Pape <[hidden email]>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M .appveyor.yml
    M .gitignore
    M build.linux32ARMv6/HowToBuild
    M build.linux32ARMv6/pharo.cog.spur/plugins.int
    M build.linux32ARMv6/squeak.cog.spur/plugins.ext
    M build.linux32ARMv7/HowToBuild
    M build.linux32x86/HowToBuild
    M build.linux32x86/pharo.cog.spur.lowcode/plugins.int
    M build.linux32x86/pharo.cog.spur/plugins.int
    M build.linux32x86/pharo.stack.spur.lowcode/plugins.int
    M build.linux64x64/HowToBuild
    M build.linux64x64/pharo.cog.spur/plugins.int
    M build.macos32x86/HowToBuild
    M build.macos32x86/bochsx64/conf.COG
    M build.macos32x86/bochsx86/conf.COG
    A build.macos32x86/common/Makefile.app.squeak
    R build.macos32x86/common/Makefile.app.squeak.cog
    M build.macos32x86/common/Makefile.plugin
    M build.macos32x86/gdbarm32/conf.COG
    M build.macos32x86/pharo.cog.spur.lowcode/plugins.int
    M build.macos32x86/pharo.cog.spur/plugins.int
    M build.macos32x86/pharo.stack.spur.lowcode/plugins.int
    M build.macos32x86/pharo.stack.spur/plugins.int
    M build.macos32x86/squeak.cog.spur+immutability/Makefile
    M build.macos32x86/squeak.cog.spur/Makefile
    M build.macos32x86/squeak.cog.v3/Makefile
    M build.macos32x86/squeak.stack.spur/Makefile
    M build.macos32x86/squeak.stack.v3/Makefile
    M build.macos64x64/HowToBuild
    A build.macos64x64/common/Makefile.app.squeak
    R build.macos64x64/common/Makefile.app.squeak.cog
    M build.macos64x64/common/Makefile.plugin
    M build.macos64x64/pharo.cog.spur.lowcode/plugins.int
    M build.macos64x64/pharo.cog.spur/plugins.int
    M build.macos64x64/pharo.stack.spur.lowcode/plugins.int
    M build.macos64x64/pharo.stack.spur/plugins.int
    M build.macos64x64/squeak.cog.spur.immutability/Makefile
    M build.macos64x64/squeak.cog.spur/Makefile
    M build.macos64x64/squeak.stack.spur/Makefile
    M build.win32x86/common/Makefile
    M build.win32x86/common/Makefile.plugin
    M build.win64x64/common/Makefile
    M build.win64x64/common/Makefile.plugin
    M build.win64x64/common/Makefile.tools
    A build.win64x64/pharo.cog.spur/Makefile
    A build.win64x64/pharo.cog.spur/Pharo.def.in
    A build.win64x64/pharo.cog.spur/Pharo.exe.manifest
    A build.win64x64/pharo.cog.spur/Pharo.ico
    A build.win64x64/pharo.cog.spur/Pharo.rc
    A build.win64x64/pharo.cog.spur/mvm
    A build.win64x64/pharo.cog.spur/plugins.ext
    A build.win64x64/pharo.cog.spur/plugins.int
    M build.win64x64/squeak.cog.spur/plugins.ext
    M build.win64x64/squeak.cog.spur/plugins.int
    M deploy/pharo/pack-vm.sh
    R image/.gdb_history
    M image/BuildSqueakSpurTrunkVMMakerImage.st
    R image/XERRLOG
    A image/attic/makegetnsvmscripts.sh
    A image/attic/makegetvmscripts.sh
    M image/getGoodSpurVM.sh
    R image/makegetnsvmscripts.sh
    R image/makegetvmscripts.sh
    M nsspur64src/vm/cogit.c
    M nsspur64src/vm/cogit.h
    M nsspur64src/vm/cogitX64SysV.c
    M nsspur64src/vm/cogitX64WIN64.c
    M nsspur64src/vm/cointerp.c
    M nsspur64src/vm/cointerp.h
    M nsspur64src/vm/gcc3x-cointerp.c
    M nsspursrc/vm/cogit.h
    M nsspursrc/vm/cogitARMv5.c
    M nsspursrc/vm/cogitIA32.c
    M nsspursrc/vm/cogitMIPSEL.c
    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/B3DAcceleratorPlugin.h
    M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c
    M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.h
    M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp
    M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp
    M platforms/Cross/plugins/EventsHandlerPlugin/EventsHandlerPluginImpl.c
    M platforms/Cross/plugins/FilePlugin/FilePlugin.h
    M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c
    M platforms/Cross/plugins/IA32ABI/dax64win64business.h
    M platforms/Cross/plugins/IA32ABI/ia32abi.h
    M platforms/Cross/plugins/IA32ABI/ia32abicc.c
    M platforms/Cross/plugins/IA32ABI/x64win64stub.c
    M platforms/Cross/plugins/IA32ABI/xabicc.c
    M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c
    M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.h
    M platforms/Cross/plugins/SoundPlugin/SoundPlugin.h
    M platforms/Cross/plugins/SqueakFFIPrims/sqFFIPlugin.c
    M platforms/Cross/plugins/SqueakSSL/SqueakSSL.h
    M platforms/Cross/vm/sq.h
    M platforms/Cross/vm/sqCogStackAlignment.h
    M platforms/Cross/vm/sqVirtualMachine.c
    M platforms/Cross/vm/sqVirtualMachine.h
    M platforms/Mac OS/plugins/FilePlugin/sqMacDirectory.c
    M platforms/Mac OS/vm/Developer/sqMacMinimal.c
    M platforms/Mac OS/vm/sqMacNSPlugin.c
    M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile
    R platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.c
    M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.h
    A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.m
    R platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGLInfo.c
    R platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacUIConstants.h
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacOpenGL.c
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacOpenGL.h
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacOpenGLInfo.c
    A platforms/iOS/plugins/B3DAcceleratorPlugin/zzz/sqMacUIConstants.h
    M platforms/iOS/plugins/SoundPlugin/sqSqueakOSXSoundCoreAudio.m
    M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.h
    M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m
    M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudioAPI.m
    M platforms/iOS/plugins/SqueakSSL/sqMacSSL.c
    M platforms/iOS/vm/Common/Classes/sqSqueakEventsAPI.m
    M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m
    M platforms/iOS/vm/Common/Classes/sqSqueakNullScreenAndWindow.m
    M platforms/iOS/vm/Common/Classes/sqSqueakScreenAPI.m
    M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m
    M platforms/iOS/vm/OSX/sqSqueakOSXCGView.m
    M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.h
    M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m
    M platforms/iOS/vm/OSX/sqSqueakOSXView.h
    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/plugins/FilePlugin/sqUnixFile.c
    M platforms/unix/plugins/SoundPlugin/sqUnixSound.c
    M platforms/unix/vm-display-X11/sqUnixX11.c
    M platforms/unix/vm/SqSound.h
    M platforms/unix/vm/aio.c
    M platforms/unix/vm/sqUnixMain.c
    M platforms/win32/plugins/BochsIA32Plugin/Makefile.plugin
    M platforms/win32/plugins/BochsX64Plugin/Makefile.plugin
    M platforms/win32/plugins/CameraPlugin/CameraPlugin.cpp
    R platforms/win32/plugins/CameraPlugin/sqVirtualMachine.h
    M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c
    M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c
    M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c
    M platforms/win32/vm/sqConfig.h
    M platforms/win32/vm/sqPlatformSpecific.h
    M platforms/win32/vm/sqWin32.h
    M platforms/win32/vm/sqWin32Backtrace.c
    M platforms/win32/vm/sqWin32Directory.c
    M platforms/win32/vm/sqWin32DnsInfo.c
    M platforms/win32/vm/sqWin32Utils.c
    M platforms/win32/vm/sqWin32Window.c
    M spur64src/vm/cogit.c
    M spur64src/vm/cogit.h
    M spur64src/vm/cogitX64SysV.c
    M spur64src/vm/cogitX64WIN64.c
    M spur64src/vm/cointerp.c
    M spur64src/vm/cointerp.h
    M spur64src/vm/gcc3x-cointerp.c
    M spurlowcode64src/vm/cogit.c
    M spurlowcode64src/vm/cogit.h
    M spurlowcode64src/vm/cogitX64SysV.c
    M spurlowcode64src/vm/cogitX64WIN64.c
    M spurlowcode64src/vm/cointerp.c
    M spurlowcode64src/vm/cointerp.h
    M spurlowcode64src/vm/gcc3x-cointerp.c
    M spurlowcodesrc/vm/cogit.h
    M spurlowcodesrc/vm/cogitARMv5.c
    M spurlowcodesrc/vm/cogitIA32.c
    M spurlowcodesrc/vm/cogitMIPSEL.c
    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.c
    M spursista64src/vm/cogit.h
    M spursista64src/vm/cogitX64SysV.c
    M spursista64src/vm/cogitX64WIN64.c
    M spursista64src/vm/cointerp.c
    M spursista64src/vm/cointerp.h
    M spursista64src/vm/gcc3x-cointerp.c
    M spursistasrc/vm/cogit.h
    M spursistasrc/vm/cogitARMv5.c
    M spursistasrc/vm/cogitIA32.c
    M spursistasrc/vm/cogitMIPSEL.c
    M spursistasrc/vm/cointerp.c
    M spursistasrc/vm/cointerp.h
    M spursistasrc/vm/gcc3x-cointerp.c
    R spursistastacksrc/examplePlugins.ext
    R spursistastacksrc/examplePlugins.int
    R spursistastacksrc/vm/exampleSqNamedPrims.h
    R spursistastacksrc/vm/gcc3x-interp.c
    R spursistastacksrc/vm/interp.c
    R spursistastacksrc/vm/interp.h
    R spursistastacksrc/vm/vmCallback.h
    M spursrc/vm/cogit.h
    M spursrc/vm/cogitARMv5.c
    M spursrc/vm/cogitIA32.c
    M spursrc/vm/cogitMIPSEL.c
    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
    M src/plugins/SoundPlugin/SoundPlugin.c
    M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c
    M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c
    M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
    M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c
    M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c
    M src/vm/cogit.h
    M src/vm/cogitARMv5.c
    M src/vm/cogitIA32.c
    M src/vm/cogitMIPSEL.c
    M src/vm/cointerp.c
    M src/vm/cointerp.h
    M src/vm/cointerpmt.c
    M src/vm/cointerpmt.h
    M src/vm/gcc3x-cointerp.c
    M src/vm/gcc3x-cointerpmt.c
    M stacksrc/vm/gcc3x-interp.c
    M stacksrc/vm/interp.c
    M tests/smalltalkCI.sh

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2

* origin/Cog: (61 commits)
  CogVM source as per VMMaker.oscog-eem.2242
  CogVm source as per VMMaker.oscog-eem.2241
  CogVM source as per VMMaker.oscog-eem.2240
  CogVM source as per VMMaker.oscog-eem.2237
  Fix regression in recent system attribute 1002 (OS Version) change on Mac OS X. Answering e.g. 10.10.5 breaks everyting that uses Smalltalk osVerison asNumber. So answer e.g. 1010.5 insteads so that Smalltalk osVerison asNumber = 1010. Typical image code looks like Smalltalk osVerison asNumber >= 1000 to identify Mac OS X over MacOS 9 et al.
  cosmetic: fix weird alignment
  Fail primitiveFileOpenNew with PrimErrInappropriate if file already exists
  added a flag pointer parameter to sqFileOpenNew() for failure being caused by the file already existing
  Make recent FilePlugin changes MSVC compatible
  Fix plugin compilation for Win64 PharoVM
  Fix int */sqInt * mismatch for Win64 FilePlugin
  Regenerate Unix OS ProcessPlugin from oscog-dtl.56
  CogVM source as per VMMaker.oscog-eem.2232
  Use the NSProcessInfo API to get an accurate OS verison string on Mac OS X.
  CogVM source as per VMMaker.oscog-eem.2229
  CogVm source as per VMMaker.oscog-eem.2228
  Make pharo deploy work for both WIN64 stack and cog
  Build Win64 squeak.cog.spur FFI & Alien plugins
  Add Win64 pharo.cog.spur configuration
  Win32OSProcessPlugin MUST be regenerated from latest source
  ...


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/4181d8e8872f...8044775ccbb1
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] 5afa7a: Fix travis tests for squeak after app rename

Tobias Pape
 
Any objections I merge this into Cog?

Adds High-dpi for windows and mac.

Best regards
        -Tobias


> On 13.06.2017, at 10:50, GitHub <[hidden email]> wrote:
>
[…]

>  Log Message:
>  -----------
>  Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2
>
> * origin/Cog: (61 commits)
>  CogVM source as per VMMaker.oscog-eem.2242
>  CogVm source as per VMMaker.oscog-eem.2241
>  CogVM source as per VMMaker.oscog-eem.2240
>  CogVM source as per VMMaker.oscog-eem.2237
>  Fix regression in recent system attribute 1002 (OS Version) change on Mac OS X. Answering e.g. 10.10.5 breaks everyting that uses Smalltalk osVerison asNumber. So answer e.g. 1010.5 insteads so that Smalltalk osVerison asNumber = 1010. Typical image code looks like Smalltalk osVerison asNumber >= 1000 to identify Mac OS X over MacOS 9 et al.
>  cosmetic: fix weird alignment
>  Fail primitiveFileOpenNew with PrimErrInappropriate if file already exists
>  added a flag pointer parameter to sqFileOpenNew() for failure being caused by the file already existing
>  Make recent FilePlugin changes MSVC compatible
>  Fix plugin compilation for Win64 PharoVM
>  Fix int */sqInt * mismatch for Win64 FilePlugin
>  Regenerate Unix OS ProcessPlugin from oscog-dtl.56
>  CogVM source as per VMMaker.oscog-eem.2232
>  Use the NSProcessInfo API to get an accurate OS verison string on Mac OS X.
>  CogVM source as per VMMaker.oscog-eem.2229
>  CogVm source as per VMMaker.oscog-eem.2228
>  Make pharo deploy work for both WIN64 stack and cog
>  Build Win64 squeak.cog.spur FFI & Alien plugins
>  Add Win64 pharo.cog.spur configuration
>  Win32OSProcessPlugin MUST be regenerated from latest source
>  ...
>
>
> Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/4181d8e8872f...8044775ccbb1


Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] 5afa7a: Fix travis tests for squeak after app rename

Eliot Miranda-2
 


> On Jun 13, 2017, at 4:38 AM, Tobias Pape <[hidden email]> wrote:
>
>
> Any objections I merge this into Cog?

Provided the changes are optional so that the default behaviour is unchanged then no objections from me.

>
> Adds High-dpi for windows and mac.
>
> Best regards
>    -Tobias
>
>
>> On 13.06.2017, at 10:50, GitHub <[hidden email]> wrote:
>>
> […]
>> Log Message:
>> -----------
>> Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2
>>
>> * origin/Cog: (61 commits)
>> CogVM source as per VMMaker.oscog-eem.2242
>> CogVm source as per VMMaker.oscog-eem.2241
>> CogVM source as per VMMaker.oscog-eem.2240
>> CogVM source as per VMMaker.oscog-eem.2237
>> Fix regression in recent system attribute 1002 (OS Version) change on Mac OS X. Answering e.g. 10.10.5 breaks everyting that uses Smalltalk osVerison asNumber. So answer e.g. 1010.5 insteads so that Smalltalk osVerison asNumber = 1010. Typical image code looks like Smalltalk osVerison asNumber >= 1000 to identify Mac OS X over MacOS 9 et al.
>> cosmetic: fix weird alignment
>> Fail primitiveFileOpenNew with PrimErrInappropriate if file already exists
>> added a flag pointer parameter to sqFileOpenNew() for failure being caused by the file already existing
>> Make recent FilePlugin changes MSVC compatible
>> Fix plugin compilation for Win64 PharoVM
>> Fix int */sqInt * mismatch for Win64 FilePlugin
>> Regenerate Unix OS ProcessPlugin from oscog-dtl.56
>> CogVM source as per VMMaker.oscog-eem.2232
>> Use the NSProcessInfo API to get an accurate OS verison string on Mac OS X.
>> CogVM source as per VMMaker.oscog-eem.2229
>> CogVm source as per VMMaker.oscog-eem.2228
>> Make pharo deploy work for both WIN64 stack and cog
>> Build Win64 squeak.cog.spur FFI & Alien plugins
>> Add Win64 pharo.cog.spur configuration
>> Win32OSProcessPlugin MUST be regenerated from latest source
>> ...
>>
>>
>> Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/4181d8e8872f...8044775ccbb1
>
>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] 5afa7a: Fix travis tests for squeak after app rename

Tobias Pape
 

> On 13.06.2017, at 16:06, Eliot Miranda <[hidden email]> wrote:
>
>
>
>
>> On Jun 13, 2017, at 4:38 AM, Tobias Pape <[hidden email]> wrote:
>>
>>
>> Any objections I merge this into Cog?
>
> Provided the changes are optional so that the default behaviour is unchanged then no objections from me.

That's a stretch… So here's the thing:

- Opting in to highdpi ist typically necessary very early in a process startup
  (at least when you want to stay platform-independend)
- For our vm that means, the image cannot simply use a primitive to say, hey I'm high-dpi ready
  in order to change that later.
- We _can_ typically control the behavior via vm-specific files (Info.plist/ .exe.manifest)
- So, to avoid surprises because the image may not yet react to highdpi or dpi changes,
  the default vms should come with high-dpi off.
- but When we add the code soon-ish, we could switch-on by default for the next image format change that would
  nevertheless need a new vm. This would be *drummroll* sista.

So what I propose is:
- Trunk receives code updates to handle high-dpi changes very soon (i got stuff in the pipeline but not yet fully ready)
- Cog remains low-dpi (except people opt *in* the _vm_ via files)
- Sista becomes high-dpi-aware (except people opt *out* the _vm_ via files)

This would need only few changes to the code base.

Eliot, what's newspeak's stance on high-dpi?

Best regards
        -Tobias



>
>>
>> Adds High-dpi for windows and mac.
>>
>> Best regards
>>   -Tobias
>>
>>
>>> On 13.06.2017, at 10:50, GitHub <[hidden email]> wrote:
>>>
>> […]
>>> Log Message:
>>> -----------
>>> Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2
>>>
>>> * origin/Cog: (61 commits)
>>> CogVM source as per VMMaker.oscog-eem.2242
>>> CogVm source as per VMMaker.oscog-eem.2241
>>> CogVM source as per VMMaker.oscog-eem.2240
>>> CogVM source as per VMMaker.oscog-eem.2237
>>> Fix regression in recent system attribute 1002 (OS Version) change on Mac OS X. Answering e.g. 10.10.5 breaks everyting that uses Smalltalk osVerison asNumber. So answer e.g. 1010.5 insteads so that Smalltalk osVerison asNumber = 1010. Typical image code looks like Smalltalk osVerison asNumber >= 1000 to identify Mac OS X over MacOS 9 et al.
>>> cosmetic: fix weird alignment
>>> Fail primitiveFileOpenNew with PrimErrInappropriate if file already exists
>>> added a flag pointer parameter to sqFileOpenNew() for failure being caused by the file already existing
>>> Make recent FilePlugin changes MSVC compatible
>>> Fix plugin compilation for Win64 PharoVM
>>> Fix int */sqInt * mismatch for Win64 FilePlugin
>>> Regenerate Unix OS ProcessPlugin from oscog-dtl.56
>>> CogVM source as per VMMaker.oscog-eem.2232
>>> Use the NSProcessInfo API to get an accurate OS verison string on Mac OS X.
>>> CogVM source as per VMMaker.oscog-eem.2229
>>> CogVm source as per VMMaker.oscog-eem.2228
>>> Make pharo deploy work for both WIN64 stack and cog
>>> Build Win64 squeak.cog.spur FFI & Alien plugins
>>> Add Win64 pharo.cog.spur configuration
>>> Win32OSProcessPlugin MUST be regenerated from latest source
>>> ...
>>>
>>>
>>> Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/4181d8e8872f...8044775ccbb1
>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] 5afa7a: Fix travis tests for squeak after app rename

Eliot Miranda-2
 
Hi Tobias,

On Thu, Jun 15, 2017 at 6:50 AM, Tobias Pape <[hidden email]> wrote:


> On 13.06.2017, at 16:06, Eliot Miranda <[hidden email]> wrote:
>
>
>
>
>> On Jun 13, 2017, at 4:38 AM, Tobias Pape <[hidden email]> wrote:
>>
>>
>> Any objections I merge this into Cog?
>
> Provided the changes are optional so that the default behaviour is unchanged then no objections from me.

That's a stretch… So here's the thing:

- Opting in to highdpi ist typically necessary very early in a process startup
  (at least when you want to stay platform-independend)

Which is why on Mac we can use a setting from Info.plist.  Windows is already covered.  When the issue becomes relevant in Linux we could use
- an environment variable
- an ini file, e.g. in the lib dir
- a command line switch set in the launch script

 
- For our vm that means, the image cannot simply use a primitive to say, hey I'm high-dpi ready
  in order to change that later.

Understood.  That's not what I'm talking about.
 
- We _can_ typically control the behavior via vm-specific files (Info.plist/ .exe.manifest)
- So, to avoid surprises because the image may not yet react to highdpi or dpi changes,
  the default vms should come with high-dpi off.
- but When we add the code soon-ish, we could switch-on by default for the next image format change that would
  nevertheless need a new vm. This would be *drummroll* sista.

So what I propose is:
- Trunk receives code updates to handle high-dpi changes very soon (i got stuff in the pipeline but not yet fully ready)
- Cog remains low-dpi (except people opt *in* the _vm_ via files)
- Sista becomes high-dpi-aware (except people opt *out* the _vm_ via files)

All of that is fine policy, but none of it addresses the implementation, which must
- not change the default behavior
- hence select hide via some suitable mechanism.  On Mac that means a setting in Info.plist.  Hell, there might even be a standard Mac option.  e.g. from http://blog.qt.io/blog/2013/04/25/retina-display-support-for-mac-os-ios-and-x11/

    Enabling high-dpi for OS X Applications

    High DPI mode is controlled by the following keys in the Info.Plist file:

    <key>NSPrincipalClass</key>
    <string>NSApplication</string>
    <key>NSHighResolutionCapable</key>
    <string>True</string> 

So please, let's make sure that the VM continues to function unchanged for existing images.


This would need only few changes to the code base.

Eliot, what's newspeak's stance on high-dpi?

Don't know.  I'm sure they'll be happy to follow our lead.

 

Best regards
        -Tobias



>
>>
>> Adds High-dpi for windows and mac.
>>
>> Best regards
>>   -Tobias
>>
>>
>>> On 13.06.2017, at 10:50, GitHub <[hidden email]> wrote:
>>>
>> […]
>>> Log Message:
>>> -----------
>>> Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2
>>>
>>> * origin/Cog: (61 commits)
>>> CogVM source as per VMMaker.oscog-eem.2242
>>> CogVm source as per VMMaker.oscog-eem.2241
>>> CogVM source as per VMMaker.oscog-eem.2240
>>> CogVM source as per VMMaker.oscog-eem.2237
>>> Fix regression in recent system attribute 1002 (OS Version) change on Mac OS X. Answering e.g. 10.10.5 breaks everyting that uses Smalltalk osVerison asNumber. So answer e.g. 1010.5 insteads so that Smalltalk osVerison asNumber = 1010. Typical image code looks like Smalltalk osVerison asNumber >= 1000 to identify Mac OS X over MacOS 9 et al.
>>> cosmetic: fix weird alignment
>>> Fail primitiveFileOpenNew with PrimErrInappropriate if file already exists
>>> added a flag pointer parameter to sqFileOpenNew() for failure being caused by the file already existing
>>> Make recent FilePlugin changes MSVC compatible
>>> Fix plugin compilation for Win64 PharoVM
>>> Fix int */sqInt * mismatch for Win64 FilePlugin
>>> Regenerate Unix OS ProcessPlugin from oscog-dtl.56
>>> CogVM source as per VMMaker.oscog-eem.2232
>>> Use the NSProcessInfo API to get an accurate OS verison string on Mac OS X.
>>> CogVM source as per VMMaker.oscog-eem.2229
>>> CogVm source as per VMMaker.oscog-eem.2228
>>> Make pharo deploy work for both WIN64 stack and cog
>>> Build Win64 squeak.cog.spur FFI & Alien plugins
>>> Add Win64 pharo.cog.spur configuration
>>> Win32OSProcessPlugin MUST be regenerated from latest source
>>> ...
>>>
>>>
>>> Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/4181d8e8872f...8044775ccbb1
>>
>>




--
_,,,^..^,,,_
best, Eliot
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] 5afa7a: Fix travis tests for squeak after app rename

Ben Coman
 


On Fri, Jun 16, 2017 at 2:05 AM, Eliot Miranda <[hidden email]> wrote:

So please, let's make sure that the VM continues to function unchanged for existing images.

Is it too gratuitous to bump the image version to define existing images?
Or not practical anyway?

cheers -ben 

Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] 5afa7a: Fix travis tests for squeak after app rename

Eliot Miranda-2
 
Hi Ben,


On Jun 19, 2017, at 9:01 AM, Ben Coman <[hidden email]> wrote:



On Fri, Jun 16, 2017 at 2:05 AM, Eliot Miranda <[hidden email]> wrote:

So please, let's make sure that the VM continues to function unchanged for existing images.

Is it too gratuitous to bump the image version to define existing images?
Or not practical anyway?

IMO this is something that one does only on a major release such as the Squeak 4.x to 5.0 and Pharo 5 to Pharo 6 V3 to Spur transition.  The VM should strive to be backward compatible, whereas images are forwards compatible.  This allows the VM to be upgraded to fix bugs & add new functionality.  And this policy is achievable in practice.  IME, both VisualWorks' HPS and Cog and the Squeak interpreter VM (& I'm sure other Smalltalk VMs) have always provided this approach.


I don't see the providing of a setting to enable high dpi as a good reason for changing the VM version mid-stream, with all the inconvenience for users that this implies:

For users, they have to maintain two VMs and the ability to launch them plus being able to tell which is which; easier for users of Pharo launcher, but not something to be complicated unnecessarily.

For VM maintainers dropping backwards compatibility implies adding another VM to maintain and back port fixes to.  It's already costly to maintain the V3/Spur VMs (e.g. adding the allocated bytes accounting for Spur requires a guard clause to avoid impacting the V3 vm).  So we have to keep the matrix to a minimum.

I'm happy to expand the matrix for experiments that look like offering my a large future payoff such as Sista and Lowcode (& indeed Spur) and to continue to support older versions for as long as we as a community think make sense.  But we should avoid doing this wherever possible.  Resources dictate.

cheers -ben 
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] 5afa7a: Fix travis tests for squeak after app rename

Tobias Pape
In reply to this post by Eliot Miranda-2
 
Hi All, Hi Eliot

I'm sorry for being a drag on progress here…
[Also, replying to HTML-Mails messes up the quotes somehow… can we not use html? :/ but I digress already…]

> On 15.06.2017, at 20:05, Eliot Miranda <[hidden email]> wrote:
>
> Hi Tobias,
>
> On Thu, Jun 15, 2017 at 6:50 AM, Tobias Pape <[hidden email]> wrote:
>
>
> > On 13.06.2017, at 16:06, Eliot Miranda <[hidden email]> wrote:
> >
> >
> >
> >
> >> On Jun 13, 2017, at 4:38 AM, Tobias Pape <[hidden email]> wrote:
> >>
> >>
> >> Any objections I merge this into Cog?
> >
> > Provided the changes are optional so that the default behaviour is unchanged then no objections from me.
>
> That's a stretch… So here's the thing:
>
> - Opting in to highdpi ist typically necessary very early in a process startup
>   (at least when you want to stay platform-independend)
>

[]
> Which is why on Mac we can use a setting from Info.plist.  Windows is already covered.  When the issue becomes relevant in Linux we could use
> - an environment variable
> - an ini file, e.g. in the lib dir
> - a command line switch set in the launch script

Yes.

>
>  
> - For our vm that means, the image cannot simply use a primitive to say, hey I'm high-dpi ready
>   in order to change that later.
>
> Understood.  That's not what I'm talking about.

OK.

>  
> - We _can_ typically control the behavior via vm-specific files (Info.plist/ .exe.manifest)
> - So, to avoid surprises because the image may not yet react to highdpi or dpi changes,
>   the default vms should come with high-dpi off.
> - but When we add the code soon-ish, we could switch-on by default for the next image format change that would
>   nevertheless need a new vm. This would be *drummroll* sista.
>
> So what I propose is:
> - Trunk receives code updates to handle high-dpi changes very soon (i got stuff in the pipeline but not yet fully ready)
> - Cog remains low-dpi (except people opt *in* the _vm_ via files)
> - Sista becomes high-dpi-aware (except people opt *out* the _vm_ via files)
>

[]

> All of that is fine policy, but none of it addresses the implementation, which must
> - not change the default behavior
> - hence select hide via some suitable mechanism.  On Mac that means a setting in Info.plist.  Hell, there might even be a standard Mac option.  e.g. from http://blog.qt.io/blog/2013/04/25/retina-display-support-for-mac-os-ios-and-x11/
>
>     Enabling high-dpi for OS X Applications
>
>     High DPI mode is controlled by the following keys in the Info.Plist file:
>
>     <key>NSPrincipalClass</key>
>     <string>NSApplication</string>
>     <key>NSHighResolutionCapable</key>
>     <string>True</string>
>
> So please, let's make sure that the VM continues to function unchanged for existing images.
>

Ok. So what happens is that I have these exact lines in my commits:
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/77b57ad8decb1a5835baa23405057b72bdf39db7#diff-e6a3e805182bc4de3d9ba3acdcf20c4dR380
(and so forth…)

For now this all would be _enabled_ was this stuff being merged, which I understand does not meet your criteria of "not change the default behavior"

It is however hard to go forward without having a clear breakpoint.
- There's no way for VM and image to communicate the hi-dpi-capablitiy without it being default-enabled in the VM.
  it is simply not enable-able at runtime (without extraordinary effort) nor disable-able at runtime (without fairly-more-than-ordianry effort).
- Telling users to "please edit this file which actually belongs somewhat to the vm" is a no-go, I'd say…

Thats why I'm proposing:

- Have the High-DPI-VM-Switch DISABLED for:
        * newspeak.cog.spur
        * newspeak.stack.spur
        * pharo.cog.spur
        * pharo.cog.spur.lowcode
        * pharo.stack.spur
        * pharo.stack.spur.lowcode
        * squeak.cog.spur
        * squeak.cog.spur+immutability
        * squeak.cog.v3
        * squeak.stack.spur
        * squeak.stack.v3
- Have the High-DPI-VM-Switch ENABLED for:
        * squeak.sista.spur

So, since sista requires an Image-format-chage, this could _at the same time_ communicate that image and vm know there's HighDPI.

In any case, changing the info.plist/manifest[1] would be possible for eg, people like us at HPI when producing custom All-in-ones.

So, does that meet your criteria? if not, I'm a bit lost…

HTH

best regards
        -Tobias

>
> This would need only few changes to the code base.
>
> Eliot, what's newspeak's stance on high-dpi?
>
> Don't know.  I'm sure they'll be happy to follow our lead.
>
>  
>
> Best regards
>         -Tobias
>
>
>
> >
> >>
> >> Adds High-dpi for windows and mac.
> >>

[1]: that manifest thing is funny :( So, at some point mignw/cygwin crew decided to _always_ compile a mingw-specific manifest _into the binary_.
        Which means that a custom manifest will not be used.
        Which means, since its not possible to not use that manifest in a normal way, we have to do trickery like that:
        https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c07df4f3a4c3b5bceeecbe8ee1e5a0e9d26eb9c5
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] 5afa7a: Fix travis tests for squeak after app rename

Tobias Pape
In reply to this post by Eliot Miranda-2
 
Hi all

> On 19.06.2017, at 20:35, Eliot Miranda <[hidden email]> wrote:
>
> Hi Ben,
>
>
> On Jun 19, 2017, at 9:01 AM, Ben Coman <[hidden email]> wrote:
>
>>
>>
>> On Fri, Jun 16, 2017 at 2:05 AM, Eliot Miranda <[hidden email]> wrote:
>>
>> So please, let's make sure that the VM continues to function unchanged for existing images.
>>
>> Is it too gratuitous to bump the image version to define existing images?
>> Or not practical anyway?
>
> IMO this is something that one does only on a major release such as the Squeak 4.x to 5.0 and Pharo 5 to Pharo 6 V3 to Spur transition.  The VM should strive to be backward compatible, whereas images are forwards compatible.  This allows the VM to be upgraded to fix bugs & add new functionality.  And this policy is achievable in practice.  IME, both VisualWorks' HPS and Cog and the Squeak interpreter VM (& I'm sure other Smalltalk VMs) have always provided this approach.
>
>
> I don't see the providing of a setting to enable high dpi as a good reason for changing the VM version mid-stream, with all the inconvenience for users that this implies:
>
> For users, they have to maintain two VMs and the ability to launch them plus being able to tell which is which; easier for users of Pharo launcher, but not something to be complicated unnecessarily.
>
> For VM maintainers dropping backwards compatibility implies adding another VM to maintain and back port fixes to.  It's already costly to maintain the V3/Spur VMs (e.g. adding the allocated bytes accounting for Spur requires a guard clause to avoid impacting the V3 vm).  So we have to keep the matrix to a minimum.
>
> I'm happy to expand the matrix for experiments that look like offering my a large future payoff such as Sista and Lowcode (& indeed Spur) and to continue to support older versions for as long as we as a community think make sense.  But we should avoid doing this wherever possible.  Resources dictate.

I also think this.
But the necessity burdened upon us by the os'es to decide for or agains High-DPI at a point of program execution where typically not even the Interpreter has been started means that when we don't make a cut where vm and image both know that the high-dpi capa is there, we'll never have high-dpi vms since adoption won't happen.

Best regards
        -Tobias