Commit | Line | Data |
a8a597b2 |
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 |