fix init method message setup
was causing errors in interpreter (that may have gone unnoticed in arm, as the interpreter checks stuff)
This commit is contained in:
@ -19,8 +19,10 @@ module Risc
|
||||
message_ind = Risc.resolve_to_index( :space , :first_message )
|
||||
#load the first_message (instance of space)
|
||||
compiler.add_slot_to_reg( "__init__ load 1st message" , space_reg , message_ind , :message)
|
||||
compiler.add_mom( Mom::MessageSetup.new(compiler.method))
|
||||
# but use it's next message, so main can return normally
|
||||
compiler.add_slot_to_reg( "__init__ load 2nd message" , :message , :next_message , :message)
|
||||
|
||||
compiler.add_reg_to_slot( "__init__ store Space in message", space_reg , :message , :receiver)
|
||||
#fixme: should add arg type here, as done in call_site (which this sort of is)
|
||||
exit_label = Risc.label("_exit_label for __init__" , "#{compiler.type.object_class.name}.#{compiler.method.name}" )
|
||||
|
Reference in New Issue
Block a user