Commit Graph

2235 Commits

Author SHA1 Message Date
4a88f342d3 random checkin
still suffering -1 trauma
2018-05-14 12:38:44 +03:00
ab01fa3862 switch to 0 based indexing
the world rocked for a moment (and more fixes to follow)
also the crumbling of idealism was heard
2018-05-14 11:55:01 +03:00
4856b9891d simplify writing binary
loop as should be, fixes the problem (one problem at least)
2018-05-13 18:01:45 +03:00
866467ee5e change binary labels 2018-05-13 17:21:48 +03:00
39902401b9 positioning code by setting first method code
codes will initial (and on reset) propagate the whole chain
2018-05-13 15:28:10 +03:00
7ad36380c2 add next_value for dictionary
also next for list
and add types attributes to space
2018-05-13 13:03:04 +03:00
2d901bf7b6 not wrapping the cpu initial jump anymore
also introduce padding after cpu_init (wip)
2018-05-12 18:36:59 +03:00
232fe67c09 introduce platform to abstract cpu and load address 2018-05-12 18:32:10 +03:00
776a97986d fix instruction positioning
use at as at and only compute difference when needed (to determine if
there is a jump in binary)
Easier to understand that way
2018-05-11 18:36:45 +03:00
bc1e29e4f6 seperate different Position classes into own files
also tests
and have Position module keep all positions
(singletons should be at module, not class level)
2018-05-10 20:56:12 +03:00
1169fa7220 propagating binary code position on extend 2018-05-09 20:36:49 +03:00
6a1528e75a Fix instruction resetting
which happens on insert of a new instruction
2018-05-08 20:53:48 +03:00
7ca7e92dda remove link exception class 2018-05-08 20:22:04 +03:00
cf06642768 start passing positions along inside the position code 2018-05-08 19:59:43 +03:00
ce3cc72f9e move all position setting into position
Position and subclasses handle the logic, external to
the classes, so it can be swapped out later
(at runtime positions can’t change)
2018-05-07 22:30:43 +03:00
68fb9b1bdc rename Position get/set 2018-05-06 20:04:02 +03:00
e89c4d1ce1 pass binary that arm instruction belongs to in
at least to first. repositioning and stuff next
2018-05-06 19:56:36 +03:00
415df49199 hand context into position 2018-05-06 00:34:59 +03:00
6b7e1e3932 remove link exception raise
need to fix move logic next
2018-05-05 23:55:50 +03:00
40f4bfc287 change to position objects complete 2018-05-05 20:25:10 +03:00
3244c7d633 add position tests
and refactor padding out
2018-05-05 20:11:08 +03:00
d65a982454 start by moving positioned(module) to position(class) 2018-05-05 19:47:18 +03:00
43d5521cfc debugging positions 2018-05-05 19:32:01 +03:00
d49d2665c5 reinit risc_init
fixes over 100 tests :-)
2018-05-01 22:36:46 +03:00
6be28e7f55 fix (re)positioning when link exceptions are thrown
slow design, but sort of works
2018-05-01 19:48:11 +03:00
1c52ab6b67 use hex for labels
idea was to be able to compare to positions
(but they are different positions)
2018-05-01 19:20:16 +03:00
06f51da8f1 rename get_all_methods 2018-05-01 19:19:37 +03:00
dd2c2cb975 fix init jump bug
the label for the jump was not translated correctly
call needs to go through to_cpu to create single instance
on the way init order slightly changed
2018-05-01 19:19:04 +03:00
1acd231a33 debugging binaries, initial jump issues 2018-04-30 13:28:55 +03:00
d84d208192 implement assignment normalisation
especially when the value is a send that needs normalising
fixes several broken tests
2018-04-27 21:56:41 +03:00
1685ba5a44 fix send normalisation 2018-04-27 21:55:41 +03:00
672ccb351d fix argument hoisting
arguments in vool must be simple variables
finally did the hoisting to do that
2018-04-27 09:59:01 +03:00
ec5a7f8a02 implement larger/smaller or equal 2018-04-24 19:45:58 +03:00
7a2160e9b4 fix comparison operator
< implemented <=
2018-04-23 19:39:16 +03:00
020bce740a more complex while test
that works, but does leave one wondering what is tested apart from the
result (1)
2018-04-20 19:38:33 +03:00
bf6e0853ce fix while back jump
while normalising the condition had gone before the
jump target accidentally
2018-04-20 09:56:06 +03:00
04359546b7 implement greater than 2018-04-19 22:57:31 +03:00
be3d125b82 implement smaller than comparison
which is NOT an operator in the risc sense
rather a minus and a check for sign
(which _could be more efficient in arm, with conditional execution)
2018-04-19 22:41:40 +03:00
9e21719aeb generalise the operator handling
ie passing them through
implementing more
2018-04-19 22:13:52 +03:00
13d8a65e07 add while interpreter test 2018-04-19 19:23:12 +03:00
1849522a54 fix TruthCheck
mixing up the false and true, such a basic human mistake
2018-04-19 10:34:15 +03:00
3a50b7dd0e fix mod4 name
really did div4
2018-04-19 10:00:55 +03:00
8e1efa3993 fix source for exit label 2018-04-18 20:10:07 +03:00
75d5fff611 let builder pass the source down, but inly once 2018-04-18 19:27:46 +03:00
059ff4a868 pass a source into the builder
for debugging
2018-04-18 19:12:30 +03:00
df08cb78e2 adds a lot of to_ssss 2018-04-17 20:26:15 +03:00
7c33f19bee dont patch over existing string method 2018-04-16 21:24:27 +03:00
d19bd5f98d fix dynamic jump
which gets dynamic resolve and call to work.
FIRST DYNAMIC CALL working
2018-04-09 15:06:46 +03:00
59e6298879 first resolved call running though
and returning an int, as it should
just the value .  .  .
2018-04-08 23:45:23 +03:00
fabe4db4f6 fix logic error in vool dynamic send
using receiver of current method
instead of receiver of next message
2018-04-08 22:59:42 +03:00