putstring unfolds length

which means sys call doesn’t need to
and also interpreter sometimes gets a symbol length
This commit is contained in:
Torsten Ruger
2015-11-16 18:03:29 +02:00
parent f92ea36fe5
commit 303b7eb1f8
3 changed files with 14 additions and 4 deletions

View File

@ -5,6 +5,9 @@ module Register
def putstring context
compiler = Soml::Compiler.new.create_method(:Word , :putstring ).init_method
compiler.add_code Register.get_slot( "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 )
Kernel.emit_syscall( compiler , :putstring )
compiler.method
end