src/share/vm/opto/callnode.cpp
Print this page
rev 5808 : 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
*** 593,602 ****
--- 593,614 ----
for (JVMState* p = this; p->_caller != NULL; p = p->_caller) {
p->set_map(map);
}
}
+ // Adapt offsets in in-array after adding or removing an edge.
+ // Prerequisite is that the JVMState is used by only one node.
+ void JVMState::adapt_position(int delta) {
+ for (JVMState* jvms = this; jvms != NULL; jvms = jvms->caller()) {
+ jvms->set_locoff(jvms->locoff() + delta);
+ jvms->set_stkoff(jvms->stkoff() + delta);
+ jvms->set_monoff(jvms->monoff() + delta);
+ jvms->set_scloff(jvms->scloff() + delta);
+ jvms->set_endoff(jvms->endoff() + delta);
+ }
+ }
+
//=============================================================================
uint CallNode::cmp( const Node &n ) const
{ return _tf == ((CallNode&)n)._tf && _jvms == ((CallNode&)n)._jvms; }
#ifndef PRODUCT
void CallNode::dump_req(outputStream *st) const {