add init_message to space

so kernel::__init can use that and the first next_message does not need
to be reused
This commit is contained in:
Torsten Ruger 2015-06-30 09:52:17 +03:00
parent df2a080bd0
commit 7e9b940890
3 changed files with 3 additions and 2 deletions

View File

@ -39,6 +39,7 @@ module Parfait
@next_message = Message.new @next_message
@next_frame = Frame.new @next_frame
end
@init_message = Message.new @next_message
init_layout
end

View File

@ -14,7 +14,7 @@ module Register
#Set up the Space as self upon init
space = Parfait::Space.object_space
function.info.add_code LoadConstant.new( space , Register.self_reg)
message_ind = space.get_layout().index_of( :next_message )
message_ind = space.get_layout().index_of( :init_message )
# Load the message to new message register (r3)
function.info.add_code Register.get_slot( :self , message_ind , :new_message)
# And store the space as the new self (so the call can move it back as self)

View File

@ -29,7 +29,7 @@ module Virtual
:Message => [:next_message , :receiver , :frame , :return_address , :caller , :name ],
:MetaClass => [],
:BinaryCode => [],
:Space => [:classes ,:next_message ,:next_frame, :syscall_message],
:Space => [:classes ,:init_message , :next_message ,:next_frame, :syscall_message],
:Frame => [:next_frame ],
:Layout => [:object_class] ,
:Class => [:object_layout ],