にスタックオペランドの配列リファレンスを取得する私は、JavaバイトコードinstrumantationのためのASMのAPIと連携し、私は、任意の配列にそれぞれアクセスして(配列の名前で)アクセスされる配列を決定することができるようにしたいと思います。は、Javaバイトコード
は、私はそれには二つの問題があります。 を - のは、例えばiastoreのinstrutionてみましょう。配列参照は、2つの他の変数(valueとindex)の下のオペランドスタックに置かれます。スタックを破壊することなくarrayrefを取得するにはどうすればよいですか(スタック内に2つ以上の上位変数を複製することはできません) 私がスタックからポップインデックスと値から考えて、配列リファレンスを取得するにはどこかにし、それらを保存し、最終的に戻ってスタックへのインデックスと値をプッシュしますが、私は本当にこれを行う方法がわからない...
- 私はarrayref(一度持っていれば)配列の名前(ユーザーが配列を呼び出すと宣言した名前)から取得したいと思います。事前に
感謝。
「アレイの名前」とはどういう意味ですか? –
クラスファイルから変数名を取得できます。しかし、多くの変数(ローカルとメンバ)は同じ配列オブジェクトを指すことができるので、どの変数名を使用したいでしょうか? – Anon
私は元のJavaプログラムのこの配列の名前を意味します。おかげで – Roi