[squeak-dev] The Trunk: Help-Squeak-Project-mt.39.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Aug 11 15:16:38 UTC 2016


Marcel Taeumel uploaded a new version of Help-Squeak-Project to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-Project-mt.39.mcz

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

Name: Help-Squeak-Project-mt.39
Author: mt
Time: 11 August 2016, 5:16:27.921564 pm
UUID: 95f725e1-8ec1-e244-9fc6-502dc6017dcf
Ancestors: Help-Squeak-Project-mt.38

Get release notes from the file system to not spoil the image with large strings. (e.g. /doc/release-notes-46).

=============== Diff against Help-Squeak-Project-mt.38 ===============

Item was removed:
- ----- Method: SqueakReleaseNotes class>>releaseNotes50 (in category 'pages') -----
- releaseNotes50
- 
- 	^HelpTopic
- 		title: '5.0 / 4.6'
- 		contents: '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!

Item was removed:
- ----- Method: SqueakReleaseNotes class>>releaseNotes51 (in category 'pages') -----
- releaseNotes51
- 
- 	^HelpTopic
- 		title: '5.1'
- 		contents: 'TBD.'!



More information about the Squeak-dev mailing list