Bug#835973: openjdk-8: please enable hotspot for sparc64
Source: openjdk-8
Severity: wishlist
Tags: patch
User: debian-sparc@lists.debian.org
Usertags: sparc64
Dear Maintainer,
The openjdk-8 packages for sparc64 are currently configured to use the
zero interpreter. This works fine but I wanted to find out what was
blocking the use of the much faster hotspot compiler. Fortunately I
found that simply enabling hotspot for sparc64 in the debian/rules
file allows a sparc64 hotspot jvm to build. I used the current debian
openjdk-8 as the bootstrap jvm. Here are the changes I made to the
debian/rules file:
--- openjdk-8-8u102-b14.1/debian/rules 2016-08-06 03:12:09.000000000 -0500
+++ openjdk-8-8u102-b14.1-hotspot/debian/rules 2016-08-26 09:00:27.932659521 -0500
@@ -39,7 +39,7 @@
multiarch_dir = /$(DEB_HOST_MULTIARCH)
-hotspot_archs = amd64 i386 arm64 ppc64 ppc64el kfreebsd-amd64 kfreebsd-i386
+hotspot_archs = amd64 i386 arm64 ppc64 ppc64el kfreebsd-amd64 kfreebsd-i386 sparc64
# FIXME: use bootcycle builds for zero archs?
bootcycle_build = $(if $(filter $(DEB_HOST_ARCH), $(hotspot_archs)),yes)
ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH))
@@ -164,7 +164,7 @@
# Shark build but just crash
altshark_archs =
-altzero_archs = $(filter-out sparc sparc64, $(hotspot_archs)) $(altshark_archs)
+altzero_archs = $(filter-out sparc, $(hotspot_archs)) $(altshark_archs)
ifeq (,$(filter noaltcacao, $(DEB_BUILD_OPTIONS)))
ifneq (,$(filter $(DEB_HOST_ARCH), $(cacao_archs)))
Here's the output of java -version for the current zero jvm:
OpenJDK Runtime Environment (build 1.8.0_102-8u102-b14.1-2-b14)
OpenJDK 64-Bit Zero VM (build 25.102-b14, interpreted mode)
And here's the output for the newly built hotspot jvm:
OpenJDK Runtime Environment (build 1.8.0_102-8u102-b14.1-2-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
I tested the hotspot jvm with several applications and it seemed to
work fine and was noticeably faster.
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: sparc64
Kernel: Linux 4.6.0-1-sparc64-smp (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Reply to: