135 output()->print("<unloaded object " PTR_FORMAT ">", value); |
135 output()->print("<unloaded object " PTR_FORMAT ">", value); |
136 } else if (value->is_method()) { |
136 } else if (value->is_method()) { |
137 ciMethod* m = (ciMethod*)value; |
137 ciMethod* m = (ciMethod*)value; |
138 output()->print("<method %s.%s>", m->holder()->name()->as_utf8(), m->name()->as_utf8()); |
138 output()->print("<method %s.%s>", m->holder()->name()->as_utf8(), m->name()->as_utf8()); |
139 } else { |
139 } else { |
140 output()->print("<object " PTR_FORMAT ">", value->constant_encoding()); |
140 output()->print("<object " PTR_FORMAT " klass=", value->constant_encoding()); |
|
141 print_klass(value->klass()); |
|
142 output()->print(">"); |
141 } |
143 } |
142 } else if (type->as_InstanceConstant() != NULL) { |
144 } else if (type->as_InstanceConstant() != NULL) { |
143 ciInstance* value = type->as_InstanceConstant()->value(); |
145 ciInstance* value = type->as_InstanceConstant()->value(); |
144 if (value->is_loaded()) { |
146 if (value->is_loaded()) { |
145 output()->print("<instance " PTR_FORMAT ">", value->constant_encoding()); |
147 output()->print("<instance " PTR_FORMAT " klass=", value->constant_encoding()); |
|
148 print_klass(value->klass()); |
|
149 output()->print(">"); |
146 } else { |
150 } else { |
147 output()->print("<unloaded instance " PTR_FORMAT ">", value); |
151 output()->print("<unloaded instance " PTR_FORMAT ">", value); |
148 } |
152 } |
149 } else if (type->as_ArrayConstant() != NULL) { |
153 } else if (type->as_ArrayConstant() != NULL) { |
150 output()->print("<array " PTR_FORMAT ">", type->as_ArrayConstant()->value()->constant_encoding()); |
154 output()->print("<array " PTR_FORMAT ">", type->as_ArrayConstant()->value()->constant_encoding()); |
451 output()->print(" (eliminated)"); |
455 output()->print(" (eliminated)"); |
452 } |
456 } |
453 } |
457 } |
454 |
458 |
455 |
459 |
|
460 void InstructionPrinter::do_TypeCast(TypeCast* x) { |
|
461 output()->print("type_cast("); |
|
462 print_value(x->obj()); |
|
463 output()->print(") "); |
|
464 print_klass(x->declared_type()->klass()); |
|
465 } |
|
466 |
|
467 |
456 void InstructionPrinter::do_Invoke(Invoke* x) { |
468 void InstructionPrinter::do_Invoke(Invoke* x) { |
457 if (x->receiver() != NULL) { |
469 if (x->receiver() != NULL) { |
458 print_value(x->receiver()); |
470 print_value(x->receiver()); |
459 output()->print("."); |
471 output()->print("."); |
460 } |
472 } |