Mercurial > hg > truffle
comparison src/share/vm/opto/callnode.cpp @ 17791:ad3b94907eed
8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
Summary: Add ConstantTableBase node edge after parameters and before jvms. Adapt jvms offsets.
Reviewed-by: kvn
author | goetz |
---|---|
date | Fri, 20 Dec 2013 13:51:14 +0100 |
parents | 4cdf4f71177d |
children | abec000618bf |
comparison
equal
deleted
inserted
replaced
17790:5da8bb64b370 | 17791:ad3b94907eed |
---|---|
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 { |