src/share/vm/opto/callnode.cpp

changeset 1475
873ec3787992
parent 1366
72088be4b386
child 1515
7c57aead6d3e
     1.1 --- a/src/share/vm/opto/callnode.cpp	Sat Oct 17 19:51:05 2009 -0700
     1.2 +++ b/src/share/vm/opto/callnode.cpp	Wed Oct 21 09:15:33 2009 -0700
     1.3 @@ -421,21 +421,23 @@
     1.4          iklass = cik->as_instance_klass();
     1.5        } else if (cik->is_type_array_klass()) {
     1.6          cik->as_array_klass()->base_element_type()->print_name_on(st);
     1.7 -        st->print("[%d]=", spobj->n_fields());
     1.8 +        st->print("[%d]", spobj->n_fields());
     1.9        } else if (cik->is_obj_array_klass()) {
    1.10 -        ciType* cie = cik->as_array_klass()->base_element_type();
    1.11 -        int ndim = 1;
    1.12 -        while (cie->is_obj_array_klass()) {
    1.13 -          ndim += 1;
    1.14 -          cie = cie->as_array_klass()->base_element_type();
    1.15 +        ciKlass* cie = cik->as_obj_array_klass()->base_element_klass();
    1.16 +        if (cie->is_instance_klass()) {
    1.17 +          cie->print_name_on(st);
    1.18 +        } else if (cie->is_type_array_klass()) {
    1.19 +          cie->as_array_klass()->base_element_type()->print_name_on(st);
    1.20 +        } else {
    1.21 +          ShouldNotReachHere();
    1.22          }
    1.23 -        cie->print_name_on(st);
    1.24 +        st->print("[%d]", spobj->n_fields());
    1.25 +        int ndim = cik->as_array_klass()->dimension() - 1;
    1.26          while (ndim-- > 0) {
    1.27            st->print("[]");
    1.28          }
    1.29 -        st->print("[%d]=", spobj->n_fields());
    1.30        }
    1.31 -      st->print("{");
    1.32 +      st->print("={");
    1.33        uint nf = spobj->n_fields();
    1.34        if (nf > 0) {
    1.35          uint first_ind = spobj->first_index();

mercurial