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