Commit Graph

57 Commits

Author SHA1 Message Date
Torsten Rüger 701890f625 Fix bad test coverage
One typo, one debug test
Also stop producing those object files, use in memory io
2019-09-25 01:14:00 +03:00
Torsten Rüger 3df54910cc rename singleton_class to single_class and misc
was clashing with real ruby method name
also many superclass mismatch fixes
some misc
2019-09-24 17:25:19 +03:00
Torsten Rüger 1ee01622c3 Builtin is no more, final conversions done
All preloading where it needs to be
(some)tests for the preload
split compiler test
remembered binary tests (usually just run on travis)
2019-09-13 20:34:41 +03:00
Torsten Rüger 12b29285d7 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
2019-09-13 14:07:12 +03:00
Torsten Rüger a99abd7ad0 update gems, remove ssh 2019-09-08 13:44:51 +03:00
Torsten Rüger 91995dc1b3 make elf symbols optional
and default to false. Smaller executables  by at least half
also add option for compiler cli
2019-09-03 02:02:21 +03:00
Torsten Rüger b2260d856d And we are green again
After having over 600 failing tests at one point, this does feel good.
Even better, most of the risc/interpreter tests where i didn't change anything came gree without changing the tests. ie we have binary compatibility.
2019-08-14 11:11:26 +03:00
Torsten Ruger 37eeb81f45 fix all tests for previous commit 2019-02-08 23:03:23 +02:00
Torsten Ruger 7fc104a019 Use minitest-profile to find long tests
Only found one big fibo
All else due to large amount of objects
(now with factories it jumped from hundreds to thousands)
2018-09-02 13:58:42 +03:00
Torsten Ruger 8a81d41d5e Move booting to RubyXCompiler init
Also pass the source into the compile method.
This way compiler can be reused for subsequent compile.
Does remove some double boots, but no major time save
2018-09-02 13:57:19 +03:00
Torsten Ruger cab6bc389f misc little test fixes 2018-07-03 10:12:40 +03:00
Torsten Ruger 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
Torsten Ruger 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
Torsten Ruger 46d8f5002f hoist parfait boot out of the machine boot 2018-06-30 00:39:23 +03:00
Torsten Ruger 7006c8e3aa fix remaining tests
rename ripples
2018-06-29 22:56:49 +03:00
Torsten Ruger c8451d0048 create rubyx dir and move previous vool_compiler there 2018-06-29 22:46:39 +03:00
Torsten Ruger 4103da7490 small test fixes 2018-06-25 20:21:15 +03:00
Torsten Ruger 70d7e654c4 only check object file creation in efl
remote execution only per request
2018-06-25 00:39:13 +03:00
Torsten Ruger 87be6bf9d5 add automated arm tests 2018-06-23 15:58:43 +03:00
Torsten Ruger db459fcd3d fix label loading in arm
was still loading the integer address
instead of the return address's address
Hello World working
2018-06-19 17:35:00 +03:00
Torsten Ruger e86ca5ae9d integer was wrong padded§ length
or rather right (2 as should be and will be)
but currently we use next AND value + type means 3, rounded 4
because we can’t swap types at compile time (as is planned at runtime,
we use next OR value)
2018-05-30 14:55:17 +03:00
Torsten Ruger b81d9565de fix binary code offset when calling
in other words, remember the arm pipeline being 8
2018-05-29 17:03:20 +03:00
Torsten Ruger 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
Torsten Ruger 40f4bfc287 change to position objects complete 2018-05-05 20:25:10 +03:00
Torsten Ruger 06f51da8f1 rename get_all_methods 2018-05-01 19:19:37 +03:00
Torsten Ruger efcc33f8a1 get an elf written 2018-03-29 20:37:25 +03:00
Torsten Ruger a50368c3aa assembler will need redoing somewhat
with own data objects, we can assemble into them first
then write
may also store cpu instructions
2018-03-25 18:23:00 +03:00
Torsten Ruger 5fe0ba06ab stash old vm
moving on to getting mom to work and can’t have both
interpreter and elf broke, about 100 tests  went
2018-03-11 17:02:42 +05:30
Torsten Ruger 73b7e2b22f remove all test_all
Stop manually creating the list of tests (and searching missing).
Main level test_all does a search for all test_*
also possible to run by command line with starts
2017-04-13 17:00:56 +03:00
Torsten Ruger aa79e41d1c rename register to risc
seems to fit the layer much better as we really have a very reduced
instruction set
2017-01-19 09:02:29 +02:00
Torsten Ruger 8dbbffd58e fix tests for NameExpression split
also necessitates giving method name without the wrapping expression
which is simpler anyway
2017-01-16 09:34:47 +02:00
Torsten Ruger 01fe3b4b04 small rename 2017-01-14 19:52:16 +02:00
Torsten Ruger bd78a2d555 renames Typed to Vm 2017-01-14 19:28:44 +02:00
Torsten Ruger dccd097fef remove collecting from the machine
use as stand alone module
2016-12-31 19:54:18 +02:00
Torsten Ruger 113b349af5 unlinking the objects collection from the machine
passing it around instead
2016-12-31 18:46:17 +02:00
Torsten Ruger a2ece04b6d a little more minimal elf tests 2016-12-31 15:08:32 +02:00
Torsten Ruger d6c503ecf4 inlined indexed into list
which was the only one using it.
A whole lot simpler, considering it will have to be bootstrapped someday
2016-12-30 21:00:18 +02:00
Torsten Ruger 631038dfbd add another test (still failing) 2016-12-30 13:15:08 +02:00
Torsten Ruger 8aae8f7425 disabling failing test for now
have to add more test and code climate will show where
2016-12-29 21:24:11 +02:00
Torsten Ruger 1a224f904b much less test code (s-exps) needed because compiler defaults to main
but some compilation outside needed, hence clean_compile
2016-12-17 00:19:23 +02:00
Torsten Ruger f8cefcde3c retiring ClassField and class_field from typed layer
Creating classes is the responsibility of melon
2016-12-16 19:05:49 +02:00
Torsten Ruger e2c006b5ad minor 2016-12-15 18:08:55 +02:00
Torsten Ruger 884bf23e5f fix elf test 2016-12-15 17:57:45 +02:00
Torsten Ruger 021fab31db small things 2016-12-14 13:22:47 +02:00
Torsten Ruger fa0e279620 whilespace in s-exps 2016-12-10 23:07:04 +02:00
Torsten Ruger 4cd979e3e9 remove soml parser from tests 2016-12-08 19:39:16 +02:00
Torsten Ruger f50d7b57a4 fix the putstring sys call indexing
index 0 is the marker word , so like in some, all indexes 1 based
works :-)
2015-11-15 22:03:06 +02:00
Torsten Ruger a5afca10f6 don't pass machine around, its global 2015-11-12 20:02:44 +02:00
Torsten Ruger a871f96630 remove passes and achieve the same by translating 2015-10-24 11:42:36 +03:00
Torsten Ruger 57f37ec023 removed blocks and moved to labels
somewhat easier to understand the code as a linked list
relatively painless change, considering
2015-10-23 21:27:36 +03:00