diff options
author | chiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3> | 2009-11-08 14:53:47 +0000 |
---|---|---|
committer | chiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3> | 2009-11-08 14:53:47 +0000 |
commit | 24f91de8b90ff7beae305dd4df4c9a5f0c8879e1 (patch) | |
tree | 5c8be7f0e20557ad570d37e47227d7e4ff167add /src/main/javassist/bytecode/stackmap/MapMaker.java | |
parent | ceca8f6f36a9e0b7f40bd73730000f377ec925d1 (diff) | |
download | javassist-24f91de8b90ff7beae305dd4df4c9a5f0c8879e1.tar.gz javassist-24f91de8b90ff7beae305dd4df4c9a5f0c8879e1.zip |
for JIRA JASSIST-95
git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@502 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
Diffstat (limited to 'src/main/javassist/bytecode/stackmap/MapMaker.java')
-rw-r--r-- | src/main/javassist/bytecode/stackmap/MapMaker.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/javassist/bytecode/stackmap/MapMaker.java b/src/main/javassist/bytecode/stackmap/MapMaker.java index 6d2bf685..92cd37c6 100644 --- a/src/main/javassist/bytecode/stackmap/MapMaker.java +++ b/src/main/javassist/bytecode/stackmap/MapMaker.java @@ -502,7 +502,16 @@ public class MapMaker extends Tracer { } private void writeVerifyTypeInfo(StackMap.Writer writer, ConstPool cp, TypeData[] types, int num) { - writer.write16bit(num); + int numDWord = 0; + for (int i = 0; i < num; i++) { + TypeData td = types[i]; + if (td != null && td.is2WordType()) { + numDWord++; + i++; + } + } + + writer.write16bit(num - numDWord); for (int i = 0; i < num; i++) { TypeData td = types[i]; if (td == TOP) |