=== Improve OpenJDK on FreeBSD

Links: +
link:https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/[Project description] URL: https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/[] +
link:https://github.com/freebsd/openjdk[Project repository] URL: https://github.com/freebsd/openjdk[] +
link:https://github.com/openjdk/bsd-port[Upstream BSD port repo] URL: https://github.com/openjdk/bsd-port[]

Contact: +
Harald Eilertsen <haraldei@FreeBSD.org> +
FreeBSD Java mailing list <freebsd-java@lists.freebsd.org>

The goal of this project is to improve OpenJDK support for FreeBSD/amd64 and FreeBSD/arm64.

Java is an important runtime environment for many high performance, critical enterprise systems.
Making sure Java based applications run correctly and efficiently on FreeBSD is important to ensure that FreeBSD will continue to be a viable and attractive platform for enterprises, as well as businesses and organizations of all sizes.

This quarter has been spent mostly on getting the upstreaming process properly going.
We submit patches to a link:https://github.com/openjdk/bsd-port[separate repository] under the OpenJDK org on GitHub, and make sure that each PR is reviewed by at least one upstream reviewer.
This way, when we get to the point where we want to merge our port into the upstream mainline, all commits should already be reviewed by someone in the project.

This is a fairly slow process, as we depend on upstream reviewers having time.
We also encounter that some of the changes that has been living in our port for a long time is rejected.
Then we have to rework them, or if not strictly needed, just throw them out.
I feel this is a useful correction, but sometimes causes quite a bit of work.


In this quarter the following issues/milestones were reached:

* OpenJDK 25 port was updated to link:https://reviews.freebsd.org/D56522[version 25.0.3].
* Upstream mainline changes and bugfixes:
  - link:https://github.com/openjdk/jdk/pull/30853[8382614: Consolidate implementation of current_stack_base_and_size on BSD]
  - link:https://github.com/openjdk/jdk/pull/31069[8384085: Make os::Bsd::dlopen_helper private, and drop unused arg]
  - link:https://github.com/openjdk/jdk/pull/31070[8384088: osThread _thread_id should be an int on all BSD's]
  - link:https://github.com/openjdk/jdk/pull/31199[8384946: os::Bsd::gettid misses the return value]
  - link:https://github.com/openjdk/jdk/pull/31455[8386344: runtime/StackGuardPages/TestStackGuardPages build failure after JDK-8303612]
* Upstream BSD Port:
  - link:https://github.com/openjdk/bsd-port/pull/7[Fix conditional sections for BSD in hotspot/cpu]
  - link:https://github.com/openjdk/bsd-port/pull/8[Port hotspot/os/posix for BSD]
  - Merged changes accepted for mainline.
* Current (out-of-tree) BSD port:
  - link:https://github.com/battleblow/jdk/pull/49[Merge + Remove VFORK for BSD + rebase GHA workflow on OpenJDK26]
  - link:https://github.com/battleblow/jdk/pull/53[Merge + Fix usage of FREE_C_HEAP_ARRAY macro on BSD]
  - link:https://github.com/battleblow/jdk/pull/54[Sync aarch64 cpuinfo impl for *BSD with Linux]
  - link:https://github.com/battleblow/jdk/pull/55[Remove duplicate include in global defs for zero]
  - link:https://github.com/battleblow/jdk/pull/59[Remove ThreadWXEnable from BSD code]
  - Backported changes accepted for mainline upstream BSD port.
* Ports:
  - link:https://cgit.freebsd.org/ports/commit/?id=7878106082fd1f07814d754ef767c1f59168d1e9[java/javavmwrapper: JAVA_VERSION does not work with openjdk25]

In addition, these tasks are still ongoing, or waiting for review:

* Upstream BSD port:
  - link:https://github.com/openjdk/bsd-port/pull/9[Port hotspot/os/bsd/os_perf_bsd.cpp to BSD] (Waiting for refactor, see link:https://github.com/battleblow/jdk/pull/61[WIP: Split os_perf impl for macOS and BSD])
  - link:https://github.com/openjdk/bsd-port/pull/11[os::get_process_uid and os::rss for BSD] (Still ongoing)

Other notes:

* Started preparing for link:https://github.com/snake66/jdk/tree/freebsd-jdk27[OpenJDK 27 port].
* Presented the project at link:https://foss-north.se/2026/speakers-and-talks.html#heilertsen[Foss North 2026].

Sponsor: The FreeBSD Foundation
