RFR: 8199220: Zero build broken after 8195103 and 8191102 (was RFR: 8199220: Zero build broken)

Edward Nevill edward.nevill at gmail.com
Mon Mar 12 20:49:53 UTC 2018

On Mon, 2018-03-12 at 19:54 +0000, Thomas Stüfe wrote:
> Hi Edward,
> Thanks a lot for the fixing work!
> However, I am not so sure about the change to debug.hpp. Is the point of the Static assert thing not The missing <false> Specialization? In which case the compile error you saw there was a static assert firing... 
> I may be wrong, maybe Erik could clarify?
> Otherwise the change looks good. Thank you.

Yes, of course, I see the purpose of the STATIC_ASSERT now. Kind of obvious from the name.

The failure is in

  template <DecoratorSet decorators, typename T>
  static void verify_types(){
    // If this fails to compile, then you have sent in something that is
    // not recognized as a valid primitive type to a primitive Access function.
    STATIC_ASSERT((HasDecorator<decorators, INTERNAL_VALUE_IS_OOP>::value || // oops have already been validated
                   (IsPointer<T>::value || IsIntegral<T>::value) ||
                    IsFloatingPoint<T>::value)); // not allowed primitive type

and the error is 

/home/ed/openjdk/hs/src/hotspot/share/oops/access.inline.hpp: In instantiation of ‘void AccessInternal::verify_types() [with long unsigned int decorators = 4096; T = volatile oop]’:

I will continue too look at this but would appreciate some help.


More information about the hotspot-dev mailing list