Request for reviews (S): 6791852: assert(b->_nodes[insidx] == n,"got insidx set incorrectly")
Paul.Hohensee at Sun.COM
Fri Feb 6 11:03:17 PST 2009
I'd put #ifdef ASSERT around all the code in block.cpp to make sure the
elides it for product and optimized vms.
The verification code in chaitin.cpp seems pretty similar in a lot of
places. Any way
to factor it?
You might change the code in live.cpp from
if (!check->is_Proj() && !(check->is_Mach() ... ))
if (check->is_Proj() || (check->is_Mach() ... ))
I.e., prefer positive rather than negative (use of '!') tests. Easier
on the brain. :)
Vladimir Kozlov wrote:
> Fixed 6791852: assert(b->_nodes[insidx] == n,"got insidx set
> The code in PhaseChaitin::Split() in the part "Handle Crossing HRP
> expects that a new MachSpillCopy node is inserted before the current
> After 6782232 fix it is not true if the current node is CreateEx.
> Remove the original fix for 6782232 in PhaseChaitin::insert_proj().
> Move the CreateEx up before each round of IFG construction to produce
> correct interference graph.
> Move verification checks in chaitin after IFG construction.
> Add additional check into PhaseCFG::verify().
> Fix check in PhaseChaitin::verify_base_ptrs().
> Reviewed by:
> Fix verified (y/n): y, bug's test case
> Other testing:
> JPRT, CTW (with -XX:+VerifyRegisterAllocator)
More information about the hotspot-compiler-dev