From 84adefa331c4159d432d22840663c38f155cd4c1 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 20 Nov 2009 14:54:40 +0000 Subject: The R13B03 release. --- lib/hipe/TODO | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 lib/hipe/TODO (limited to 'lib/hipe/TODO') diff --git a/lib/hipe/TODO b/lib/hipe/TODO new file mode 100644 index 0000000000..f166472df6 --- /dev/null +++ b/lib/hipe/TODO @@ -0,0 +1,130 @@ +Bugfix +====== + P->current (Fix observable behaviour?) + New calling convention for guard bifs (Recognize at load time). + Long branches: + timer:tc(hipe,c,[megaco_text_parser,[{timeout,infinity}]]). + {4801210531, + {error,[{problem,too_long_branch},{address,3381732},{length,-828622}]}} + +Performance +=========== + + Better handling of multimove in regalloc. + Faster closure creation. (Can static fields be preallocated?) + Expand pseudo-ops before scheduler (SPARC) + Stack maps for SPARC + Make frames in Sparc not in RTL. + Coalesce spill locations. + +Feature +======= + + Stack traces from stack maps. + +Cleanup +======= + + Speedup renaming and other bottlenecks in the compiler. + Only calls with fail label should end basic blocks. + Remove fail-entry-points from RTL (sparc/x86). + Cleanup hipe_*_registers.erl and interface/rules with regalloc. + HiPE in bootstrap. + Cleanup and merge loaders. (Better handling of data.) + Re-examine switching code. + +Extensions +========== + + Design strategy for finding all processes holding a certain closure. + Design strategy for native code unloading. + mbufs: In guards -> throw away, in bifs -> trigger special GC. (fix for native.) + Unified heap + process optimization (+ PE). + Incremental GC. + + +Old list compiled by Thomas Lindgren (needs cleaning up) +======================================================== + +

Experimental implementations

+

RTL

+ + +

Unimplemented optimizations

+ +

Erlang/Core source-level-optimizations

+ + +

Icode-optimizations

+ + +

RTL-optimizations

+ + +

Sparc-optimizations

+ + +

Other optimizations

+ +Profile driven optimizations. + -- cgit v1.2.3