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:
parent
df2a080bd0
commit
7e9b940890
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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 ],
|
||||
|
Loading…
Reference in New Issue
Block a user