История изменений
Исправление
stevejobs,
(текущая версия)
:
И кстати, с JIT-компиляторами и кодогенераторами то же самое. Скоро появится несколько разных конкурирующих JIT-компиляторов.
Уже сейчас есть конкуренция между C2 (основной компилятор) и Graal.
В качестве изначальной инициативы тут выделили JVMCI (JVM Compiler Interface) - тупо плагинная система, которая на вход получает byte[] байткода, и на выход отдаёт машинный код. Ну и обвязка для этого разная. Реализовать можешь как хочешь. Сейчас есть только Graal, но то ли ещё будет!
Более того, компиляторов динамических языков будет тоже много. Сейчас идея обкатывается на Truffle - код на не-java отдаётся ему, и дальше Truffle это конвертит в джавовый байткод, и перебрасывает через JVMCI в Graal.
Но в будущем не только Трюфель сможет кормить байткодом Грааль, и не только Грааль будет обрабатывать запросы от Трюфеля. Это всё интерфейсы, котоыре можно реализовывать самостоятельно - и которые будут реализовываться разными компаниями.
Кстати, как с этим в .NET? F# то уже в .NET Core на Linux заработал?
Исправление
stevejobs,
:
И кстати, с JIT-компиляторами и кодогенераторами то же самое. Скоро появится несколько разных конкурирующих JIT-компиляторов.
В качестве изначальной инициативы тут выделили JVMCI (JVM Compiler Interface) - тупо плагинная система, которая на вход получает byte[] байткода, и на выход отдаёт машинный код. Ну и обвязка для этого разная. Реализовать можешь как хочешь. Сейчас есть только Graal, но то ли ещё будет!
Более того, компиляторов динамических языков будет тоже много. Сейчас идея обкатывается на Truffle - код на не-java отдаётся ему, и дальше Truffle это конвертит в джавовый байткод, и перебрасывает через JVMCI в Graal.
Но в будущем не только Трюфель сможет кормить байткодом Грааль, и не только Грааль будет обрабатывать запросы от Трюфеля. Это всё интерфейсы, котоыре можно реализовывать самостоятельно - и которые будут реализовываться разными компаниями.
Кстати, как с этим в .NET? F# то уже в .NET Core на Linux заработал?
Исправление
stevejobs,
:
И кстати, с JIT-компиляторами и кодогенераторами то же самое. Скоро появится несколько разных конкурирующих JIT-компиляторов.
В качестве изначальной инициативы тут выделили JVMCI (JVM Compiler Interface) - тупо плагинная система, которая на вход получает byte[] байткода, и на выход отдаёт машинный код. Ну и обвязка для этого разная. Реализовать можешь как хочешь. Сейчас есть только Graal, но то ли ещё будет!
Более того, компиляторов динамических языков будет тоже много. Сейчас идея обкатывается на Truffle - код на не-java отдаётся ему, и дальше Truffle это конвертит в джавовый байткод, и перебрасывает через JVMCI в Graal.
Но в будущем не только Трюфель сможет кормить байткодом Грааль, и не только Грааль будет обрабатывать запросы от Трюфеля. Это всё интерфейсы, котоыре можно реализовывать самостоятельно - и которые будут реализовываться разными компаниями.
Кстати, как с этим в .NET?
Исходная версия
stevejobs,
:
И кстати, с JIT-компиляторами то же самое. Скоро появится несколько разных конкурирующих JIT-компиляторов.
В качестве изначальной инициативы тут выделили JVMCI (JVM Compiler Interface) - тупо плагинная система, которая на вход получает byte[] байткода, и на выход отдаёт машинный код. Ну и обвязка для этого разная. Реализовать можешь как хочешь. Сейчас есть только Graal, но то ли ещё будет!
Более того, компиляторов динамических языков будет тоже много. Сейчас идея обкатывается на Truffle - код на не-java отдаётся ему, и дальше Truffle это конвертит в джавовый байткод, и перебрасывает через JVMCI в Graal.
Но в будущем не только Трюфель сможет кормить байткодом Грааль, и не только Грааль будет обрабатывать запросы от Трюфеля. Это всё интерфейсы, котоыре можно реализовывать самостоятельно - и которые будут реализовываться разными компаниями.