Если у меня есть сайт вызова метода в Java.Каков эквивалентный байт-код jvm (кроме вызова, который переводится в invokevirtual / static и т. Д.)?Меня больше интересуют команды, которые загружают приемник в стек.
-Конечно, одна команда является aload.
-Другим может быть, что другой вызов возвращает рефобъект в стеке
-Три новая инструкция.(например, new A (). foo (). Он получает dupped. Но этот dupped используется конструктором)
-four, возможно (??) Dup.(при наличии a.foo (); a.bar (); есть ли вероятность, что компилятор выдаст aload, а затем dup вместо aload aload?)
Мой самый большой вопрос - остальные команды dup.Потому что они как бы тасуют стек.когда Javac производит их?Использует ли он их при компиляции сайта вызовов?
Я пытался найти документацию без удачи.Затем нашел исходный код, но на это уйдут дни.Я считаю, что файлы Code.java и Gen.java отвечают за процесс перевода / компиляции.