Commit Graph

45 Commits

Author SHA1 Message Date
bc414fd3e8 function call now saves the return address before calling
that means SaveReturn is obsolete (breaks loads of tests)
first step towards multi - return which obviously can not have the
callee save return address.
In fact this would make FunctionCall redundant too, as it is really
just a branch
2015-11-03 11:20:49 +02:00
7e24f63327 polish sources 2015-10-29 22:31:28 +02:00
e6743c7216 (string) source knockoffs 2015-10-28 21:39:59 +02:00
79cf59c4e2 still finding index errors 2015-10-27 18:45:56 +02:00
7a690cd38d fix to_s 2015-10-25 12:10:56 +02:00
0921073025 remove last block occurrences
fixed.
2015-10-25 12:03:31 +02:00
471329917b most of the length and assembly stuff fixed 2015-10-25 10:54:19 +02:00
405a6935d4 lots of stuff to move to linked lists
and remove the blocks
more position stuff coming, but the list part should be ok
2015-10-24 17:12:36 +03:00
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
dcbd3c7091 fold last of the virtual into register 2015-10-22 18:16:29 +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
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
13eb017394 small to_s changes 2015-10-17 10:03:56 +03:00
64a92fb9f4 remove dead code
was only used by now removed set instruction
2015-10-16 18:07:17 +03:00
3d83f203ca fixing and testing operators 2015-10-15 09:32:47 +03:00
e33a20dd41 minor housekeeping 2015-10-14 13:48:42 +03:00
5122137a33 start new elf testing category (and minors) 2015-10-13 17:30:39 +03:00
aa20f2ca77 renamed reg ref to reg val
more appropriate
alas, salaam-arm will break for a sec
2015-10-10 21:38:55 +03:00
dd3381e38b move type to phial and add type to reg_ref 2015-10-10 19:14:27 +03:00
83ef902b55 better calcite and operator to expand the interpreter test 2015-10-07 10:05:34 +03:00
f0611e52db work on branches
the concept is different in bosl, move appropriate to virtual
2015-10-07 10:02:51 +03:00
bae7f5dcb1 better to_s for load constant 2015-08-09 00:52:47 +03:00
ca14ef8914 fix test result, but not test yet 2015-08-07 16:46:55 +03:00
21b0702154 fix tests (just using local gem) 2015-08-04 22:01:20 +03:00
36f635f7c1 adding sources to register instructions 2015-07-27 12:13:39 +03:00
b0c78479ff clearer to_s s 2015-07-25 09:30:58 +03:00
139b0174d8 to_s for reg instructions 2015-07-24 13:23:56 +03:00
53d8f4b163 add source to instruction
for debug
2015-07-18 11:21:49 +03:00
50da6a40f2 Move the Main instruction from register to virtual
also needs a branch in register.
This way the register level is self sufficient
(noticed while writing debugger)
2015-07-17 13:21:57 +03:00
60c8f8ef73 move generator functions to the instructions they generate 2015-06-30 09:43:50 +03:00
a24e96efbc asserts to debug 2015-06-29 20:56:11 +03:00
97b4c469f8 fixing register order in some instructions
and their use
Arm is confusing as it has result as first arg
we use forward logic, i.e. from -> to
2015-06-27 20:09:21 +03:00
32e1903884 finished init routine
and better implemented sys calls
2015-06-25 16:31:09 +03:00
2aba926f1f start on reworking sys calls 2015-06-22 22:48:42 +03:00
836089a249 clean up Get/SetSlot
document and make arguments consistent
2015-06-21 21:00:16 +03:00
eeaf2d97de starting to clear up slots
mostly docs
2015-06-20 23:49:30 +03:00
6f111a5ae0 fix the initial jump 2015-06-10 10:43:50 +02:00
5d870ef154 got it down to string equality/identity 2015-05-31 17:54:36 +03:00
cae99f217c just make sre we really ret registers (some constants were flying about) 2014-10-07 12:23:08 +03:00
5c90ad83e0 add initial jump instruction 2014-10-06 19:57:44 +03:00
965e5f2a0f minor 2014-10-05 01:13:57 +03:00
e3c3840bc6 a creative moment, making up instructions 2014-10-04 12:51:08 +03:00
a083c03b1d move function call instruction to register level and the pass to arm 2014-10-03 14:32:54 +03:00
1af66567fb fixed the SetImplementation with new register instructions 2014-10-03 11:07:18 +03:00