[squeak-dev] The Trunk: Morphic-cmm.995.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Jul 20 21:01:58 UTC 2015


Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.995.mcz

==================== Summary ====================

Name: Morphic-cmm.995
Author: cmm
Time: 20 July 2015, 4:01:07.965 pm
UUID: 04170d15-f911-45c5-8d06-ce0f4a99800d
Ancestors: Morphic-cmm.994

Something got goofed up, reformat the release notes (sigh).

=============== Diff against Morphic-cmm.994 ===============

Item was changed:
  ----- Method: TheWorldMainDockingBar>>releaseNotes (in category 'submenu - help') -----
  releaseNotes
+ 	^'Squeak 5.0
- 	^'
- Squeak 5.0
  Release Notes
  
- 
  A New Memory Model and Virtual Machine
  
  Fast Become
  Squeak 5 introduces a new object model and VM known as "Spur".  Presented [1] by Eliot Miranda and Clément Béra at the International Symposium on Memory Management in year 2015, this new VM retains the direct-pointer representation of objects in previous Squeak versions but now without requiring a full scan of the heap for become.  This is done by introducing hidden forwarding objects which allow references to be updated lazily as they are encountered.  Spur''s innovation is in avoiding explicit read barriers in all common cases.
  
  Additional Immediate Types
  The new Spur memory model supports immediate Characters, so that Characters with unicode greater than 255 can be tested via #==, and wide string access is much faster.  The 64-bit version, still under development, also provides immediate floats, occupying the middle 8th of the double precision exponent range.
  
  Simplified and Ready for 64-bit
  Internally Spur uses a 64-bit object header, a representation shared between the 32-bit and 64-bit versions, and one that is significantly simpler than the three different header sizes used in the previous version.  This simplicity means that the JIT now generates code to implement more primitives, in particular new and new:, resulting in significantly higher performance, at the cost of a 15% increase in image size.
  
  Enhanced Memory Management
  Spur has a segmented heap, allowing the heap to grow and shrink a segment at a time.  It provides per-object pinning to ensure specific objects will not be moved by the garbage collector, hence simplifying the FFI.  Spur provides Ephemerons which allow for per-object finalization and the prevention of uncollectable cycles, for example in global property lists like DependentsFields (although this support has yet to be applied to the system).
  
  
  Squeak now runs on ARM
+ 
  As a natural output of the Scratch application on Rasberry Pi project, the Spur VM can now run on the Rasberry Pi.
  
  
  The Future of Spur
+ 
  Work is underway on an innovative adaptive optimizer/speculative inliner, and a 64-bit JIT for x64, and a global incremental mark-sweep collector is planned.  See [2].
  
  [1] -- http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming
  [2] -- http://www.mirandabanda.org/cogblog/cog-projects/
  !!
+ ]style[(10 1 13 40 2 11 537 26 313 31 422 26 448 22 119 19 374)a2bFBitstreamVeraSerif#32.0,FBitstreamVeraSans#20.0a2,a2FBitstreamVeraSerif#24.0-,FBitstreamVeraSans#20.0,,b,,b,,b,,b,,FBitstreamVeraSans#20.0,,FBitstreamVeraSans#20.0,!!' readStream nextChunkText!
- ]style[(1 10 1 14 2 38 2 11 120 44 162 6 203 2 26 9 302 2 31 1 421 26 448 22 118 18 374),ba2FBitstreamVeraSerif#32.0,FBitstreamVeraSerif#24.0----a2,FBitstreamVeraSerif#24.0a2-i,,bFBitstreamVeraSans#20.0,,b,,u,,i,,FBitmap DejaVu Sans#14,FBitmap DejaVu Sans#14b,FBitmap DejaVu Sans#14,,FBitmap DejaVu Sans#14,FBitmap DejaVu Sans#14b,FBitmap DejaVu Sans#14,,b,,bFBitstreamVeraSans#20.0,,FBitstreamVeraSans#20.0b,!!' readStream nextChunkText!



More information about the Squeak-dev mailing list