Почему в байт-коде java получатель сначала помещается в стек, а затем все параметры? Кажется, я помню, что это как-то связано с эффективностью. Это справедливо как для вызовов методов, так и для...
Я обнаружил некоторые дефекты в устаревших сторонних сборках, которые мы используем в нашем коде для их декомпиляции. Я хотел бы исправить их, но поскольку у меня нет исходного кода, мне нужно напрямую изменить...
В Java/Junit мне нужно проверить на null с некоторым объектом. Есть множество способов проверить условие, но я использую assertTrue для большинства своих тестов. Когда я проверяю наличие нулей в...
Я пишу игровой движок/библиотеку, в которой у меня есть класс диспетчера событий, который отправляет события, вызывая методы слушателя «зарегистрированных» классов обработчиков событий. Можно зарегистрировать событие...
Моя цель Чтобы иметь возможность определять, когда во время выполнения выполняется сравнение (или любая другая операция, такая как *, - , /, >, <,.. Это должно быть достигнуто для редактирования байт-кода класса с помощью Javassist или ...
Я нахожу байт-код VerifyErrors общеизвестно трудным для отладки. JVM дает очень мало обратной связи, обычно только текущий класс и иногда метод. Некоторые примеры ошибок, с которыми я обычно сталкиваюсь...
Я создал конструктор с помощью Javassist, у которого нет реального метода CtConstructor c = CtNewConstructor.make (argTypes, null, newClass); Когда я пытаюсь вывести сигнатуру этого класса c....
Я хочу добавить «insertBefore» в метод основного класса JDK 5. Почему-то не работает. Вот пример кода: ClassPool pool = ClassPool.getDefault();
CtClass ctClass = pool....
Допустим, в классе есть несколько операторов импорта. Когда для этого класса генерируется байтовый код, что происходит с этими операторами импорта. Если операторы импорта игнорируются во время выполнения, ...
Я встроил lua вместе с фрагментом байт-кода в проект, написанный на C.
Теперь, когда я расширяю свою базу кода lua, добавляя файлы .lua, есть ли способ сохранить этот код в одном фрагменте байт-кода? (Я...
Я использую библиотеку asm для выполнения некоторой модификации байт-кода Java - в частности, для изменения моих классов для реализации нового интерфейса и связанных методов. Мой текущий подход заключается в использовании ядра asm ...
Почему в следующем коде Python не компилирует f2 в тот же байт-код, что и f1? Есть ли причина не делать этого? >>> def f1 (x): x * 100 >>> dis.dis (f1) 2 0 LOAD_FAST ...
При декомпиляции определенного jar-файла с использованием декомпилятора java (http : //java.decompiler.free.fr/) У меня странный код, я не могу определить, что это такое. Кто-нибудь может мне помочь? код выглядит примерно так: Foo.access $ ...
Я использовал Javassist для динамического управления классами по мере их загрузки. Хотя добавить код в метод с помощью Javassist относительно легко, мне не удалось найти способ удалить код. ...
Наш проект занимается инструментацией байткода Java. И мы наткнулись на странное поведение. Предположим следующий фрагмент кода: public void a() { new Integer(2); } Oracle's javac ...
Насколько я понимаю, GHC (компилятор Glorious Glasgow Haskell) компилирует Haskell в «Core», а затем компилирует это Ядро в машинный код. Было бы вообще практично распространять программы Haskell ...
Есть ли простой способ создать байт-код Python из списка двух кортежей с кодами операций и их аргументами? Например: >>> bytecode_compile ([('LOAD_CONST', 2), ('STORE_FAST' ...
Я пытаюсь скомпилировать lua-скрипт, который вызывает некоторые экспортированные функции, сохраняет полученный байт-код в файл, а затем загружаю этот байт-код и выполняю его, но я не нашел ни одного примера того, как это сделать ...
Как мне сгенерировать файл .pyc из Python AST, чтобы я мог импортировать файл из Python? Я использовал компиляцию для создания объекта кода, затем записал атрибут co_code в файл, но когда я ...
Я пытался декомпилировать файл байт-кода LuaJIT. Мне удалось его разобрать (но не могу найти способ собрать). Итак, я подумываю написать какое-нибудь программное обеспечение для преобразования из LuaJIT ...
Я работаю над небольшим инструментом инструментации java байткода. Общая идея заключается в том, чтобы переименовать все методы класса с суффиксом _CONGU, создавая затем прокси-методы с оригинальным методом ...
Допустим, у меня есть класс Fraction: class Fraction {... / ** Invert current дробь * / public Fraction inverse () {вернуть новую дробь (den, num); } ...
} И это ...
У меня есть этот байт-код: new java.lang.Object
// стек равен [newObjectRef]
dup // Стек равен [newObjectRef newObjectRef]
invokespecial void java.lang.Object. ()
// Стек ...
Для некоторого проекта парсера байт-кода Java я прочитал спецификацию JVM и выяснил, что Значения битовой маски полей модификатора доступа к формату файла класса виртуальной машины Java: ACC_PUBLIC = 0x0001 ...
Я пытаюсь сделать некоторую обработку ошибок в байткоде java. Сначала я пытался реализовать некоторые подпрограммы, похожие на catch, где я бы проверял состояние ошибки и переходил к соответствующей подпрограмме, а ...
Я только что открыл для себя LLVM и пока мало о нем знаю. Я пробовал использовать llvm в браузере. Я вижу, что любой код C, который я пишу, конвертируется в байт-код LLVM, который затем конвертируется ...
Сейчас я сосредоточусь на проекте, требующем понимания байт-кода Java. С помощью bcel теперь я могу выполнить большую часть работы. Один момент, который мне сейчас непонятен, - это как идентифицировать метод подкласса ...