src/share/vm/c1/c1_InstructionPrinter.cpp

changeset 3969
1d7922586cf6
parent 3592
701a83c86f28
child 4037
da91efe96a93
equal deleted inserted replaced
3944:aba91a731143 3969:1d7922586cf6
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 }

mercurial