Mercurial > hg > graal-jvmci-8
diff src/share/vm/opto/compile.cpp @ 351:fab5f738c515
Merge
author | ysr |
---|---|
date | Tue, 01 Jul 2008 11:59:44 -0700 |
parents | 1dd146f17531 |
children | 9c2ecc2ffb12 524eca34ea76 |
line wrap: on
line diff
--- a/src/share/vm/opto/compile.cpp Mon Jun 30 17:04:59 2008 -0700 +++ b/src/share/vm/opto/compile.cpp Tue Jul 01 11:59:44 2008 -0700 @@ -313,9 +313,6 @@ _compile->begin_method(); } CompileWrapper::~CompileWrapper() { - if (_compile->failing()) { - _compile->print_method("Failed"); - } _compile->end_method(); if (_compile->scratch_buffer_blob() != NULL) BufferBlob::free(_compile->scratch_buffer_blob()); @@ -604,6 +601,8 @@ if (failing()) return; NOT_PRODUCT( verify_graph_edges(); ) + print_method("Before Matching"); + #ifndef PRODUCT if (PrintIdeal) { ttyLocker ttyl; // keep the following output all in one block @@ -1070,7 +1069,7 @@ // No constant oop pointers (such as Strings); they alias with // unknown strings. tj = to = TypeInstPtr::make(TypePtr::BotPTR,to->klass(),false,0,offset); - } else if( to->is_instance_field() ) { + } else if( to->is_known_instance_field() ) { tj = to; // Keep NotNull and klass_is_exact for instance type } else if( ptr == TypePtr::NotNull || to->klass_is_exact() ) { // During the 2nd round of IterGVN, NotNull castings are removed. @@ -1191,8 +1190,8 @@ _field = NULL; _is_rewritable = true; // default const TypeOopPtr *atoop = (at != NULL) ? at->isa_oopptr() : NULL; - if (atoop != NULL && atoop->is_instance()) { - const TypeOopPtr *gt = atoop->cast_to_instance(TypeOopPtr::UNKNOWN_INSTANCE); + if (atoop != NULL && atoop->is_known_instance()) { + const TypeOopPtr *gt = atoop->cast_to_instance_id(TypeOopPtr::InstanceBot); _general_index = Compile::current()->get_alias_index(gt); } else { _general_index = 0; @@ -1481,7 +1480,7 @@ NOT_PRODUCT( verify_graph_edges(); ) - print_method("Start"); + print_method("After Parsing"); { // Iterative Global Value Numbering, including ideal transforms @@ -1688,7 +1687,7 @@ Output(); } - print_method("End"); + print_method("Final Code"); // He's dead, Jim. _cfg = (PhaseCFG*)0xdeadbeef; @@ -2017,7 +2016,7 @@ for (uint i = 0; i < cnt; i++) { Node* m = r->raw_out(i); if (m!= NULL && m->Opcode() == Op_ConN && - m->bottom_type()->is_narrowoop()->make_oopptr() == t) { + m->bottom_type()->make_ptr() == t) { nn = m; break; } @@ -2070,7 +2069,7 @@ } } } else if (t->isa_oopptr()) { - in2 = ConNode::make(C, t->is_oopptr()->make_narrowoop()); + in2 = ConNode::make(C, t->make_narrowoop()); } } if( in2 != NULL ) { @@ -2466,6 +2465,9 @@ // Record the first failure reason. _failure_reason = reason; } + if (!C->failure_reason_is(C2Compiler::retry_no_subsuming_loads())) { + C->print_method(_failure_reason); + } _root = NULL; // flush the graph, too }