more ripples from removing index constants

This commit is contained in:
Torsten Ruger
2015-06-29 20:58:06 +03:00
parent 1e18db00c9
commit 553f30c874
5 changed files with 15 additions and 15 deletions

View File

@ -5,9 +5,9 @@ module Virtual
block.codes.dup.each do |code|
next unless code.is_a? Virtual::MethodEnter
new_codes = []
# save return register and create a new frame
# lr is link register, ie where arm stores the return address when call is issued
new_codes << Register::SaveReturn.new( Register::RegisterReference.message_reg , Virtual::RETURN_INDEX )
# save return register to the message at instance return_address
new_codes << Register.save_return(:message , :return_address)
# and create a new frame if needed
unless code.method.locals.empty? and code.method.tmps.empty?
new_codes << Virtual::NewFrame.new
end