bytecode compilation
Bryce McKinlay
bryce@waitaki.otago.ac.nz
Fri Dec 21 21:27:00 GMT 2001
Richard Henderson wrote:
>Method void main(java.lang.String[])
> 0 ldc #13 <String "stringconst2">
> 2 invokestatic #19 <Method java.lang.Class forName(java.lang.String)>
> 5 astore_1
> 6 aload_1
> 7 astore_2
> 8 getstatic #25 <Field java.io.PrintStream out>
> 11 goto 15
> 14 astore_1
> 15 return
>Exception table:
> from to target type
> 0 11 14 <Class java.lang.Throwable>
>>which looks decidedly wrong. There's no call to println for one.
>>Does this work properly on other machines?
>
Yes. On ppc "gcj -C stringconst2.java" gives me:
0: ldc #13=<String "stringconst2">
2: invokestatic #19=<Method java.lang.Class.forName
(java.lang.String)java.lang.Class>
5: astore_1
6: aload_1
7: ldc #20=<String "q">
9: invokevirtual #24=<Method java.lang.Class.getField
(java.lang.String)java.lang.reflect.Field>
12: astore_2
13: getstatic #30=<Field java.lang.System.out java.io.PrintStream>
16: aload_2
17: aconst_null
18: invokevirtual #36=<Method java.lang.reflect.Field.get
(java.lang.Object)java.lang.Object>
21: invokevirtual #42=<Method java.io.PrintStream.println
(java.lang.Object)void>
24: goto 28
27: astore_1
28: return
regards
Bryce.
More information about the Java
mailing list