Commit Graph

70 Commits

Author SHA1 Message Date
8d8cc4b016 more test fixing
only one bug to go
2018-05-24 21:20:56 +03:00
49c4d170ce make the interpreter platform
but still using the risc_instruction stream
2018-05-17 09:31:36 +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
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
6b7e1e3932 remove link exception raise
need to fix move logic next
2018-05-05 23:55:50 +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
30ca70e042 remove extra instruction and use next instead
was messing with binary writing as the assumption of 1 word writes is
baked in
2018-04-03 14:46:07 +03:00
606e3f8cb3 fix calling to binaries
used to be to the method, but we assemble the method to its own
position.
Throw in a test for binary calling
2018-03-28 13:00:03 +03:00
105e8f7092 some better and some missing arm test
for the exceptional case
2018-03-28 12:16:28 +03:00
73b7e2b22f remove all test_all
Stop manually creating the list of tests (and searching missing).
Main level test_all does a search for all test_*
also possible to run by command line with starts
2017-04-13 17:00:56 +03:00
aa79e41d1c rename register to risc
seems to fit the layer much better as we really have a very reduced
instruction set
2017-01-19 09:02:29 +02:00
da58ce30e3 put arm tests in arm module 2017-01-03 22:37:55 +02:00
d8289d4fcf try spelling correctly 2016-12-30 11:59:38 +02:00
80237e5033 rename position accessor
for future
2016-12-28 21:40:06 +02:00
8cfcb84c8d collect missing tests (and ordering) 2016-12-28 19:31:17 +02:00
9cf56b3aa6 use factory functions consistently to create instructions 2016-12-28 19:01:58 +02:00
b3eeb7db21 memory instruction refactor (small) 2016-12-14 21:05:24 +02:00
b3bf881c49 streamline arm test names and get guard to pick up right tests 2016-12-14 19:06:32 +02:00
0a0f9154e1 use Simpleconv for code_climate 2016-12-14 13:52:44 +02:00
456e9b1ec0 folded salama-arm in 2016-12-14 13:43:13 +02:00
f4f703975b removed arm and use as gem 2015-07-18 14:12:20 +03:00
e1c19dee80 remove old to_asm
very strange that is was called in 1.9 but not 2.0
2.0 seems to delay interpolating strings
2015-07-18 12:15:07 +03:00
37403f1139 fix misunderstood mov usage
When moving a reference (pointer) to a register
one needs to ADD to the pc
i.e. one needs an add, not mov instruction
2015-06-26 20:00:33 +03:00
bee73801eb revert to symbols
Parfait::Words were nice, but endless problems with the fact that when
you write “String” you get a string.
Symbols take care of uniqueness at the same time
2015-05-31 18:34:18 +03:00
3e9e650764 fix arm tests 2015-05-29 12:47:49 +03:00
5b10f09ea1 fix test 2015-03-28 21:12:03 +02:00
7968cadaf9 remove singleton in arm machine and use class methods 2014-10-04 17:34:51 +03:00
fba66371c0 (semi) proper fix for large moves, integers or virtual constants(was buggy) 2014-09-30 12:07:21 +03:00
527e591e75 fix add instruction and test 2014-09-29 21:04:38 +03:00
ae65952d0a more precise tests 2014-09-29 20:28:24 +03:00
45adf7173c naming, clean 2014-09-29 20:28:05 +03:00
e0c479f778 split some tests, create more and especially big move 2014-09-18 17:06:30 +03:00
ccb5b37a3c reinserted arm for now, until dependecy is cleaned up. fixed tests 2014-08-30 19:40:37 +03:00
84d27ce9d9 remove arm as it is in own rep now 2014-06-30 15:28:39 +03:00
f523d0946d fix the lasts tests 2014-06-05 16:27:25 +03:00
31a55b07ac makes memory a three operand instruction, like add etc. But 3 regs are still undone 2014-06-01 21:20:44 +03:00
cdfc1ac891 kernel functions are not fixed to be Object functions 2014-05-31 16:19:44 +03:00
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
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
5e8688c417 small fixes to get all the tests to pass/run 2014-05-28 21:00:52 +03:00
62ae79dfd8 all lights are green in crystal land 2014-05-25 13:45:04 +03:00
1f17262887 fix the handcoded fibonacci (registers again) 2014-05-25 13:34:06 +03:00
1e326e00b9 fix tests after register allocation work 2014-05-24 16:52:54 +03:00
7b6d6b9024 more stack tests, just to make sure 2014-05-23 15:08:47 +03:00