В JavaScript с моей собственной реализацией эмулятора получение значения поля регистра RA
из 32-битной инструкции i
часто представляется как:
this.gpr.u32[(i >> 16) & 0x1f]
Однако, имея Вышеупомянутое выражение много раз в функции некрасиво, и его трудно отслеживать и редактировать. Я избегал определять переменную ra
с этим выражением и использовать ее, потому что думал, что она будет храниться в памяти, а ее получение будет дорогостоящим. Стоит ли мне беспокоиться об этом или современные движки JavaScript встраивают значение переменной в операторы, следующие за определением? Хотя использование переменной делает код намного чище, я действительно не хочу использовать ее, если она замедлит время выполнения в среде, чувствительной к производительности, такой как эмулятор.