[MLton-devel] cvs commit: types for Rssa

Matthew Fluet fluet@CS.Cornell.EDU
Sun, 8 Dec 2002 19:21:57 -0500 (EST)


>   Added types to Rssa and Machine, as discussed in earlier email.

Looks really good.

>   case statements that narrow types

I was originally going to ask what was wrong with doing the cast as part
of the case statment, in that the argument of the destination label would
rebind the test variable at the new type.  But, I see now that that the
straightforward translation into Machine would require a move from the
test variable to the argument, which is really redundant.

>   Combined all the switch statements used by Rssa and Machine into a
>   single datatype -- see backend/switch.sig.  With that and the changes
>   to operands, Rssa and Machine are starting to look suspiciously
>   similar.  Hopefully one day we will be able to unify them.

What are the major differences between RSSA and Machine right now?
Mostly the distinction between stack and backend registers?

>   The backend register allocation is no longer attempts to share a
>   register for multiple variables.  This may cause performance problems
>   since the local{char,int,...}  arrays used by the native codegen to
>   cache real registers will no longer be as small or as densely used.

Have you run any benchmarks against something from before the merge.



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel