-
Notifications
You must be signed in to change notification settings - Fork 1
/
ROADMAP
77 lines (64 loc) · 2.4 KB
/
ROADMAP
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
0.5.0
- Fix test suite compatibility with stage0 Release_0.3.0 and Release_0.4.0
and update stage0 git submodule reference
- Implement and test instructions needed to execute cc_knight-native.s
ADDI
CALL
CMPJUMPI.E
CMPJUMPI.L
CMPSKIP.E
CMPSKIP_LE
CMPSKIP.NE
DIV
DIVIDE
LOADR
LOADR32
MULU
PUSH8
STORER32
STOREX8
- Provide shortcut cc_knight.py
0.5.5
- Implement and test instructions needed to execute cc_knight-posix.s
- Add --posix support to shortcut cc_knight.py
0.6.0
- Implement and test all Knight instructions emmited by M2 Planet, including
when it compiles itself to Knight, use its test suite
0.6.1
- Add bootstrap_M2_planet_knight.py and shortcut M2_planet_knight.py
0.6.2
- Add bootstrap_hex2_linker_knight.py (build mescc-tools/hex2_linker.c)
- Add shortcut hex2_linker_knight.py
0.6.3
- Add bootstrap_M1_knight.py (build mescc-tools/M1-macro.c)
- Add shortcut M1_knight.py (runs mescc-tools/M1-macro.c)
0.7.0
- Implement and test support in hex1tobin.py and hex2tobin.py
when architechure is x86 (32 bit), compare with behavior of
hex2_linker_knight.py (wrapper for mescc-tools/hex2_linker.c)
0.7.1
- Implement and test support in M1.py when architechure is
x86 (32 bit), compare with behavior of
M1_knight.py (wrapper for mescc-tools/M1-macro.c)
0.7.5
- Implement and test instructions needed to execute stage2/cc_x86.s
- Provide shortcuts cc_x86.py, bootstrap_M2_planet_x86.py
0.8
- Implement and test instructed needed to execute other cc_*.s
- Provide cc_* and bootstrap_M2_planet_*.py shorcuts for other archs
0.9
- Support any remaining instructions used by other stage0 .s files
1.0
- Implement and test all knightvm instructions found in
stage0/vm_instructions.c
Other TODOS sometime prior to 1.0
* Adding substantial comments, especially for the meta-programming
* Convert further to a pseudo functional style so get_args_for_*OP functions can go away
* Separate directly executable Python files from the rest, move library modules to a knightpy package
* Adopting a compliant file system layout that could make this mergable with stage0
* Performance test premature optimizations
* Test Python compatibility
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.