rubydesign
7232c28ecd
operator also fell into ssa trap
...
relying on register identity
in fact the whole operator concept was geared towards this, using 2 regs instead of one to avoid the whole issue
better now
2020-03-22 14:31:43 +02:00
rubydesign
3145547315
init fell into the ssa tap, fixed
...
reducing and assuming the same register, buuh
adds a transfer instruction that can hopefully be removed by analysis
2020-03-22 14:31:43 +02:00
rubydesign
4db71c1c03
fix all uses of operators now they are ssa
2020-03-22 14:31:43 +02:00
rubydesign
504fc3509e
fix set_internal_word register
2020-03-22 14:31:43 +02:00
rubydesign
5c13ea1433
fix naming mistakes fo Word.get/set macros
2020-03-22 14:31:43 +02:00
rubydesign
d125a1528a
Fix set_internal_byte registers
2020-03-22 14:31:43 +02:00
rubydesign
17a1121408
fix putstring registers
2020-03-22 14:31:43 +02:00
rubydesign
3a3a9277b3
fix operators registers
2020-03-22 14:31:43 +02:00
rubydesign
8867d60c13
fix method_missing register
...
logic is still wrong, even it is slightly less (at least loading the method name)
2020-03-22 14:31:43 +02:00
rubydesign
ede103e73d
finally did assert_function_call
...
for cleaner reading, like all other instruction asserts
2020-03-22 14:31:43 +02:00
rubydesign
cf5a3c0102
fix inits registers
...
surprisingly easy. shorter code and more readable tests
2020-03-22 14:31:43 +02:00
rubydesign
7d8ef8ef64
fix allocate tests
...
as allocate got one smaller
2020-03-22 14:31:43 +02:00
rubydesign
8abcaa330b
fix allocate in builder
...
which accessed unknown types.
also moved assert_allocate to support
2020-03-22 14:31:43 +02:00
rubydesign
8119030ed2
fix return sequence
...
broken due to logic error in register_slot << (which was reducing the wrong register, self, not the arg)
Still the sequence is in 2 places, one too many ?
2020-03-22 14:31:43 +02:00
rubydesign
05ddc70fd6
fix get_internal word register names
...
seems previous commits broke the return
2020-03-22 14:31:43 +02:00
rubydesign
a70e510548
fix test_exit registers
2020-03-22 14:31:43 +02:00
rubydesign
fb4fa598f2
fix get_internal_byte
...
improved operators and tests
some logic errors still
2020-03-22 14:31:43 +02:00
rubydesign
22d513d895
fix div4 and tests
...
also bug in reduce_int, compiler not carried through
2020-03-22 14:31:43 +02:00
rubydesign
eed9ba082f
Fix div10 and test
...
fix and use load_data (similar to load_constant)
and integrate into load_object when appropriate (ie for integers)
2020-03-22 14:31:43 +02:00
rubydesign
3ec5557ddb
fix builder logic error
...
and tests
2020-03-22 14:31:43 +02:00
rubydesign
1760b5b203
fix comparison test and helpers
...
moving to passing the instruction number, not the instruction
so in the error message we can say where the error is
(otherwise minitest is good enough to supress the trace of asserts calling asserts)
2020-03-22 14:31:43 +02:00
rubydesign
3575aada17
tests for all macros
...
generated on master (know to work)
but with rXX registers, needs fixing
2020-03-22 14:31:43 +02:00
rubydesign
9c5d17a3bb
Fix div10 without method_missing
...
but reanimate infer_type to auto create the needed regsiters
also some helpers
2020-03-22 14:31:43 +02:00
rubydesign
3688c967d3
Fix comparison macro
...
which leaves a definite need for instruction level testing
2020-03-22 14:31:43 +02:00
rubydesign
aa9fc8bc81
More rename cleanp
2019-10-03 21:07:55 +03:00
rubydesign
c43436f35a
Change Mom to SlotMachine
...
rather large commit, but essentially a simple rename
Rationale in docs and blogs
2019-10-03 20:55:41 +03:00