diff --git a/lib/arm/arm_machine.rb b/lib/arm/arm_machine.rb index f5f0e427..bf3071bd 100644 --- a/lib/arm/arm_machine.rb +++ b/lib/arm/arm_machine.rb @@ -76,7 +76,7 @@ module Arm def main_start context entry = Vm::Block.new("main_entry",nil,nil) entry.do_add mov( :fp , 0 ) - entry.do_add call( context.function.entry ) + entry.do_add call( context.function ) entry end def main_exit context diff --git a/lib/ast/call_site_expression.rb b/lib/ast/call_site_expression.rb index 84516328..7dc014d9 100644 --- a/lib/ast/call_site_expression.rb +++ b/lib/ast/call_site_expression.rb @@ -27,7 +27,7 @@ module Ast call.load_args into call.do_call into - after = into.new_block("call#{@@counter+=1}") + after = into.new_block("#{name}#{@@counter+=1}") into.insert_at after into.pop([]) unless current_function.nil? puts "compile call #{function.return_type}"