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/HISTORY
ViewVC logotype

Diff of /sml/trunk/HISTORY

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

revision 1132, Mon Mar 11 18:32:50 2002 UTC revision 1137, Tue Mar 12 22:28:55 2002 UTC
# Line 11  Line 11 
11  Date: yyyy/mm/dd  Date: yyyy/mm/dd
12  Tag: <post-commit CVS tag>  Tag: <post-commit CVS tag>
13  Description:  Description:
14    ----------------------------------------------------------------------
15    Name: Matthias Blume
16    Date: 2002/03/12 17:30:00 EST
17    Tag: blume-20020312-version110392
18    Description:
19    
20    Yet another version number bump (because of small changes to the
21    binfile format).  Version number is now 110.39.2.  NEW BOOTFILES!
22    
23    Changes:
24    
25      The new pid generation scheme described a few weeks ago was overly
26      complicated.  I implemented a new mechanism that is simpler and
27      provides a bit more "stability":  Once CM has seen a compilation
28      unit, it keeps its identity constant (as long as you do not delete
29      those crucial CM/GUID/* files).  This means that when you change
30      and interface, compiler, then go back to the old interface, and
31      compile again, you arrive at the original pid.
32    
33      There now also is a mechanism that instructs CM to use the plain
34      environment hash as a module's pid (effectively making its GUID
35      the empty string).  For this, "noguid" must be specified as an
36      option to the .sml file in question within its .cm file.
37      This is most useful for code that is being generated by tools such
38      as ml-nlffigen (because during development programmers tend to
39      erase the tool's entire output directory tree including CM's cached
40      GUIDs).  "noguid" is somewhat dangerous (since it can be used to locally
41      revert to the old, broken behavior of SML/NJ, but in specific cases
42      where there is no danger of interface confusion, its use is ok
43      (I think).
44    
45      ml-nlffigen by default generates "noguid" annotations.  They can be
46      turned off by specifying -guid in its command line.
47    
48    ----------------------------------------------------------------------
49    Name: Lal George
50    Date: 2002/03/12 12 14:42:36 EST
51    Tag: george-20020312-frequency-computation
52    Description:
53    
54    Integrated jump chaining and static block frequency into the
55    compiler. More details and numbers later.
56    
57    ----------------------------------------------------------------------
58    Name: Lal George
59    Date: 2002/03/11 11 22:38:53 EST
60    Tag: george-20020311-jump-chain-elim
61    Description:
62    
63    Tested the jump chain elimination on all architectures (except the
64    hppa).  This is on by default right now and is profitable for the
65    alpha and x86, however, it may not be profitable for the sparc and ppc
66    when compiling the compiler.
67    
68    The gc test will typically jump to a label at the end of the cluster,
69    where there is another jump to an external cluster containing the actual
70    code to invoke gc. This is to allow factoring of common gc invocation
71    sequences. That is to say, we generate:
72    
73            f:
74               testgc
75               ja   L1      % jump if above to L1
76    
77            L1:
78               jmp L2
79    
80    
81    After jump chain elimination the 'ja L1' instructions is converted to
82    'ja L2'. On the sparc and ppc, many of the 'ja L2' instructions may end
83    up being implemented in their long form (if L2 is far away) using:
84    
85            jbe     L3      % jump if below or equal to L3
86            jmp     L2
87         L3:
88            ...
89    
90    
91    For large compilation units L2  may be far away.
92    
93    
94  ----------------------------------------------------------------------  ----------------------------------------------------------------------
95  Name: Matthias Blume  Name: Matthias Blume

Legend:
Removed from v.1132  
changed lines
  Added in v.1137

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