comparison src/share/vm/opto/callnode.cpp @ 14456:abec000618bf

Merge
author kvn
date Tue, 28 Jan 2014 12:25:34 -0800
parents de6a9e811145 ad6695638a35
children 4ca6dc0799b6 78bbf4d43a14
comparison
equal deleted inserted replaced
14269:2a8891e0a082 14456:abec000618bf
340 switch (t->base()) { 340 switch (t->base()) {
341 case Type::Int: 341 case Type::Int:
342 st->print(" %s%d]=#"INT32_FORMAT,msg,i,t->is_int()->get_con()); 342 st->print(" %s%d]=#"INT32_FORMAT,msg,i,t->is_int()->get_con());
343 break; 343 break;
344 case Type::AnyPtr: 344 case Type::AnyPtr:
345 assert( t == TypePtr::NULL_PTR, "" ); 345 assert( t == TypePtr::NULL_PTR || n->in_dump(), "" );
346 st->print(" %s%d]=#NULL",msg,i); 346 st->print(" %s%d]=#NULL",msg,i);
347 break; 347 break;
348 case Type::AryPtr: 348 case Type::AryPtr:
349 case Type::InstPtr: 349 case Type::InstPtr:
350 st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,t->isa_oopptr()->const_oop()); 350 st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,t->isa_oopptr()->const_oop());
593 for (JVMState* p = this; p->_caller != NULL; p = p->_caller) { 593 for (JVMState* p = this; p->_caller != NULL; p = p->_caller) {
594 p->set_map(map); 594 p->set_map(map);
595 } 595 }
596 } 596 }
597 597
598 // Adapt offsets in in-array after adding or removing an edge.
599 // Prerequisite is that the JVMState is used by only one node.
600 void JVMState::adapt_position(int delta) {
601 for (JVMState* jvms = this; jvms != NULL; jvms = jvms->caller()) {
602 jvms->set_locoff(jvms->locoff() + delta);
603 jvms->set_stkoff(jvms->stkoff() + delta);
604 jvms->set_monoff(jvms->monoff() + delta);
605 jvms->set_scloff(jvms->scloff() + delta);
606 jvms->set_endoff(jvms->endoff() + delta);
607 }
608 }
609
598 //============================================================================= 610 //=============================================================================
599 uint CallNode::cmp( const Node &n ) const 611 uint CallNode::cmp( const Node &n ) const
600 { return _tf == ((CallNode&)n)._tf && _jvms == ((CallNode&)n)._jvms; } 612 { return _tf == ((CallNode&)n)._tf && _jvms == ((CallNode&)n)._jvms; }
601 #ifndef PRODUCT 613 #ifndef PRODUCT
602 void CallNode::dump_req(outputStream *st) const { 614 void CallNode::dump_req(outputStream *st) const {
885 int CallStaticJavaNode::extract_uncommon_trap_request(const Node* call) { 897 int CallStaticJavaNode::extract_uncommon_trap_request(const Node* call) {
886 #ifndef PRODUCT 898 #ifndef PRODUCT
887 if (!(call->req() > TypeFunc::Parms && 899 if (!(call->req() > TypeFunc::Parms &&
888 call->in(TypeFunc::Parms) != NULL && 900 call->in(TypeFunc::Parms) != NULL &&
889 call->in(TypeFunc::Parms)->is_Con())) { 901 call->in(TypeFunc::Parms)->is_Con())) {
890 assert(_in_dump_cnt != 0, "OK if dumping"); 902 assert(in_dump() != 0, "OK if dumping");
891 tty->print("[bad uncommon trap]"); 903 tty->print("[bad uncommon trap]");
892 return 0; 904 return 0;
893 } 905 }
894 #endif 906 #endif
895 return call->in(TypeFunc::Parms)->bottom_type()->is_int()->get_con(); 907 return call->in(TypeFunc::Parms)->bottom_type()->is_int()->get_con();