782627ae79
small rename
...
to avoid confusion with type.create_method
2016-12-17 00:21:12 +02:00
5cd05f6135
refactor memory instruction (needs better tests)
2016-12-16 15:40:52 +02:00
b2579a2b82
dead code removal
2016-12-16 01:31:38 +02:00
fd519314cb
strip down compare instruction
...
not really used, using conditional branches instead.
(in arm any instruction can execute conditionally)
2016-12-16 00:41:37 +02:00
94c423c2b3
whittling arm_translator
2016-12-15 18:21:08 +02:00
884bf23e5f
fix elf test
2016-12-15 17:57:45 +02:00
b93f207638
some common instruction extration
2016-12-15 12:38:22 +02:00
fdefb8e7a5
more refactoring on compare
2016-12-15 12:38:03 +02:00
ec2b0a563e
bunch of method extraction on instructions
2016-12-14 21:53:26 +02:00
55c108a8d7
refactor move_instruction a bit
2016-12-14 21:13:41 +02:00
b3eeb7db21
memory instruction refactor (small)
2016-12-14 21:05:24 +02:00
6eea3f2b2a
refactor logic instruction
2016-12-14 20:31:37 +02:00
c1d23a8d48
whitespace round plusses
2016-12-14 19:57:09 +02:00
27e7a362db
comment unused code
2016-12-14 19:52:08 +02:00
56bf875f36
refactor call_instruction
2016-12-14 19:07:03 +02:00
bf4ddd16ee
remove dead code
2016-12-14 19:06:48 +02:00
456e9b1ec0
folded salama-arm in
2016-12-14 13:43:13 +02:00
a8453c126d
use arm shift at runtime
...
arm indexes are in bytes (x4) at compile time
but at runtime we only have the array indexes, iw word indexes
arm has the nice barrel shifter to save us an extra instruction
2015-11-19 12:48:13 +02:00
249f43ad34
translate and interpret new instructions
2015-11-19 10:09:55 +02:00
303b7eb1f8
putstring unfolds length
...
which means sys call doesn’t need to
and also interpreter sometimes gets a symbol length
2015-11-16 18:03:29 +02:00
f50d7b57a4
fix the putstring sys call indexing
...
index 0 is the marker word , so like in some, all indexes 1 based
works :-)
2015-11-15 22:03:06 +02:00
8e82da0b61
fix arm (assembled) indexing
...
by having a dummy 0 index in salaam. when assembled
2015-11-15 20:42:07 +02:00
458610b970
implement string length
2015-11-15 11:28:16 +02:00
b30cf21bbd
fix arm indexes
...
needs rethought
fixed for static use, but what about dynamic
2015-11-15 00:35:12 +02:00
6127d92ca9
implement arm branches
...
which backfired into interpreter as
plus actually means 0 or plus in arm
may still change back but for now
2015-11-14 00:20:03 +02:00
6f0d6d831e
update arm and implement most operators
...
multiplication wasn’t implemented
and division isn’t part if arm
neither is rotate by register
2015-11-12 20:02:14 +02:00
c38775e933
add set_internal
...
and the set_slot with register
very much like the get_slot for get_internal
2015-11-08 17:10:36 +02:00
484e2d19d4
allow for registers in get slot
2015-11-07 19:38:03 +02:00
c15445a958
let labels be constants
2015-11-03 16:20:25 +02:00
3774f8a5a2
use translator and remove passes
...
the only passes that were left were reg -> arm
those are almost completely one to one, so the idea of passes didn’t fit
2015-10-24 17:11:18 +03:00
a871f96630
remove passes and achieve the same by translating
2015-10-24 11:42:36 +03: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
f5136b6b68
minor formatting
2015-07-18 11:52:30 +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
b670e058a9
fixes to get opal to work
...
opal has bug with << and |=, but changing syntax works
2015-07-12 10:01:45 +03:00
b61c73acdd
renamed info to MethodSource
2015-07-03 20:13:03 +03:00
e959c5b0f5
fixed wrong exit code
...
no wonder it was set faulting, duh
2015-07-02 13:50:13 +03:00
3195d800e9
fix putstring file descriptor
2015-07-02 09:49:52 +03:00
1b791dc0d0
putstring was missing the steam id
2015-07-01 21:42:59 +03:00
047c77e186
fixed that darn method address bug
2015-07-01 09:47:10 +03:00
9541712af8
fixing all the indexes
...
with the type word and layout
but the list starting at 1, indexes still need 1 added
and for arm x 4.
Tried to get all that into one function, resolve_index
2015-06-30 18:38:56 +03:00
88f45cbf15
weird 4 to add for call works
2015-06-30 18:36:57 +03:00
553f30c874
more ripples from removing index constants
2015-06-29 20:58:06 +03:00
31635d9747
fixing index issues
2015-06-28 22:01:13 +03:00
99b59d920c
constant fixes
2015-06-28 10:52:02 +03:00
a00a49ecdb
fix frame indexes
2015-06-28 10:50:47 +03:00
ef42abe611
unifying register comstants
...
were in several files with different names
many files touched, but just renames
2015-06-27 21:16:46 +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
294ea8de4f
fix the move, correct for funny pipeline
2015-06-27 20:07:42 +03:00