more fix for multilevel constant load

was ignoring first level which is already the second for a constant
as the constant is the first load.
first interpreter test working but looking dodgy
This commit is contained in:
Torsten Ruger
2018-03-22 19:14:22 +02:00
parent 34903829ca
commit 55832315eb
6 changed files with 47 additions and 33 deletions

View File

@ -7,10 +7,11 @@ module Risc
def setup
super
@input = "r = 5.mod4"
@expect = [LoadConstant, SlotToReg, RegToSlot, LoadConstant, SlotToReg, SlotToReg ,
RegToSlot, LoadConstant, SlotToReg, SlotToReg, RegToSlot, LoadConstant ,
SlotToReg, RegToSlot, LoadConstant, SlotToReg, RegToSlot, SlotToReg ,
LoadConstant, FunctionCall, Label, SlotToReg, SlotToReg, RegToSlot]
@expect = [LoadConstant, SlotToReg, SlotToReg, RegToSlot, LoadConstant, SlotToReg ,
SlotToReg, SlotToReg, SlotToReg, RegToSlot, LoadConstant, SlotToReg ,
SlotToReg, SlotToReg, SlotToReg, RegToSlot, LoadConstant, SlotToReg ,
RegToSlot, LoadConstant, SlotToReg, RegToSlot, SlotToReg, LoadConstant ,
FunctionCall, Label, SlotToReg, SlotToReg, RegToSlot]
end
def test_local_assign_instructions
assert_nil msg = check_nil , msg
@ -18,7 +19,7 @@ module Risc
def test_constant_load
produced = produce_body
assert_equal 5 , produced.next(11).constant.value
assert_equal 5 , produced.next(16).constant.value
end
end
end