- Redo 294 by @guillep in #829
- Making it loadable in P12 by @guillep in #825
- 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
- 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
- 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
- small change in copyWithoutReturn to handle CCoerce by @RenaudFondeur in #836
- Remove hostname lookup on network initialization by @guillep in #845
- Update SDL2 version in OSX (Intel & Apple) by @tesonep in #849
- Adding option for pin behaviour by @tesonep in #844
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.3.0...v10.3.1
- New harmonize rule by @RenaudFondeur in #817
- Ignoring EAGAIN in epoll_wait by @tesonep in #818
- Extend macOS implementation of SqueakSSL plugin to support setting a certificate on the SSL session context by @Rinzwind in #816
- Adding macro for win32. by @tesonep in #814
- Adding the missing tty.c file in the packaging. by @tesonep in #771
- Do not allow comparing objects of different types by @guillep in #772
- Prepare release 10.2.1 by @guillep in #773
- Constant conversion warning by @guillep in #777
- Fix tautological-pointer-compare warnings by @guillep in #775
- Removed Cogit>>#voidNSSendCache: by @jordanmontt in #776
- Re-enable incompatible-function-pointer-types warning by @guillep in #778
- Removed unused functions from the C written by hand by @jordanmontt in #780
- Fix function pointer comparison warning by @guillep in #783
- Fix -return-type warnings by @doste in #781
- Fix shift-negative-value warning and reenable warning by @guillep in #785
- Remove warnings c compiler by @PalumboN in #789
- Remove StackInterpreter interruptPending instance variable by @jordanmontt in #793
- Do not use asserta: in a statement by @guillep in #788
- Bump to MacOS 11 and above by @guillep in #792
- Moving pharo.signatures files for OSX Bundle to Resources folder by @tesonep in #770
- Do not retain any selectors in CogAbstractInstruction by @RenaudFondeur in #798
- remove warning because of type and unsigned shift issues by @RenaudFondeur in #800
- add tests for type harmonization by @RenaudFondeur in #807
- Primitive format by @doste in #802
- Adding an implementation of the aio.c using EPOLL in Linux. by @tesonep in #805
- Fixing warnings that are errors in newer versions of clang by @tesonep in #813
- @RenaudFondeur made their first contribution in #798
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.2.0...v10.2.1
- Add library with function to spawn a process connected to a pseudo-terminal by @Rinzwind in #742
- Fix VM build in MacOS sonoma by @guillep in #758
- Primitive to compare bytes by @doste in #759
- Translate documentation picture to Englitsh by @Inao0 in #764
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.1.1...v10.2.0
- Change custom command in ‘vmmaker.cmake’ to take into account that the ‘CMAKE_CURRENT_BINARY_DIR_TO_OUT’ can contain other characters besides spaces that require escaping by @Rinzwind in #741
- Backporting PR for allocating in the old space by @jordanmontt in #709
- Fixing memory map in OSX by @tesonep in #751
- Adding generation of signature files by @tesonep in #749
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.1.0...v10.1.1
- Fixing undefined behaviors that Clang 15 removes by @tesonep in #731
- Fix ‘doReport’ to take into account that ‘fopen’ can return NULL by @Rinzwind in #739
- Change custom command in ‘vmmaker.cmake’ to take into account that the ‘CMAKE_CURRENT_BINARY_DIR_TO_OUT’ can contain spaces by @Rinzwind in #738
- Integrating new format by @tesonep in #734
New Contributors
- @Rinzwind made their first contribution in #739
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.0.9...v10.1.0
- Improves in PermSpace by @tesonep in #684
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.0.8...v10.0.9
- Fixes #14768: File class>>primFileAttributes😷 answers corrupted result by @akgrant43 in #697
- Fix/speed regression by @tesonep in #705
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.0.7...v10.0.8
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.0.6...v10.0.7
Improvements in build environment
- Update build environment for Pharo 10 vm branch by @guillep in #594
- Make tests run in parallel by @guillep in #596
- Update Jenkins to use Pharo 110 for building by @PalumboN in #661
Cleanups
- Cleanups/externalize internalize by @guillep in #583
- Fix/warnings by @guillep in #584
- fixing-categorization in P10 by @tesonep in #625
Fixes
- Fix mnuMethodOrNilFor: for method wrappers by @guillep in #578
- fix function signatures by @pavel-krivanek in #582
Debugging improvements
- Gdbinit file and helpers v2 by @guillep in #486
- VM Debugger improvement with IR by @QDucasse in #342
VM Improvements
- improving-permSpace by @tesonep in #614
- Changing the order of command-line processing and PList in OSX by @tesonep in #609
- Adding parsing of image parameters from PList by @tesonep in #636
- Change terminate handler to exit with 128+signal by @jvalteren in #644
- Improvements in parameters handling in OSX by @tesonep in #639
- Adding check to fix when the image is open with an older VM by @tesonep in #642
- Fix/ephemeron list by @guillep in #668
New Contributors
- @jvalteren made their first contribution in #644
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.0.5...v10.0.6
- Testing scavenger tenuring by @PalumboN in #588
- Deleting Pharo image from the vm repo by @jordanmontt in #591
- Cleaning Up Third Party Libraries by @tesonep in #581
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.0.4...v10.0.5
-
Composed image format by @PalumboN in #377
-
Composed image format: C translation by @PalumboN in #388
-
Perm space on image by @PalumboN in #416
-
New & old remembered sets by @PalumboN in #418
-
Reduce segment files size on move objects to PermSpace by @PalumboN in #508
-
Adding Support for PermSpace by @tesonep in #488
-
Adding option to not use contant block optimization for test by @StevenCostiou in #573
-
Do not use newer CMAKE features by @estebanlm in #572
-
Split a method in two to reuse part in espell by @jecisc in #569
- @StevenCostiou made their first contribution in #573
- @estebanlm made their first contribution in #572
- @jecisc made their first contribution in #569
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.0.3...v10.0.4
- Fix ARM32 by @tesonep in #562
- Verify ephemeron key is not immediate when marking by @guillep in #565
- Generate Pharo VM dependency graph by @hernanmd in #554
- Link against a shared SDL2 if already installed in target by @hernanmd in #555
- Slang: Integer>>#bitOr: and Integer>>#| are translated to C code differently by @hernanmd in #523
- Fix ephemeron compaction by @guillep in #561
- Adding image version field to the image header
- Fixes in String comparison primitive when JIT
- Improvements in dependency of the VMMaker code.
-
Slang (Smalltalk to C Translator)
- Introducing a C AST to ease the generation of C Code
- Having a Pretty Printer for C AST
- Translation Tests
- Fixing Translation Issues
- Clear separation between Slang and VM code
- Improving Cast generation
-
Clean Up:
- Remove Old Bytecode Set
- Remove Old Block Implementation
- Simplification of the Primitives
- Removing Unused / Old Code / Dead Code
- Cleanup / Removal of Old Unused primitives
- Removing Old FFI Implementation
- Removing MT Experiment from the code base (Kept in own branch)
- Fixing Compilation Warnings
- Improving Type annotations to fix bugs in the translation / compilation
- Removing Conditional Code on Old Configurations / Features
- Renaming Concepts to be inline with Common terminology
- Remove Newspeak, Multiple Bytecode and Old Memory Managers
- Removing Unused Plugins
-
Tests
- GNUification Tests
- Tests for Math primitives including overflow and conversion testing.
- Tests for comparison primitives (Equals / Not Equals / Less than / Less or Equals / Greater Than / Greater or Equals)
- Testing Primitives for objects Pinned in Memory
- Testing Math Primitives for Immediate Classes (SmallFloats / SmallIntegers)
- Improving Simulation Infrastructure
- Using Sista Bytecode in all Tests
- Updating Unicorn version
- Improving Machine Code emulation
- Testing Image Read / Image Write
- Using the same memory map in Tests and Execution
- Testing Ephemerons
- Become Primitives
-
Ephemeron
- Fix for large ammounts
- Make it available
- Testing Signal Finalizations
-
Fixing Become Errors.
-
Fixing XRay Primitive
-
Single-Instruction Multiple-Data (SIMD) initial Support:
- Initialization of new objects using SIMD (ARM64)
- Adding Bytecode Extensions to support SIMD instructions
- Adding Vector Registers
- Vector Register bytecodes
-
Auto Localization of Interpreter loop variables and edge detection simplifying development and minimizing code
-
ImageReader / ImageWriter reification needed for Permanent Space.
-
Improving Memory Map of the VM (Using constant positions)
-
Dependencies Improvements
- Implementing High resolution clock for ARM64 (Used during profiling)
- Updating third party libraries for all the graphic layer
- Fixing a performance regression on the allocation of opcodes and fix-ups. Cleaning only the ones that are going to be used. Like this, this version has the same speed than before when allocating in the stack.
- Correctly handling the encoding of the command line arguments of the VM (Windows)
- Allocating the opcodes and fixup structs only once and reusing them (Reducing risk of C Stack Overflow)
- Update library downloads in Windows to
- libgit2 => 1.4.4
- Supporting old images in OSX ARM64 with Libgit older than v1.4.4
- Fixes in users of declarationAt:
- Updating Readme
- Improving the generation of plugins
- Upgrade library dependencies
- Update library downloads to
- libgit2 => 1.4.4
- libssh2 => 1.9.0
- openssl => 1.1.1k
- Update build instructions to build libgit v1.4.4
- Fixing FFI Variadic functions in OSX ARM64
- Fixing store of Int64 in FFI OSX ARM64 when using LongLong
- Fixing Error code in Primitive when more than one temporary is used.
- Adding support to read command line parameters from the PList (In OSX)
- Correct handling OOB (Out of Band Data) in Window
- Blocking signals while signaling semaphores to avoid deadlocks caused by signal handlers
- Make MAXHOSTNAMELEN at least 256: improving resolution of names in linux
- Improving VM Simulator Machine debugger
- Integrating Processor Simulator for RISCV
- Using a new SDL2 version built for OSX Mojave compatibility
- Include FloatArrayPlugin in the build
- Updating SDL2 to 2.0.18 for OSX X86_64
- Using Pharo 10 image as VMMaker image
- Fixing issue in message counting on non JIT VM
- Improving error messages when looking for a symbol in Windows, and exporting symbol used when using worker thread.
- Adding message counting primitives in the interpreter
- Adding a compile time option to generate or not the counting of messages
- Adding generation of StackVM
- Fixing memory issue with spawned threads in AIO.
- Fixing dependencies of functions with Variadic Arguments
- Debug window and menu for Windows.
- Fixing Version Numbers when is not a Release in the Resources File (Windows).
- Improving AIO Support in windows to handle the maximum quantity of waiting on objects
- SIGEMT is not defined in all Linux as it depends on the architecture
- Improving reporting of exception and version number
- Ignore SIGPIPE and let send fail with an error instead of killing the process
- Exposing the ABI selection to the image
- Fixing the marshalling of LargeIntegers in 32bits platforms
- Updating Linux ARM64/32 SDL versions
- Improving the logging when there is a signal to terminate the VM
- Logging the snapshot and quit primitives
- Adding testing function to see if we are in debug
- Improving the logging of unimplemented primitive to log it only once
- Fixing the hint handling when allocating memory in MINGW
- Fixing Upload of artifacts
- Releasing on Tag
- Fixing sqSetupSSL when not using LibGit
- Introduce SlangMemoryManager and MachineMemoryManager
- Builds for ARM using Docker
- Extracting the read of Image Header
- Refactoring of readImage to use the same implementation in the Simulator and real.
- Improving VMDebugger
- Fixes in Slang
- Fixing RumpCStack in simulation
- Building ARM32
- Fixing ARM32 issue when using mcprimHashMultiply
- Correct handling of Out-of-band data
- Improve error handling of network events in OSX
- Build for ARM32 Linux
- Fixing ARM64 in Windows
- Fixing asFloat primitives
- Fixing Platform name
- Fixing ARM32 to use Sista Bytecode and Full blocks
- Testing globalSession ID
- Support for OpenBSD
- Tests for the JIT, Memory management and Intrepreter
- Apple M1 Support
- Improve Allocation of JIT memory
- Improving FFI calls and Marshalling primitives
- Improving SurfacePlugin
- Fix Directed super sends for SISTA in ARMv5
- Change register mapping in ARMv5
- Added accessors in Cogit for testing purposes
- Extracted directed super send trampoline creation
- Fixed disassembler
- Enhance simulator and tests with calling convention accessors
- Fix fopen issue in Windows with encoding
- Configurations for desired eden size, old space size, new space size
- Adding configurable Features to the build from CMake
- Dead code removal and storage in specific branches for history
- Improving Stack report on errors
- Correct handling of time queries in Windows
- ARM64 JIT implementation
- Tons and Tons of tests