a3effe29f6
adding integer compare tests and fixing returns
...
true, false and nll were not handled correctly as returns
returns assume int, and reduce. The solution (hack?) is to add fake numbers into true,false and nil that get returned from from the arm syscall
(and it works!, which means i can fix other tests now)
2020-03-28 18:41:59 +02:00
7d92ee9e6a
add a statistics command to compiler
...
just to see how many objects make up a binary
2019-09-05 13:25:40 +03:00
4c76ff3388
Remove Padded module
...
Parfait was depending on it, ie it created a dependency out of Parfait. But Parfiat needs to be self contained.
Moved 2 methods into parfait object, and resolved single call from text_writer to third.
2019-08-17 21:07:07 +03:00
8d3a1954fa
close #21
...
Mostly replaced Fixnum with integer
also in the rx-file dependency
all travis and testing with 2.4+
2019-02-07 18:24:35 +02:00
b2339dc330
fix address nil values
2018-08-30 16:38:00 +03:00
fee9e261a5
still some names that needed changing
2018-08-12 14:48:20 +03:00
285a88b59f
generalize assemblers to use callables
...
not just methods, they are almost the same anyway
2018-07-30 10:23:42 +03:00
6af651a886
text writer working
...
adjusted ordering as psoitioning, ie
methods in order of the assemblers of the linker
(not the object space)
2018-07-02 17:05:02 +03:00
7543236f4f
objects didn't get positions
...
positions.empty? was wrong check
2018-06-16 10:58:54 +03:00
698c845297
seperate position create and register
...
many test fixes
2018-06-15 22:00:49 +03:00
9c93b38b8f
crete positions while collecting objects
...
clear two phase lifecycle for positions
always created invalid and set later
new does not auto add to cache
but create and get_or_create do
2018-06-15 21:54:21 +03:00
2c765c8f14
rename the objects accessor
...
and move to object keys, not object_id
2018-06-15 09:18:39 +03:00
67100a3ef8
write adjusted address
...
and rename integer to address in label
1k hurray
2018-05-31 00:07:58 +03:00
e39e96f646
create return address as own class to hold return addresses
...
to distinguish from integer, which does not need adjusting
2018-05-30 23:49:01 +03:00
e86ca5ae9d
integer was wrong padded§ length
...
or rather right (2 as should be and will be)
but currently we use next AND value + type means 3, rounded 4
because we can’t swap types at compile time (as is planned at runtime,
we use next OR value)
2018-05-30 14:55:17 +03:00
be1bc63ff2
jump was written off the end of binary code, fixed
2018-05-28 11:45:04 +03:00
a7a62d53b2
use modified opal logger
...
logger was having bizarre format errors
copied and simplified (to get on)
2018-05-20 14:45:48 +03:00
3c00239f36
another million index fixes
2018-05-14 15:17:04 +03:00
4a88f342d3
random checkin
...
still suffering -1 trauma
2018-05-14 12:38:44 +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
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
2d901bf7b6
not wrapping the cpu initial jump anymore
...
also introduce padding after cpu_init (wip)
2018-05-12 18:36:59 +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
7ca7e92dda
remove link exception class
2018-05-08 20:22:04 +03:00
68fb9b1bdc
rename Position get/set
2018-05-06 20:04:02 +03:00
40f4bfc287
change to position objects complete
2018-05-05 20:25:10 +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
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
1acd231a33
debugging binaries, initial jump issues
2018-04-30 13:28:55 +03:00
696886cc94
remove Data2 in favour of Data4
...
as we write a Marker, type and marker make up 2
so data2 is just the type, not useful
2018-03-31 19:12:06 +03:00
a5189570c6
fix remaining constant issues
...
all but integer creation
and integer builtins off course
2018-03-31 13:58:08 +03:00
3844a738cd
rename assembler to text_writer
...
as “assembly” really happens in the machine now
2018-03-29 18:17:19 +03:00