Mercurial > hg > graal-jvmci-8
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(); |