
Игорь
14.06.2017
07:28:36
но никак не компилится
вебассембли трогать не будем)

Сергей
14.06.2017
07:29:05

Котяй Негодяй
14.06.2017
07:29:38
Чёт очень так... Пруфцов бы.

Google

Игорь
14.06.2017
07:29:50
Да... Что то не верится
Не может он быть компилируемый

Сергей
14.06.2017
07:30:04
https://github.com/v8/v8/blob/master/src/compiler/arm64/code-generator-arm64.cc

Котяй Негодяй
14.06.2017
07:30:08
Но это возможно, я думаю.

Игорь
14.06.2017
07:30:10
Тогда где он объектные файлы создаёт или файлы с байткодом?
Если он и компилит, то делает это на ходу.

Default
14.06.2017
07:30:25
Лучше ответь, где это ты уперся в скорость v8?

Игорь
14.06.2017
07:30:31
А это уже не компиляция

Default
14.06.2017
07:30:34
И нахера тебе быстрее

Сергей
14.06.2017
07:30:38

Котяй Негодяй
14.06.2017
07:30:41
Как работают модули в ЖС? =)))

Игорь
14.06.2017
07:30:57
Если компилит, то на выходе должны получать файлы с байткодом

Google

Игорь
14.06.2017
07:31:03
Я их в упор не видел

Andrey
14.06.2017
07:31:04

Игорь
14.06.2017
07:31:12
Это совсем другое

Сергей
14.06.2017
07:31:15

Игорь
14.06.2017
07:31:22
Это уже оптимизация в рантайме

Сергей
14.06.2017
07:31:46
@vkurchatkin ты тут?
можешь поучаствовать в треде?

Vladimir
14.06.2017
07:32:11
а какой вопрос?

Ҫѐҏӗѫӑ
14.06.2017
07:32:22
кто меншнил
я ебанусь столько читать

Alexey
14.06.2017
07:33:02
вы на работе вообще работаете?)

Котяй Негодяй
14.06.2017
07:33:05
Короч, сначала ЖС читает файл полностью, а потом его выполняет. То, что ты много раз выполнишь, не будет компилиться много раз. Поэтому, интерпритация/компиляция — это же оверхед, который тупо отсрочит старт. Не?

Сергей
14.06.2017
07:33:06

Vladimir
14.06.2017
07:33:34
Ну в определенных смыслах слова - да

Сергей
14.06.2017
07:33:53
просто когда я завел тред что v8 интерпретатор с JIT меня тут засрали
мол v8 это компилятор

Игорь
14.06.2017
07:34:27
Ахах

Vladimir
14.06.2017
07:34:28
Это вопрос терминологии

Ҫѐҏӗѫӑ
14.06.2017
07:34:33
в v8 в до I+TF не было интерпретатора
но он сам как бы интерпретирует код

Vladimir
14.06.2017
07:35:05
Глобально v8 это интерпретатор, да

Google

Vladimir
14.06.2017
07:35:27
Т к не производит каких то исполняемых артефактов

Andrey
14.06.2017
07:35:31
Это совсем другое
В C# можно взять ILGenerator (или даже C#-генератор), создать динамически в памяти сборку, запустить из неё код. Файла с объектным кодом на диске не будет. В джаве полагаю, тоже. Шо, теперь и они не компилируемые?

Игорь
14.06.2017
07:35:56
В джаве будет

Konstantin
14.06.2017
07:36:10

Andrey
14.06.2017
07:36:46
Что-то плохо быть джавой, кмк :^)

Сергей
14.06.2017
07:36:55

Котяй Негодяй
14.06.2017
07:37:20
В наивный кот.

Игорь
14.06.2017
07:37:31
в джаве рядом с MyClass.java после компиляции ты получаешь MyClass.class

Котяй Негодяй
14.06.2017
07:37:32
Пойду работать.

Игорь
14.06.2017
07:37:33
это и есть байткод

Konstantin
14.06.2017
07:37:34

Игорь
14.06.2017
07:37:37
для JVM

Сергей
14.06.2017
07:37:51

Игорь
14.06.2017
07:38:03
ну а если хочешь вообще чтобы два раза тыкнуть и работает - надо пару параметров дописать чтоб получить MyProgram.jar

Default
14.06.2017
07:38:08
Ну не в нативный, положим, а в исполняемый

Игорь
14.06.2017
07:38:21
вряд ли можно понять по исходникам машинный код это или нет )))
если это просто байткод)

Сергей
14.06.2017
07:38:26

Default
14.06.2017
07:38:42
Если б компилил в нативный и выполнял вне своей песочницы, это была бы дырища

Google

Игорь
14.06.2017
07:38:47
JVM это виртуальная машина

Сергей
14.06.2017
07:39:07

Игорь
14.06.2017
07:39:10
и мы получаем исполняемые файлы в рамках виртуальной машины, которая есть интерфейсом между реальной ОС и виртуальной архитектурой

Konstantin
14.06.2017
07:39:33

Default
14.06.2017
07:40:10
Ну это ж исходники сборщика, ясен хрен они разные будут

Сергей
14.06.2017
07:40:20

Default
14.06.2017
07:40:33
Компилятора, ок
Глянь в ллвм
Там такая же хурма

Admin
ERROR: S client not available

Default
14.06.2017
07:40:57
Ток исполняемый код везде одинаковый
А компилеры разные

Сергей
14.06.2017
07:41:19
эм

Кирилл
14.06.2017
07:41:19
V8 compiles JavaScript source code directly into machine code when it is first executed. There are no intermediate byte codes, no interpreter.

Сергей
14.06.2017
07:41:36

Ҫѐҏӗѫӑ
14.06.2017
07:41:56
до 2010 года

Сергей
14.06.2017
07:42:17

Ҫѐҏӗѫӑ
14.06.2017
07:42:27
а сейчас и краншафта нет лол

Vladimir
14.06.2017
07:42:31

Google

Default
14.06.2017
07:42:34
Ллвм как раз дает слой абстракции, обеспечивающий некоторую переносимость. Если не увлекаться системными вызовами

Ҫѐҏӗѫӑ
14.06.2017
07:42:47

Сергей
14.06.2017
07:42:58

Vladimir
14.06.2017
07:42:58
Но IR не байткод

Кирилл
14.06.2017
07:43:01
https://github.com/v8/v8/wiki/Design%20Elements#dynamic-machine-code-generation

Ҫѐҏӗѫӑ
14.06.2017
07:43:08

Default
14.06.2017
07:43:58

Ҫѐҏӗѫӑ
14.06.2017
07:44:03
а , IR байткод
ок
до 2017 тогда

Default
14.06.2017
07:44:13
Под капотом у в8 разница есть
А в исполняемом коде нет

Сергей
14.06.2017
07:44:44

Default
14.06.2017
07:45:41
И для конкретной оси еще

Ҫѐҏӗѫӑ
14.06.2017
07:45:41
в чем срач-то?

Default
14.06.2017
07:45:56

Игорь
14.06.2017
07:46:06
я так понимаю здесь все на маке сидят? )

Ivan
14.06.2017
07:46:12
все срачи начинаются с php

Котяй Негодяй
14.06.2017
07:46:39

Default
14.06.2017
07:46:41
Уже упоминали выше