comparison agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ByteCodeRewriter.java @ 705:1f2abec69714

6826261: class file dumping from SA is broken Reviewed-by: kvn, jcoomes
author never
date Fri, 03 Apr 2009 18:51:31 -0700
parents a61af66fc99e
children bd02caa94611
comparison
equal deleted inserted replaced
704:ad8c635e757e 705:1f2abec69714
87 } 87 }
88 88
89 // update the code buffer hotspot specific bytecode with the jvm bytecode 89 // update the code buffer hotspot specific bytecode with the jvm bytecode
90 code[bci] = (byte) (0xFF & bytecode); 90 code[bci] = (byte) (0xFF & bytecode);
91 91
92 // RewriteFrequentPairs
93 if(hotspotcode == Bytecodes._fast_iaccess_0 ||
94 hotspotcode == Bytecodes._fast_aaccess_0 ||
95 hotspotcode == Bytecodes._fast_faccess_0) {
96 // rewrite next bytecode as _getfield
97 bci++;
98 code[bci] = (byte) (0xFF & Bytecodes._getfield);
99 bytecode = Bytecodes._getfield;
100 hotspotcode = Bytecodes._getfield;
101 } else if (hotspotcode == Bytecodes._fast_iload2) {
102 // rewrite next bytecode as _iload
103 bci++;
104 code[bci] = (byte) (0xFF & Bytecodes._iload);
105 bytecode = Bytecodes._iload;
106 hotspotcode = Bytecodes._iload;
107 } else if (hotspotcode == Bytecodes._fast_icaload) {
108 // rewrite next bytecode as _caload
109 bci++;
110 code[bci] = (byte) (0xFF & Bytecodes._caload);
111 bytecode = Bytecodes._caload;
112 bytecode = Bytecodes._caload;
113 }
114
115 short cpoolIndex = 0; 92 short cpoolIndex = 0;
116 switch (bytecode) { 93 switch (bytecode) {
117 // bytecodes with ConstantPoolCache index 94 // bytecodes with ConstantPoolCache index
118 case Bytecodes._getstatic: 95 case Bytecodes._getstatic:
119 case Bytecodes._putstatic: 96 case Bytecodes._putstatic: