[RFR]: 8186578: Zero fails to build on linux-sparc due to sparc-specific code
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Wed Sep 27 19:57:01 UTC 2017
This looks good. I can sponsor this for you when you update the
copyright and patch in the webrev, with the 3 reviewers.
Thanks,
Coleen
On 9/27/17 3:47 PM, Magnus Ihse Bursie wrote:
> 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 hotspot-dev
mailing list