change return sequence to return messages to space
as it was before blocks (thought blocks would make reuse of messages impossible, but was wrong, this only appilies to lambdas) (too) many tests affected
This commit is contained in:
@ -9,53 +9,9 @@ module Risc
|
||||
super
|
||||
end
|
||||
|
||||
def test_if
|
||||
#show_main_ticks # get output of what is in main
|
||||
check_main_chain [LoadConstant, SlotToReg, RegToSlot, SlotToReg, SlotToReg,
|
||||
SlotToReg, RegToSlot, LoadConstant, LoadConstant, SlotToReg,
|
||||
RegToSlot, RegToSlot, SlotToReg, Branch, SlotToReg,
|
||||
RegToSlot, SlotToReg, SlotToReg, RegToSlot, RegToSlot,
|
||||
SlotToReg, RegToSlot, LoadConstant, SlotToReg, RegToSlot,
|
||||
SlotToReg, SlotToReg, Branch, SlotToReg, SlotToReg,
|
||||
RegToSlot, LoadConstant, SlotToReg, RegToSlot, SlotToReg,
|
||||
FunctionCall, SlotToReg, SlotToReg, SlotToReg, SlotToReg,
|
||||
SlotToReg, OperatorInstruction, IsMinus, LoadConstant, Branch,
|
||||
RegToSlot, SlotToReg, SlotToReg, Branch, RegToSlot,
|
||||
SlotToReg, SlotToReg, SlotToReg, FunctionReturn, SlotToReg,
|
||||
SlotToReg, RegToSlot, SlotToReg, SlotToReg, Branch,
|
||||
LoadConstant, OperatorInstruction, IsZero, LoadConstant, OperatorInstruction,
|
||||
IsZero, SlotToReg, SlotToReg, SlotToReg, RegToSlot,
|
||||
LoadConstant, LoadConstant, SlotToReg, Branch, RegToSlot,
|
||||
RegToSlot, SlotToReg, SlotToReg, RegToSlot, SlotToReg,
|
||||
SlotToReg, RegToSlot, RegToSlot, SlotToReg, RegToSlot,
|
||||
LoadConstant, SlotToReg, Branch, RegToSlot, SlotToReg,
|
||||
SlotToReg, SlotToReg, SlotToReg, RegToSlot, LoadConstant,
|
||||
SlotToReg, RegToSlot, SlotToReg, FunctionCall, SlotToReg,
|
||||
SlotToReg, SlotToReg, SlotToReg, SlotToReg, OperatorInstruction,
|
||||
LoadConstant, SlotToReg, SlotToReg, RegToSlot, RegToSlot,
|
||||
RegToSlot, SlotToReg, Branch, SlotToReg, RegToSlot,
|
||||
SlotToReg, SlotToReg, SlotToReg, FunctionReturn, SlotToReg,
|
||||
SlotToReg, Branch, RegToSlot, Branch, SlotToReg,
|
||||
SlotToReg, SlotToReg, RegToSlot, LoadConstant, LoadConstant,
|
||||
SlotToReg, RegToSlot, RegToSlot, SlotToReg, Branch,
|
||||
SlotToReg, RegToSlot, SlotToReg, SlotToReg, RegToSlot,
|
||||
RegToSlot, SlotToReg, RegToSlot, LoadConstant, SlotToReg,
|
||||
RegToSlot, SlotToReg, SlotToReg, Branch, SlotToReg,
|
||||
SlotToReg, RegToSlot, LoadConstant, SlotToReg, RegToSlot,
|
||||
SlotToReg, FunctionCall, SlotToReg, SlotToReg, SlotToReg,
|
||||
SlotToReg, SlotToReg, OperatorInstruction, IsMinus, LoadConstant,
|
||||
RegToSlot, SlotToReg, SlotToReg, Branch, RegToSlot,
|
||||
SlotToReg, SlotToReg, SlotToReg, FunctionReturn, SlotToReg,
|
||||
SlotToReg, RegToSlot, SlotToReg, SlotToReg, Branch,
|
||||
LoadConstant, OperatorInstruction, IsZero, SlotToReg, SlotToReg,
|
||||
RegToSlot, Branch, SlotToReg, SlotToReg, RegToSlot,
|
||||
SlotToReg, SlotToReg, SlotToReg, FunctionReturn, Transfer,
|
||||
SlotToReg, SlotToReg, Branch, Syscall, NilClass]
|
||||
assert_equal 1 , get_return
|
||||
end
|
||||
def test_exit
|
||||
done = main_ticks(199)
|
||||
assert_equal Syscall , done.class
|
||||
def test_while
|
||||
run_all
|
||||
assert_equal 1 , get_return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -9,54 +9,9 @@ module Risc
|
||||
super
|
||||
end
|
||||
|
||||
def test_if
|
||||
#show_main_ticks # get output of what is in main
|
||||
check_main_chain [LoadConstant, SlotToReg, RegToSlot, SlotToReg, SlotToReg,
|
||||
SlotToReg, RegToSlot, LoadConstant, LoadConstant, SlotToReg,
|
||||
RegToSlot, RegToSlot, SlotToReg, Branch, SlotToReg,
|
||||
RegToSlot, SlotToReg, SlotToReg, RegToSlot, RegToSlot,
|
||||
SlotToReg, RegToSlot, LoadConstant, SlotToReg, RegToSlot,
|
||||
SlotToReg, SlotToReg, Branch, SlotToReg, SlotToReg,
|
||||
RegToSlot, LoadConstant, SlotToReg, RegToSlot, SlotToReg,
|
||||
FunctionCall, SlotToReg, SlotToReg, SlotToReg, SlotToReg,
|
||||
SlotToReg, OperatorInstruction, IsMinus, IsZero, LoadConstant,
|
||||
Branch, RegToSlot, SlotToReg, Branch, SlotToReg,
|
||||
RegToSlot, SlotToReg, SlotToReg, SlotToReg, FunctionReturn,
|
||||
SlotToReg, SlotToReg, RegToSlot, SlotToReg, SlotToReg,
|
||||
Branch, LoadConstant, OperatorInstruction, IsZero, LoadConstant,
|
||||
OperatorInstruction, IsZero, SlotToReg, SlotToReg, SlotToReg,
|
||||
RegToSlot, LoadConstant, LoadConstant, SlotToReg, Branch,
|
||||
RegToSlot, RegToSlot, SlotToReg, SlotToReg, RegToSlot,
|
||||
SlotToReg, SlotToReg, RegToSlot, RegToSlot, SlotToReg,
|
||||
RegToSlot, LoadConstant, SlotToReg, Branch, RegToSlot,
|
||||
SlotToReg, SlotToReg, SlotToReg, SlotToReg, RegToSlot,
|
||||
LoadConstant, SlotToReg, RegToSlot, SlotToReg, FunctionCall,
|
||||
SlotToReg, SlotToReg, SlotToReg, SlotToReg, SlotToReg,
|
||||
OperatorInstruction, LoadConstant, SlotToReg, SlotToReg, RegToSlot,
|
||||
RegToSlot, RegToSlot, SlotToReg, Branch, SlotToReg,
|
||||
RegToSlot, SlotToReg, SlotToReg, SlotToReg, FunctionReturn,
|
||||
SlotToReg, SlotToReg, Branch, RegToSlot, Branch,
|
||||
SlotToReg, SlotToReg, SlotToReg, RegToSlot, LoadConstant,
|
||||
LoadConstant, SlotToReg, RegToSlot, RegToSlot, SlotToReg,
|
||||
Branch, SlotToReg, RegToSlot, SlotToReg, SlotToReg,
|
||||
RegToSlot, RegToSlot, SlotToReg, RegToSlot, LoadConstant,
|
||||
SlotToReg, RegToSlot, SlotToReg, SlotToReg, Branch,
|
||||
SlotToReg, SlotToReg, RegToSlot, LoadConstant, SlotToReg,
|
||||
RegToSlot, SlotToReg, FunctionCall, SlotToReg, SlotToReg,
|
||||
SlotToReg, SlotToReg, SlotToReg, OperatorInstruction, IsMinus,
|
||||
IsZero, LoadConstant, RegToSlot, SlotToReg, Branch,
|
||||
SlotToReg, RegToSlot, SlotToReg, SlotToReg, SlotToReg,
|
||||
FunctionReturn, SlotToReg, SlotToReg, RegToSlot, SlotToReg,
|
||||
SlotToReg, Branch, LoadConstant, OperatorInstruction, IsZero,
|
||||
SlotToReg, SlotToReg, RegToSlot, Branch, SlotToReg,
|
||||
SlotToReg, RegToSlot, SlotToReg, SlotToReg, SlotToReg,
|
||||
FunctionReturn, Transfer, SlotToReg, SlotToReg, Branch,
|
||||
Syscall, NilClass]
|
||||
assert_equal 0 , get_return
|
||||
end
|
||||
def test_exit
|
||||
done = main_ticks(201)
|
||||
assert_equal Syscall , done.class
|
||||
def test_while
|
||||
run_all
|
||||
assert_equal 0 , get_return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -9,14 +9,15 @@ module Risc
|
||||
super
|
||||
end
|
||||
|
||||
def test_if
|
||||
def test_while
|
||||
#show_main_ticks # get output of what is in main
|
||||
check_main_chain [LoadConstant, SlotToReg, RegToSlot, SlotToReg, SlotToReg,
|
||||
LoadConstant, OperatorInstruction, IsZero, LoadConstant, OperatorInstruction,
|
||||
IsZero, LoadConstant, SlotToReg, Branch, RegToSlot,
|
||||
Branch, SlotToReg, SlotToReg, LoadConstant, OperatorInstruction,
|
||||
IsZero, SlotToReg, SlotToReg, RegToSlot, Branch,
|
||||
SlotToReg, SlotToReg, RegToSlot, SlotToReg, SlotToReg,
|
||||
SlotToReg, SlotToReg, RegToSlot, LoadConstant, SlotToReg,
|
||||
RegToSlot, RegToSlot, Branch, SlotToReg, SlotToReg,
|
||||
SlotToReg, FunctionReturn, Transfer, SlotToReg, SlotToReg,
|
||||
Branch, Syscall, NilClass]
|
||||
assert_kind_of Parfait::NilClass , get_return
|
||||
@ -55,7 +56,7 @@ module Risc
|
||||
assert check.label.name.start_with?("merge_label") , check.label.name
|
||||
end
|
||||
def test_exit
|
||||
done = main_ticks(37)
|
||||
done = main_ticks(42)
|
||||
assert_equal Syscall , done.class
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user