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


Reply via email to