This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Initial check-in of perl compiler.
[perl5.git] / Todo
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