Line | |
---|
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
|
---|
Note:
See
TracBrowser
for help on using the repository browser.