Size: a a a

Compiler Development

2021 January 07

BD

Berkus Decker in Compiler Development
сделают конечно
источник

BD

Berkus Decker in Compiler Development
но это не важно
источник

M

MrSmith in Compiler Development
Не мне важно я подожду
источник

BD

Berkus Decker in Compiler Development
вот собственно коммент в котором ты сам решил перескочить на фуксию, не расскажешь, зачем?
источник

BD

Berkus Decker in Compiler Development
Переслано от MrSmith
У них у самих вышло гараздо лучше в фуксии
источник

Т8

Т-34 85 in Compiler Development
MrSmith
Падажди я тестирую сделают ли тебе предупреждение за хамство или я особенный
но ты особенный. В любом случае
источник

T

Tommy in Compiler Development
Berkus Decker
Как там в  фуксии с Edit&Continue?
У флаттера есть веб иде с эмулятором, так что все ок, думаю https://flutlab.io/ide
источник

BD

Berkus Decker in Compiler Development
MrSmith
У них у самих вышло гараздо лучше в фуксии
давай уж добьем

раз ты не хочешь сам читать про фуксию, я тебе прочитаю

в фуксии у них  получилось примерно так же как и в андроиде, смотри

In some cases, small changes to the Dart code enable you to continue using hot reload for your app. In other cases, a hot restart, or a full restart is needed
источник

BD

Berkus Decker in Compiler Development
Hot reload doesn’t work when enumerated types are changed to regular classes or regular classes are changed to enumerated types.
источник

BD

Berkus Decker in Compiler Development
Hot reload supports changing assets, for the most part. However, if you change fonts, you’ll need to hot restart.
источник

BD

Berkus Decker in Compiler Development
Hot reload won’t work when generic type declarations are modified.
источник

BD

Berkus Decker in Compiler Development
If you’ve changed native code (such as Kotlin, Java, Swift, or Objective-C), you must perform a full restart
источник

BD

Berkus Decker in Compiler Development
If you change initializers of global variables and static fields, a full restart is necessary to see the changes
источник

BD

Berkus Decker in Compiler Development
@MRSMITH4 ну ты понел да?
источник

BD

Berkus Decker in Compiler Development
Tommy
У флаттера есть веб иде с эмулятором, так что все ок, думаю https://flutlab.io/ide
это как-то связано?
источник

DP

Dmitry Ponyatov in Compiler Development
Defragmented Panda
как можно делать песочницу для кода?

например, берем плохой код котооый содержит прыжок к далекой памяти за пределами кода или прыжок на себя же для бесконечного цикла.

как можно написать код-песочницу который гарантирует что плохой код будет обработан и завершиться через конечное время? (например 1000 инструкций). и что он не изменит память вне песочницы
тащить подходы из Эрланга:
- микро-процессы с изолированной памятью
- диапазон адресации обрезать аппаратно/программно
- таймауты для процессов: не успел-сдох
- вытесняющая многозадачность
- супервизоры
- микроядерный подход на уровне интерпретатора байт-кода (или ядра ОС под гипервизором)
источник

DP

Defragmented Panda in Compiler Development
Dmitry Ponyatov
тащить подходы из Эрланга:
- микро-процессы с изолированной памятью
- диапазон адресации обрезать аппаратно/программно
- таймауты для процессов: не успел-сдох
- вытесняющая многозадачность
- супервизоры
- микроядерный подход на уровне интерпретатора байт-кода (или ядра ОС под гипервизором)
как производится смена процесса\ многозадачность\ таймаут если процесс не отдает выполнение? (завис, бесконечный цикл)
источник

BD

Berkus Decker in Compiler Development
Dmitry Ponyatov
тащить подходы из Эрланга:
- микро-процессы с изолированной памятью
- диапазон адресации обрезать аппаратно/программно
- таймауты для процессов: не успел-сдох
- вытесняющая многозадачность
- супервизоры
- микроядерный подход на уровне интерпретатора байт-кода (или ядра ОС под гипервизором)
Можно втащить подход из QEMU 🙂

Просто выполнять код в интерпретаторе.
источник

DP

Dmitry Ponyatov in Compiler Development
Berkus Decker
Можно втащить подход из QEMU 🙂

Просто выполнять код в интерпретаторе.
самое тупое, простое, лобовое, и одновременно неограниченное по тюнингу решение — кросс-компилятор в байт-код + встраиваемая ВМка.
делай что хочешь, как хочешь, по желанию дописывай компилятор в .yacc добавляя плюшки.
операции, которые нужны быстро/часто — выносятся в сишечку.
подходы к архитектуре и приёмам/парадигмам программироания — те же, что и на обычных системах, в т.ч. создание защищенных ОС, но уже на уровне байт-кода = машинного-кода на bare metal.
систему команд — бери какую хочешь, на которой удобно на асме ручками писать, например извратитьися всзять burrough 5000 + tagged memory с Эльбруса
источник

DP

Dmitry Ponyatov in Compiler Development
источник