aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/opto/chaitin.cpp
diff options
context:
space:
mode:
authorxdono <none@none>2009-02-27 15:13:00 -0800
committerxdono <none@none>2009-02-27 15:13:00 -0800
commit5414c9b7e3162450b0581ce584828dbd34009385 (patch)
tree04853a60c8e22dfd7988c36035fa57a8f95c4173 /src/share/vm/opto/chaitin.cpp
parent73e707b6a0c034c7985c5d567c0c5fb8ce4eeac9 (diff)
parentfee0a825e2787b1b81e0bb8032027350b0f0be9b (diff)
Merge
Diffstat (limited to 'src/share/vm/opto/chaitin.cpp')
-rw-r--r--src/share/vm/opto/chaitin.cpp28
1 files changed, 13 insertions, 15 deletions
diff --git a/src/share/vm/opto/chaitin.cpp b/src/share/vm/opto/chaitin.cpp
index 0456db5dc..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 ) {
- _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 ) _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 ) {
- _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 ) _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 )
@@ -956,7 +954,7 @@ void PhaseChaitin::Simplify( ) {
while ((neighbor = elements.next()) != 0) {
LRG *n = &lrgs(neighbor);
#ifdef ASSERT
- if( VerifyOpto ) {
+ if( VerifyOpto || VerifyRegisterAllocator ) {
assert( _ifg->effective_degree(neighbor) == n->degree(), "" );
}
#endif