[RFR]: 8186578: Zero fails to build on linux-sparc due to sparc-specific code
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Wed Sep 27 19:47:39 UTC 2017
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/
>
More information about the build-dev
mailing list