Каков Ваш опыт с ARM Jazelle?

Вы НЕ должны выбрасывать квалификатор const. Любая попытка впоследствии изменить значение, которое было квалифицировано const, вызывает Неопределенное поведение . См. Стандарт C11 - 6.7.3 Классификаторы типов (p6) .

Параметр table_lookup соответствует const по определенной причине. Это позволяет компилятору оптимизировать использование t. Если вы отбрасываете const и пытаетесь изменить t, вы нарушаете свое обещание компилятору, что t не будет изменено.

Вместо этого вы должны реорганизовать свой код, чтобы функция remove() вызывала внутри него table_lookup, чтобы получить указатель (предположительно) на узел, который вы хотите удалить. Затем удалите node. Не пытайтесь добавить remove() в table_lookup. Создайте новую функцию.

15
задан starblue 1 April 2009 в 20:00
поделиться

1 ответ

Я работал на крупного производителя беспроводных телефонов. Наша команда портировала J2ME на телефоны на базе ARM. У нас было 2 парня, которые работали над использованием Jazelle; нет ОС, только на сыром кремнии ARM9. К сожалению, он остался в исследовании, потому что JIT получил необходимую нам производительность без необходимости платить лицензионные сборы за Jazelle.

Если вы принимаете эмпирическое правило, что запуск Hotspot JVM без JIT выполняется на 1/10 от скомпилированного C. Затем JIT возвращает 50% того, что вы потеряли, а Jazelle возвращает 60% того, что вы потеряли. Это очень грубые оценки. Все зависит от того, какой код выполняется. У Jazelle была чуть лучшая производительность для наших тестовых случаев, потому что он обрабатывал больше ситуаций, чем JIT. Принимая во внимание, что JIT был скомпилирован-C-fast в нескольких случаях.

Предыдущий плакат, кажется, неправильно понимает Джазель. Jazelle вызывает ловушечное действие для байт-кода Java. Пользователь должен предоставить фрагменты кода для обработки каждого байт-кода. Без таких фрагментов и таблицы поиска вы получите невыполненное исключение.

18
ответ дан 1 December 2019 в 04:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: