rename also get_slot, to slot_to_reg
makes source and target clear
This commit is contained in:
@ -8,7 +8,7 @@ module Register
|
||||
me = compiler.process( Typed::Tree::NameExpression.new( :self) )
|
||||
# Load the argument
|
||||
index = compiler.use_reg :Integer
|
||||
compiler.add_code Register.get_slot(source , :message , 1 , index )
|
||||
compiler.add_code Register.slot_to_reg(source , :message , 1 , index )
|
||||
return me , index
|
||||
end
|
||||
|
||||
@ -20,7 +20,7 @@ module Register
|
||||
# Load the value
|
||||
def load_arg_at(compiler, source , at)
|
||||
value = compiler.use_reg :Integer
|
||||
compiler.add_code Register.get_slot(source , :message , at , value )
|
||||
compiler.add_code Register.slot_to_reg(source , :message , at , value )
|
||||
value
|
||||
end
|
||||
|
||||
|
@ -19,7 +19,7 @@ module Register
|
||||
compiler.add_code LoadConstant.new(source, space , space_reg)
|
||||
message_ind = Register.resolve_index( :space , :first_message )
|
||||
# Load the message to new message register (r1)
|
||||
compiler.add_code Register.get_slot( source , space_reg , message_ind , :message)
|
||||
compiler.add_code Register.slot_to_reg( source , space_reg , message_ind , :message)
|
||||
# And store the space as the new self (so the call can move it back as self)
|
||||
compiler.add_code Register.reg_to_slot( source, space_reg , :message , :receiver)
|
||||
exit_label = Label.new("_exit_label" , "#{compiler.type.object_class.name}.#{compiler.method.name}" )
|
||||
|
@ -14,7 +14,7 @@ module Register
|
||||
source = "get_internal_word"
|
||||
me , index = self_and_int_arg(compiler,source)
|
||||
# reduce me to me[index]
|
||||
compiler.add_code GetSlot.new( source , me , index , me)
|
||||
compiler.add_code SlotToReg.new( source , me , index , me)
|
||||
# and put it back into the return value
|
||||
compiler.add_code Register.reg_to_slot( source , me , :message , :return_value)
|
||||
return compiler.method
|
||||
|
@ -8,10 +8,10 @@ module Register
|
||||
|
||||
def putstring context
|
||||
compiler = Typed::MethodCompiler.new.create_method(:Word , :putstring ).init_method
|
||||
compiler.add_code Register.get_slot( "putstring" , :message , :receiver , :new_message )
|
||||
compiler.add_code Register.slot_to_reg( "putstring" , :message , :receiver , :new_message )
|
||||
index = Parfait::Word.get_length_index
|
||||
reg = RegisterValue.new(:r2 , :Integer)
|
||||
compiler.add_code Register.get_slot( "putstring" , :new_message , index , reg )
|
||||
compiler.add_code Register.slot_to_reg( "putstring" , :new_message , index , reg )
|
||||
Kernel.emit_syscall( compiler , :putstring )
|
||||
compiler.method
|
||||
end
|
||||
|
Reference in New Issue
Block a user