diff options
author | kvn <none@none> | 2009-02-06 13:31:03 -0800 |
---|---|---|
committer | kvn <none@none> | 2009-02-06 13:31:03 -0800 |
commit | 370ced2059af8ea7185e13ba0a8d6a6cb73542f8 (patch) | |
tree | deed0ff4bcd880677e5ebd12fc2f671664eb0c0b /src/share/vm/opto/chaitin.cpp | |
parent | 4ebd0c3762db446bd36e88b1b372cd4f56a7e001 (diff) |
6791852: assert(b->_nodes[insidx] == n,"got insidx set incorrectly")
Summary: Move the CreateEx up before each round of IFG construction
Reviewed-by: never, phh
Diffstat (limited to 'src/share/vm/opto/chaitin.cpp')
-rw-r--r-- | src/share/vm/opto/chaitin.cpp | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/share/vm/opto/chaitin.cpp b/src/share/vm/opto/chaitin.cpp index 3d98f65d6..82558d8f5 100644 --- a/src/share/vm/opto/chaitin.cpp +++ b/src/share/vm/opto/chaitin.cpp @@ -228,6 +228,11 @@ void PhaseChaitin::Register_Allocate() { // them for real. de_ssa(); +#ifdef ASSERT + // Veify the graph before RA. + verify(&live_arena); +#endif + { NOT_PRODUCT( Compile::TracePhase t3("computeLive", &_t_computeLive, TimeCompiler); ) _live = NULL; // Mark live as being not available @@ -306,12 +311,6 @@ void PhaseChaitin::Register_Allocate() { C->check_node_count(2*NodeLimitFudgeFactor, "out of nodes after physical split"); if (C->failing()) return; -#ifdef ASSERT - if( VerifyOpto || VerifyRegisterAllocator ) { - _cfg.verify(); - verify_base_ptrs(&live_arena); - } -#endif NOT_PRODUCT( C->verify_graph_edges(); ) compact(); // Compact LRGs; return new lower max lrg @@ -340,7 +339,7 @@ void PhaseChaitin::Register_Allocate() { compress_uf_map_for_nodes(); #ifdef ASSERT - if( VerifyOpto || VerifyRegisterAllocator ) _ifg->verify(this); + verify(&live_arena, true); #endif } else { ifg.SquareUp(); @@ -376,12 +375,6 @@ void PhaseChaitin::Register_Allocate() { // Bail out if unique gets too large (ie - unique > MaxNodeLimit - 2*NodeLimitFudgeFactor) C->check_node_count(2*NodeLimitFudgeFactor, "out of nodes after split"); if (C->failing()) return; -#ifdef ASSERT - if( VerifyOpto || VerifyRegisterAllocator ) { - _cfg.verify(); - verify_base_ptrs(&live_arena); - } -#endif compact(); // Compact LRGs; return new lower max lrg @@ -412,7 +405,7 @@ void PhaseChaitin::Register_Allocate() { } compress_uf_map_for_nodes(); #ifdef ASSERT - if( VerifyOpto || VerifyRegisterAllocator ) _ifg->verify(this); + verify(&live_arena, true); #endif cache_lrg_info(); // Count degree of LRGs @@ -432,6 +425,11 @@ void PhaseChaitin::Register_Allocate() { // Peephole remove copies post_allocate_copy_removal(); +#ifdef ASSERT + // Veify the graph after RA. + verify(&live_arena); +#endif + // max_reg is past the largest *register* used. // Convert that to a frame_slot number. if( _max_reg <= _matcher._new_SP ) |