[m-dev.] diff: update ml_code_gen.m todo list

Fergus Henderson fjh at cs.mu.OZ.AU
Mon Oct 23 02:57:04 AEDT 2000


Estimated hours taken: 0.5

compiler/ml_code_gen.m:
	Update the TODO list near the top of this module.

Workspace: /home/pgrad/fjh/ws/hg
Index: compiler/ml_code_gen.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/ml_code_gen.m,v
retrieving revision 1.61
diff -u -d -r1.61 ml_code_gen.m
--- compiler/ml_code_gen.m	2000/10/22 13:57:36	1.61
+++ compiler/ml_code_gen.m	2000/10/22 15:33:21
@@ -621,7 +621,7 @@
 %-----------------------------------------------------------------------------%
 
 
-% XXX This is still not yet complete.
+% XXX This back-end is still not yet complete.
 %
 % Done:
 %	- function prototypes
@@ -639,15 +639,39 @@
 %			- deconstructions
 %		- switches
 %		- commits
-%		- most cases of `pragma c_code'
+%		- `pragma c_code'
 %	- RTTI
-% TODO:
-%	- complicated `pragma c_code'
 %	- high level data representation
 %	  (i.e. generate MLDS type declarations for user-defined types)
-%	...
 %
+% BUGS:
+%	- XXX parameter passing problem for abstract equivalence types
+%         that are defined as float (or anything which doesn't map to `Word')
+%	- XXX setjmp() and volatile: local variables in functions that
+%	      call setjmp() need to be declared volatile
+%	- XXX problem with unboxed float on DEC Alphas.
+%
+% TODO:
+%	- XXX define compare & unify preds for array and RTTI types
+%	- XXX need to generate correct layout information for closures
+%	      so that tests/hard_coded/copy_pred works.
+%	- XXX fix ANSI/ISO C conformance of the generated code (i.e. port to lcc)
+%
+% UNIMPLEMENTED FEATURES:
+%	- test --det-copy-out
+%	- fix --gcc-nested-functions (need forward declarations for
+%	  nested functions)
+%	- support debugging (with mdb)
+%	- support genuine parallel conjunction
+%	- support fact tables
+%	- support --split-c-files
+%	- support aditi
+%	- support trailing
+%	- support accurate GC
+%
 % POTENTIAL EFFICIENCY IMPROVEMENTS:
+%	- generate better code for switches
+%	- allow inlining of `pragma c_code' goals (see inlining.m)
 %	- generate local declarations for the `succeeded' variable;
 %	  this would help in nondet code, because it would avoid
 %	  the need to access the outermost function's `succeeded'

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
                                    |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list