Building SPARC CPU code for Zero

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Sep 4 13:46:48 UTC 2017


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
>




More information about the build-dev mailing list