rubyx/lib/arm/passes/constant_implementation.rb
Torsten Ruger 5726d2c181 move machine to module level
makes for shorter, more concise, access
also remove one more bug possibility
(reinitiation)
2015-06-01 08:40:17 +03:00

15 lines
389 B
Ruby

module Arm
class ConstantImplementation
def run block
block.codes.dup.each do |code|
next unless code.is_a? Register::LoadConstant
load = ArmMachine.ldr( code.value , code.constant )
block.replace(code , load )
#puts "replaced #{load.inspect.to_s[0..1000]}"
end
end
end
Virtual.machine.add_pass "Arm::ConstantImplementation"
end