powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java assembler
27 сообщений из 27, показаны все 2 страниц
Java assembler
    #39249704
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поискал, здесь ещё такое не обсуждали:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
.class public hello
.super java/lang/Object

.method public static main : ([Ljava/lang/String;)V
    .limit stack 10
    .limit locals 10

    getstatic java/lang/System out Ljava/io/PrintStream;
    ldc "Hello World!"
    invokevirtual java/io/PrintStream println (Ljava/lang/Object;)V
    return
.end method


Как вам? Думаю полезная штука, для тех кто хочет JVM и её спецификацию подробнее изучить. Но выглядит слегка экстравагантно.
...
Рейтинг: 0 / 0
Java assembler
    #39249706
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это из примеров прилагающихся к Krakatau, ассемблера/дизассемблера/декомпилятора для JVM.
...
Рейтинг: 0 / 0
Java assembler
    #39249896
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
You welcome! Будь первым. Я если честно не знаю где и как его можно применить.
В обычном ассемблере ключевая мотивация - это использование особых наборов инструкций
которые оперируют с 128/256 bit.

А здесь - непонятно. Или нужен пример asm который ярко покажет преимущества перед Javac.
...
Рейтинг: 0 / 0
Java assembler
    #39249981
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonYou welcome! Будь первым. Я если честно не знаю где и как его можно применить.
В обычном ассемблере ключевая мотивация - это использование особых наборов инструкций
которые оперируют с 128/256 bit.

А здесь - непонятно. Или нужен пример asm который ярко покажет преимущества перед Javac.
Да на кой он нужен? Только для детального изучения мануала по виртуальной машине, и может при создании своего компилятора для этой платформы.
...
Рейтинг: 0 / 0
Java assembler
    #39249986
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoДа на кой он нужен? Только для детального изучения мануала по виртуальной машине, и может при создании своего компилятора для этой платформы.
Булево выражение 19228815 IMHO я бы мог эффективнее свернуть в стековой машине.
Я думаю об этом на досуге. Но до реализации не дошёл. Я ленив как кот. :)
...
Рейтинг: 0 / 0
Java assembler
    #39250033
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoКак вам?чем-то напоминает JNI (:
XDiaBLoНо выглядит слегка экстравагантно. System.out.println("Hello World!") в 3-х байткод-строках, а в JNI - чуть больше (а если еще с проверками на NULL... то )
...
Рейтинг: 0 / 0
Java assembler
    #39250036
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если трабл-шутить в направлении оптимизаций. Тоесть типа понять где компиллятор
увидел неявный StringBuilder - то полезно дизассемблировать и смотреть.
...
Рейтинг: 0 / 0
Java assembler
    #39250037
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoДумаю полезная штукатам есть goto !!!

P.S.
Может поэтому зарезервировали ключевое слово, чтобы не конфликтовало на уровне байткода ?
...
Рейтинг: 0 / 0
Java assembler
    #39250041
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
.method public static main : ([Ljava/lang/String;)V
getstatic java/lang/System out Ljava/io/PrintStream;
invokevirtual java/io/PrintStream println (Ljava/lang/Object;)V



Эта синтаксическая горчица полностью убивает все желание на таком играться-кодировать. Name mangling вещь конечно необходимая для компилятора/интерпритатора/среды. Но видеть такое в исходном коде - да ну нах.
...
Рейтинг: 0 / 0
Java assembler
    #39250048
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕсли трабл-шутить в направлении оптимизаций. Тоесть типа понять где компиллятор
увидел неявный StringBuilder - то полезно дизассемблировать и смотреть.
С точки зрения оптимизации, скорее нужно знать, где он "не увидел" неявный StringBuilder ))).

Но для того, что бы такое исправить, смотреть скомпилированный код даром не нужно - нужно просто явно использовать StringBuilder. IMHO

Т.к. байт-код может вообще НЕ выполняться, а обрабатывается JIT'от. То смотреть на байт код в направлении оптимизации - глупое занятие. Лучше уж смотреть на профайлер и логи JIT'а, какие метода чаще всего выполняются, кто заинлайнился/кто нет. IMHO
...
Рейтинг: 0 / 0
Java assembler
    #39250054
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчёт полезности ничего не скажу, просто давно интересовало наличие такой игрушки для JVM, так как в студенческие годы забавлялся с ассемблером. А тут наткнулся на это.
...
Рейтинг: 0 / 0
Java assembler
    #39250058
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен. Чортов Гослинг перебощил с именами пакетов. Мог бы системные включить в глобальные.

Если честно я не встречал бизнес-кодеров которые-бы по взрослому использовали java-asm. Если верить
лекциям Елизарова то он грил дескыть бывалыча-дескыть бывало хаживал в асм за инструментацией
и всё такое.

Лично меня бы устроил вариант встраивания. Типа

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public static void main(String[] args){
    asm{
         iconst_2
         istore_1
         iload_1
         ....
    }
}
...
Рейтинг: 0 / 0
Java assembler
    #39250060
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevНо для того, что бы такое исправить, смотреть скомпилированный код даром не нужно - нужно просто явно использовать StringBuilder. IMHO
Посмотри на досуге как Intellij генерирует toString() в дефолтном варианте.
...
Рейтинг: 0 / 0
Java assembler
    #39250067
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton....

Лично меня бы устроил вариант встраивания. Типа
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public static void main(String[] args){
    asm{
         iconst_2
         istore_1
         iload_1
         ....
    }
}


ЗАЧЕМ ?

