comparison agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java @ 2011:dad31fc330cd

7001379: bootstrap method data needs to be moved from constant pool to a classfile attribute Reviewed-by: twisti
author jrose
date Fri, 03 Dec 2010 15:53:57 -0800
parents 3b2dea75431e
children 3da13a976363
comparison
equal deleted inserted replaced
2010:7601ab0e1e33 2011:dad31fc330cd
458 buf.append(" #"); 458 buf.append(" #");
459 buf.append(Integer.toString((val >> 16) & 0xFFFF)); 459 buf.append(Integer.toString((val >> 16) & 0xFFFF));
460 return buf.toString(); 460 return buf.toString();
461 } 461 }
462 462
463 private String genListOfShort(int[] values) { 463 private String genListOfShort(short[] values) {
464 if (values == null || values.length == 0) return "";
464 Formatter buf = new Formatter(genHTML); 465 Formatter buf = new Formatter(genHTML);
465 buf.append('['); 466 buf.append('[');
466 for (int i = 0; i < values.length; i++) { 467 for (int i = 0; i < values.length; i++) {
467 if (i > 0) buf.append(' '); 468 if (i > 0) buf.append(' ');
468 buf.append('#'); 469 buf.append('#');
592 case JVM_CONSTANT_MethodType: 593 case JVM_CONSTANT_MethodType:
593 buf.cell("JVM_CONSTANT_MethodType"); 594 buf.cell("JVM_CONSTANT_MethodType");
594 buf.cell(Integer.toString(cpool.getIntAt(index))); 595 buf.cell(Integer.toString(cpool.getIntAt(index)));
595 break; 596 break;
596 597
598 case JVM_CONSTANT_InvokeDynamicTrans:
597 case JVM_CONSTANT_InvokeDynamic: 599 case JVM_CONSTANT_InvokeDynamic:
598 buf.cell("JVM_CONSTANT_InvokeDynamic"); 600 buf.cell("JVM_CONSTANT_InvokeDynamic");
599 buf.cell(genListOfShort(cpool.getMultiOperandsAt(index))); 601 buf.cell(genLowHighShort(cpool.getIntAt(index)) +
602 genListOfShort(cpool.getBootstrapSpecifierAt(index)));
600 break; 603 break;
601 604
602 default: 605 default:
603 throw new InternalError("unknown tag: " + ctag); 606 throw new InternalError("unknown tag: " + ctag);
604 } 607 }