register and boot consequences of typed method

This commit is contained in:
Torsten Ruger
2016-12-14 13:23:46 +02:00
parent 021fab31db
commit b3a9d8b1bc
3 changed files with 10 additions and 9 deletions

View File

@ -15,9 +15,9 @@ module Register
end
end
def self.issue_call compiler , callee
def self.issue_call( compiler , callee )
source = "_issue_call(#{callee.name})"
return_label = Label.new("_return_label" , "#{compiler.clazz.name}.#{compiler.method.name}" )
return_label = Label.new("_return_label" , "#{compiler.type.object_class.name}.#{compiler.method.name}" )
ret_tmp = compiler.use_reg(:Label)
compiler.add_code Register::LoadConstant.new(source, return_label , ret_tmp)
compiler.add_code Register.set_slot(source, ret_tmp , :new_message , :return_address)