Lots of preloading for tests
so many relied (implicitly( on some builtin function after all can't do much in ruby without calling Now all those dependencies are explicit Small risc changes come because the macro version has a return label and unreachable label
This commit is contained in:
@ -6,23 +6,24 @@ module Risc
|
||||
include Ticker
|
||||
|
||||
def setup
|
||||
@preload = "Integer.plus"
|
||||
@string_input = as_main("return 5 + 5")
|
||||
super
|
||||
end
|
||||
|
||||
def test_chain
|
||||
# show_main_ticks # get output of what is
|
||||
#show_main_ticks # get output of what is
|
||||
check_main_chain [LoadConstant, SlotToReg, RegToSlot, LoadConstant, SlotToReg, #5
|
||||
RegToSlot, LoadConstant, SlotToReg, RegToSlot, LoadConstant, #10
|
||||
SlotToReg, RegToSlot, SlotToReg, FunctionCall, LoadConstant, #15
|
||||
SlotToReg, LoadConstant, OperatorInstruction, IsNotZero, SlotToReg, #20
|
||||
RegToSlot, SlotToReg, SlotToReg, SlotToReg, SlotToReg, #25
|
||||
OperatorInstruction, RegToSlot, RegToSlot, SlotToReg, SlotToReg, #30
|
||||
Branch, RegToSlot, SlotToReg, SlotToReg, SlotToReg, #35
|
||||
FunctionReturn, SlotToReg, RegToSlot, Branch, SlotToReg, #40
|
||||
SlotToReg, RegToSlot, SlotToReg, SlotToReg, SlotToReg, #45
|
||||
FunctionReturn, Transfer, SlotToReg, SlotToReg, Syscall, #50
|
||||
NilClass,] #55
|
||||
OperatorInstruction, RegToSlot, RegToSlot, SlotToReg, RegToSlot, #30
|
||||
Branch, Branch, SlotToReg, SlotToReg, RegToSlot, #35
|
||||
SlotToReg, SlotToReg, SlotToReg, FunctionReturn, SlotToReg, #40
|
||||
RegToSlot, Branch, SlotToReg, SlotToReg, RegToSlot, #45
|
||||
SlotToReg, SlotToReg, SlotToReg, FunctionReturn, Transfer, #50
|
||||
SlotToReg, SlotToReg, Syscall, NilClass,] #55
|
||||
assert_equal 10 , get_return
|
||||
end
|
||||
def base_ticks(num)
|
||||
|
Reference in New Issue
Block a user