Size: a a a

2019 March 11

OS

Oleg Shelajev in graalvm_ru
все будет работать
источник

OS

Oleg Shelajev in graalvm_ru
это обычный хотспот + крутой джит: Graal compiler
источник

OS

Oleg Shelajev in graalvm_ru
а так же - рефлексия будет работать и в native image если ее сконфигурировать (сказать что будет через рефлексию трогаться)
источник

OS

Oleg Shelajev in graalvm_ru
но если запускать graalvm/bin/java — вообще все будет работать как обычно (+- экспериментальные штуки типа zgc которые прям так и пишут - не работает с JVMCI компиляторами)
источник

LS

Lev Serebryakov in graalvm_ru
А мне до сих пор непонятно что такое GraalVM без JVM — как оно бутстрапится, кто отвечает за то, что в jvm называется runtime и за gc?
источник

ST

Slava Tutrinov in graalvm_ru
Lev Serebryakov
А мне до сих пор непонятно что такое GraalVM без JVM — как оно бутстрапится, кто отвечает за то, что в jvm называется runtime и за gc?
SubstrateVM
источник

IU

Ivan Ugliansky in graalvm_ru
в SVM реализован свой рантайм, вот здесь можно найти сорцы GC, например: https://github.com/oracle/graal/tree/master/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/heap
источник

LS

Lev Serebryakov in graalvm_ru
Бутстрапится всё равно через jvm?
источник

OS

Oleg Shelajev in graalvm_ru
Lev Serebryakov
А мне до сих пор непонятно что такое GraalVM без JVM — как оно бутстрапится, кто отвечает за то, что в jvm называется runtime и за gc?
например node.js
источник

OS

Oleg Shelajev in graalvm_ru
graalvm/bin/node
источник

IU

Ivan Ugliansky in graalvm_ru
Lev Serebryakov
Бутстрапится всё равно через jvm?
Про это лучше уточнить у @shelajevoleg.

Насколько я помню, SVM сильно опирается на то, чтобы он был скомпилирован именно Грааль компилятором (а рантайм изначально был хотспотовский, хотя теперь это неважно), но я могу ошибаться.
источник

OS

Oleg Shelajev in graalvm_ru
Lev Serebryakov
А мне до сих пор непонятно что такое GraalVM без JVM — как оно бутстрапится, кто отвечает за то, что в jvm называется runtime и за gc?
gc и прочие элементы рантайма приходят из проекта SubstrateVM: https://github.com/oracle/graal/tree/master/substratevm
источник

OS

Oleg Shelajev in graalvm_ru
все вот это вместе с вашим приложением компилируется в 1 executable ну или shared library
источник

OS

Oleg Shelajev in graalvm_ru
это не совсем точно называть виртуальной машиной, это коллекция компонентов ВМ скорее.
источник

IU

Ivan Ugliansky in graalvm_ru
а чем коллекция компонентов ВМ отличается от ВМ?
источник

OS

Oleg Shelajev in graalvm_ru
Lev Serebryakov
А мне до сих пор непонятно что такое GraalVM без JVM — как оно бутстрапится, кто отвечает за то, что в jvm называется runtime и за gc?
еще есть например https://oracle.github.io/oracle-db-mle/releases/0.2.7/docker/

где GraalVM встроен в базу данных и некоторые компоненты VM контролируются базой данных, например GC или thread scheduling
источник

OS

Oleg Shelajev in graalvm_ru
Ivan Ugliansky
а чем коллекция компонентов ВМ отличается от ВМ?
ну например просто ВМ можно запустить без какой-либо программы, нет? или с какой нибудь программой и тогда она будет ее выполнять?
источник

OS

Oleg Shelajev in graalvm_ru
ты думаешь это семантически эквивалентные понятия — виртуальная машина или коллекция компонентов виртуальной машины?
источник

OS

Oleg Shelajev in graalvm_ru
Lev Serebryakov
Бутстрапится всё равно через jvm?
что такое бутстрапится?
источник

IU

Ivan Ugliansky in graalvm_ru
Oleg Shelajev
ты думаешь это семантически эквивалентные понятия — виртуальная машина или коллекция компонентов виртуальной машины?
Не, я скорее не понимаю термина "коллекция компонентов виртуальной машины", отсюда и мой вопрос. Собственно что в этих терминах связывает эти компоненты в VM? (и как их можно написать отдельно)
источник