The JDK 6.0 will be creating a StackMapTable attribute.
javap doesn't print these very well:
> cat HelloWorld.java
public class HelloWorld {
public static void main(String args[]) {
/* Use a generic type */
java.util.List<String> l = new java.util.ArrayList<String>();
String.format("%s", "");
/* Just some code with branches */
try {
if ( args.length == 0 ) {
System.out.println("No arguments passed in");
} else {
System.out.println("No arguments passed in");
}
} catch ( Throwable e ) {
System.out.println("ERROR: System.out.println() did a throw");
} finally {
System.out.println("Hello, world!");
}
}
}
> /opt/java/jdk1.6.0/bin/javac -target 1.6 -g HelloWorld.java
> /opt/java/jdk1.6.0/bin/javap -verbose HelloWorld | tail -15
line 19: 87
line 20: 89
LocalVariableTable:
Start Length Slot Name Signature
59 8 2 e Ljava/lang/Throwable;
0 90 0 args [Ljava/lang/String;
8 82 1 l Ljava/util/List;
LocalVariableTypeTable: length = 0xC
00 01 00 08 00 52 00 1C 00 1F 00 01
StackMapTable: length = 0x12 <---- StackMap Attribute
00 05 FFFFFFFC 00 27 07 00 21 07 4A 07 00 22 53 07 00
22 0A
}
###@###.### 2005-05-17 17:11:29 GMT
javap doesn't print these very well:
> cat HelloWorld.java
public class HelloWorld {
public static void main(String args[]) {
/* Use a generic type */
java.util.List<String> l = new java.util.ArrayList<String>();
String.format("%s", "");
/* Just some code with branches */
try {
if ( args.length == 0 ) {
System.out.println("No arguments passed in");
} else {
System.out.println("No arguments passed in");
}
} catch ( Throwable e ) {
System.out.println("ERROR: System.out.println() did a throw");
} finally {
System.out.println("Hello, world!");
}
}
}
> /opt/java/jdk1.6.0/bin/javac -target 1.6 -g HelloWorld.java
> /opt/java/jdk1.6.0/bin/javap -verbose HelloWorld | tail -15
line 19: 87
line 20: 89
LocalVariableTable:
Start Length Slot Name Signature
59 8 2 e Ljava/lang/Throwable;
0 90 0 args [Ljava/lang/String;
8 82 1 l Ljava/util/List;
LocalVariableTypeTable: length = 0xC
00 01 00 08 00 52 00 1C 00 1F 00 01
StackMapTable: length = 0x12 <---- StackMap Attribute
00 05 FFFFFFFC 00 27 07 00 21 07 4A 07 00 22 53 07 00
22 0A
}
###@###.### 2005-05-17 17:11:29 GMT
- duplicates
-
JDK-6271292 javap should print StackMapTable in a more readable format
-
- Closed
-