rename set_slot

set_slot was clear about the target, but not the source.
Better with reg_to_slot (and soon it’s inverse slot_to_reg)
This commit is contained in:
Torsten Ruger
2016-12-25 18:02:39 +02:00
parent 1b8d6149dd
commit 35adf9a5e6
31 changed files with 126 additions and 115 deletions

View File

@ -27,7 +27,7 @@ module Typed
end
# TODO, check type @method.locals[index].type
add_code Register.get_slot(statement , :message , type , named_list )
return Register.set_slot(statement , value , named_list , index )
return Register.reg_to_slot(statement , value , named_list , index )
end
end
end

View File

@ -11,7 +11,7 @@ module Typed
me = get_me( statement )
type = get_my_type(me)
# move our receiver there
add_code Register.set_slot( statement , me , :new_message , :receiver)
add_code Register.reg_to_slot( statement , me , :new_message , :receiver)
set_message_details(statement , statement.arguments)
set_arguments(statement.arguments)
@ -62,18 +62,18 @@ module Typed
name = name_s.name
name_tmp = use_reg(:Word)
add_code Register::LoadConstant.new(name_s, name , name_tmp)
add_code Register.set_slot( name_s , name_tmp , :new_message , :name)
add_code Register.reg_to_slot( name_s , name_tmp , :new_message , :name)
# next arg and local types
args_reg = use_reg(:Type , @method.arguments )
list_reg = use_reg(:NamedList , arguments )
add_code Register::LoadConstant.new(name_s, @method , args_reg)
add_code Register.get_slot( name_s , :message , :arguments , list_reg )
add_code Register.set_slot( name_s , args_reg , list_reg , 1 )
add_code Register.reg_to_slot( name_s , args_reg , list_reg , 1 )
#FIXME need to set type of locals too. sama sama
# len_tmp = use_reg(:Integer , arguments.to_a.length )
# add_code Register::LoadConstant.new(name_s, arguments.to_a.length , len_tmp)
# add_code Register.set_slot( name_s , len_tmp , :new_message , :indexed_length)
# add_code Register.reg_to_slot( name_s , len_tmp , :new_message , :indexed_length)
end
def set_arguments arguments
# reset tmp regs for each and load result into new_message
@ -85,7 +85,7 @@ module Typed
list_reg = use_reg(:NamedList , arguments )
add_code Register.get_slot( "Set arg #{i}#{arg}" , :message , :arguments , list_reg )
# which we load int the new_message at the argument's index (the one comes from c index)
set = Register.set_slot( arg , val , list_reg , i + 1 )
set = Register.reg_to_slot( arg , val , list_reg , i + 1 )
add_code set
end
end

View File

@ -3,7 +3,7 @@ module Typed
def on_ReturnStatement statement
reg = process(statement.return_value)
add_code Register.set_slot( statement, reg , :message , :return_value)
add_code Register.reg_to_slot( statement, reg , :message , :return_value)
nil # statements don't return
end
end