Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Memeriksa Kod Perhimpunan yang Disusun JIT dalam JVM?

Bagaimanakah Saya Boleh Memeriksa Kod Perhimpunan yang Disusun JIT dalam JVM?

Linda Hamilton
Linda Hamiltonasal
2024-12-12 17:46:10158semak imbas

How Can I Inspect the JIT-Compiled Assembly Code in the JVM?

Memeriksa Kod Disusun JIT dalam JVM

Mesin Maya Java (JVM) menggunakan kompilasi Just-In-Time (JIT) untuk menambah baik kecekapan pelaksanaan kod. Walaupun JIT beroperasi dengan lancar di latar belakang, mungkin terdapat keadaan apabila pembangun berusaha untuk memeriksa kod asli yang dijana oleh JIT. Artikel ini memberikan arahan tentang cara melihat kod pemasangan yang dihasilkan oleh JIT.

Penggunaan Umum

Jalankan JVM dengan pilihan berikut:

-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly

Tapis pada Kaedah Tertentu

Untuk mengasingkan kod pemasangan untuk kaedah tertentu, gunakan sintaks berikut:

-XX:+UnlockDiagnosticVMOptions -XX:CompileCommand=print,*MyClass.myMethod

Perhatikan bahawa nama kaedah mungkin memerlukan petikan bergantung pada sistem pengendalian. Kaedah sebaris mungkin tidak memaparkan semua pengoptimuman.

Memasang Pustaka Diperlukan pada Windows

Untuk mengakses pilihan ini pada Windows, adalah perlu untuk memasang perpustakaan tertentu. Perduaan prabina boleh didapati daripada projek fcml:

  • hsdis-amd64.dll
  • hsdis-i386.dll

Sebagai alternatif, perpustakaan boleh dibina secara manual menggunakan Cygwin. Arahan untuk kedua-dua kaedah diperincikan dalam panduan daripada fmlc.

Nota Tambahan

  • Untuk sintaks Intel ASM, gunakan -XX:PrintAssemblyOptions=intel bersama pilihan lain .
  • Kod pemasangan output lazimnya bertele-tele dan mungkin mencabar untuk tafsirkan.
  • Membuka kunci pilihan VM diagnostik boleh menjejaskan prestasi. Gunakan pilihan ini hanya apabila perlu untuk tujuan diagnostik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memeriksa Kod Perhimpunan yang Disusun JIT dalam JVM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn