Commit | Line | Data |
---|---|---|
a8a597b2 MB |
1 | * Fixes |
2 | ||
3 | CC backend: goto, sort with non-default comparison. last for non-loop blocks. | |
4 | Version checking | |
5 | improve XSUB handling (both static and dynamic) | |
6 | sv_magic can do SvREFCNT_inc(obj) which messes up precalculated refcounts | |
7 | allocation of XPV[INAHC]V structures needs fixing: Perl tries to free | |
8 | them whereas the compiler expects them to be linked to a xpv[inahc]v_root | |
9 | list the same as X[IPR]V structures. | |
10 | ref counts | |
11 | perl_parse replacement | |
12 | fix cstring for long strings | |
13 | compile-time initialisation of AvARRAYs | |
14 | signed/unsigned problems with NV (and IV?) initialisation and elsewhere? | |
15 | CvOUTSIDE for ordinary subs | |
16 | DATA filehandle for standalone Bytecode program (easy) | |
17 | DATA filehandle for multiple bytecode-compiled modules (harder) | |
18 | DATA filehandle for C-compiled program (yet harder) | |
19 | ||
20 | * Features | |
21 | ||
22 | type checking | |
23 | compile time v. runtime initialisation | |
24 | save PMOPs in compiled form | |
25 | selection of what to dump | |
26 | options for cutting out line info etc. | |
27 | comment output | |
28 | shared constants | |
29 | module dependencies | |
30 | ||
31 | * Optimisations | |
32 | collapse LISTOPs to UNOPs or BASEOPs | |
33 | compile-time qw(), constant subs | |
34 | global analysis of variables, type hints etc. | |
35 | demand-loaded bytecode (leader of each basic block replaced by an op | |
36 | which loads in bytecode for its block) | |
37 | fast sub calls for CC backend |