55832315eb
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
2018-03-22 19:14:22 +02:00
34903829ca
fix interpreter test harness and start testing
...
interpreter on debug for now
2018-03-22 18:54:40 +02:00
02c12996b3
return test for risc
2018-03-22 02:38:41 +05:30
ca3bf6acfa
fix constants being passed down
2018-03-22 02:38:06 +05:30
01151b4ba7
make continue labels unique
2018-03-21 22:05:51 +05:30
e0dd4e0ad7
test dynamic call
...
made cache labels unique
2018-03-21 21:58:43 +05:30
f424e58715
finish the simple call
...
moving jump address
2018-03-21 19:29:00 +05:30
49880267bb
start to test call
...
as per tdd noticing logic errors, have to swap message out
2018-03-21 19:20:51 +05:30
a9196e9cd6
implement simple_calls to_risc
2018-03-21 18:54:42 +05:30
71c59e5bc0
remove calls from tests that don't test call
2018-03-21 16:11:57 +05:30
fcbdba4804
simplify method entry exit codes
...
Basically just a label now
No more implicit returns (needs compiler tests)
Many return points is the new idea
Also setup is done before the enter by MessageSetup
2018-03-21 16:02:46 +05:30
b4489b1093
rename RiscTransfer to Transfer
2018-03-21 15:48:04 +05:30
fa797f722d
to_risc for NotSameCheck
...
which is only used in call cache checking
some fixing, needed to add a abel for the cache check jump
2018-03-21 12:38:28 +05:30
12c71fa394
first go at message setups translation to risc
...
simplest possible implementation, ie the method and next_messages are
loaded many times.
But the layer design shines, it’s easy to understand
2018-03-21 12:20:55 +05:30
d9ce295b89
fix all tests from removing the receiver load
2018-03-20 23:31:42 +05:30
77084dc894
fix unconditional jump
...
and affected tests
2018-03-20 22:05:09 +05:30
c12830ee6d
simple while risc conversion test
2018-03-20 16:32:07 +05:30
2c6ea7ea46
finish truth check (green again)
...
some (basic) if tests
2018-03-20 13:30:38 +05:30
8bac096f74
fix while statements each
...
wasn’t picking up condition
2018-03-20 13:29:18 +05:30
c8980595a3
start to test if
...
truth check is only half done
2018-03-19 21:20:11 +05:30
81f4524c7a
move assignment test into own dir
2018-03-19 16:28:53 +05:30
7953ef3e39
fix slot_load for higher order left arguments
...
needed for getting args or frame of the target, for assigns
fixed ripples in tests
2018-03-19 15:47:40 +05:30
483a7c4467
arg assignment test (could be better)
2018-03-19 13:34:50 +05:30
dda2ff9049
more assignment tests
...
move to writing code to Test class
To use space as before one would have to implement re-opening classes
2018-03-19 13:30:14 +05:30
c0a7f1d284
fix insertion and add assign send
...
must implement send conversion before this makes sense
2018-03-19 13:19:42 +05:30
66a160d8ab
fix code insertion in method
2018-03-19 13:05:08 +05:30
ed902c343c
fix ivar test by actually creating ivar first
...
nice to know one gets errors for using an ivar that was not assigned to
2018-03-18 22:38:49 +05:30
e2729513ed
tracking ivar bug
2018-03-18 22:38:00 +05:30
8c53b4ab67
fix more api ripples from typed method
2018-03-18 22:37:43 +05:30
9989cc12e0
fix ass tests
...
bit weak really, but pass
2018-03-18 22:37:15 +05:30
af94d40cab
passing frame (locals) into method creation
...
so typed_method have correct frame information and
can resolve slots correctly (next step)
2018-03-18 22:09:27 +05:30
be79388cc5
remove dead code
2018-03-18 10:50:37 +05:30
c5ec532616
use common list for risc instruction
...
strange that that was not done before as the code was clearly copied
when extracting it
Fix bug for insertion
2018-03-18 10:36:01 +05:30
9c052c78a7
fix most of slot_load to_risc
...
higher orders not working yet
2018-03-17 21:32:09 +05:30
cddc25a595
fixing tests for shifting constants into slots
2018-03-17 21:15:38 +05:30
16c8fcbf66
first local assignment risc test
...
comes with casualties
slot_load needs more work
2018-03-17 11:13:44 +05:30
3eef27be76
test helper cleanup
2018-03-16 20:25:01 +05:30
0978533d36
remove doubles
2018-03-16 20:13:04 +05:30
f50327eb94
dynamic call green
2018-03-16 20:02:22 +05:30
ba3ec9b1a2
everything but dynamic dispatch
2018-03-16 19:39:35 +05:30
d01bdf5dc5
return works
2018-03-16 19:26:27 +05:30
259b248588
ifs working
2018-03-16 19:05:22 +05:30
da0e1cdc5f
simple sends and all whiles working
2018-03-16 18:41:17 +05:30
35a0952943
first while test working
...
fixed logic error in test framework
2018-03-16 12:33:11 +05:30
ea882f403a
pass parfait method to to_mom
...
previously it was the toll incarnation, and that is almost the same
But for the type of self. This s by definition only known in the
parfait method
And we need it off course for type checking/dispatch
2018-03-16 11:03:29 +05:30
3909bdcc7d
method tests working again
2018-03-16 10:32:11 +05:30
1def69c783
simple send test works again
2018-03-15 21:54:03 +05:30
9b4fcf0e0f
locals work
2018-03-15 20:56:27 +05:30
ff6d84a09b
ivar tests work
...
bit of slot find replace
2018-03-15 20:55:23 +05:30
4a79d20a40
remove duplicate tests
2018-03-15 20:51:46 +05:30