register and boot consequences of typed method
This commit is contained in:
@ -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)
|
||||
|
Reference in New Issue
Block a user