src/share/vm/opto/callnode.cpp

changeset 6499
ad3b94907eed
parent 6488
4cdf4f71177d
child 6503
a9becfeecd1b
     1.1 --- a/src/share/vm/opto/callnode.cpp	Mon Dec 23 10:26:08 2013 -0800
     1.2 +++ b/src/share/vm/opto/callnode.cpp	Fri Dec 20 13:51:14 2013 +0100
     1.3 @@ -595,6 +595,18 @@
     1.4    }
     1.5  }
     1.6  
     1.7 +// Adapt offsets in in-array after adding or removing an edge.
     1.8 +// Prerequisite is that the JVMState is used by only one node.
     1.9 +void JVMState::adapt_position(int delta) {
    1.10 +  for (JVMState* jvms = this; jvms != NULL; jvms = jvms->caller()) {
    1.11 +    jvms->set_locoff(jvms->locoff() + delta);
    1.12 +    jvms->set_stkoff(jvms->stkoff() + delta);
    1.13 +    jvms->set_monoff(jvms->monoff() + delta);
    1.14 +    jvms->set_scloff(jvms->scloff() + delta);
    1.15 +    jvms->set_endoff(jvms->endoff() + delta);
    1.16 +  }
    1.17 +}
    1.18 +
    1.19  //=============================================================================
    1.20  uint CallNode::cmp( const Node &n ) const
    1.21  { return _tf == ((CallNode&)n)._tf && _jvms == ((CallNode&)n)._jvms; }

mercurial