stop pinning self and frame

before: r0-message , r1-self , r2-frame , r3-new_message , r4 + tmps
now: r0-message , r1-new_message , r2 + tmps
programs got smaller, less fuss
also fix in return implementation that got the address from the wrong
message
This commit is contained in:
Torsten Ruger
2015-10-18 17:20:19 +03:00
parent da5502e301
commit 6c7e4c0fe2
19 changed files with 98 additions and 94 deletions

View File

@ -7,10 +7,6 @@ module Virtual
new_codes = []
# save return register to the message at instance return_address
new_codes << Register.save_return(code, :message , :return_address)
# and create a new frame if needed
unless code.method.locals.empty?
new_codes << Register.get_slot( code, :message , :frame , Register.resolve_to_register(:frame))
end
block.replace(code , new_codes )
end
end