Комментарии 3
…
System.err.println(method.getName() + " machine code: "
+ Arrays.toString(result.getTargetCode()));
...
Он это серьезно??? С какого-такого перепуга в практике для отображения информации стали использовать «error output stream»?
Жаль, я так и не увидел самого интересного, как байт-код компилируется в ассемблерные инструкции и как потом это все можно дебажить
Про ассемблер: например AMD64Assembler.java
Разве оптимизация, объединяющая любые последовательно идущие секции синхронизации не нарушает стандарт Java?
Прежде всего, программист мой специально завершить секцию, чтобы дать возможность её захвата другому коду (крайне кривой способ, однако). А во-вторых, разве это формальное не нарушает модель памяти? Я, признаюсь, не читал последние версии, а там много изменили, но есть стойкое ощущение, что, по-крайней мере, с более старыми релизами должно быть противоречие.
Прежде всего, программист мой специально завершить секцию, чтобы дать возможность её захвата другому коду (крайне кривой способ, однако). А во-вторых, разве это формальное не нарушает модель памяти? Я, признаюсь, не читал последние версии, а там много изменили, но есть стойкое ощущение, что, по-крайней мере, с более старыми релизами должно быть противоречие.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
[Перевод] Как работает Graal — JIT-компилятор JVM на Java