Генерирует ли JVM JIT инструкции системного вызова? - PullRequest
0 голосов
/ 09 декабря 2018

Мне интересно, как Java-код создает системный вызов, компилятор JIT генерирует инструкции syscall напрямую или что он просто вызывает вызовы функций libc (или других базовых функций библиотеки)?

1 Ответ

0 голосов
/ 09 декабря 2018

JVM Hotspot генерирует машинный код для кода Java (который не поддерживает создание системных вызовов).

Весь код, который создает системные вызовы, находится в собственном методе.

Поэтому, когда Java хочетЧтобы сделать системные вызовы, вы должны вызвать некоторый собственный код, чтобы сделать это для вас.

Существуют библиотеки, которые вы можете использовать для переноса собственных вызовов.Например, JNA и JNR-FFI.Это позволяет вам вызывать библиотеки c без записи собственного кода.

...