Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/NOTES/HISTORY
ViewVC logotype

Diff of /sml/trunk/NOTES/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 838, Tue Jun 5 19:10:21 2001 UTC revision 839, Thu Jun 7 20:28:44 2001 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume  Name: Matthias Blume
17    Date: 2001/06/07
18    Tag: blume-20010607-calls
19    Description:
20    
21    A number of internal changes related to C calls and calling conventions:
22    
23    1. ML-Tree CALL statements now carry a "pops" field.  It indicates the
24       number of bytes popped implicitly (by the callee).  In most cases
25       this field is 0 but on x86/win32 it is some non-zero value.  This
26       is information provided for the benefit of the "omit-frameptr" pass.
27    2. The CALL instruction on the x86 carries a similar "pops" field.
28       The instruction selection phase copies its value from the ML-Tree
29       CALL statement.
30    3. On all other architectures, the instruction selection phase checks
31       whether "pops=0" and complains if not.
32    4. The c-calls implementation for x86 now accepts two calling conventions:
33       "ccall" and "stdcall".  When "ccall" is selected, the caller cleans
34       up after the call and pops is set to 0.  For "stdcall", the caller
35       does nothing, leaving the cleanup to the callee; pops is set to
36       the number of bytes that were pushed onto the stack.
37    5. The cproto decoder (compiler/Semant/types/cproto.sml) now can
38       distinguish between "ccall" and "stdcall".
39    6. The UNIMP instruction has been added to the supported Sparc instruction
40       set. (This is needed for implementing the official C calling convention
41       on this architecture.)
42    7. I fixed some of the .cm files under src/MLRISC/Tools to make them
43       work with the latest CM.
44    
45    ----------------------------------------------------------------------
46    Name: Matthias Blume
47  Date: 2001/06/05 15:10:00 EDT  Date: 2001/06/05 15:10:00 EDT
48  Tag: blume-20010605-cm-index  Tag: blume-20010605-cm-index
49  Description:  Description:

Legend:
Removed from v.838  
changed lines
  Added in v.839

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0