rubyx/lib/arm/passes/get_implementation.rb

14 lines
343 B
Ruby
Raw Normal View History

module Arm
class GetImplementation
def run block
block.codes.dup.each do |code|
next unless code.is_a? Register::GetSlot
load = ArmMachine.ldr( code.value , code.reference , code.index )
block.replace(code , load )
end
end
end
Virtual::Machine.instance.add_pass "Arm::GetImplementation"
end