Torsten Ruger
|
dcd691fe00
|
minor
|
2014-06-12 21:27:47 +03:00 |
|
Torsten Ruger
|
6d6c7ddb68
|
register assignment fix (was not taking subsequent calls into account)
|
2014-06-12 21:27:30 +03:00 |
|
Torsten Ruger
|
200da192b4
|
improve output
|
2014-06-12 21:04:15 +03:00 |
|
Torsten Ruger
|
ea0572c836
|
fixed while compilation (block order) and fixed and improved fibo
|
2014-06-12 16:23:57 +03:00 |
|
Torsten Ruger
|
8da1bc4645
|
fix putint (too eager optimization broke it)
|
2014-06-12 13:47:06 +03:00 |
|
Torsten Ruger
|
506f98da5a
|
fixed foo and hello, next putint
|
2014-06-12 09:07:03 +03:00 |
|
Torsten Ruger
|
eef6744827
|
fixes the if test (regs again)
|
2014-06-12 08:34:46 +03:00 |
|
Torsten Ruger
|
b125a7c5c7
|
fix passes, add noop reduction, remove the wretched value operators
|
2014-06-11 21:36:22 +03:00 |
|
Torsten Ruger
|
4e6319b753
|
inrtoduce block passes. move the allocation there and implement those simple optimisations
|
2014-06-11 11:41:50 +03:00 |
|
Torsten Ruger
|
7cca50cd3a
|
still recoving from previous block - function change. no more exceptions at least
|
2014-06-11 00:38:46 +03:00 |
|
Torsten Ruger
|
e9519d4f05
|
move the code insertion functionality up to function. makes more sense. block still carries code though
|
2014-06-10 23:57:56 +03:00 |
|
Torsten Ruger
|
e9fc8ac6aa
|
making the third arg of block init explicit (not optional)
|
2014-06-10 18:51:27 +03:00 |
|
Torsten Ruger
|
7ca3207b3e
|
moved registers to machine, changed return to 0 (from 7) and erased all integer references to registers
|
2014-06-10 13:29:01 +03:00 |
|
Torsten Ruger
|
d7a60f2803
|
new register allocation generates good looking push/pop
|
2014-06-09 19:24:09 +03:00 |
|
Torsten Ruger
|
b66c4157d5
|
keep track of used and assigned registers for each block
|
2014-06-08 01:41:56 +03:00 |
|
Torsten Ruger
|
fbcfa844de
|
renaming and small fixes
|
2014-06-08 00:56:40 +03:00 |
|
Torsten Ruger
|
e7bb774da0
|
fix block insert ordering with depth > 1
|
2014-06-08 00:56:15 +03:00 |
|
Torsten Ruger
|
42a840614e
|
adding call counter and splitting block after call
|
2014-06-08 00:55:18 +03:00 |
|
Torsten Ruger
|
0a14cffefb
|
fixing fragment tests, most done
|
2014-06-07 23:22:32 +03:00 |
|
Torsten Ruger
|
6b715bbb1b
|
remoe hash attributes (less magic) and make attributes on context explicit
|
2014-06-07 22:41:02 +03:00 |
|
Torsten Ruger
|
36f237c633
|
removed the (too) fancy dsl. Also introduce register indirection
|
2014-06-07 17:59:44 +03:00 |
|
Torsten Ruger
|
6433a394e7
|
adding receiver and a register abstraction
|
2014-06-06 21:49:03 +03:00 |
|
Torsten Ruger
|
c59f22f11f
|
first oo program to compile. But no worries, there is still work left to be done
|
2014-06-05 18:17:00 +03:00 |
|
Torsten Ruger
|
f523d0946d
|
fix the lasts tests
|
2014-06-05 16:27:25 +03:00 |
|
Torsten Ruger
|
f2e8e644bd
|
changes tests to only compare the tested function output, not the whole binary
|
2014-06-05 13:02:36 +03:00 |
|
Torsten Ruger
|
e6e969b4e4
|
a spirited effort to make assembly repeatable
|
2014-06-05 10:46:42 +03:00 |
|
Torsten Ruger
|
41a02a7190
|
small step to making the assmebly process repeatable (is destructive at the moment)
|
2014-06-05 10:28:53 +03:00 |
|
Torsten Ruger
|
7cc4c6344c
|
remove the parse code and fix the rest to work with the gem (from git for now)
|
2014-06-04 22:03:45 +03:00 |
|
Torsten Rüger
|
e9d2724f62
|
Merge pull request #1 from NigelThorne/master
Auto Detect infinite loops
|
2014-06-04 16:22:28 +03:00 |
|
Nigel Thorne
|
5145d21e37
|
Merge branch 'master' of https://github.com/ruby-in-ruby/crystal
|
2014-06-04 21:49:06 +10:00 |
|
Nigel Thorne
|
20433e3ad2
|
Change to NigelThorne fork to detect infinite loops
and fixed grammar to ignore missing parameter list.
|
2014-06-04 21:48:32 +10:00 |
|
Torsten Ruger
|
72d4adc7af
|
another step closer to a working oo system
|
2014-06-03 22:16:57 +03:00 |
|
Torsten Ruger
|
ca19f5cb16
|
move to syms for names
|
2014-06-03 20:47:06 +03:00 |
|
Torsten Ruger
|
b7c2089046
|
the further down this goes, the smaller the circles. Soon the point will come. And then back out
|
2014-06-03 14:49:02 +03:00 |
|
Torsten Ruger
|
f60bbfa9ca
|
add a fail case, that anoyingly hangs
|
2014-06-03 09:41:39 +03:00 |
|
Torsten Ruger
|
88a26414eb
|
change the debug output to be more readable
|
2014-06-02 15:11:48 +03:00 |
|
Torsten Ruger
|
7c1c5431bc
|
add qualification to function definitions
|
2014-06-02 14:00:30 +03:00 |
|
Torsten Ruger
|
1cff296ab5
|
small fixes, wown parse for class test
|
2014-06-02 13:45:08 +03:00 |
|
Torsten Ruger
|
83d4ce55ca
|
fix the load memory instruction
|
2014-06-01 22:06:59 +03:00 |
|
Torsten Ruger
|
31a55b07ac
|
makes memory a three operand instruction, like add etc. But 3 regs are still undone
|
2014-06-01 21:20:44 +03:00 |
|
Torsten Ruger
|
08bbad0fdc
|
more on classes, have to work on asm next
|
2014-06-01 21:03:08 +03:00 |
|
Torsten Ruger
|
1d10c2c03e
|
had forgotten calls on instance variables. corrected + tests
|
2014-06-01 14:46:16 +03:00 |
|
Torsten Ruger
|
9ea0acf2e3
|
first oo steps are wobbly, but a string.plus parses
|
2014-06-01 14:24:54 +03:00 |
|
Torsten Ruger
|
86431120d5
|
add also calls on classes and more tests for that
|
2014-05-31 17:58:26 +03:00 |
|
Torsten Ruger
|
4038bd331a
|
clean up block names and export of qualified names makes assembler nicer to read
|
2014-05-31 17:02:55 +03:00 |
|
Torsten Ruger
|
5756e0b325
|
move that test to core (cant be done in compiled code) and focus on string addition instead
|
2014-05-31 16:43:03 +03:00 |
|
Torsten Ruger
|
cdfc1ac891
|
kernel functions are not fixed to be Object functions
|
2014-05-31 16:19:44 +03:00 |
|
Torsten Ruger
|
a6f02d6be3
|
let the BootClasses carry functions, ie one level squeezed between object_space and funtion, the class is coming to life
|
2014-05-31 14:35:33 +03:00 |
|
Torsten Ruger
|
3713d08748
|
renamed program to boot_space, as in object_space at boot time. thats the way its going
|
2014-05-31 12:52:29 +03:00 |
|
Torsten Ruger
|
c9c484f353
|
change program to inherit stright from code, not block (as it keeps the funcitons anyway)
|
2014-05-31 12:38:15 +03:00 |
|