Request for reviews (XS): 6974682: CTW: assert(target != NULL) failed: must not be null
Tom Rodriguez
tom.rodriguez at oracle.com
Wed Aug 4 17:03:06 PDT 2010
Your change seems ok but that const_size code is crap. It always greatly overestimates the space needed.
#ifdef SPARC
// Sparc doubles entries in the constant table require more space for
// alignment. (expires 9/98)
int table_entries = (3 * instr->num_consts( _globalNames, Form::idealD ))
+ instr->num_consts( _globalNames, Form::idealF );
#else
int table_entries = instr->num_consts( _globalNames, Form::idealD )
+ instr->num_consts( _globalNames, Form::idealF );
#endif
So on sparc a double reserves 6 words. It can/should be cleaned up as part of the changes Christian is working on.
tom
On Aug 4, 2010, at 3:03 PM, Vladimir Kozlov wrote:
> http://cr.openjdk.java.net/~kvn/6974682/webrev
>
> Fixed 6974682: CTW: assert(target != NULL) failed: must not be null
>
> Address table for indirect branch is allocated in constant section
> but its size is not taking into account when constant section's
> size is defined.
>
> Solution:
> Add address table size to constant section.
>
> Tested with failed case, CTW.
More information about the hotspot-compiler-dev
mailing list