[MLton-devel] cvs commit: card maps and machine IL semantics change

Stephen Weeks MLton@mlton.org
Tue, 30 Jul 2002 11:13:34 -0700


>   Modified:    mlton/atoms prim.fun prim.sig
>                mlton/backend array-init.fun backend.fun machine.fun
>                         rssa.fun rssa.sig ssa-to-rssa.fun
>   Log:
>   Changed the semantics of the machine IL back so that ArrayOffset does
>   the dereference.  ArrayOffset addresses that are needed for the card
>   map are computed explicitly.  C-codegen and x86-codegen both pass
>   regressions and x86-codegen passes self-compile.

I think you forgot to checkin (at least) ccodegen.h.

Also, I think it would only be correct to use word, not integer,
primitives when computing the address in ssa-to-rssa.fun.

The generated code looks fine to me for now, and I don't mind having
ArrayOffset do the dereference.  But in the long term, I think the
right thing to do is to get rid of ArrayOffset, make all addressing
computations explicit in Rssa, and put the necessary peepholing in the
codegens.  Making the addressing explicit will help in optimization
and when we have flatter arrays.  Of course it will mean that Rssa and
Machine need to handle interior pointers, which they don't right now.
But this is clearly a longer term thing and not for now.


-------------------------------------------------------
This sf.net email is sponsored by: Dice - The leading online job board
for high-tech professionals. Search and apply for tech jobs today!
http://seeker.dice.com/seeker.epl?rel_code=31
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel