7231f301ba
move tests with mom_compile to mom
2018-07-07 22:45:48 +03:00
9005513368
rename typed_method to callable_method
...
seems to make the essence clearer
also extracted base class
2018-07-07 09:11:09 +03:00
acd5cd8f30
rename for_type to self_type
...
and split a base class off TypedMethod
2018-07-06 20:01:17 +03:00
2485f7e9eb
misc fixes and (finally, sigh) green again
...
deeeep dive, almost 40 commits
2018-07-04 09:18:55 +03:00
d8b58d8da6
fix inital main (again)
...
stop even compiling a fake main if a real exists (in builtin)
previous version was still buggy: using builting methods types (especially locals) even comiled version had different
2018-07-04 09:17:30 +03:00
8b9fd29ce9
Only add Builtin methods that are not in the current compilation
...
Current bug looks like the original main is used in parts
(not the compiled one, but the builtin on)
2018-07-04 08:28:05 +03:00
bb1d1495db
fix constant propagation through the layers
...
so they can end up in the binary
2018-07-03 10:12:22 +03:00
63dfee0978
move some tests around (and fix them)
2018-07-02 23:20:54 +03:00
4b33d1c056
fix many a test especially whole mom
...
but some positioning bug still in there preventing
binary to work
2018-07-02 17:01:07 +03:00
22408b86c6
return the linker from mom_compiler
...
linker holds assemblers
assemblers come from method compilation
and so the layers come into focus
2018-07-01 21:51:48 +03:00
bb49f1be78
rename ClassCompiler to MomComplier
...
ended up not even using the class, it just came from there
It actually compiles methods, and it turns out is the point where builtin comes into the picture as it's boot process also returns method compilers
2018-07-01 21:26:45 +03:00
c947c27a14
clean up booting
...
many machine boot became obsolete
or just neede parfait to boot
actual linker functionality pending
2018-07-01 14:12:42 +03:00
35b10c46a3
adds the risc instructions to the compiler
...
since they are not in the method anymore
2018-07-01 11:59:52 +03:00
46d8f5002f
hoist parfait boot out of the machine boot
2018-06-30 00:39:23 +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
c94f6eaa78
small maintanance
2018-06-16 21:01:15 +03:00
5ec235d049
fixes outstanding misc, All green
...
Well. it's been a while, positioning is fixed (again)
apart from the upcoming BranchListener
2018-06-10 13:19:55 +03:00
53107d3ef8
reducing the label's int for return
...
placing the raw address in the register to jump to
puts the extra instruction at the risc level (not arm), thus changing a
lot of (brittle?) tests
2018-05-30 12:54:40 +03:00
bf23883270
busy fixing tests
2018-05-24 19:38:48 +03:00
f5d1090c39
no-ops really
2018-05-23 18:06:55 +03:00
37d62d298e
assemble risc to it's position (not itself)
...
So in the next step the interpreter can use positions as program counter
and would be much more like the real thing
2018-05-17 09:49:01 +03:00
9597fc5756
more slot tests, also in separate files
2018-05-16 12:49:46 +03:00
36e59ebdea
some slot load tests
2018-05-16 12:35:44 +03:00
473866e76b
start with some slot definition tests
2018-05-15 19:29:27 +03:00
ab4bc370ed
another +1 bug
2018-05-15 16:25:55 +03:00
3c00239f36
another million index fixes
2018-05-14 15:17:04 +03:00
4a88f342d3
random checkin
...
still suffering -1 trauma
2018-05-14 12:38:44 +03:00
98f3898acd
fix while tests
2018-04-20 10:27:06 +03:00
13d8a65e07
add while interpreter test
2018-04-19 19:23:12 +03:00
1849522a54
fix TruthCheck
...
mixing up the false and true, such a basic human mistake
2018-04-19 10:34:15 +03:00
3a50b7dd0e
fix mod4 name
...
really did div4
2018-04-19 10:00:55 +03:00
d19bd5f98d
fix dynamic jump
...
which gets dynamic resolve and call to work.
FIRST DYNAMIC CALL working
2018-04-09 15:06:46 +03:00
59e6298879
first resolved call running though
...
and returning an int, as it should
just the value . . .
2018-04-08 23:45:23 +03:00
fabe4db4f6
fix logic error in vool dynamic send
...
using receiver of current method
instead of receiver of next message
2018-04-08 22:59:42 +03:00
580c53cdae
fix the resolve
...
without return and not being a function
2018-04-08 22:30:18 +03:00
8c322329fb
fix builtin methods according to last commit
2018-04-08 18:52:17 +03:00
3c90eb31c6
fixes all but interpreter tests
2018-04-06 23:37:41 +03:00
eea92399ee
concludes static message setup
2018-04-06 23:11:08 +03:00
1ddbde1191
return single message for "message" ie r0
...
other names, like next_message allocate a new register
2018-04-06 22:54:54 +03:00
41d573d571
wrought one more instruction for message setup
...
now with dsl ready, should be faster
2018-04-06 20:58:58 +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
cf6636ddda
move (group) test files
2018-04-05 12:19:29 +03:00
0a075c0f8a
fix tests (from changing MethodSetup)
2018-04-03 14:31:49 +03:00
65d57c8c7c
removing unconditional
...
just Branch is fine
2018-04-02 19:30:34 +03:00
cb9f6973d9
fix true false and nil constant
...
going from mom to parfait
basics in place, more ripples to fix
2018-03-31 13:47:02 +03:00
ee8b9469af
fix argument indexing
...
good old index bug, off by one
this time forgot about parfait 1-indexing
2018-03-30 20:01:31 +03:00
b997f01236
simple arg test
...
yields no insights
2018-03-30 18:13:17 +03:00