Size: a a a

Compiler Development

2020 December 22

AS

Anatoly Shirokov in Compiler Development
Danya
Привет всем.
А есть какой-то аналог godbolt для Java?
javap -c
источник

D

Danya in Compiler Development
Ну вот хочется его, только как годболт
источник

AS

Aleksey Shipilev in Compiler Development
А толку от джавового байткода? Для низкоуровневого надо выхлоп JVM разбирать (-XX:+PrintAssembly); для этого есть всяких тулов, типа JITWatch, JMH -prof perfrasm, и проч
источник

D

Danya in Compiler Development
Aleksey Shipilev
А толку от джавового байткода? Для низкоуровневого надо выхлоп JVM разбирать (-XX:+PrintAssembly); для этого есть всяких тулов, типа JITWatch, JMH -prof perfrasm, и проч
Надо для учебного проекта компилировать в байткод
Хочу смотреть как аналогичные конструкции компилирует Джава
источник

D

Danya in Compiler Development
До профессионального использования совсем далеко)
источник

AS

Aleksey Shipilev in Compiler Development
А, ну тогда javap -c, да. JITWatch более интерактивно сделает то же самое.
источник

D

Danya in Compiler Development
Грустно
Выделить что ли свободное время позже и завести Джаву на годболт..
источник

AT

Alexander Tchitchigi... in Compiler Development
Danya
Надо для учебного проекта компилировать в байткод
Хочу смотреть как аналогичные конструкции компилирует Джава
What about https://asm.ow2.io/ ?
источник

D

Danya in Compiler Development
Посмотрю, спасибо
источник

TS

Timur Safin in Compiler Development
Aleksey Shipilev
А толку от джавового байткода? Для низкоуровневого надо выхлоп JVM разбирать (-XX:+PrintAssembly); для этого есть всяких тулов, типа JITWatch, JMH -prof perfrasm, и проч
FWIW тут заинтересованная общественность пыталась навалиться  на Мэтта Годболта, вроде как дело сдвинется скоро. Но если что не так в тикете - поправьте, пожалуйста. (Хотя, Паньгин, думаю, плохого не посоветует)
источник

AS

Aleksey Shipilev in Compiler Development
А, ну всё вроде правильно джависты там говорят
источник

AS

Aleksey Shipilev in Compiler Development
Но опять же, проблема с джавой в том, что чаще хочется именно машинный код, а он зависит от всякого, и требует выполнения JITа...
источник

E

EgorBo in Compiler Development
вот так каждый раз, спросишь их как посмотреть асм, а они сразу начинают махать руками, рассказывать про тиеры и профили :D а тебе просто посмотреть фигню маленькую, хватит обычного прохода джита с оптимизациями но без профиля -_-
источник
2020 December 23

E

EgorBo in Compiler Development
https://software.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html

появилась глава "linear-address masking"
@shipilev мб вам как раз будет полезно `Software usages that associate metadata with a pointer might benefit from being able to place metadata in the
upper (untranslated) bits of the pointer itself` у вас же там как раз инлайн классы чото юзают
источник

TS

Timur Safin in Compiler Development
EgorBo
https://software.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html

появилась глава "linear-address masking"
@shipilev мб вам как раз будет полезно `Software usages that associate metadata with a pointer might benefit from being able to place metadata in the
upper (untranslated) bits of the pointer itself` у вас же там как раз инлайн классы чото юзают
100 лет назад (ок, 12) когда Интел с Креем мутил кое-какой проект, креевцы хотели запихнуть в линейный адрес информацию об своей/чужой (с другого узла) памяти, для разделяемой памяти вокруг кластера. Тогда ничего (вроде бы) не вышло, но идея, похоже, архитекторов не покинула.
источник

TS

Timur Safin in Compiler Development
Майку Поллу надо показать - он любит такое в LuaJIT
источник

TS

Timur Safin in Compiler Development
EgorBo
https://software.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html

появилась глава "linear-address masking"
@shipilev мб вам как раз будет полезно `Software usages that associate metadata with a pointer might benefit from being able to place metadata in the
upper (untranslated) bits of the pointer itself` у вас же там как раз инлайн классы чото юзают
очень интересно, спасибо!
источник

E

EgorBo in Compiler Development
ну как мы выяснили тут уже вроде бы свифт/обжси еще каунтеры свои в какие-то ссылки вставляет
источник

BD

Berkus Decker in Compiler Development
EgorBo
ну как мы выяснили тут уже вроде бы свифт/обжси еще каунтеры свои в какие-то ссылки вставляет
источник

TS

Timur Safin in Compiler Development
не удивлюсь, если окажется, что именно Apple был заказчиком этой фичи у Интела в этот раз
источник