Commit Graph

2633 Commits

Author SHA1 Message Date
708cdace17 implement indexed object access
one of the few functions that can’t be coded
(or the design specifically is such that it can’t, in c it would be
self[index],
or, worse *(self + index) )
2015-11-07 17:36:28 +02:00
35afe88ede allow get_slot with two registers
before was register and number, but for runtime that doesn’t work
2015-11-07 17:34:41 +02:00
c9c0f66d79 rename test/parfait
to then write parfait test on the runtime
2015-11-07 14:04:38 +02:00
9ebe28450b add global variable space
could in the long run move spaces functionality to the class
and since the class is global anyway, wouldn’t need this
2015-11-07 12:19:04 +02:00
b1939e9828 rename helper 2015-11-07 12:18:08 +02:00
fd7e4afb2f small meta related changes 2015-11-07 00:14:10 +02:00
42c404802d more class function testing 2015-11-07 00:13:57 +02:00
46e1a112ab metaclass moves down to object 2015-11-07 00:12:17 +02:00
204200b92a metaclass is back
this time with a real purpose and implementation as the intermediary
As the interface to the layout and for replacing an edited layout
2015-11-07 00:11:56 +02:00
ebcc15d314 testing fibo 2015-11-06 14:24:57 +02:00
eae5cac4b5 check returns on tests 2015-11-05 17:00:41 +02:00
4eb3d9029a use logger 2015-11-05 16:50:00 +02:00
13d0747b45 test the log_level too 2015-11-05 14:05:12 +02:00
1309ea37de fibonacci while works just as well now
surprisingly much faster though,
2015-11-05 13:37:08 +02:00
aad50021fe more messages for recursive fibs 2015-11-05 12:23:11 +02:00
4014ad27fe fix and test return
return was in the wrong message
better tests now
2015-11-05 12:22:48 +02:00
ff759bf0c1 increase message size
message size is somewhat like stack size,
but 1-1 related to how deep it can be, now 50 calls
2015-11-05 12:12:15 +02:00
8310bc4985 fix while tests now that while is fixed 2015-11-04 20:28:02 +02:00
32275f4d48 fix interpreter test 2015-11-04 20:27:48 +02:00
642dcb065a fix while statement
logic was broken, or inversed
had to lay the code out a bit funny, but it works and makes sense
2015-11-04 20:23:26 +02:00
ab2c73f42c right name for return label makes interpreter work 2015-11-04 20:22:28 +02:00
691ae96d71 fix names of branch codes
also store objects in register, avoid the whole object_id thing which
just lead to unclarity about class
2015-11-04 20:22:03 +02:00
428faad25f opal fix for indexes 2015-11-04 16:11:25 +02:00
b5e733cd11 finally simple logging
instead of commenting puts
2015-11-04 11:48:51 +02:00
9519196a98 update arm 2015-11-04 10:35:30 +02:00
2236065d02 position filling after the padding changes, works again 2015-11-04 10:34:58 +02:00
c87682b77f fix padding
used to be that type and layout were hidden
now type is gone and layout is an explicit instance, so 0 overhead
2015-11-04 10:34:03 +02:00
5bddbfbb62 rename word_length to padded length
with word_length i was never sure if it was the padded version or not
2015-11-04 10:33:10 +02:00
6ada815735 first stab at fixing the assembly
lots of length fiddling
wip
2015-11-03 16:24:12 +02:00
0f8f0a681c fix padding to only consider layout (1 word) 2015-11-03 16:22:50 +02:00
ca1dc36e3d method marking for labels 2015-11-03 16:22:24 +02:00
6882f39645 fixing lengths 2015-11-03 16:21:50 +02:00
c15445a958 let labels be constants 2015-11-03 16:20:25 +02:00
14f8b42015 fix instruction order, now with the save
and finally formatted in statements too
2015-11-03 11:25:02 +02:00
dae12c532c fix fragment tests
they mostly got longer due to the added store instruction + label
2015-11-03 11:23:58 +02:00
5a8d7d313f little more tests 2015-11-03 11:23:15 +02:00
c940e25f91 other half of previous call change 2015-11-03 11:22:52 +02:00
1be5d1862f need to collect labels for return
so the interpreter can find the object
2015-11-03 11:22:26 +02:00
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
cffbc91821 fix field_def to new syntax 2015-11-02 21:27:37 +02:00
03979156db fix statements
as they go
2015-11-02 20:12:01 +02:00
7eebc775d6 let helper output correct version in case of error 2015-11-02 20:11:40 +02:00
45bd4bfdc6 remove save return 2015-11-02 20:11:12 +02:00
ddb1df7362 start to fix the link issue
that came from removing SaveReturn
2015-11-02 20:10:48 +02:00
86b0030f15 refactor on_call 2015-11-02 17:32:21 +02:00
23e09b7149 more dubious test hacking 2015-11-02 17:32:06 +02:00
0094a89707 fix spurious test
or maybe hack is more correct
2015-11-02 11:34:08 +02:00
834266e11e improve label names a bit 2015-11-01 19:13:40 +02:00
d3a7809746 use . to mark methods 2015-10-30 00:01:28 +02:00
7e24f63327 polish sources 2015-10-29 22:31:28 +02:00