Liberica Native Image Kit Release Notes

Liberica Native Image Kit

Liberica Native Image Kit is based on Liberica JDK and Liberica JDK 17.0.2+9 version. Please, find the release notes below:

Liberica NIK distribution includes the following runtimes components:

  • LLVM - 12.0.1 (GraalVM CE Native
  • Python - 3.8.5 (GraalVM CE Native
  • Node - v14.18.1
  • Java - Liberica JDK, LTS and Liberica JDK 17.0.2+9, LTS
  • Java Script - GraalVM JavaScript (GraalVM CE Native
  • R - 4.0.3 (FastR)
  • TruffleRuby - (Ruby 2.7.4)
  • Native Image - GraalVM Version (Liberica JDK, LTS and Liberica JDK 17.0.2+9, LTS)
  • Wasm - WebAssembly (GraalVM CE Native

Issues fixed

Issue Description
[GR-34866] Phase size check should only start with bigger graphs.
[GR-12680] Reduce memory accesses in monitor snippets.
[GR-14444] Proxy cleanup and code size optimizations.
[GR-14806] Update specs and get new Ruby 3 specs
[GR-14954] Deactivate transiently failing test.
[GR-15580] Simplify @RestrictHeapAccess and minor safepoint-related changes.
[GR-15990] Add engine caching test for native ee builds
[GR-15990] Update truffleruby import in vm
[GR-17086] Don’t translate ArithmeticException
[GR-17176] Add preliminary support for TruffleString.
[GR-17457] Call body.doExecuteVoid(frame) for while/until
[GR-17457] Cleanup cast nodes
[GR-17457] Encoding cleanups
[GR-17457] Fail early and clearly when trying to build with a too old JDK
[GR-17457] Fix formatting of nil with width or precision.
[GR-17457] Fix printing VALUEs as pointers in rb_sprintf.
[GR-17457] Fix StringIO#ungetbyte behaviour and add specs.
[GR-17457] Fix webrick benchmark to get webrick from the gem-test-pack
[GR-17457] Suppress the Truffle log output help message for jt graph
[GR-34130] Suppress the Truffle log output help message for jt graph
[GR-17457] Include native toolchain launchers for *-libgraal envs
[GR-17457] JT: Only set GEM_HOME and not GEM_PATH for jt rubocop
[GR-17457] JT: run mx sforceimports in vm-enterprise
[GR-17457] Move byte/short/float implicit casts to ForeignToRubyNode and use ByteArraySupport for #unpack nodes
[GR-17457] Remove explicit private def for standard #initialize* methods
[GR-17457] Remove unused profile
[GR-17457] Simplify compatibleEncodingForRopes() and remove redundant conditions
[GR-17457] Simplify to_s code in String#sub!
[GR-17457] Speedup String#getbyte
[GR-17457] String encode fallback
[GR-17457] Tag MRI test which times out too often
[GR-17457] Untag more MRI tests
[GR-17457] Update macOS 10.12 to 10.13.
[GR-17457] Update Pair<Rope, RubyEncoding> to use RopeWithEncoding
[GR-17457] Update to RuboCop 1.22.1 and untag ObjectSpace.garbage_collect spec
[GR-17457] Update truffleruby in vm
[GR-17457] Use a while loop instead of Integer#times in benchmark-interface
[GR-17457] Use the newer spelling for TruffleCheckBlockListMethods
[GR-17457] Write flamegraphs using the new built in functionality.
[GR-18142] Cleanup of the deprecated thread methods implementation.
[GR-18163] Add helper to require the original feature string from within patches
[GR-18163] Add micro benchmark for
[GR-18163] Add patch for installing sorbet-static correctly on TruffleRuby (#2434)
[GR-18163] Add spec for matching a Regexp against a broken String
[GR-18163] Filter invalid constant names from Module#constants
[GR-18163] Fix -0.0 <=> 0.0 and -0.0 <=> 0 to return 0 like on CRuby (#1391)
[GR-18163] Fixes for the digest gem (#2511)
[GR-18163] Fix exception creation when Errno is subclassed
[GR-18163] Fix Socket#(local|remote)_address to retrieve family+type from the file descriptor (#2444)
[GR-18163] Fix yield for defined case inside a block
[GR-18163] Implement all StringScanner methods (#2520)
[GR-18163] Implement GC.{measure_total_time, total_time} and update GC.stat to update provided hash
[GR-18163] Implement rb_str_locktmp and rb_str_unlocktmp
[GR-18163] Range#step with begin-less range returns correct ArithmeticSequence (#2516)
[GR-18163] Update defined? to return frozen strings
[GR-18163] Update File.utime to use nanoseconds
[GR-18163] Update Kernel#print to print $_ when no arguments are given
[GR-18163] Use compensated summation for {Array,Enumerable}#sum when floating point values are included
[GR-19220] Add category kwarg to Kernel.warn and Warning.warn (#2533)
[GR-19220] Add missing final specifier (#2454)
[GR-19220] Add new env var to disable the compiler when running TruffleRuby tests with JVM CE to speed up execution (#2460)
[GR-19220] Condition profile the end of ranges when looping (#2456)
[GR-19220] Fix Enumerable#grep{_v} optimization for non-string elements (#2517)
[GR-19220] Implement Hash#except (#2463)
[GR-19220] Inline AddNode specialization that are not yet inlined into InlinedAddNode (#2518)
[GR-19220] jt graph command (#2449)
[GR-19220] No MatchData allocation for match? (#2509)
[GR-19220] Rework encoding negotiation (#2522)
[GR-19220] Simplify fromOnStackMarker access to basic object read/write (#2530)
[GR-19220] Update jt graph to work with latest Graal (#2513)
[GR-19220] Use TRegex ASCII encoding if the regexp encoding is US-ASCII and the match string is CR_7BIT (#2447)
[GR-19220] Various fixes for jt graph (#2457, #2459, #2461)
[GR-19691] Add CVE-2021-41817 to the list of known CVEs
[GR-19691] Document how to benchmark the interpreter and run a single iteration of a benchmark
[GR-19691] Improve docs about setting up a UTF-8 locale
[GR-19691] Mention TruffleRuby can run Rails in the compatibility docs
[GR-19691] Move 2 changelog entries which should be under 22.0
[GR-19691] Prepare the CHANGELOG for 22.0
[GR-19691] Remove the section about rebuilding polyglot/libpolyglot
[GR-19691] Update docs: sdbm has been removed from the stdlib in Ruby 3
[GR-19691] Update the docs about running specs for the next version
[GR-19854] Aux Engine Cache for Node.js.
[GR-19893] Espresso llvm installable.
[GR-19893] Make espresso-llvm installable ID a constant across CE/EE.
[GR-20446] Add new struct inspect method with keyword_init info
[GR-20446] Add Thread.ignore_deadlock accessor
[GR-20446] Call Hash#collect from Enumerable#collect only for Hash
[GR-20446] Clamp timeout values for Thread#join
[GR-20446] Fix Psych naming exception message
[GR-20446] Fix String#sub test case for non-string to_s result
[GR-20446] Fix Struct#{[], []=} IndexError message for too small size
[GR-20446] Implement backtrace-limit option
[GR-20446] Implement Symbol#name
[GR-20446] Relax Fiber#transfer limitation
[GR-20446] Remove special $SAFE global and related C api methods
[GR-20446] Update Enumerable#grep{_v} to add Regexp optimization
[GR-20446] Update IO#write to accept multiple arguments
[GR-20446] Update Module#{public, protected, private, public_class_method, private_class_method} and top-level private and public methods
[GR-20446] Update String and MatchData methods to return String instances when string is a subclass
[GR-20446] Update String methods to return String instances
[GR-2131] Allow Node.getCost() to be overridden.
[GR-21590] Update Python imports
[GR-21680] Implementation of Intl.DateTimeFormat.prototype.formatRangeToParts.
[GR-2182] Sulong: A couple of AOT-related fixes.
[GR-21865] Introduce copy-on-write image heap provider on Windows.
[GR-21866] ClassHeritage should use outer PrivateEnvironment.
[GR-22699] Implement code generation framework for HotSpot to native transitions called native bridge.
[GR-22706] Provide a Truffle API to properly trigger and subscribe to “exit events” across languages.
[GR-30838] Inner loops first reverse post order.
[GR-22880] Allow reflection registration of all ClassLoader methods.
[GR-23874] LLVM 12’s strip needs to be told explicitly to preserve the .llvmbc bitcode section
[GR-23997] Periodic update of the graal import.
[GR-24308] Fix (un)pickling long values with arbitrary numbers of bytes
[GR-24391] Update TRegex’s Unicode data to version 14.
[GR-24402] Storage classes can have precise field types.
[GR-24501] Add ICU4J GraalVM component.
[GR-24501] Backport: Removing the definition of ICU4J library from graal-js.
[GR-24501] Move ICU4J library to truffle and update imports.
[GR-24501] Move ICU4J library to truffle.
[GR-34425] Migrate truffle to jsonnet.
[GR-24662] Migrate regex to jsonnet.
[GR-24662] Migrate sdk to jsonnet.
[GR-24662] Migrate tools to jsonnet.
[GR-24662] More jsonnet migration.
[GR-24679] Diagnose should imply DumpOnError.
[GR-24895] Random docs updates.
[GR-25050] Clean-up analysis.
[GR-25050] Various clean-ups.
[GR-25050] Various cleanups.
[GR-25654] Avoid getCallTarget() check.
[GR-25654] Create CallTargets lazily.
[GR-25654] Deprecate TruffleRuntime#createCallTarget(RootNode).
[GR-25654] Migrate from createCallTarget() to getCallTarget().
[GR-25873] Restructure the Getting Started section and mention new ways to install TruffleRuby+GraalVM
[GR-25878] Generate JSON reports for unittest command
[GR-26067] Removed makegraaljdk command.
[GR-26186] Various fixes.
[GR-26395] Periodic update of the graal import.
[GR-26395] Update graal import to get fix for GR-34972.
[GR-26435] Extend CEntryPointErrors.
[GR-26437] Adopt NodeLibrary.
[GR-27043] Fix setting the current RubyThread for fibers before TruffleContext#enter() which polls
[GR-27068] Allocated bytes metric for Polybench.
[GR-27272] Support masked vector shuffles and VPERMT2B
[GR-27558] Improve error and doc for ProxyObject#getMemberKeys().
[GR-27559] Migrate more POL messages
[GR-27559] Remove more POL messages
[GR-27559] Remove PythonObjectLibrary
[GR-27740] Support hash for native float subtype.
[GR-27869] Remove python-specific code from fdopendir and closedir
[GR-2798] Fix wrong merge of the CHANGELOG.
[GR-29041] Update ci overlays with 3-thread benchmarks
[GR-29082] Add flag –quiet to ginstall.
[GR-29897] Fix: missing incref in PyObject_SelfIter.
[GR-29957] Remove DeclarativeSubstitutionProcessor.
[GR-30206] Extend the agent to collect the locale and classname of resource bundles.
[GR-30231] Fix JavaCPP AArch64 libraries
[GR-30242] Avoid deopts in ArrayCopySnippets on SVM
[GR-30255] Localization compression pool should respect NumberOfThreads.
[GR-30262] Add install_dependencies command.
[GR-30531] Fold extended loads into AArch64Move.LoadOp and pass around moveKind in more places.
[GR-34086] Support Class.toGenericString on JDK 17.
[GR-30835] Refactor handleRemovedMethod by only taking receiver’s klass
[GR-31145] Make updating context locals and context thread locals work for inner contexts.
[GR-31170] Add some AArch64 Darwin features.
[GR-31170] Add some AArch64 Windows and Darwin features.
[GR-31175] Add helper method to AArch64Address.
[GR-31326] Type checking: common hub access and slot check on svm.
[GR-31353] Allow ReentrantLock. and ReentrantLock.getOwner in PE.
[GR-31357] Replacing the deprecated TruffleCheckBlackListedMethods by TruffleCheckBlockListMethods.
[GR-31530] Generate JSON reports for unittest command
[GR-31633] Drop Java 8 support and update the Eclipse formatter
[GR-31633] Use JDK11 features and cleanups
[GR-31678] Add AArch64 pattern for negate shift.
[GR-31710] Support building js-launcher with image-builder on module-path.
[GR-31930] Reflection JCK bugfixes
[GR-31938] Espresso field redefinition support.
[GR-32141] Analysis refactoring.
[GR-32145] Use slots in reversible binary ops.
[GR-32147] Split LookupAndCallTernaryNode to reversible and non-reversible subclasses.
[GR-32147] Use slots in in inplace ternary operations.
[GR-32194] Add compilation queue decision logging.
[GR-32234] Add call tree csv links for easier imports into graph db.
[GR-32346] Simplify test for GR-32346.
[GR-32361] Use new benchmarking framework.
[GR-32386] Fix assertion failures in espresso.
[GR-33851] Remove CE 8 artifacts, add espresso 17 artifacts.
[GR-32403] Compress FrameInfo Encoding.
[GR-32403] Further Compress Frame Encoding.
[GR-32410] Update to jvmci-21.3-b03 .
[GR-32480] Remove analysis Arrays#copyOf optimization.
[GR-32551] Build native-image with -H:+UseReferenceHandlerThread.
[GR-32616] Increase timeouts for warmup benchmarks
[GR-32616] Indicate survivor overflow into old generation for pinned chunks.
[GR-32616] Update GC documentation and remove GC legacy compatibility classes.
[GR-32616] Update graal to get SVM GC fixes
[GR-32672] There are now official Docker-based Debian images for releases (#2405)
[GR-32716] Add test to compare timezones in ICU and JDK.
[GR-32720] Fix links to logo and .md files outside doc/user for doc/user/
[GR-32720] Ref links inside the doc are broken on github and OHC while rendered well on
[GR-32720] Set up documentation versioning and use rel paths.
[GR-32724] Loop refactorings.
[GR-32750] Ensure c1visualizer is launched with JDK 8
[GR-32764] Fix instrument exceptions were logged by default if no engine was entered, but they should be thrown.
[GR-32767] Better splitting for regexp using methods.
[GR-32767] Intern Regexp objects on RubyLanguage.
[GR-32783] Avoid building multiple images for python benchmarks
[GR-32789] Implement rb_sprintf using our format compiler.
[GR-32799] Re-run initialization of JCAUtil.
[GR-32815] Renaissance 0.13.
[GR-32820] Array library use fixes
[GR-32839] Fix RootNode#cloneUninitializedImpl to take the right lock
[GR-32840] Add gate that smoke-tests the Polybench workloads.
[GR-32949] CPUSampling fixes for the release.
[GR-32964] Remove unnecessary PiNode that are anchored at a ValueAnchorNode.
[GR-33016] Resubmit a PR to include WASM and NI changelogs.
[GR-33125] Implemented Non-trapping Float-to-Int Conversion.
[GR-33170] Minor footprint improvements
[GR-33171] Remove uses of ConditionProfile for the loop condition in RepeatingNode impls.
[GR-33207] Language libraries and launcher
[GR-33210] Multiprocessing inner context: use env of current ctx, not the parent.
[GR-33232] Intrinsify libgraalpython/_codecs_truffle.
[GR-33245] Always validate loop fragments as acyclic.
[GR-33246] Allow querying the BarrierSet for the need for pre-write barriers
[GR-33248] Fix DerivedConvertedInductionVariable zero extend
[GR-33249] Avoid ConcurrentModificationException in GraphUtil
[GR-33256] Remove obsolete maven tag from SVM gates.
[GR-33268] Sulong: Template options can be specified in Sulong benchmarks VMs.
[GR-33268] Sulong: Use Polybench to create AOT Sulong benchmarks.
[GR-33278] Throw RangeError when byteLength passed to ArrayBuffer::NewBackingStore() is too large.
[GR-33299] Parse pointsto options for standalone pointsto.
[GR-33305] Setup indirect call when using PythonBuffer*Library.
[GR-33358] Refactor ArrayCopySnippets.
[GR-33413] Prepare next dev cycle.
[GR-33426] Documentation updates for 21.3 release.
[GR-33426] Update documentation for VS Code extensions required for 21.3 release.
[GR-33467] MonitorSnippets logicCompareAndSwapWord should kill any.
[GR-33481] Drop default workload size from dacapo:tradebeans.
[GR-33503] Disable tautological-compare warnings in query code compilation on darwin.
[GR-33506] Cleanup shift constant folding.
[GR-33514] Merge SubstrateArraycopyWithExceptionNode and SubstrateArraycopyNode.
[GR-33515] Make ArrayCopyNode a WithExceptionNode.
[GR-33545] Solve the circular dependency between static initializers.
[GR-33560] Conditionalize loading of JNI library ‘harfbuzz’.
[GR-33578] Support registration and access of resources with a trailing slash.
[GR-33592] Intrinsify _collections.
[GR-33602] Backport to 22.0: Bugfixes and improvements for ProgressReporter (#3955).
[GR-33602] Fix links in colorless output.
[GR-33602] Improve and fix ProgressReporter (#3955).
[GR-33602] Introduce new build output style for Native Image.
[GR-33603] Improvements to SubprocessUtil.
[GR-33614] Escape analysis for Array.newInstance.
[GR-33644] Support newlines in Truffle’s OptionProcessor.
[GR-33641] Support newlines in Truffle’s OptionProcessor.
[GR-33648] Intrinsify libgraalpython/sys_post_init.
[GR-33657] Extend CEntryPoint annotation by include attribute.
[GR-33659] Implementation of Intl.DisplayNames v2 proposal.
[GR-33660] Implementation of Intl Locale Info proposal.
[GR-33668] Add a < b => !(b < a) implication for integers
[GR-33675] Induction variable duplication must not gvn.
[GR-33683] Do not force en_US locale in the Native Image Driver.
[GR-33683] Update the process of setting the default locale.
[GR-33686] Implementation of ‘Extend TimeZoneName Option’ proposal.
[GR-33687] Implementation of Intl Enumeration API proposal.
[GR-33691] Properly quote arguments passed via argument files
[GR-33705] Refactor iterative analysis code to common method.
[GR-33717] Sulong: Running LLVM unit tests on OL infrastructure.
[GR-33729] Switch SVM gates from JDK 8 to JDK 17.
[GR-33738] Finish PCRE2 upgrade.
[GR-33763] Add changelog entries for GraalWasm 21.3.0 release.
[GR-33764] Collapse recursive calls in flamegraphs.
[GR-33781] Invalidate interface methods leaf assumptions during itable creation
[GR-33802] Fix logging in JDWP.
[GR-33803] Update digests of the HotSpot stubs.
[GR-33811] Follow Github issues.
[GR-33815] Use labsjdk-ce-11 in SVM gates.
[GR-33816] Update Publications list for 2020 and 2021.
[GR-33844] Prevent SafeNodes from being canonicalized into IntegerDivRemNodes.
[GR-33845] Every MacroNode is a state split and a memory kill.
[GR-33854] Transform (-a)(-b) into ab.
[GR-33857] Fix static guards cannot be asserted in fallback guard, they always need to be executed.
[GR-33859] Remove obsolete JUnit substitution.
[GR-33862] Re-enable OpenMP in GNU-R build.
[GR-33863] Do not use GNUR_FC env var.
[GR-33864] Flamegraph fixes
[GR-33865] Refator NoClassInitializationPlguin to common place.
[GR-33867] Correction of the handling of Integer.MIN_VALUE in JSUnaryMinusNode.create().
[GR-33869] Close the context with cancelIfExecuting flag when terminating the process.
[GR-33869] Do not print exceptions from Context.close() when terminating the process.
[GR-33873] Fix handling of null jdk.module.path property.
[GR-33875] Fail when invoking invalid method pointers.
[GR-33876] Add ASCII encoding to reduce range of Unicode char sets to ASCII if match string is ASCII-only.
[GR-33876] TRegex: Update assertion to allow usage of ASCII encoding.
[GR-33878] Unconditional deopts in snippets are not yet supported.
[GR-33909] Unconditional deopts in snippets are not yet supported.
[GR-33881] Bump timeout for gate-compiler-test-labsjdk-ee-11-linux-amd64-avx3.
[GR-33883] Espresso JDWP jdk17 jck fixes.
[GR-33885] Support running the JCK on JDK 17.
[GR-33886] Remove KillingBeginNode
[GR-33888] Create an oracle to query if a klass is leaf
[GR-33890] LoopNode OSR should preserve the frame in stack frames.
[GR-33891] Work around NoClassDefFoundError on stack overflow.
[GR-33894] Stricter checking of the memory graph
[GR-33895] Covariant return types in NodeInterface.asNode overrides are bad for code shape.
[GR-33909] Support snippets without return node.
[GR-33914] Fix blockSizes array length in partial blocks computation.
[GR-33915] Add verification for invoke receiver types.
[GR-33916] Clarify naming for the GraalVM Ruby image and add notify_emails
[GR-33916] Hardcode and fix name of host-vm field when measuring binary file sizes.
[GR-33916] Hardcode vm field when measuring binary file sizes.
[GR-33923] Inherit user declared constructor parameter annotations and copy them to generated node create factory methods.
[GR-33927] Inline replacements after PE only for direct calls.
[GR-33928] Intrinsify itertools.
[GR-33930] Decouple HostedOptionParser setup from classpath/modulepath scanning.
[GR-33504] Decouple HostedOptionParser setup from classpath/modulepath scanning.
[GR-33938] Implemented polyglot sharing layers.
[GR-33939] Recent changes in the specification of top level await.
[GR-33941] Class functions use custom locals
[GR-33942] Migrate Python gates to jdk17, keep only a few jdk8 gates
[GR-33947] Revert “Force inner contexts to have their own language instance”.
[GR-33950] Allocate and manage WasmMemory as a direct ByteBuffer.
[GR-33950] Allow copy-less ArrayBufferGetContents from WasmMemory.
[GR-33950] Make UnsafeWasmMemory implement isPointer(), asPointer().
[GR-33951] Fix a couple issues related to native memory allocation and release
[GR-33955] Handle resource bundle instances in the heap in the localization optimized mode.
[GR-33962] Refactor property locations.
[GR-33966] Don’t build LibGraal component by default.
[GR-33967] Refactor FastThreadLocal to take a name argument.
[GR-33977] Fixing AIOOB from GlobalRegistry.ensureExternalGlobalCapacity().
[GR-33983] Remove obsolete JLineFeature.
[GR-33984] Improve the heap verifier and the zeroing of unaligned chunks.
[GR-34162] Improve the heap verifier and the zeroing of unaligned chunks.
[GR-33985] Make the safepoint thread more patient.
[GR-33989] Intrinsify mmap.
[GR-33993] intrinsify bool, code, time, _descriptor.
[GR-33995] Intrinsify bytes.
[GR-33998] Don’t create DebugContext when scanning objects.
[GR-34000] Change prefetch options to useful defaults.
[GR-34005] Remove field.
[GR-34011] Implementing normative changes around class constructors.
[GR-34015] Support illegal constant types
[GR-34018] Allow simplifications during unrolling again.
[GR-34022] Init context thread locals and notify thread initialization for the thread used in loading pre-initialized context on SVM.
[GR-34023] The arrays in array-based SOM are final non-null.
[GR-34028] Avoid building more components than necessary for running the debug info tests #3554.
[GR-34034] Refactor and fix AArch64 patching logic.
[GR-34035] Eliminate more method substitutions
[GR-34053] Prevent a safepoint when a thread tries to print a fatal error.
[GR-34087] Handle more cases within IntrinsifyMethodHandlesInvocationPlugin.
[GR-34094] Prevent from NPEs from profiler when there are nodes without source sections.
[GR-34096] Backport to 22.0: Workaround for Cleaner static synchronized methods leading to recursive locking of additionalMonitors map.
[GR-34097] Reset the resumption state after the resumption of SwitchNode.
[GR-34106] Link libsulong to stdlib if on Darwin.
[GR-34107] Add null check before .getClass()
[GR-34108] Extend boot module layer to include required modules #3821.
[GR-34109] Fix bug in AArch64NodeMatchRules.
[GR-34110] Move time of canonicalization when removing obsolete proxies
[GR-34111] Add graph stage flags for all lowerings
[GR-34113] Fix SecuritySubstitutions for AccessController.doPrivileged* on JDK 17.
[GR-34114] Update the CI overlay.
[GR-34114] Use pre-built GNU-R for linux jobs.
[GR-34117] Remove obsolete blacklisting of* tests.
[GR-34118] Add a unique id into Message.
[GR-34124] Enable javac image testing on newer JDKs.
[GR-34130] Log handler should not try to lock special files.
[GR-34134] Graal-nodejs should work with –use-strict option.
[GR-34137] Fix data table compilation on the latest labs LLVM toolchain.
[GR-34138] Fix build issue with OpenJDK 17.0.2-dev.
[GR-34140] Add dispatch object into ExecutionListener and ExecutionEvent.
[GR-34142] Optimize partial evaluation of Node.getRootNode().
[GR-34144] Fix AnalysisType.hasSubTypes().
[GR-34147] Finagle-chirper and finagle-http benchmarks on renaissance 0.13.0.
[GR-34149] Fix failing aarch64 benchmark jobs.
[GR-34150] Correction of the parsing of async arrow functions with rest parameter.
[GR-34156] Remove SubstrateArraycopyWithExceptionNode.
[GR-34159] Refactor espresso processors.
[GR-34163] Minor improvement of “Error loading file” message.
[GR-34169] Simplify builtin nodes (remove “call” indirection).
[GR-34177] Don’t differentiate between explicit and implicit relocation addend.
[GR-34181] Add dispatch object into Source and SourceSection.
[GR-34182] Tag transiently failing tests in TestString2
[GR-34183] Remove Graal support for jaotc.
[GR-34184] Remove or replace jdk8 compiler gates.
[GR-34185] Add AMD64 floating point Math.min/Math.max intrinsics.
[GR-34194] Drop JDK8 benchmarks.
[GR-34199] New-line is allowed before an awaited expression.
[GR-34202] Update 3rd_party_license.txt entries.
[GR-34209] Fix transient issue in manual sampling test; Add timeout parameter to manual sampling.
[GR-34213] Update and
[GR-34216] Resort to loop frequencies computed based on loop exit frequencies.
[GR-34219] Materialization can be invoked from a thread without an associated language instance.
[GR-34229] Fix G1 write barrier location identities.
[GR-34230] Improve GC-specific forced inlining.
[GR-34231] Do not collect data if sampler is not collecting and remove the WarmupEstimator.
[GR-34235] Avoid NPE from NativeFunctionRootNode.getName() during CallTarget creation.
[GR-34239] Add cache for recently used regular expressions.
[GR-34241] ContextifyScript::EvalMachine() should pause the execution when break_on_first_line only.
[GR-34245] Truncation in JVM_GetNanoTimeAdjustment() on 32-bits archs
[GR-34359] Prevent from memory leaks in LSP.
[GR-34365] Add GC.auto_compact accessors
[GR-34365] Add sorting for Dir.glob (#2523)
[GR-34365] Add support for Array subclass methods to return Array (#2510)
[GR-34365] Add support for ENV.except (#2507)
[GR-34365] Add WERRORFLAG to RbConfig
[GR-34365] Allow Hash#transform_keys to take a hash argument (#2464)
[GR-34365] Assigning to a numbered parameter raises SyntaxError (#2506)
[GR-34365] Don’t warn when uninitialized instance variable is accessed (#2502)
[GR-34365] Eval fixes.
[GR-34365] Fiber::blocking? support.
[GR-34365] Import Ruby 3 files and set RUBY_VERSION to 3.0.2
[GR-17121] Import Ruby 3 files and set RUBY_VERSION to 3.0.2
[GR-34365] Handle Kernel#clone with freeze: true argument (#2512)
[GR-34365] Implement Array#slice with ArithmeticSequence (#2526)
[GR-34365] Implement Integer#zero?
[GR-34365] Implement Proc#{eql, ==}
[GR-34365] Kernel#lambda now warns if called without a literal block (#2500)
[GR-34365] Make interpolated strings not frozen
[GR-34365] Module#alias_method now returns the defined alias as a symbol (#2499)
[GR-34365] Module#attr_* methods now return an array of method names (#2498)
[GR-34365] Random::DEFAULT now refers to the Random class and Module#deprecate_constant is affected by Warning[:deprecated]
[GR-34365] Remove TRUE, FALSE, and NIL constants (#2505)
[GR-34365] Separate the logic to post-process the parser and tables from tool/patch_parser.rb
[GR-34365] Symbol#to_proc returns lambda (#2508)
[GR-34365] Update accessing a class variable from the top-level scope to be a RuntimeError
[GR-34365] Update Hash#each to consistently yield a 2-element array
[GR-34365] Use union merge for spec/truffleruby.mspec
[GR-34386] Restrict some slots to only runtime values, so that their lookup can be used in any situation.
[GR-34392] Intrinsify functools.
[GR-34398] Cleanup sulong benchmarks.
[GR-34403] Add missing exception edge for array allocations.
[GR-34403] Preparations for array allocation exception edges
[GR-34405] LibGraalScope.close must reset currentScope before detaching.
[GR-34407] Enriching Analysis Results Statistics with Call Edges
[GR-34408] Export object of inspector module should be usable with WeakMap.
[GR-34413] Fix NPE during debugging.
[GR-34413] Remember previous options to reinitialize the isolate if needed.
[GR-34415] Support snippets with multiple unwinds.
[GR-34420] Speculative guard movement: fix force hoisting for guards in inverted loops.
[GR-34422] Use toolchains for musl cross-compilation and improve docs for building static native-images.
[GR-34423] Expose Array#length and #clone() as interop members.
[GR-34425] Improve InteropLibrary#readMember docs and assertions.
[GR-34433] Set java compliance of SVM Truffle TCK to 8+.
[GR-34507] Set java compliance of SVM Truffle TCK to 8+.
[GR-34433] JS: Migrate most CI gates to JDK17.
[GR-34433] Update CI overlay.
[GR-34444] Replicate hosted module relations in runtime boot module layer #3991.
[GR-34452] Remove dependancy to TRUFFLE_WARMUP_ESTIMATOR.
[GR-34452] Remove the warmup estimator tool.
[GR-34454] Prevent from attaching a disposed breakpoint.
[GR-34455] Use correct form code (DW_FORM_sec_offset) for stmt_list attribute #3910.
[GR-34468] Various C API fixes.
[GR-34478] Add missing module info for SVM MBeans.
[GR-34479] Fix fetch-jdk invocation.
[GR-34483] Keep track of single implementors of classes/interfaces in Class Hierarchy Analysis
[GR-34484] Refine the class hierarchy assumption in ObjectKlass to keep track of classes which have no strict concrete subclasses
[GR-33888] Refine the class hierarchy assumption in ObjectKlass to keep track of classes which have no strict concrete subclasses
[GR-34491] Fix db-shootout not found on JDK11.
[GR-34492] Ignore push events for mirrored PRs.
[GR-34508] Extract unlikely code paths from Truffle runtime methods.
[GR-34509] Early argument parsing, immutable runtime options, and prologue/epilogue changes.
[GR-34510] Update visualvm to build #1072.
[GR-34512] Fix SubstrateGraphBuilderPlugins.extractClassArray().
[GR-34518] Fix Debugger displaying String type variables as plain objects.
[GR-34524] Use PythonObjectSlowPathFactory as Python3Core.factory and share it everywhere.
[GR-34525] Add string concatenation to truffle block list.
[GR-34530] Use ruby 3.0.2 in linux-aarch64 CI
[GR-34541] SL update to JDK11 GraalVM by default and embedding docs update.
[GR-34544] Create abstraction for querying all callees and parsing context of analysis method.
[GR-34551] Extend frame access verification to fix up slot types whenever possible
[GR-34551] New Truffle Frame API.
[GR-34554] Simplify dict check
[GR-34556] In TruffleLogger use null parameters instead of Object[]{null} when parameters are not specified.
[GR-34560] Lower ExceptionObjectNode late.
[GR-34415] Lower ExceptionObjectNode late.
[GR-34561] Use the exception path from the snippet when lowering WithExceptionNodes.
[GR-34415] Use the exception path from the snippet when lowering WithExceptionNodes.
[GR-34563] Support jump tables with secondary keys.
[GR-34574] Embed Python3Core into PythonContext to avoid indirection.
[GR-34577] Remove support for outdated JDK versions between 11 and 17.
[GR-34580] Each source object in the heap has to have a name.
[GR-34585] Switch sulong gate jobs to JDK17.
[GR-34588] Add JFR support for threads.
[GR-34591] Ensure native-image code installation applies all patches.
[GR-34613] Compatibility fixes
[GR-34614] Fixes for PyTorch
[GR-34617] intrinsify sys.excepthook
[GR-34638] Introduce PrintAnalysisCallTreeType option.
[GR-34639] Adapt to JDK method signature change.
[GR-34639] Update to jvmci-22.0-b01.
[GR-34639] Update to jvmci-22.0-b02.
[GR-34643] Verify all snippets with SnippetFramestateAssignment.
[GR-34646] Better handling of unaligned reads.
[GR-34651] Fix: Do not assume storage type of bytes object.
[GR-34662] Update to oraclejdk17 with JDK-8269745 fix.
[GR-34664] Sulong: add extract element vector access for long.
[GR-34667] Debug info: Get modifiers of original method/field for DW_AT_ACCESSIBILITY #3853.
[GR-34669] GC policy sizes lock used before thread object is assigned.
[GR-34671] Avoiding cyclic delegation between UserScriptException and JSErrorObject.
[GR-34672] Load dependencies by SOName.
[GR-34676] Sulong: wrap the native function returned by rtld default.
[GR-34678] Resolve breakpoint to the next location if out of RootNode, but on the same line as the next location.
[GR-34682] JSRuntime.safeToString() should not cause side-effects through STACK_PROXY.
[GR-34684] Improve Economy mode CI
[GR-34687] Canonicalize Class.isAssignableFrom(Object.getClass()) to Class.isInstanceOf(Object).
[GR-34688] Improve early constant folding of DynamicHub flags.
[GR-34689] Fix race in field value recomputation.
[GR-34694] Update documentation for reflection changes
[GR-34702] Stale JNI reference in the JNIExceptionWrapper#throwableHandle.
[GR-34703] Sealed classes support
[GR-34704] GraalVM env files should use component inclusion lists.
[GR-34706] Espresso invoke nodes over-report polymorphism.
[GR-34713] Implement support for changing the time zone via process.env.TZ.
[GR-34715] Espresso fails to run renaissance dotty benchmark.
[GR-34720] Fix display of multiple threads in graph.
[GR-34721] Add modificationCount to Graph and use it to suppress graph dumping
[GR-34722] Hide matcher related Values in the CFG dump
[GR-34739] Implement ResourcesFeature Module awareness.
[GR-34745] Usability improvements to CPU Sampler.
[GR-34746] Add SignalCorrelation microbench
[GR-34750] Generate JvmFuncsFallbacks.c into mxbuild.
[GR-34755] Invalid sharing errors in JS.
[GR-34759] Cleanup and fix safe arithmetic snippets.
[GR-34764] Add some sanity checks around the use of init memory
[GR-34768] Proofreading GraalVM Tools for Micronaut Extension README.
[GR-34771] Prevent repeated stack walks for exception state when entering Python.
[GR-34773] PEGraphDecoder reports wrong method for invocation plugins.
[GR-34781] Parse VM options
[GR-34782] GitHub PR #239: intrinsify all and any builtins
[GR-34783] Using long time-zone names for Date formatting in v8-compat mode.
[GR-34785] Order implicit casts and check singletons by identity in @Specializations
[GR-34785] Type system code generation improvements.
[GR-34786] Intrinsify base_exception.
[GR-34788] Add more guarantees around snippet rewirings.
[GR-34791] Bump latest ECMAScript version to 2022.
[GR-34792] Check isInstantiated in lowering instead of snippet.
[GR-34793] Extra checks for AMD64 call displacement alignment.
[GR-34795] Fix HexCodeFileDisassemblerProvider.
[GR-34797] Clean up AArch64SafepointCheck and StackOveflowCheck.
[GR-34800] Fix transient error on scala-dacapo:specs large.
[GR-34804] Transient timeout of gate-vm-ce-polybench-linux.
[GR-34805] intrinsify sys
[GR-34806] Fix debug distributions and the Disassembler component.
[GR-34811] Make Darwin AArch64 dependencies optional.
[GR-34812] Make TCK tests work on JDK9+ based GraalVM.
[GR-34834] IllegalArgumentException: IgvSupport.
[GR-34841] Direct calls to imported wasm functions need to be in the right context.
[GR-34855] Native Image installable is missing from linux-aarch64 and windows-amd64 deployments.
[GR-34865] Control flow graph: improve reverse post order for inner loop sibling frequency calculations.
[GR-34869] TruffleLogger wrongly handles default log level in multi context scenario.
[GR-34872] Flush application output on dispose.
[GR-34873] Switch vm-native gates from JDK 8 to JDK 17.
[GR-34874] Do not include SecureRandom in every image.
[GR-34877] Fix option values equality did not take into account whether option values were set.
[GR-34877] Revert workaround for OptionValues.equals.
[GR-34885] Add espresso style gate to github.
[GR-34891] Fix SpotBugs warning.
[GR-34893] Deprecated API cleanup.
[GR-34896] When folding RawLoadNode and JavaReadNode, use the access kind.
[GR-34899] Relax some InvocationPluginHelper asserts
[GR-34901] Upgrading the underlying Node.js to version 14.18.1.
[GR-34904] Exclude libgraal deferred plugin support code from jacoco.
[GR-34916] Intrinsity python_cext - PyDict_XXX.
[GR-34917] Do not attempt to write a regular member when the writing of a hash entry succeeded.
[GR-34922] Misc NFI improvements.
[GR-34926] Remove deprecated #findExportedSymbol
[GR-34929] Fix final reference get/clear for jdk16+ in Espresso.
[GR-34931] Register String(byte[]) constructor for runtime JNI access.
[GR-34935] Run escape analysis before static analysis.
[GR-34936] Refactor the MethodPointer and the profiling information in the nodes.
[GR-34937] Adapt specs so Strings are always created with a #bytesize multiple of the encoding minimum length
[GR-34937] Drastically simplify String#{ljust,rjust,center} and fix character length for broken UTF-16 strings
[GR-34940] Correction of timezone formatting in Intl.DateTimeFormat (in v8-compat mode).
[GR-34946] Synchronize PolyglotLanguageContext creation properly.
[GR-34952] Backport to 22.0: Support the Sulong NFI backend in Espresso.
[GR-34953] Support floating-point compare-and-swap in the LLVM backend
[GR-34957] Protect against recursive bound function and proxy cache specializations.
[GR-34971] New FastRSession that allows sharing of one context for multiple tests.
[GR-34972] Modular multi-release JARs don’t have expected exports.
[GR-34975] Truffle TCK may not close context.
[GR-34983] Update CI overlay.
[GR-34985] Fix prefer method with varargs signature if the signature has a higher priority match.
[GR-34991] Implement pyexpat module
[GR-35000] Update Kernel#instance_variables to return insertion order
[GR-35001] Do not throw if no Java frame in JVM_GetCallerFrame.
[GR-35002] Cancel FileIO finalizer if initialization fails.
[GR-35003] NonNullParameter should set a non-null stamp for the ParameterNode
[GR-35019] Avoid unnecessary calls to #clone for interpolated Regexps
[GR-35026] Add polybench warmup tests
[GR-35040] Linker flag -pthread
[GR-35040] Thin launcher exit
[GR-35043] Avoid using asHostObject.
[GR-35052] Correction of resolved options of Intl.DateTimeFormat.
[GR-35053] Getting rid of a warning produced by jsig library on JDK 16+.
[GR-35064] Minor adjustment of the generation of the best pattern in Intl.DateTimeFormat.
[GR-35072] Fix hasNextTier() intrinsic and Sulong backEdgeCounter.
[GR-35072] Sulong: reportLoopCount() in first tier.
[GR-35073] Update to jvmci-22.0-b03.
[GR-35079] Perform FS lookup with ES bare specifiers.
[GR-35081] Deploy JavaScript as language library.
[GR-35084] Use OracleJDK based builds for benchmarking.
[GR-35085] Verify that uninterruptible methods are safepoint free.
[GR-35098] Do not hardcode mx HEAD in Truffle gates.
[GR-35099] Ensure linux static libs can be used by custom platforms.
[GR-35108] Refactor SnippetTemplates.Templates constructor
[GR-35109] Allow null checks on volatile accesses.
[GR-35113] Add more profiling and fast-paths to SequenceStorageNodes
[GR-35115] Options of type LocatableMultiOptionValue can never have null value.
[GR-35116] Add more tests for indexof and regionEquals intrinsics.
[GR-35117] Avoid pulling File and URL code in image via CodeSource.location.
[GR-35117] Remove code that makes CodeSource.getLocation reachable.
[GR-35118] Avoid duplication of Class.arrayType() due to covariant return type.
[GR-35119] Reset
[GR-35127] Don’t use generics for certain uninterruptible methods.
[GR-35127] Further fixes for ECJ.
[GR-35137] Backport: Updating ICU4J library to version 70.1.
[GR-35144] Use version-specific lookups.
[GR-35146] Correction of CurrencyDigits().
[GR-35146] Increasing the timeout of the “double-spawn” unit test.
[GR-35147] Fix Broken Links to LLVM User Documentation.
[GR-35148] Cleanup stack moves.
[GR-35149] Fix ECJ warnings when building SVM.
[GR-35151] Fix RegExp case-folding for non-Unicode regexps.
[GR-35152] Add -H:DisableURLProtocols.
[GR-35167] Remove JDK8 deploy builders.
[GR-35172] Be more lenient with numeric types in Truffle NFI.
[GR-35174] Run vm gates and deploys on windows_server_2016.
[GR-35178] Detect and handle tracing of Indirect call correctly.
[GR-35189] Updating the parsing of identifiers to Unicode 14.
[GR-35196] Exclude GraalVM Dashboard from being versioned.
[GR-35197] Fix ECJ warnings in generated OptionDescriptors classes.
[GR-35198] Fix naming and possible NPE in lsp coverage
[GR-35198] Fix PNode#getScope to work with null frame
[GR-35218] Conditional Elimination: Fix wrong guard folding.
[GR-35222] Update graal import and reenable js-gate-downstream-substratevm-enterprise-jdk17-linux-amd64 gate.
[GR-35251] Cleanups and added the possibility to attach a debugger lazily when a fatal error occurs.
[GR-35265] Enforce typed CEntryPoint prologues, epilogues, and exception handlers.
[GR-35268] Remove jdk8 libgraal gates.
[GR-35271] Migrate some NFI usages to newer interface.
[GR-35274] Restore missing param type names in method signatures in debug log statements.
[GR-35277] Fix merging of debug info subranges #4046.
[GR-35289] Fix invalid sharing in Sulong NFI backend.
[GR-35290] Clean JNI references lookup.
[GR-35293] Fix Type Size for “sizeof long” in debugexpr Grammar.
[GR-35301] Update Watchdog Interval to not trigger during image build
[GR-35304] Fix: bytes.init did not accept keywords.
[GR-35307] Fix invalid call target used for split root nodes.
[GR-35316] Check that the built GraalVM uses JDK11+
[GR-35327] Fixed select() for emulated sockets, added support for TCP_NODELAY
[GR-35330] Make assertion more robust to avoid transients.
[GR-35332] Update to latest graal
[GR-35332] Ignore “object” slots in FrameAccessVerificationPhase.
[GR-35332] Use new dynamic frame slot kind analysis for legacy slots.
[GR-35346] Document module-system-specific options and configuration.
[GR-35349] Dispose the contexts listener when the script is closed.
[GR-35351] Fix lookup of getContents method in bundle classes.
[GR-35353] Prevent multiple wrapping of context locals lists in HostLanguage.
[GR-35355] Revert removal of owner null check in monitor enter snippet.
[GR-35357] Fix Enterprise benchmark variants are executed with community flag
[GR-35371] Fix memory leaks for ASTs even if the embedder source is no longer referenced with interning and execution listeners.
[GR-35372] Fix reflective System.arraycopy calls.
[GR-35375] Backport: multithreading fixes.
[GR-35375] Fix memory leaks in multiprocessing.
[GR-35417] Intrinsify _csv module.
[GR-35419] Fixed naming scheme for language libraries
[GR-35424] Use slots on the fast-path in LookupAndCallXYNode.
[GR-35432] Language and library configs can define enterprise build arguments.
[GR-35440] Delete TypeVariableImpl.getBounds substitution
[GR-35532] Node#replace should not create call target, set RootNode#callTarget before instrumentation, Insight fixes.
[GR-35534] Backport to fix type constructor lookup
[GR-35535] Backport: Don’t sink virtual objects past loop exits with exception BCIs
[GR-35563] Backports for 22.0 batch 1
[GR-35563] Backports for 22.0 batch 2
[GR-35581] Backport: Fix race condition in RootNode and Fix NFI leak on SVM.
[GR-35638] Update visualvm 22.0-1.
[GR-35644] Licenses updated for 22.0.0.
[GR-35646] Enable all deploy-vm on post-merge.
[GR-35646] Update Truffle import to 22.0 release branch.
[GR-35719] Backport to 22.0: Fix InstrumentationNoExceptionsTest#testExceptionInLoadSourceSectionFilterPredicateNotEntered.
[GR-35732] Backport: Fix super init call verification in Espresso Verifier
[GR-35745] Backport to 22.0: Truffle Isolate Followups
[GR-35825] Backport to 22.0.0: Minecraft 1.18 Initial World Generation Fails.
[GR-35890] Unittest for using embedder threads in LLVM runtime.
[GR-35915] Warn user when a native image uses vulnerable log4j libraries.
[GR-35922] Backport: CompileFunctionInContext() should create the function in the right context.
[GR-35926] Backport GR-35902 and GR-35848 to 22.0
[GR-35966] Unblock public gates.
[GR-36122] Backport: Update cluster version.
[GR-36147] Backport to 22.0.0: NarrowNode.getReverseOp now returns ZeroExtend or SignExtend accordingly.
[GR-36176] Backport: Sharing layer assertion when multiple sharing layers use host interop.
[GR-36221] Various fixes for espresso.
[GR-36224] Backport to 22.0: Installation of WebLogic failing using graalvm 22.0.0 (jdk11) failing on slc* vms.
[GR-36229] Change stability status of espresso installables.
[GR-36257] Ensure BuilderIO gets restored in case of errors in CreationStage.
[GR-36270] Backport to 22.0: Fix inlining before analysis when escape analysis runs after parsing.
[GR-8209] Introduce an option to change the default charset.
[GR-8852] Fixes for ECJ 11 and 17 compatibility.
[GR-8852] Update to latest graal and use --jdt builtin for linting
Back to Downloads PageSupported Configurations