This commit is contained in:
Torsten Ruger
2014-05-19 21:28:18 +03:00
parent e07682b6a3
commit f34fddd383
4 changed files with 9 additions and 7 deletions
+5 -4
View File
@@ -14,18 +14,19 @@ module Ast
save_locals context , into
call.load_args into
call.do_call into
resore_locals context , into
restore_locals context , into
function.return_type
end
def save_locals context , into
into.instance_eval do
push [:r0, :r1 , :r2]
push [:r1 , :r2 , :r3]
end
end
def resore_locals context , into
def restore_locals context , into
into.instance_eval do
pop [:r0, :r1 , :r2]
pop [:r1, :r2 , :r3]
end
end
+1 -1
View File
@@ -38,7 +38,7 @@ module Ast
body.each do |b|
compiled = b.compile(context , into)
function.return_type = compiled
puts "compiled in function #{compiled.inspect}"
puts "compiled in function #{compiled.class}"
raise "alarm #{compiled} \n #{b}" unless compiled.is_a? Vm::Word
end
context.locals = parent_locals