Size: a a a

2018 June 20

NK

ID:414983998 in graalvm_ru
Я принимаю участие в написании компилятора и рантайма для него в свободное время) А так есть проект связанный с flow based programming
источник

p

pragus in graalvm_ru
ID:414983998
Ну trie структура о которой должен знать каждый девелопер так или иначе. Это веб-разработчики могут обходиться массивами да хештаблицами, им даже Map/Set очень редко когда нужен, а для всех остальных это нормальное владение computer science
+много. а ещё x86 весьма снисходительна к оплошностям программиста и для самодисциплины стоит пострадать на mips.
источник

p

pragus in graalvm_ru
где невыровненный доступ к памяти тут же приводит к SIGBUS и падению с грохотом.
источник

NK

ID:414983998 in graalvm_ru
Для самодисциплины лучше страдать на какомнибудь FPGA
источник

NK

ID:414983998 in graalvm_ru
Еще круче писать для него логику скажем на verilog
источник

p

pragus in graalvm_ru
да, только через боль.
источник

OS

Oleg Shelajev in graalvm_ru
Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀
@shelajevoleg таки сделал картиночку с результатами Карбона. Они не утешают)
мы знаем что regexp проседает, для этого в том числе есть https://github.com/oracle/graal/tree/master/regex
источник

OS

Oleg Shelajev in graalvm_ru
Кто на скала пишет - там Vojin написал пост про scalac https://medium.com/graalvm/compiling-scala-faster-with-graalvm-86c5c0857fa3
источник
2018 June 24

ВВ

Виктор Вербицкий in graalvm_ru
Блин. Вот как всегда. За что ни возьмусь - сразу на какие-нибудь грабли напарываюсь.
На этот раз наслушался тут про SVM и решил попробовать одну штуку компильнуть. Всё бы ничего, но она обфусцированная. в результате компиляция падает с ошибкой: https://gist.github.com/vektory79/c9e3d0ac23bd98cefd3b10a3ae17eb2e

Насколько я понал суть в том, что при разборе enum типа ищется моле с массивом значений энума. И ищется по заранее приколоченному паттерну:

if (f.getName().endsWith("$VALUES")) {

Но т.к. класс обфусцирован, то и имя этого поля тоже изменено: https://gist.github.com/vektory79/cbb339ba6aa517edfd2ac9ecc7514526

Ну и, как следствие, компилятор не находит искомое поле и падает с ошибкой 😞
источник

OS

Oleg Shelajev in graalvm_ru
Виктор, а засабмитьте пожалуйста issue об этом? GitHub.com/oracle/graal
источник

ВВ

Виктор Вербицкий in graalvm_ru
Ок. Я даже могу ссылку на компилируемый jar закинуть 😊
источник

OS

Oleg Shelajev in graalvm_ru
Спасибо
источник

ВВ

Виктор Вербицкий in graalvm_ru
@shelajevoleg https://github.com/oracle/graal/issues/496

Уж не знаю насколько понятно объяснил... 😊
источник

OS

Oleg Shelajev in graalvm_ru
Спасибо, нормально, понятно в чем ошибка, это самое главное. Я не знаю насколько важным может считаться компиляция обфусцированных программ, но может там есть workaround, наподобие substitutions как для Unsafe. Диалог начнется и хорошо. Спасибо ещё раз!
источник

ВВ

Виктор Вербицкий in graalvm_ru
👍
источник

ВВ

Виктор Вербицкий in graalvm_ru
АРГХ! Оказывается я не оригинален 😊 https://github.com/oracle/graal/issues/436
источник

ПФ

Паша Финкельштейн in graalvm_ru
Причём на одном и том же примере!
источник

OS

Oleg Shelajev in graalvm_ru
Sorry! мой косяк, я мог бы знать!
источник

OS

Oleg Shelajev in graalvm_ru
но это славно, если 19 дней назад пофикшено — или попробуйте сами собрать или можно подождать совсем немного до RC3
источник

ПФ

Паша Финкельштейн in graalvm_ru
Для меня это просто забавное явление - две человека с мизерным интервалом времени попытались запустить одно и то же приложение гралем и словили ошибку :)
источник