Exemplo n.º 1
0
// Print this EntryActivation and all other EntryActivation's that follow it.
void EntryActivation::print_list_on(Stream* st, int indent, int index) {
#if USE_DEBUG_PRINTING
  int last_indent = st->indentation();
  st->set_indentation(indent);
  st->indent();

  st->print("[%d] ", index);
  Method m = method();
  m.print_value_on(st);
  st->cr();

  for (int i = 0; i < length(); i++) {
    st->indent();
    st->print("    ");

    switch(tag_at(i)) { 
    case float_tag:
      st->print("(float)  %f", jvm_f2d(float_at(i)));
      break;
    case double_tag:
      st->print("(double)  %d", double_at(i));
      i++;
      break;
    case long_tag:
      st->print("(long)   ");
      st->print(OsMisc_jlong_format_specifier(), long_at(i));
      i++;
      break;
    case obj_tag:
      {
        st->print("(obj)  ");
        Oop obj = obj_at(i);
        obj.print_value_on(st);
      }
      break;
    case int_tag:
      st->print("(int)    %d", int_at(i));
      break;
    default:
      SHOULD_NOT_REACH_HERE();
    }
    st->cr();
  }

  EntryActivation mynext = next();
  if (mynext.not_null()) {
    mynext.print_list_on(st, indent, index+1);
  }
  st->set_indentation(last_indent);
#endif
}
Exemplo n.º 2
0
void StackValueCollection::print() {
  for(int index = 0; index < size(); index++) {
    tty->print("\t  %2d ", index);
    at(index)->print_on(tty);
    if( at(index  )->type() == T_INT &&
        index+1 < size() &&
        at(index+1)->type() == T_INT ) {
      tty->print("  " INT64_FORMAT " (long)", long_at(index));
      tty->cr();
      tty->print("\t     %.15e (double)", double_at(index));
      tty->print("  " PTR64_FORMAT " (longhex)", long_at(index));
    }
    tty->cr();
  }
}