return single message for "message" ie r0

other names, like next_message allocate  a new register
This commit is contained in:
Torsten Ruger
2018-04-06 22:54:54 +03:00
parent 22409c93ee
commit 1ddbde1191
4 changed files with 39 additions and 16 deletions

View File

@ -40,7 +40,8 @@ module Mom
end
# get the next message from space and unlink it there
# also put it into next_message of current message
# also put it into next_message of current message (and reverse)
# set name and type data in the message, from the method loaded
def build_message_data( builder )
builder.build do
space << Parfait.object_space

View File

@ -13,8 +13,12 @@ module Risc
super if args.length != 1
name = args[0]
return @names[name] if @names.has_key?(name)
type = Risc.resolve_type(name , @compiler) #checking
reg = @compiler.use_reg( type.object_class.name )
if name == :message
reg = Risc.message_reg
else
type = Risc.resolve_type(name , @compiler) #checking
reg = @compiler.use_reg( type.object_class.name )
end
@names[name] = reg
reg.builder = self
reg