Paul Krill
Editor at Large

Microsoft Java introduces compiler optimization

news
Nov 2, 20222 mins

Microsoft Build for OpenJDK adds an experimental compiler optimization that promotes scalar replacement of objects involved in object allocation merges, easing garbage collection and improving performance.

it cost optimization
Credit: istock

Microsoft Build of OpenJDK, the company’s open source distribution of Java, has added an experimental feature to improve escape analysis compiler optimization results.

With a patch and security update issued October 24 and dubbed the October 2022 PSU release, Microsoft seeks to improve escape analysis results by increasing the number of opportunities for scalar replacement.

In compiler optimization, escape analysis is an algorithm that determines the dynamic scope of pointers, or where in the program a pointer can be accessed. With scalar replacement, the Java just-in-time compiler can allocate the members, or scalars, of an object on the stack or in registers, rather than allocating the full object on the heap.  This reduces stress on garbage collection.

The goal of the new escape analysis enhancement is to simplify object allocation merges in order to promote scalar replacement of the objects involved in the merge. A simpler version of this enhancement was featured in Java Development Kit (JDK) 11, while a version exploiting more opportunities was included in JDK 17, Microsoft said.

Updates can be found here for OpenJDK 11 and here for OpenJDK 17. Downloads of Microsoft Build of OpenJDK, which is available for Windows, Linux, or macOS, can be found at learn.microsoft.com. Starting with this release, developers can see exact changes made to the builds by inspecting source code in newly established Microsoft repositories on GitHub, at jdk17u and jdk11u.

Microsoft has updated container images and includes the Microsoft CBL-Mariner 2.0 Linux distribution as well as OpenJDK 8 images based on CBL-Mariner with Eclipse Temurin binaries. Microsoft said that Azul Zulu for Azure Builds of OpenJDK are no longer supported and no longer updated.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author