Видеть собственный код ассемблера Java-программы - Какой самый простой способ в Windows? - PullRequest
1 голос
/ 26 февраля 2012

Я пытался следовать найденным советам @ https://wikis.oracle.com/display/HotSpotInternals/PrintAssembly и http://alexshabanov.com/2011/12/29/print-assembly-for-java/, но это не сильно помогло. Я использую 64-битную JVM в Windows7, и я поместил предложенный файл hsdis-i386.dll во все папки, где есть jvm.dll, просто чтобы быть уверенным.

Кажется, у меня есть несколько установок JVM (по крайней мере, у меня есть одна в C:\Program Files (x86)\Java, а другая в C:\Program Files\Java), поэтому я не знаю, имеет ли это какое-то значение. Из того, что я видел, выполнение java -d32 приводит к ошибке, поэтому я должен использовать только 64-битную версию 1.

При попытке запустить

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -server -cp . HelloWorldApp

только мой

Hello World!

сообщение отображается, так что, кажется, ничего не происходит. Может быть, проблема в том, что hsdis-i386.dll должно иметь другое имя?

Кстати, я бы хотел избежать создания любых исходных файлов самостоятельно.

1 Ответ

3 голосов
/ 26 февраля 2012

Hotspot не начнет компилировать и оптимизировать, пока не узнает, что важно, и когда вы запустите такую ​​короткую программу, у нее не будет возможности начать работу. Дайте ей нечто более существенное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...