2016-03-28 12 views
0

私はこのジャスミンアセンブリを持っています。これは、私が書いているバイトコードリライタによって生成されたJVMアセンブリの簡略化と同等です。実行するとクラッシュしますが、sipushと最初のストアを削除すると機能します。クラッシュを引き起こす無駄なストア

.method public simple()V 
    .limit stack 4 
    sipush  12345 
    istore_1 
    getstatic java/lang/System/out Ljava/io/PrintStream; 
    sipush  12345 
    ldc 12345 
    iadd 
    invokevirtual java/io/PrintStream/println(I)V 
    return 
.end method 

JVMはすべてのストアを負荷で使用する必要がありますか?

答えて

1

istore_1はローカル変数#1に値を格納しますが、メソッドにはローカルはありません。

あなたは次の行を追加した場合の方法が有効となります。

.limit locals 2 
関連する問題