comparison src/share/vm/opto/callnode.cpp @ 1040:873ec3787992

6892186: SA does not dump debug info for scalar replaced objects Summary: Implement scalar replaced objects debug info dump in SA. Reviewed-by: twisti
author kvn
date Wed, 21 Oct 2009 09:15:33 -0700
parents 72088be4b386
children 7c57aead6d3e
comparison
equal deleted inserted replaced
1039:987e948ebbc8 1040:873ec3787992
419 if (cik->is_instance_klass()) { 419 if (cik->is_instance_klass()) {
420 cik->print_name_on(st); 420 cik->print_name_on(st);
421 iklass = cik->as_instance_klass(); 421 iklass = cik->as_instance_klass();
422 } else if (cik->is_type_array_klass()) { 422 } else if (cik->is_type_array_klass()) {
423 cik->as_array_klass()->base_element_type()->print_name_on(st); 423 cik->as_array_klass()->base_element_type()->print_name_on(st);
424 st->print("[%d]=", spobj->n_fields()); 424 st->print("[%d]", spobj->n_fields());
425 } else if (cik->is_obj_array_klass()) { 425 } else if (cik->is_obj_array_klass()) {
426 ciType* cie = cik->as_array_klass()->base_element_type(); 426 ciKlass* cie = cik->as_obj_array_klass()->base_element_klass();
427 int ndim = 1; 427 if (cie->is_instance_klass()) {
428 while (cie->is_obj_array_klass()) { 428 cie->print_name_on(st);
429 ndim += 1; 429 } else if (cie->is_type_array_klass()) {
430 cie = cie->as_array_klass()->base_element_type(); 430 cie->as_array_klass()->base_element_type()->print_name_on(st);
431 } else {
432 ShouldNotReachHere();
431 } 433 }
432 cie->print_name_on(st); 434 st->print("[%d]", spobj->n_fields());
435 int ndim = cik->as_array_klass()->dimension() - 1;
433 while (ndim-- > 0) { 436 while (ndim-- > 0) {
434 st->print("[]"); 437 st->print("[]");
435 } 438 }
436 st->print("[%d]=", spobj->n_fields()); 439 }
437 } 440 st->print("={");
438 st->print("{");
439 uint nf = spobj->n_fields(); 441 uint nf = spobj->n_fields();
440 if (nf > 0) { 442 if (nf > 0) {
441 uint first_ind = spobj->first_index(); 443 uint first_ind = spobj->first_index();
442 Node* fld_node = mcall->in(first_ind); 444 Node* fld_node = mcall->in(first_ind);
443 ciField* cifield; 445 ciField* cifield;