Встраиваемый машинный ASM в C/Pascel'е/Delphi - был понятен. На нем можно было сделать вещи, которые в ЯП высокого уровня банально отсутствовали и/или делались через одно место. Но и то сейчас модно inline assmebler даже из C компиляторов выкидывать (((

Не вижу ни одной задаче, которую можно было бы эффективно сделать Java byte code и нельзя было бы аналогично описать на чистой Java. Фактически, Java byte code один в один соответствует языку Java (+даром не нужные служебные конструкции), т.ч. все, что можно сделать на byte code можно сделать и на Java. Только синтаксис сложнее / более замороческий.

Т.ч. ihmo это интересно только НЕДО-мазохистам. Т.к. нормальный мазохист:
1) взял бы Forth и получал бы на нем удовольствие от стековой архитектуры )))
2) Ну или пошел бы в магазин и купил бы себе собственный стек , так сказать для личного использования ))).
...
Рейтинг: 0 / 0
Java assembler
    #39250071
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev, ты чего злой такой?

Пятница-ж :)
...
Рейтинг: 0 / 0
Java assembler
    #39250073
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonты чего злой такой?
третью неделю с Mozilla мучаюсь, все сделал - но счастья нет (результирующей код работает на порядки медленнее, чем было раньше).

я не злой ))) Просто у меня стека нет, розового и гламурного, в форме сердечка ))) я бы на работе на стенку повесил )))
...
Рейтинг: 0 / 0
Java assembler
    #39250085
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevя не злой ))) Просто у меня стека нет, розового и гламурного, в форме сердечка ))) я бы на работе на стенку повесил )))
Завязывай с тяжелыми наркотиками Мозилами. Приходи к бэк-энд. Будешь днём кодить
а по утрам спокойно читать логи с чашкой кофе.
...
Рейтинг: 0 / 0
Java assembler
    #39250116
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OFFTOPIC

maytonЗавязывай с тяжелыми наркотиками Мозилами. Приходи к бэк-энд. Будешь днём кодить
а по утрам спокойно читать логи с чашкой кофе.

А и так бэк энд пишу. Просто один из основных сайтов, которые нужно парсить, формат поменял. Все что накодил, перестало работать. А там 1.5 Mb java script кода. Пришлось mozilla прикрутить, что бы хоть как-то данные вытаскивать.

Только если раньше у меня парсер в > 100 потоков работал и на один запрос по <50 ms приходилось, то теперь один поток и 3-5 сек. на запрос.

Проблема критическая, если не решим, инвестор предлагает все бросить и расходиться )))

"Доброжелатели " предлагают http://phantomjs.org/ использовать, но мне кажется, толку от него будет не больше, чем от Selenium (для моей задачи совершенно не подходит)
...
Рейтинг: 0 / 0
Java assembler
    #39250229
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
" Helo, word! " - 17 errors 56 warnings
...
Рейтинг: 0 / 0
Java assembler
    #39250417
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonБулево выражение 19228815 IMHO я бы мог эффективнее свернуть в стековой машине.

А смысл? Его ж потом все равно JIT покромсает.
...
Рейтинг: 0 / 0
Java assembler
    #39250803
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapokА смысл? Его ж потом все равно JIT покромсает.
Во что? Давайте исходить из того что мы не знаем целевой машины.
...
Рейтинг: 0 / 0
Java assembler
    #39250866
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonchabapokА смысл? Его ж потом все равно JIT покромсает.
Во что? Давайте исходить из того что мы не знаем целевой машины.
тем более нехрен заниматься преждевременной оптимизацией

Array Bounds Check Elimination - хороший пример
...
Рейтинг: 0 / 0
Java assembler
    #39251137
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилArray Bounds Check Elimination - хороший пример
А меня этот вопрос очень сильно интересует.

Часто получается код, где два и более (до 5-8) массивов одинаковой размерности и нужно пройти по всем им. Было бы крайне интересно понять, на каких массивах он срабатывает, на каких нет ((( и можно ли как-то JIT "подсказать", что array bounds check делать не нужно
...
Рейтинг: 0 / 0
Java assembler
    #39251148
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилArray Bounds Check Elimination - хороший пример
Вы можете привести ссылки на алгоритм или описание ABCE (Array Bounds Check Elimination) ?

Я нагугливаю слишком разные результаты.
...
Рейтинг: 0 / 0
Java assembler
    #39251158
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JIT'ы они тоже разные. Находится PDF от Intel'а с одним алгоритмом, находится PDF от Sun с другими алгоритмами....

Судя по всему, у меня в коде должен происходить "Loop-Invariant Checks" приводящий к "check is partially
redundant". Т.е., во версии Sun'a - все хорошо ))) / http://www.ssw.uni-linz.ac.at/Research/Papers/Wuerthinger07/Wuerthinger07.pdf / Если, конечно, описание соответствует текущим алгоритмам.
...
Рейтинг: 0 / 0
Java assembler
    #39251208
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevJIT'ы они тоже разные. Находится PDF от Intel'а с одним алгоритмом, находится PDF от Sun с другими алгоритмами....

Судя по всему, у меня в коде должен происходить "Loop-Invariant Checks" приводящий к "check is partially
redundant". Т.е., во версии Sun'a - все хорошо ))) / http://www.ssw.uni-linz.ac.at/Research/Papers/Wuerthinger07/Wuerthinger07.pdf / Если, конечно, описание соответствует текущим алгоритмам.
ОК. Спасибо.
...
Рейтинг: 0 / 0
Java assembler
    #39251806
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Java assembler
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]