view docs/japhb-todo.txt @ 48:585f22dcc6aa

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 09 Dec 2018 16:04:54 +0900
parents 2cf249471370
children
line wrap: on
line source

* 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)"