[[_improve_openjdk_on_freebsd]] === Улучшение OpenJDK в FreeBSD (Improve OpenJDK on FreeBSD) Ссылки: + link:https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/[Описание проекта] URL: https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/[] + link:https://github.com/freebsd/openjdk[Репозиторий проекта] URL: https://github.com/freebsd/openjdk[] + link:https://github.com/openjdk/bsd-port[Вышестоящий репозиторий BSD-порта] URL: https://github.com/openjdk/bsd-port[] Контакт: + Harald Eilertsen + Список рассылки FreeBSD Java Цель этого проекта — улучшить поддержку OpenJDK для FreeBSD/amd64 и FreeBSD/arm64. Java является важной средой выполнения для многих высокопроизводительных критически важных корпоративных систем. Обеспечение правильной и эффективной работы приложений на основе Java во FreeBSD важно для того, чтобы FreeBSD оставалась жизнеспособной и привлекательной платформой для предприятий, а также для бизнеса и организаций любого размера. В этом квартале были достигнуты следующие цели/вехи: * Обновлён порт OpenJDK 25 до link:https://reviews.freebsd.org/D55529[версии 25.0.2]. * Исправлена проблема со сборкой headless-вариантов OpenJDK 25 link:https://reviews.freebsd.org/D55589[при отсутствии библиотек xorg]. * Переработан способ link:https://kodeknekkeriet.net/en/blog/bootstrapping-openjdk-freebsd-ports/[начальной загрузки (bootstrapping)] портов OpenJDK на FreeBSD: - link:https://reviews.freebsd.org/D54683[D54683]: OpenJDK 8-20 - link:https://reviews.freebsd.org/D54731[D54731]: OpenJDK 21-25 * Исправлен и улучшен Serviceability Agent для FreeBSD в основном BSD-порте: - link:https://github.com/battleblow/jdk/pull/38[Откат поломки], вызванной портом macOS. - Исправлено link:https://github.com/battleblow/jdk/pull/38/changes/c1c498392ee10b0c35e8078f11cc975b9f1df5fb[получение стеков вызовов (stack traces) из потоков] в отслеживаемом процессе. - Исправлена link:https://github.com/battleblow/jdk/pull/42[ложная проблема], когда поиск символов нативных символов в разделяемых объектах иногда не удавался. - link:https://github.com/battleblow/jdk/pull/38/changes/39130dd99897437101169bddc032431ecf259461[Упрощена функция] для чтения произвольной памяти из отслеживаемого процесса. * Включена link:https://github.com/battleblow/jdk/pull/41[сборка/установка Hotspot Disassembler (HSDIS)] для FreeBSD. Это необходимо для некоторых тестов на Aarch64, чтобы проверить, что Hotspot генерирует правильные последовательности инструкций в различных окружениях. Пока поддерживается только llvm backend, хотя нет причин полагать, что другие не будут работать. * link:https://github.com/battleblow/jdk/pull/40[Синхронизирована реализация ThreadWXEnable] с macOS. Это позволяет Hotspot переключать доступ на запись/исполнение для сегментов памяти, чтобы он мог генерировать код для последующего выполнения на Aarch64. Это всего лишь небольшая настройка для согласования с API, используемым кодом macOS, хотя наша реализация отличается. * Перенесены изменения, связанные с BSD, из основной линии в порты link:https://github.com/battleblow/jdk25u/pull/11[OpenJDK 25] и link:https://github.com/battleblow/jdk26u/pull/3[OpenJDK 26]. * Добавлен новый link:https://reviews.freebsd.org/D55938[порт для OpenJDK 26]. Спасибо Грегу Льюису (Greg Lewis) и Курту Миллеру (Kurt Miller) за помощь. * Влит link:https://github.com/openjdk/bsd-port/pull/4[первый PR] в вышестоящий репозиторий BSD-порта! Другие заметки: * Начата работа по обновлению OpenJDK 25 до версии 25.0.3, запланированной на середину апреля. * Я буду рассказывать о проекте и своём опыте работы над ним на конференции link:https://foss-north.se/2026/speakers-and-talks.html#heilertsen[foss-north] в Гётеборге, Швеция, 28 апреля. Спонсор: Фонд FreeBSD // // The FreeBSD Russian Documentation Project // // Original EN revision (18.04.2026): aeb19696230c6dcdbe4a98ac8b57a9e519baac88 //