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