506f98da5a
fixed foo and hello, next putint
Torsten Ruger
2014-06-12 09:07:03 +03:00
eef6744827
fixes the if test (regs again)
Torsten Ruger
2014-06-12 08:34:46 +03:00
b125a7c5c7
fix passes, add noop reduction, remove the wretched value operators
Torsten Ruger
2014-06-11 21:36:22 +03:00
4e6319b753
inrtoduce block passes. move the allocation there and implement those simple optimisations
Torsten Ruger
2014-06-11 11:41:50 +03:00
7cca50cd3a
still recoving from previous block - function change. no more exceptions at least
Torsten Ruger
2014-06-11 00:38:46 +03:00
e9519d4f05
move the code insertion functionality up to function. makes more sense. block still carries code though
Torsten Ruger
2014-06-10 23:57:56 +03:00
e9fc8ac6aa
making the third arg of block init explicit (not optional)
Torsten Ruger
2014-06-10 18:51:27 +03:00
7ca3207b3e
moved registers to machine, changed return to 0 (from 7) and erased all integer references to registers
Torsten Ruger
2014-06-10 13:29:01 +03:00
d7a60f2803
new register allocation generates good looking push/pop
Torsten Ruger
2014-06-09 19:24:09 +03:00
b66c4157d5
keep track of used and assigned registers for each block
Torsten Ruger
2014-06-08 01:41:56 +03:00
fbcfa844de
renaming and small fixes
Torsten Ruger
2014-06-08 00:56:40 +03:00
31a55b07ac
makes memory a three operand instruction, like add etc. But 3 regs are still undone
Torsten Ruger
2014-06-01 21:20:44 +03:00
08bbad0fdc
more on classes, have to work on asm next
Torsten Ruger
2014-06-01 21:03:08 +03:00
1d10c2c03e
had forgotten calls on instance variables. corrected + tests
Torsten Ruger
2014-06-01 14:46:16 +03:00
9ea0acf2e3
first oo steps are wobbly, but a string.plus parses
Torsten Ruger
2014-06-01 14:24:54 +03:00
86431120d5
add also calls on classes and more tests for that
Torsten Ruger
2014-05-31 17:58:26 +03:00
4038bd331a
clean up block names and export of qualified names makes assembler nicer to read
Torsten Ruger
2014-05-31 17:02:55 +03:00
5756e0b325
move that test to core (cant be done in compiled code) and focus on string addition instead
Torsten Ruger
2014-05-31 16:43:03 +03:00
cdfc1ac891
kernel functions are not fixed to be Object functions
Torsten Ruger
2014-05-31 16:19:44 +03:00
a6f02d6be3
let the BootClasses carry functions, ie one level squeezed between object_space and funtion, the class is coming to life
Torsten Ruger
2014-05-31 14:35:33 +03:00
3713d08748
renamed program to boot_space, as in object_space at boot time. thats the way its going
Torsten Ruger
2014-05-31 12:52:29 +03:00
c9c484f353
change program to inherit stright from code, not block (as it keeps the funcitons anyway)
Torsten Ruger
2014-05-31 12:38:15 +03:00