Commit Graph

1280 Commits

Author SHA1 Message Date
e0c5bc4c11 rename phisol to soml 2015-10-23 14:22:55 +03:00
dcbd3c7091 fold last of the virtual into register 2015-10-22 18:16:29 +03:00
c68577c3f4 fixed more cases of empty block syndrome 2015-10-22 15:37:02 +03:00
6ac339d998 catching empty blocks
should really clean those away
2015-10-22 15:34:47 +03:00
b932f67da0 fixing tests
because interpreter was fixed
2015-10-22 14:51:20 +03:00
3895ac624c fix offsets, debugging revealed them to be 1 off 2015-10-22 11:48:03 +03:00
4ca15449be test and fix arg passing offset too 2015-10-22 11:32:37 +03:00
13b8d0645f tests for offset fix 2015-10-22 11:02:57 +03:00
db5c37bc55 fix while syntax and test 2015-10-19 16:37:12 +03:00
99cff3aa32 fix the if syntax and branches 2015-10-19 16:22:24 +03:00
1fd937927c adjust branch names
IsXXX  with xxx as condition, same as after if_xxx
AlwaysBranch is back to Branch
2015-10-19 16:08:00 +03:00
50379a1fea update to new syntax and patch tests
basic semantics remain, but have to improve test for new functionality
that has to be written for new branch types
2015-10-19 15:31:48 +03:00
bdcd0f297d first interpreted tests, fix branch issues
whole branch logic wobbly
better syntax needed, but working(ish) for now
2015-10-19 14:46:12 +03:00
d767caf479 remove MethodCall and thus all virtual instructions 2015-10-18 19:27:46 +03:00
15b570f5cf removing passes (before arm)
collector becomes a function
minimizer unused
2015-10-18 19:27:02 +03:00
fa4949fc80 remove MethodEnter Instructions
only resolved to SaveReturn anyway
also Halt instruction wasn’t used, gone
passes changed to start at register
2015-10-18 17:39:35 +03:00
8bf1337043 Remove MethodReturn instruction
and pass
and fix all tests
move towards removing all vm instructions
2015-10-18 17:32:32 +03:00
6c7e4c0fe2 stop pinning self and frame
before: r0-message , r1-self , r2-frame , r3-new_message , r4 + tmps
now: r0-message , r1-new_message , r2 + tmps
programs got smaller, less fuss
also fix in return implementation that got the address from the wrong
message
2015-10-18 17:20:19 +03:00
da5502e301 minor 2015-10-17 19:36:00 +03:00
4ce4775902 fix layout
amazing at this stage, but yet another index error
the strange (and wonderful) thing is that changing the return
of the one function just shifts the variables and everything else
stays intact. Thus are the wonders of object orientation
2015-10-17 10:03:39 +03:00
17545d1525 fix add test 2015-10-16 21:42:11 +03:00
3e79e5cf8e fix code duplication 2015-10-16 19:18:37 +03:00
5131e5d050 formatted interpreter tests
little helper to output the classes
2015-10-16 19:04:17 +03:00
dc3920580b bit more cleaning of testing 2015-10-16 18:34:54 +03:00
3b07f625a7 fix another order dependant issue 2015-10-16 17:58:07 +03:00
5e04ee7212 bitten by test order, fixed 2015-10-16 17:17:39 +03:00
bd2bf612ac fixed last test
back in the green
2015-10-16 17:13:08 +03:00
a6712fc4f9 add call statement tests 2015-10-16 13:20:21 +03:00
84eb516a01 add while statement tests 2015-10-16 13:17:02 +03:00
349352faa9 minor 2015-10-16 13:12:52 +03:00
6f856315d7 fix and test assign
also fix field def and
externalized assign
2015-10-15 13:08:53 +03:00
398ec513f4 wrap in register module for shorter result names 2015-10-15 10:24:10 +03:00
90ed4dd73b test return statement 2015-10-15 10:21:07 +03:00
f8efdd910c basic if statement tests 2015-10-15 09:47:11 +03:00
3d83f203ca fixing and testing operators 2015-10-15 09:32:47 +03:00
e436581ce8 adds value to used regs and test for it 2015-10-15 09:07:47 +03:00
300ce24739 remove function test from here and use setup
function definition is a statement, goes there
2015-10-14 21:57:37 +03:00
2094101bb2 clearer organization for compiler tests
was slightly messy with small/large
now needed different test for expression and statements
2015-10-14 21:49:05 +03:00
0c8be466df fix parfait test 2015-10-14 21:36:51 +03:00
f105b1eb3c fix name expression 2015-10-14 21:34:18 +03:00
1141ed9c99 type now means class name
update reader (with new type definition)
remove type class (now symbol)
update all types to class name symbols
2015-10-14 16:16:03 +03:00
d8a5dc147b new function test and scoping fix 2015-10-14 15:17:33 +03:00
1ea34481c1 define putting dummy to fix test 2015-10-14 15:08:42 +03:00
e33a20dd41 minor housekeeping 2015-10-14 13:48:42 +03:00
5b95319191 almost rewritten the call site
statements resolve to nothing and use all registers
expressions return register and allocate those with use_reg
2015-10-14 13:48:21 +03:00
5122137a33 start new elf testing category (and minors) 2015-10-13 17:30:39 +03:00
f506f95cbf fixing basic and field access to return register
as that is the new way, drop a layer, code to registers
2015-10-13 16:42:53 +03:00
80d58ee03c fixed simple layout offset bug in layout 2015-10-13 14:46:07 +03:00
3c7c8dea92 add basic compiler tests 2015-10-10 12:29:52 +03:00
3d342f7d88 remove new_message instruction 2015-10-10 12:04:34 +03:00