--- old/src/share/vm/opto/callnode.cpp Mon Jul 6 17:13:53 2009 +++ new/src/share/vm/opto/callnode.cpp Mon Jul 6 17:13:53 2009 @@ -223,6 +223,7 @@ JVMState::JVMState(ciMethod* method, JVMState* caller) { assert(method != NULL, "must be valid call site"); _method = method; + _restart = false; debug_only(_bci = -99); // random garbage value debug_only(_map = (SafePointNode*)-1); _caller = caller; @@ -237,6 +238,7 @@ JVMState::JVMState(int stack_size) { _method = NULL; _bci = InvocationEntryBci; + _restart = false; debug_only(_map = (SafePointNode*)-1); _caller = NULL; _depth = 1; @@ -269,6 +271,7 @@ if (p->_method != q->_method) return false; if (p->_method == NULL) return true; // bci is irrelevant if (p->_bci != q->_bci) return false; + if (p->_restart != q->_restart) return false; p = p->caller(); q = q->caller(); if (p == q) return true; @@ -537,6 +540,7 @@ JVMState* JVMState::clone_shallow(Compile* C) const { JVMState* n = has_method() ? new (C) JVMState(_method, _caller) : new (C) JVMState(0); n->set_bci(_bci); + n->set_restart(_restart); n->set_locoff(_locoff); n->set_stkoff(_stkoff); n->set_monoff(_monoff);