[jboss-cvs] javassist/src/main/javassist/convert ...
Jason Thomas Greene
jgreene at jboss.com
Mon Jan 5 23:35:28 EST 2009
User: jgreene
Date: 09/01/05 23:35:28
Modified: src/main/javassist/convert TransformAccessArrayField.java
Log:
Fix JASSIST-71 - Array access replacement generates invalid bytecode when padding is required
Add checkcast support to framedump
Revision Changes Path
1.7 +3 -1 javassist/src/main/javassist/convert/TransformAccessArrayField.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: TransformAccessArrayField.java
===================================================================
RCS file: /cvsroot/jboss/javassist/src/main/javassist/convert/TransformAccessArrayField.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- TransformAccessArrayField.java 3 Jun 2008 03:47:18 -0000 1.6
+++ TransformAccessArrayField.java 6 Jan 2009 04:35:28 -0000 1.7
@@ -32,7 +32,7 @@
*
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @author Jason T. Greene
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
*/
public final class TransformAccessArrayField extends Transformer {
private final String methodClassname;
@@ -140,6 +140,8 @@
}
// The gap may include extra padding
+ // Write a nop in case the padding pushes the instruction forward
+ iterator.writeByte(NOP, pos);
int gapLength = iterator.insertGap(pos, castType != null ? 5 : 2);
int mi = cp.addClassInfo(methodClassname);
More information about the jboss-cvs-commits
mailing list