Build change looks good.

/Magnus

On 2017-09-27 18:40, John Paul Adrian Glaubitz wrote:
Hello!

Zero currently fails to build on linux-sparc since there are two instances where
SPARC-specific defines conflict with the Zero code.

One instance is src/hotspot/share/compiler/oopMap.cpp where a header is uncondtionally included for SPARC which is not available for Zero. It turns out that this header, vmreg_sparc.inline.hpp, does actually not need to be included here. So, easiest
part is just to remove the inclusion of this header:

@@ -38,13 +38,10 @@
 #include "c1/c1_Defs.hpp"
 #endif
 #ifdef COMPILER2
 #include "opto/optoreg.hpp"
 #endif
-#ifdef SPARC
-#include "vmreg_sparc.inline.hpp"
-#endif

The second instance is src/hotspot/cpu/sparc/memset_with_concurrent_readers_sparc.cpp which is not included in the build for Zero. However, we always need to include it because of the particular implementation of memset() on SPARC which does not work well with concurrent readers which is why memset_with_concurrent_readers.hpp looks
like this:

#ifdef SPARC

// SPARC requires special handling.  See SPARC-specific definition.

#else
// All others just use memset.

inline void memset_with_concurrent_readers(void* to, int value, size_t size) {
  ::memset(to, value, size);
}

#endif // End of target dispatch.

The webrev to fix the Zero build on SPARC includes both changes and can be found
in [1].

Thanks,
Adrian

[1] http://cr.openjdk.java.net/~glaubitz/8186578/webrev.02/


Reply via email to