-
Notifications
You must be signed in to change notification settings - Fork 56
/
Copy pathTODO
34 lines (24 loc) · 1.22 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Todo:
-> floats
-> Closure layout structures
-> 'complex' constructors (I think 'partially instantiated' was the term
that everybody else was familiar with)
-> Make the bytecode debugger interface nicer (add breakpoints, step,
more user friendly machine state dump etc.)
-> Add variable type information to bytecode debugger
-> Rest of the Unary ops (Zoltan said to ignore them for now - I haven't
actually even been able to generate mercury code that actually uses
the tag ops)
Efficiency:
-> Hash module & predicate names on load rather than linear search
-> Remove do_fail & do_redo switches between native/bytecode when
not necessary. (Currently reverts to native code to execute
all do_redos & do_fails)
-> Remove fixed size code limit
-> Remove best case 64MB code size limit (worst case is 16MB)
[can easily be upped to 256MB (64MB worst) but beyond that will
suffer a performance penalty -- should check how much this is
actually going to be -- bytecode overhead probably is a lot higher]
-> Alternatively, is labels, modules & predicates can all be put in
a hash then can store bytecode id/arguments in one contiguous
aray which would be best for performance