22b1fea587
use rubyc_compiler as instance
...
not as before class methods
so we can carry the state around
2018-07-01 11:59:07 +03:00
daf1b56062
start on class compiler
...
idea is to get cleaner layer seperation
reduce machine and rework builtin boot
2018-06-30 19:20:17 +03:00
4a7cc72732
always list of methods in class
...
improve vool test dirs
2018-06-30 10:08:18 +03:00
46d8f5002f
hoist parfait boot out of the machine boot
2018-06-30 00:39:23 +03:00
5b87133df2
split rubyx tests
...
in vool and mom level
2018-06-29 23:04:50 +03:00
7006c8e3aa
fix remaining tests
...
rename ripples
2018-06-29 22:56:49 +03:00
c8451d0048
create rubyx dir and move previous vool_compiler there
2018-06-29 22:46:39 +03:00
3dffebed3f
rename a bit
2018-06-29 13:03:19 +03:00
f0ba863721
remove to_mom / create_objects dichotomy
...
wsa supposed to be clearer, but even to me seems confusing now.
2018-06-26 20:46:58 +03:00
ce79617875
fix the exit sequence
...
was returning wrong register (1, not 0)
also saving the message for test, which changes order as the return value destroys the message
2018-06-19 19:52:06 +03:00
5f7683efcf
pass return integer back out through exit
...
for testing of binaries later (and off course general correctness)
Some tests were using the fact that the interpreter was used, changed those to return ints rather than strings
2018-06-19 18:55:47 +03:00
67100a3ef8
write adjusted address
...
and rename integer to address in label
1k hurray
2018-05-31 00:07:58 +03:00
0dc89c772a
get the label int to work consistently
...
still need to use it in the return
2018-05-30 10:54:18 +03:00
1c09d4202f
fix all test
...
and thus all green, two weeks of side branch positioning done
(luckily not on arm, but interpreter)
2018-05-25 20:40:39 +03:00
c0cd1e0740
fix an issue where instruction was in wrong code
...
embarrassingly used instance variable where it should have been local
2018-05-25 19:16:13 +03:00
bf23883270
busy fixing tests
2018-05-24 19:38:48 +03:00
ef2dc932ad
use positions in interpreter
2018-05-20 15:52:13 +03:00
49c4d170ce
make the interpreter platform
...
but still using the risc_instruction stream
2018-05-17 09:31:36 +03:00
26fe77ed68
add some multi method tests
2018-04-26 12:33:33 +03:00
6fc84d2f98
bit of renaming and a string test
2018-04-24 20:12:49 +03:00
ef5854c4df
start larger tests
2018-04-23 14:05:37 +03:00
bf6e0853ce
fix while back jump
...
while normalising the condition had gone before the
jump target accidentally
2018-04-20 09:56:06 +03:00
7d9132ee36
test other int methods
...
harness for testing compiler in a method (before just in a case)
2018-04-19 19:59:48 +03:00
a98d7630fb
start testing builtin seperately
...
in terms of output only
2018-04-19 19:47:35 +03:00
1741ad540e
move test helper code to support
...
to be reused
2018-04-19 19:33:40 +03:00
e5d014b936
bit more regs, bit more resets
2018-04-08 22:29:08 +03:00
6d1beec407
fixing the interpreter tests
2018-04-07 18:58:44 +03:00
3c90eb31c6
fixes all but interpreter tests
2018-04-06 23:37:41 +03:00
d52e14d201
continue to rewrite message_setup
...
message come from space already.
next types
2018-04-05 20:37:03 +03:00
f09086e524
unite the two resolve_to_index functions
2018-04-05 20:10:00 +03:00
ee0a1ca823
renaming methods args and frame
...
to arguments_type and frame_type, because that is what they are
In honour of setup bug, where the types of those types were loaded,
instead of just them types
2018-04-05 12:22:14 +03:00
c51fc67ba5
make interpreter tests less brittle
...
by factoring __init code away
just counting main
2018-04-04 20:05:09 +03:00
c304ad67c6
load space twice in init , messagesetup overwrites first
...
lots of interpreter test changes, brittle, must factor __initi out
2018-04-02 23:25:52 +03:00
eb7713a9f3
remove method_compiler init method
...
as init is really just adding a label it is done in the method
(thus mixing the levels, “polluting” parfait with risc, but there must
be change coming that way anyway)
2018-03-25 19:37:51 +03:00
0f183b3a74
fix value return and test
...
slot load was wrong way around
2018-03-23 20:02:17 +02:00
b4a18bc59b
mostly brackets and formatting
2018-03-23 18:55:23 +02:00
d9ce295b89
fix all tests from removing the receiver load
2018-03-20 23:31:42 +05:30
be79388cc5
remove dead code
2018-03-18 10:50:37 +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
79bf416e58
collapsed slot classes into one
...
different slot operation have different right sides
mom assignment tests work again
157 others don’t
2018-03-15 20:33:38 +05:30
3247c2036c
moving from collect to each
...
when iterating over tree.
Much cleaner, less hokuspukus methods that are noops
Mom is coming back out, but not linked yet
2018-03-15 17:22:56 +05:30
d910c02b4a
better name for cool compile
2018-03-12 17:23:16 +05:30
bc5906fb83
moving vool_method to parfait
2017-12-10 20:47:26 +02:00
66901eeb5b
fix use of slot_constant vs slot_move
...
wip
2017-09-10 12:57:25 +03:00
c5ac24c850
check the instructions that are produced in mom
2017-09-09 23:36:43 +03:00
b5ca886069
moving helper for all to use
2017-09-07 08:16:37 +03:00
9dd4409009
implements argument assignment
2017-04-13 14:14:43 +03:00
0d96f5e35f
rearranges test helper modules
2017-04-10 16:12:15 +03:00