Here's a (not very elegant) patch that includes this file when compiling
zero on sparc:
diff --git a/make/lib/JvmFeatures.gmk b/make/lib/JvmFeatures.gmk
--- a/make/lib/JvmFeatures.gmk
+++ b/make/lib/JvmFeatures.gmk
@@ -47,6 +47,9 @@
ifeq ($(call check-jvm-feature, zero), true)
JVM_CFLAGS_FEATURES += -DZERO -DCC_INTERP
-DZERO_LIBARCH='"$(OPENJDK_TARGET_CPU_LEGACY_LIB)"' $(LIBFFI_CFLAGS)
JVM_LIBS_FEATURES += $(LIBFFI_LIBS)
+ ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
+ BUILD_LIBJVM_EXTRA_FILES :=
$(HOTSPOT_TOPDIR)/src/cpu/sparc/vm/memset_with_concurrent_readers_sparc.cpp
+ endif
endif
ifeq ($(call check-jvm-feature, shark), true)
I think it solves your immediate problem. I would be (reluctantly)
willing to accept this patch (but I'd like to hear Erik's objections
too, first). If this is the only file that will need to be included like
this, fine, but if this pattern is starting to grow to include more and
more platform-specific files in zero, I won't like it.
I'm still looking at a better way to solve the relationship between zero
and the platform-specific parts overall, but that's likely to a much
bigger change, so don't hold your breath.
/Magnus
On 2017-08-30 15:33, John Paul Adrian Glaubitz wrote:
On 08/30/2017 03:25 PM, Magnus Ihse Bursie wrote:
Would it be painful to duplicate the function in cpu/zero? I realize
this
is not elegant, but we don't have a good story for sharing
platform-specific
functionality with zero. :(
But then we could also just move it into src/share/vm/gc/shared/,
couldn't we?
Adrian