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

AltStyle によって変換されたページ (->オリジナル) /