diff --git a/CHANGELOG.md b/CHANGELOG.md index 276a85af44..d5aecef1c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,7 @@ language runtime. The main focus is on user-observable behavior of the engine. * Enable FTS3, FTS4, FTS5, RTREE, and math function features in the bundled sqlite3 library. * Add support patches for Torch 2.7.0, PyGObject 3.52.3, xmlschema 4.0.0, lxml < 5.4.0, SciPy 1.15, jq 1.8.0, NumPy < 2.3, ormsgpack < 1.9.1, pandas 2.2.3, PyArrow 19.0, PyMuPDF 1.25.4. * The GraalPy Native standalone on Linux now uses the G1 garbage collector which is much faster. +* The GraalPy Native standalone on Linux now uses a lower-footprint Native Image garbage collection configuration. This reduces resident set size (RSS) for many workloads, but may increase startup time and warmup time, and can slow down some workloads. * The full-featured Python REPL is now available on GraalPy standalone builds for Windows. ## Version 24.2.0 diff --git a/mx.graalpython/mx_graalpython.py b/mx.graalpython/mx_graalpython.py index c94f524966..ae1ba77e18 100644 --- a/mx.graalpython/mx_graalpython.py +++ b/mx.graalpython/mx_graalpython.py @@ -297,16 +297,20 @@ def libpythonvm_build_args(): if graalos := ("musl" in mx_subst.path_substitutions.substitute("")): build_args += ['-H:+GraalOS'] else: - build_args += ["-Dpolyglot.image-build-time.PreinitializeContexts=python"] + build_args += [ + "-Dpolyglot.image-build-time.PreinitializeContexts=python", + "-H:+UnlockExperimentalVMOptions", + '-H:+RelativeCodePointers', + "-H:-UnlockExperimentalVMOptions", + ] if ( - mx.is_linux() - and not graalos + not graalos and mx_sdk_vm_ng.is_nativeimage_ee() and not os.environ.get('NATIVE_IMAGE_AUXILIARY_ENGINE_CACHE') and not _is_overridden_native_image_arg("--gc") ): - build_args += ['--gc=G1', '-H:-ProtectionKeys'] + build_args += ['-H:-ProtectionKeys'] profile = None if (