File: japhb-todo.txt

package info (click to toggle)
moarvm 2020.12%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 18,652 kB
  • sloc: ansic: 268,178; perl: 8,186; python: 1,316; makefile: 768; sh: 287
file content (37 lines) | stat: -rw-r--r-- 1,660 bytes parent folder | download | duplicates (5)
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
* Build improvements
  + Add a make realclean to cross compiler Makefile to nuke debug files
* WIP: gcc warnings cleanup
  + WIP: -Wall
    - DONE: -Wparentheses
    - DONE: -Wreturn-type
      . All are in src/6model/reprs.c, because of exception-throwing stubs; may
        have to explicitly ignore this using the second (granular) method of:
        http://dbp-consulting.com/tutorials/SuppressingGCCWarnings.html
    - -Wpointer-sign
      . A lot of this is in correct handling of encoded string buffers;
        use MVMuint8* for this
    - -Wimplicit-function-declaration
      . Header fixes?
    - -Wunused-but-set-variable
    - -Wunused-function
    - -Wunused-variable
  + -Wall -Wextra
  + -Wall -Wextra -pedantic
  + Turn on -Werror -pedantic-error
* Make sure that all visible names have an MVM or MVM_ prefix, except for those
  intended to be the same across all NQP backends
* Review type checking of MoarVM bytecode validator
* Document ops
  + Write oplist / docs merging program
    - =op copies oplist info into doc
    - multiple ops can (e.g. type variants) can have one description
    - checks for undocumented ops or no-longer-supported ops
  + Document, document, document ....
* Compare interpreter performance v. SSVM:
  + Original SSVM version:
    - my $a = 100_000_000; my $b = 3; my $c = 6; while ($a--) { $c += $b }; say $c;
    - MoarVM is 1.96x -> 4.16x slower at tight loop raw opt dispatch,
      depending on gcc opt settings (-O3 -> no opt)
    - compare with and without 'inc' and other SSVM tricks
  + jnthn++'s 2013-01-28 version:
    - nqp -e "sub foo() { }; my $i := 0; while $i++ < 100000000 { foo() }; say($i)"