review request (S/M): 6951319 enable Sun Studio 12 update 1
John Coomes
John.Coomes at oracle.com
Wed May 12 00:49:57 PDT 2010
David Holmes (David.Holmes at oracle.com) wrote:
> John,
>
> First a dumb question :) Are the .il files only used with SunStudio?
Hi David,
Not dumb, and the answer is yes.
> For the dtrace tail-call problem won't this:
>
> + // Work around dtrace tail call bug 6672627 until it is fixed in
> solaris 10.
> + #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \
> + do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0)
>
> be elided by any decent compiler - even though volatile it is a local
> and so the assignment is vacuous ?
Sun Studio 12 and 12u1 respect volatile enough to leave it alone
(thankfully). FWIW, here's part of vmGCOperations.s from a product
build; the 'mov $1,-12(%ebp)' corresponds to the
HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() on line 40:
void VM_GC_Operation::notify_gc_end():
push %ebp ;/ line : 38
movl %esp,%ebp ;/ line : 38
push %ebx ;/ line : 38
subl $20,%esp ;/ line : 38
call .CG1.2806 ;/ line : 38
.CG1.2806:
pop %ebx ;/ line : 38
addl $_GLOBAL_OFFSET_TABLE_+0x1,%ebx ;/ line : 38
call __dtrace_hotspot___gc__end at PLT ;/ line : 39
movl $1,-12(%ebp) ;/ line : 40
addl $20,%esp ;/ line : 40
pop %ebx ;/ line : 40
leave ;/ line : 40
ret ;/ line : 40
.size void VM_GC_Operation::notify_gc_end(), . - void VM_GC_Operation::notify_gc_end()
-John
> John Coomes said the following on 05/12/10 08:39:
> > I'd appreciate reviews for the changes to enable builds using Sun
> > Studio 12 update 1 on solaris. The webrev includes some comments
> > describing the various changes.
> >
> > http://cr.openjdk.java.net/~jcoomes/6951319-ss12u1/
> >
> > -John
> >
More information about the hotspot-dev
mailing list