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,7 +6,7 @@ module Risc
|
||||
|
||||
def setup
|
||||
@class_input = "def self.simple_return; return 1 ; end;"
|
||||
@input = "return Test.simple_return"
|
||||
@input = "return Space.simple_return"
|
||||
@expect = [LoadConstant, RegToSlot, Branch]
|
||||
end
|
||||
|
||||
|
@ -9,13 +9,13 @@ module Mom
|
||||
end
|
||||
def test_mom_length
|
||||
assert_equal :set_internal_byte , @method.callable.name
|
||||
assert_equal 5 , @method.mom_instructions.length
|
||||
assert_equal 7 , @method.mom_instructions.length
|
||||
end
|
||||
def test_compile
|
||||
assert_equal Risc::MethodCompiler , @method.to_risc.class
|
||||
end
|
||||
def test_risc_length
|
||||
assert_equal 17 , @method.to_risc.risc_instructions.length
|
||||
assert_equal 20 , @method.to_risc.risc_instructions.length
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -5,7 +5,7 @@ module Risc
|
||||
include Statements
|
||||
|
||||
def setup
|
||||
@preload = "Integer.ge"
|
||||
@preload = "Integer.gt"
|
||||
@input = "while(5 > 0) ; @false_object = true; end;return"
|
||||
@expect = [Label, LoadConstant, SlotToReg, RegToSlot, LoadConstant, #5
|
||||
SlotToReg, RegToSlot, LoadConstant, SlotToReg, RegToSlot, #10
|
||||
|
Reference in New Issue
Block a user