src/share/vm/opto/callnode.cpp

changeset 1335
9987d9d5eb0e
parent 1139
ad8c635e757e
child 1338
15bbd3f505c0
     1.1 --- a/src/share/vm/opto/callnode.cpp	Fri Jul 31 12:04:07 2009 -0700
     1.2 +++ b/src/share/vm/opto/callnode.cpp	Fri Jul 31 17:12:33 2009 -0700
     1.3 @@ -223,6 +223,7 @@
     1.4  JVMState::JVMState(ciMethod* method, JVMState* caller) {
     1.5    assert(method != NULL, "must be valid call site");
     1.6    _method = method;
     1.7 +  _reexecute = Reexecute_Undefined;
     1.8    debug_only(_bci = -99);  // random garbage value
     1.9    debug_only(_map = (SafePointNode*)-1);
    1.10    _caller = caller;
    1.11 @@ -237,6 +238,7 @@
    1.12  JVMState::JVMState(int stack_size) {
    1.13    _method = NULL;
    1.14    _bci = InvocationEntryBci;
    1.15 +  _reexecute = Reexecute_Undefined;
    1.16    debug_only(_map = (SafePointNode*)-1);
    1.17    _caller = NULL;
    1.18    _depth  = 1;
    1.19 @@ -269,6 +271,7 @@
    1.20      if (p->_method != q->_method)    return false;
    1.21      if (p->_method == NULL)          return true;   // bci is irrelevant
    1.22      if (p->_bci    != q->_bci)       return false;
    1.23 +    if (p->_reexecute != q->_reexecute)  return false;
    1.24      p = p->caller();
    1.25      q = q->caller();
    1.26      if (p == q)                      return true;
    1.27 @@ -490,6 +493,7 @@
    1.28      if (!printed)
    1.29        _method->print_short_name(st);
    1.30      st->print(" @ bci:%d",_bci);
    1.31 +    st->print(" reexecute:%s", _reexecute==Reexecute_True?"true":"false");
    1.32    } else {
    1.33      st->print(" runtime stub");
    1.34    }
    1.35 @@ -509,8 +513,8 @@
    1.36      }
    1.37      _map->dump(2);
    1.38    }
    1.39 -  st->print("JVMS depth=%d loc=%d stk=%d mon=%d scalar=%d end=%d mondepth=%d sp=%d bci=%d method=",
    1.40 -             depth(), locoff(), stkoff(), monoff(), scloff(), endoff(), monitor_depth(), sp(), bci());
    1.41 +  st->print("JVMS depth=%d loc=%d stk=%d mon=%d scalar=%d end=%d mondepth=%d sp=%d bci=%d reexecute=%s method=",
    1.42 +             depth(), locoff(), stkoff(), monoff(), scloff(), endoff(), monitor_depth(), sp(), bci(), should_reexecute()?"true":"false");
    1.43    if (_method == NULL) {
    1.44      st->print_cr("(none)");
    1.45    } else {
    1.46 @@ -537,6 +541,7 @@
    1.47  JVMState* JVMState::clone_shallow(Compile* C) const {
    1.48    JVMState* n = has_method() ? new (C) JVMState(_method, _caller) : new (C) JVMState(0);
    1.49    n->set_bci(_bci);
    1.50 +  n->_reexecute = _reexecute;
    1.51    n->set_locoff(_locoff);
    1.52    n->set_stkoff(_stkoff);
    1.53    n->set_monoff(_monoff);

mercurial