What's Changed
Highlights
- Lots of improvements in Slang: better management of C reserved keywords, comments and less C compilation warnings!
- Improvements in stack management:
- unification of frame implementation
- new optional stack overflow support
- Development moved to Pharo12
- New primitives to pin behavior and pretenuring
- More stability, for example in permanent space management
Features
- Adding option for pin behaviour by @tesonep in #844
- Improvements in stack management by @guillep in #710
- Added new primitive for allocating directly in the old space by @jordanmontt in #701
- Forward VM build parameters from CMake by @guillep in #654
Improvements
- Making it loadable in P12 by @guillep in #825
- Do not unlink all sends on GC by @guillep in #503
- Update SDL by @LucFabresse in #615
- Update SDL2 version in OSX (Intel & Apple) by @tesonep in #849
- Reject reserved words by @ivojawer in #613
- Validate if locals/args exist when adding a type declaration by @ivojawer in #603
- Check structs' instance variable type declarations by @ivojawer in #607
- Improving perm space p12 by @tesonep in #621
- Simplify stack-to-register mapping API by @guillep in #627
- Make instantiateClass more robust when the format is missing by @privat in #634
- Improve and use unreachable by @privat in #630
- README: Developer documentation is not a link by @jordanmontt in #637
- Rename reserved words: selectors, locals and instance variables by @ivojawer in #624
- Add getClass for Pharo 12 compatibility by @sbragagnolo in #651
- Redundant type declaration linter rule by @ivojawer in #662
- Add a palette with the C translation of any inspected C node by @hernanmd in #686
- Add C source code inspection tab for TParseNode by @hernanmd in #687
- Use pharo11 on CI by @PalumboN in #669
- Small stack interpreter tests by @hernanmd in #690
- Added test on extended store and pop by @guillep in #520
- Update build version to P12 by @guillep in #826
- Improving log of old space limit error reporting by @tesonep in #833
- a better comment support for Slang by @RenaudFondeur in #838
- a first version of Slang with no type conflict and an exception if one appear by @RenaudFondeur in #819
- remove unused cast and expression by @RenaudFondeur in #837
- add a comment explaining why declareCVarsIn: is empty in some subclasses by @RenaudFondeur in #842
- small change in dead code elimination to considers a method with only comments empty by @RenaudFondeur in #843
- Frame unification by @guillep in #602
- small change in copyWithoutReturn to handle CCoerce by @RenaudFondeur in #836
Fixes
- Resolved a bug about UUID primitives by @Mathilde411 in #610
- Robust cannotInterpret: in the interpreter by @privat in #641
- Fix cast tests by @hernanmd in #660
- Fix and test for inlinings with If's and right shift not translated by @hernanmd in #667
- Remove hostname lookup on network initialization by @guillep in #845
- C AST translation right side parenthesis in expression by @hernanmd in #685
- Add tests+fix for an incorrectly case of generated inlined C code from CCodeGenerator by @hernanmd in #666
- fix warnings related to multiple include of the same header file by @RenaudFondeur in #840
- Fix a lot of unused expression by @RenaudFondeur in #832
Cleanups
- Clean special object array a little by @privat in #640
- Added comments and renamed methods during todays dojo by @Mathilde411 in #623
- fixing-categorization-p12 by @tesonep in #626
- removed strange SDL2_copy cmake target by @LucFabresse in #620
- Clean up Interpreter State by @tesonep in #658
- Rename conflicting identifiers by @ivojawer in #646
- Created new package CAST-Tests by @hernanmd in #679
- Move warnings to debug when loading plugins by @guillep in #675
New Contributors
- @Mathilde411 made their first contribution in #610
- @LucFabresse made their first contribution in #615
- @ivojawer made their first contribution in #613
Full Changelog: v10.3.0...v12.0.0