fastdebug builds broken for jdk9/hs tree?

Severin Gehwolf sgehwolf at redhat.com
Fri Apr 29 08:29:55 UTC 2016


On Fri, 2016-04-29 at 09:21 +0100, Andrew Haley wrote:
> On 29/04/16 08:56, Severin Gehwolf wrote:
> > 
> > Here you go (DTRACE_CLASSLOAD_PROBE(loaded, k, shared_class);
> OK.  Now take that expansion, run indent on it, and paste it in
> to the program where the macro was.  Then we'll be able to get
> much better info about the reload failure.
> 
> (See appended expansion)
> 
> Andrew.
> 
> 
> {
>   char *data = __null;
>   int len = 0;
>   Symbol *name = (k)->name ();
>   if (name != __null)
>     {
>       data = (char *) name->bytes ();
>       len = name->utf8_length ();
>     }
>   do
>     {
>       __asm__ __volatile__ ("990: nop" "\n" ".pushsection .note.stapsdt" ","
> 			    "\"\"" "," "\"note\"" "\n" ".balign 4" "\n"
> 			    ".4byte 992f-991f" "," "994f-993f" "," "3" "\n"
> 			    "991: .asciz \"stapsdt\"" "\n" "992: .balign 4"
> 			    "\n" "993: .8byte 990b" "\n"
> 			    ".8byte _.stapsdt.base" "\n" ".8byte 0" "\n"
> 			    ".asciz \"hotspot\"" "\n"
> 			    ".asciz \"class__loaded\"" "\n"
> 			    ".asciz \"%n[_SDT_S1]@%[_SDT_A1] %n[_SDT_S2]@%[_SDT_A2] %n[_SDT_S3]@%[_SDT_A3] %n[_SDT_S4]@%[_SDT_A4]\""
> 			    "\n" "994: .balign 4" "\n" ".popsection"
> 			    "\n"::[_SDT_S1]
> 			    "n" (((!
> 				   (__builtin_classify_type (data) == 14
> 				    || __builtin_classify_type (data) == 5)
> 				   && __sdt_type <
> 				   __typeof (data) >::
> 				   __sdt_signed) ? 1 : -1) *
> 				 (int) ((__builtin_classify_type (data) == 14
> 					 || __builtin_classify_type (data) ==
> 					 5) ? sizeof (void *) :
> 					sizeof (data))),
> 			    [_SDT_A1] "nor" ((data)),
> 			    [_SDT_S2]
> 			    "n" (((!
> 				   (__builtin_classify_type (len) == 14
> 				    || __builtin_classify_type (len) == 5)
> 				   && __sdt_type <
> 				   __typeof (len) >::__sdt_signed) ? 1 : -1) *
> 				 (int) ((__builtin_classify_type (len) == 14
> 					 || __builtin_classify_type (len) ==
> 					 5) ? sizeof (void *) :
> 					sizeof (len))),
> 			    [_SDT_A2] "nor" ((len)),
> 			    [_SDT_S3]
> 			    "n" (((!
> 				   (__builtin_classify_type
> 				    ((k)->class_loader ()) == 14
> 				    || __builtin_classify_type ((k)->
> 								class_loader
> 								()) == 5)
> 				   && __sdt_type <
> 				   __typeof ((k)->
> 					     class_loader ()) >::
> 				   __sdt_signed) ? 1 : -1) *
> 				 (int) ((__builtin_classify_type
> 					 ((k)->class_loader ()) == 14
> 					 || __builtin_classify_type ((k)->
> 								     class_loader
> 								     ()) ==
> 					 5) ? sizeof (void *) : sizeof ((k)->
> 									class_loader
> 									()))),
> 			    [_SDT_A3] "nor" (((k)->class_loader ())),
> 			    [_SDT_S4]
> 			    "n" (((!
> 				   (__builtin_classify_type ((shared_class))
> 				    == 14
> 				    ||
> 				    __builtin_classify_type ((shared_class))
> 				    == 5)
> 				   && __sdt_type <
> 				   __typeof ((shared_class)) >::
> 				   __sdt_signed) ? 1 : -1) *
> 				 (int) ((__builtin_classify_type
> 					 ((shared_class)) == 14
> 					 ||
> 					 __builtin_classify_type ((shared_class)) == 5) ? sizeof (void *) : sizeof ((shared_class)))),[_SDT_A4] "nor" (((shared_class))));
>       __asm__ __volatile__ (".ifndef _.stapsdt.base" "\n"
> 			    ".pushsection .stapsdt.base" "," "\"aG\"" ","
> 			    "\"progbits\"" "," ".stapsdt.base" "," "comdat"
> 			    "\n" ".weak _.stapsdt.base" "\n"
> 			    ".hidden _.stapsdt.base" "\n"
> 			    "_.stapsdt.base: .space 1" "\n"
> 			    ".size _.stapsdt.base" "," "1" "\n" ".popsection"
> 			    "\n" ".endif" "\n");
>     }
>   while (0);
> };
> 

Done. Error now is:
/home/sgehwolf/openjdk9-hs-pristine/hotspot/src/share/vm/services/classLoadingService.cpp: In static member function ‘static void ClassLoadingService::notify_class_loaded(InstanceKlass*, bool)’:
/home/sgehwolf/openjdk9-hs-pristine/hotspot/src/share/vm/services/classLoadingService.cpp:226: error: cannot reload integer constant operand in ‘asm’
/home/sgehwolf/openjdk9-hs-pristine/hotspot/src/share/vm/services/classLoadingService.cpp:226: error: cannot reload integer constant operand in ‘asm’

It's in this snippet:
                                 (int) ((__builtin_classify_type
                                         ((shared_class)) == 14
                                         ||
                                         __builtin_classify_type ((shared_class)) == 5) ? sizeof (void *) : sizeof ((shared_class)))),[_SDT_A4] "nor" (((shared_class)))); // <<<< fails on this line

Thanks,
Severin


More information about the hotspot-dev mailing list