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 1506, Thu Jun 17 22:19:15 2004 UTC revision 1642, Thu Oct 7 21:00:04 2004 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
17    Date: 2004/10/07 16:00:00 CDT
18    Tag: blume-20041007-cleanup
19    Description:
20    
21    Assorted cleanup work:
22    
23      - got rid of intstrmap in favor of using the library's
24        hash table implementation
25      - threw out most of the pathnames stuff, as it was not used anyway
26      - simplified tokentable implementation
27      - fixed some minor spelling errors
28    
29    ----------------------------------------------------------------------
30    Name: Matthias Blume (blume (at) tti - c (dot) org)
31    Date: 2004/10/06 15:15:15 CDT
32    Tag: blume-20041006-handler
33    Description:
34    
35    Cleaned up the absyn to reflect the invariant that HANDLE always
36    carries a FNexp as part of the type definition.  This eliminates some
37    superfluous sanity checks at runtime down the road.
38    
39    Some minor cleanup of the btrace code.
40    
41    ----------------------------------------------------------------------
42    Name: Matthias Blume (blume (at) tti - c (dot) org)
43    Date: 2004/10/01 10:20:30 CDT
44    Tag: blume-20041001-slave
45    Description:
46    
47    Added hack to make slave mode work in the presence of the version
48    tool.  (Still, since the master does two passes over the code for
49    CMB.make, the release number gets bumped twice when slaves are
50    attached.  I don't know if this is worth fixing...)
51    
52    ----------------------------------------------------------------------
53    Name: Matthias Blume (blume (at) tti - c (dot) org)
54    Date: 2004/09/30 10:55:00 CDT
55    Tag: blume-20040930-version
56    Description:
57    
58    * Moved the "version" magic into its own little library under
59    src/system/smlnj/internal.  This avoids expensive reconstruction
60    of a stable src/compiler/core.cm.
61    
62    * At the same time, structure CompilerVersion is now known as structure
63    SMLNJVersion.
64    
65    * Arranged for the version tool to NOT kick in when rebuilding the system
66      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
67      Also, loading the versiontool does not work when rebuilding the system
68      because CM is not properly initialized at that time.
69    
70    ----------------------------------------------------------------------
71    Name: Matthias Blume (blume (at) tti - c (dot) org)
72    Date: 2004/09/29 14:00:00 CDT
73    Tag: blume-20040929-autoversion
74    Description:
75    
76    Implemented some CM magic to have
77        file src/compiler/TopLevel/main/version.sml
78    generated automagically.
79    The version is taken from two files: config/version and config/release.
80    The first is expected to contain a two-part version number such as 110.49.
81    The second should contain a single number, but it may be missing.
82    
83    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
84    time the version tool is loaded (which is the first time you say CMB.make),
85    then the tool will increment the value stored in config/release every
86    time CMB.make is invoked.
87    
88    The binfile format is now insensitive to anything beyond the first
89    two components of a version number, so bumping the release does not render
90    binfiles incompatible.  Auto-bumping can be used to keep track of versions
91    during development without invalidating existing binfiles.
92    
93    In any case, every CMB.make updates the date information in version.sml.
94    (This is the date that is printed in the banner.)
95    
96    ----------------------------------------------------------------------
97    Name: Matthias Blume (blume (at) tti - c (dot) org)
98    Date: 2004/09/28 10:53:00 CDT
99    Tag: blume-20040928-controls
100    Description:
101    
102    Some cleanup of the controls code.
103    
104    ----------------------------------------------------------------------
105    Name: Matthias Blume (blume (at) tti - c (dot) org)
106    Date: 2004/09/27 22:08:00 CDT
107    Tag: blume-20040927-controls
108    Description:
109    
110    Added two pieces of functionality to the Controls interface:
111    
112    1.   val save'restore: 'a control -> unit -> unit
113    
114       grabs the current value of the control in stage 1 and restores it
115       in stage 2.
116    
117    2.   val set' : 'a control * 'a -> unit -> unit
118    
119       stores the given value into the control in stage 2 (i.e., delayed)
120       but does all error checking in stage 1.
121       (This is for string controls that need to do parse their argument --
122        something that might fail.  In some cases, notably in CM, one
123        already knows the intended argument but wants to delay the actual
124        assignment until a time when error recovery would be more difficult.)
125    
126    Changed the handling of controls in tool arguments to classes "sml" and
127    "lazysml":
128       - use Controls.save'restore as a more robust way of restoring the
129         old value (in particular: without having to re-parse the string)
130       - use controls to handle the "overload" keyword in the init group
131         (I believe this change actually fixes a long-standing obscure bug.)
132    
133    ----------------------------------------------------------------------
134    Name: Matthias Blume (blume (at) tti - c (dot) org)
135    Date: 2004/09/27 17:00:00 CDT
136    Tag: blume-20040927-lazysml
137    Description:
138    
139    Added a new tool class called "lazysml" to CM's tool chest.  The only
140    difference to "sml" is that compilation is done with Control.lazysml
141    set to true.  A source of class "lazysml" is automatically recognized
142    by a file name suffix of ".lml".
143    
144    In addition to the above feature, the original class "sml" now also
145    supports a tool argument "lazy" which has the same effect.  As a
146    result, the following three lines are equivalent:
147    
148        foo.sml : lazysml
149        foo.sml : sml (lazy)
150        foo.sml (lazy)
151    
152    The setting goes into effect both during parsing and during
153    compilation.  The original setting is restored right after parsing and
154    after compilation, respectively.
155    
156    In addition to all the above, there is also a general mechanism to set
157    ANY of the "controls" that are available at the command line via
158    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
159    apply as well. (In fact, "lazy" is implemented as a special case of
160    the general mechanism.)
161    
162    The .cm file syntax uses a new keyword tool argument called "with".
163    There are several ways of indicating the desired settings:
164    
165        foo.sml (with:parser.quotations=true)
166        foo.sml (with:(name:parser.quotations value:true))
167        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
168        foo.sml (with:(name1=value1 name2=value2 ...))
169        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
170    
171        etc.
172    
173    Another possible abbreviation is to leave out the =v or value:v part
174    if the name refers to a boolean control (in which case the value is
175    taken to be true).  Thus, one could get lazy sml also by saying:
176    
177        foo.sml (with:parser.lazy-keyword=true)
178        foo.sml (with:parser.lazy-keyword)
179        foo.sml (with:(name:parser.lazy-keyword value:true))
180        foo.sml (with:(name:parser.lazy-keyword))
181    
182    ----------------------------------------------------------------------
183    Name: Matthias Blume (blume (at) tti - c (dot) org)
184    Date: 2004/09/24 16:22:00 CDT
185    Tag: blume-20040924-ppc-long-branch
186    Description:
187    
188    Turned message about "emiting long form of branch" off by default.
189    Added a control flag to turn it back on when desired.
190    
191    ----------------------------------------------------------------------
192    Name: Matthias Blume (blume (at) tti - c (dot) org)
193    Date: 2004/09/24 16:05:00 CDT
194    Tag: blume-20040924-rounding
195    Description:
196    
197    Applied patch for setting rounding modes under Mac OS X.  Thanks to
198    Melissa O'Neill for providing the code!
199    
200    ----------------------------------------------------------------------
201    Name: Matthias Blume (blume (at) tti - c (dot) org)
202    Date: 2004/09/23 17:30:00 CDT
203    Tag: blume-20040923-envvars
204    Description:
205    
206    1. Changed definition of type ControlRegistry.registry_tree to
207       include control_info (i.e., the name of the controlling environment
208       variable).
209    
210    2. Added command-line flags -e and -E to print the names of environment
211       variables that can be used to control internal settings.
212       (This uses the new API mentioned in 1.)
213    
214    ----------------------------------------------------------------------
215    Name: Matthias Blume (blume (at) tti - c (dot) org)
216    Date: 2004/09/13 16:50:00 CDT
217    Tag: Release_110_49
218    Description:
219    
220    New working version (110.49).  NEW BOOTFILES!
221    
222    ----------------------------------------------------------------------
223    Name: Matthias Blume
224    Date: 2004/09/13 16:20:00 CDT
225    Tag: blume-20040913-config-mlrisc
226    Description:
227    
228    Put target "mlrisc" back into the default list.
229    (There is no harm in having it, and some users have expressed their
230    wish to have "mlrisc" included by default.)
231    
232    ----------------------------------------------------------------------
233    Name: John Reppy
234    Date: 2004/09/13
235    Tag: jhr-20040913-signals
236    Description:
237    
238    Fixed the signal masking code to properly nest mask/unmask operations
239    on a per-signal basis.
240    
241    ----------------------------------------------------------------------
242    Name: Matthias Blume (blume (at) tti - c (dot) org)
243    Date: 2004/09/08 13:20:00 CDT
244    Tag: blume-20040908-heap-magic
245    Description:
246    
247    Bumped the heap macig number to 0x09082004 to account for the changed
248    layout of the ML frame under MacOS X.
249    
250    ----------------------------------------------------------------------
251    Name: Allen Leung (leunga (at) reservoir (dot) com)
252    Date: 2004/09/03 11:26:00 EST
253    Tag: leunga-20040903-cygwin-install
254    Description:
255    
256       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
257    The Cygwin runtime is turned on by setting the environment
258    variable SMLNJ_CYGWIN_RUNTIME to 1.
259    
260    ----------------------------------------------------------------------
261    Name: Matthias Blume (blume (at) tti - c (dot) org)
262    Date: 2004/08/31 17:15:00 CDT
263    Tag: blume-20040831-core
264    Description:
265    
266    Added some exports to src/compiler/core.cm upon request by J. Joemann.
267    
268    ----------------------------------------------------------------------
269    Name: Matthias Blume (blume (at) tti - c (dot) org)
270    Date: 2004/08/30 17:55:00 CDT
271    Tag: blume-20040830-installer
272    Description:
273    
274    Upon request by Johannes Joemann:
275    
276    - improved ML code of installer to fall back to coping when renaming
277      fails (i.e., when source and target are on different file systems);
278      the code compiles but has yet to be tested in anger
279    - removed mlrisc from list of default targets (config/targets)
280    
281    ----------------------------------------------------------------------
282    Name: Matthias Blume (blume (at) tti - c (dot) org)
283    Date: 2004/08/27 17:20:00 CDT
284    Tag: blume-20040827-ptreql
285    Description:
286    
287    Added ptreql primop to structure InlineT (upon request from Larry
288    Paulson).
289    
290    ----------------------------------------------------------------------
291    Name: Allen Leung (leunga (at) reservoir (dot) com)
292    Date: 2004/08/15 21:21:00 EST
293    Tag: leunga-110_48-udgraph
294    Description:
295    
296    Another bug fix from Carl Hauser:
297    
298    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
299    > 48c48
300    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
301    > e::L)
302    > ---
303    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
304    > Without this, any deletion of an edge in an undirected graph does severe
305    > violence to the graph.
306    
307    ----------------------------------------------------------------------
308    Name: Allen Leung (leunga (at) reservoir (dot) com)
309    Date: 2004/08/10 23:35:00 EST
310    Tag: leunga-110_48-ppc
311    Description:
312    
313       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
314    
315    ----------------------------------------------------------------------
316    Name: Matthias Blume (blume (at) tti - c (dot) org)
317    Date: 2004/08/10 12:00:00 CDT
318    Tag: Release_110_48
319    Description:
320    
321    New working version (110.48).  NEW BOOTFILES!
322    
323    ----------------------------------------------------------------------
324    Name: Allen Leung (leunga (at) reservoir (dot) com)
325    Date: 2004/08/09 12:21:00 EST
326    Tag: leunga-110_47-dijsktra
327    Description:
328    
329    Bug fix from Carl Hauser:
330    
331    single_source_shortest_paths in dijkstra.sml was observed to get wrong
332    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
333    
334    The problem is that following the expression A.update(dist,s,Num.zero)
335    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
336    
337    ----------------------------------------------------------------------
338    Name: Matthias Blume (blume (at) tti - c (dot) org)
339    Date: 2004/08/06 18:10:00 CDT
340    Tag: blume-20040806-cmdline
341    Description:
342    
343    Fiddled with handling of command-line options:
344    
345      * sml now quits after processing the command line
346        if -H, -S, -h<n>, or -s<n> appears as the last
347        command-line argument
348      * a new option -q terminates the session when encountered on
349        the command line; subsequent arguments will be ignored
350      * bug fixes: short (erroneous) arguments are no longer ignored
351        completely
352    
353    ----------------------------------------------------------------------
354    Name: Allen Leung (leunga (at) reservoir (dot) com)
355    Date: 2004/08/04 18:17:00 EST
356    Tag: leunga-110_47-ppc-ibm-asm
357    Description:
358    
359      - Added minimal IBM assembly syntax support for PowerPC.
360    
361      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
362        been altered in the runtime.  We need an automatic way to keep the file
363        in sync.
364    
365    ----------------------------------------------------------------------
366    Name: Matthias Blume (blume (at) tti - c (dot) org)
367    Date: 2004/08/04 14:00:00 CDT
368    Tag: Release_110_47
369    Description:
370    
371    New working version (110.47).  NEW BOOTFILES!
372    
373    ----------------------------------------------------------------------
374    Name: Matthias Blume (blume (at) tti - c (dot) org)
375    Date: 2004/08/03 14:25:00 CDT
376    Tag: blume-20040803-callingconv
377    Description:
378    
379    Added low-level support for choosing C calling conventions by
380    twiddling the type of rawccall.  (See
381    src/compiler/Semant/types/cproto.sml for details.)
382    
383    ----------------------------------------------------------------------
384    Name: Matthias Blume (blume (at) tti - c (dot) org)
385    Date: 2004/08/02 15:55:00 CDT
386    Tag: blume-20040802-backout
387    Description:
388    
389    Backed out of change to win32-filesys.c.  The earlier patch to
390    get_file_time caused CM to produce files with the wrong time stamp.
391    
392    ----------------------------------------------------------------------
393    Name: Matthias Blume (blume (at) tti - c (dot) org)
394    Date: 2004/08/02 14:45:00 CDT
395    Tag: blume-20040802-nlffi-win32
396    Description:
397    
398    Added NLFFI support for Win32, adapted from a patch provided by David
399    Hansel.  This is currently completely untested.  Also, the issue
400    concerning stdcall vs. ccall is still unresolved.
401    
402    ----------------------------------------------------------------------
403    Name: Matthias Blume (blume (at) tti - c (dot) org)
404    Date: 2004/07/30 17:55:00 CDT
405    Tag: blume-20040730-various
406    Description:
407    
408    Gearing up towards 110.47...
409    
410    - various minor bugfixes to ml-nlffigen
411    - a beginning of a manual for nlffi
412    
413    - eliminated 'export name=value' in config/install.sh as this does
414      not work with certain versions of /bin/sh
415      (Thanks to David King at Motorola for catching this.)
416    
417    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
418      - added a test for tm==NULL to gmtime.c and localtime.c
419      - applied patch for incorrect GetFileTime under win32
420      - toSeconds -> toMilliseconds in Win32/win32-process.sml
421    
422    ----------------------------------------------------------------------
423    Name: Matthias Blume (blume (at) tti - c (dot) org)
424    Date: 2004/07/21 18:20:00 CDT
425    Tag: blume-20040721-nlffigen
426    Description:
427    
428    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
429      for a typedef to an incomplete type, but leave out the "typ" member.
430      (This is just for consistency.)
431    - Started to produce what is supposed to become better (i.e., comprehensive)
432      documentation of what ml-nlffigen does and produces.
433    
434    ----------------------------------------------------------------------
435    Name: Matthias Blume (blume (at) tti - c (dot) org)
436    Date: 2004/07/14 16:25:00 CDT
437    Tag: blume-20040714-union
438    Description:
439    
440    Added C_UNION to c-calls/c-types.sml and updated the machinery
441    (ml-nlffigen, cproto.sml) that conveys C function interface
442    information to the code generator.
443    
444    However, the actual architecture-specific implementation of function
445    arguments and results that are C unions is still not implemented.
446    
447    ----------------------------------------------------------------------
448    Name: Allen Leung (leunga (at) reservoir (dot) com)
449    Date: 2004/07/14 14:38:00 EST
450    Tag: leunga-110_46_1-ppc-lwzu
451    Description:
452    
453        Added these instructions to the PowerPC architecture:
454        LBZU(X), LHZU(X), LWZU(X),
455        STWU(X), STFDU, STFSU
456    
457        etc...
458    
459        Note: I haven't added their instruction encoding into the description.
460    
461    ----------------------------------------------------------------------
462    Name: Allen Leung (leunga (at) reservoir (dot) com)
463    Date: 2004/07/13 15:04:00 EST
464    Tag: leunga-110_46_1-ppc-lwarx
465    Description:
466    
467       Added the two instructions LWARX and STWCX to the PowerPC
468    instruction set.
469    
470       A (untested) rewrite of loop-structure.sml.  The old version
471    is completely broken.
472    
473    ----------------------------------------------------------------------
474    Name: Matthias Blume (blume (at) tti - c (dot) org)
475    Date: 2004/07/13 13:50:00 CDT
476    Tag: blume-20040713-nlffi
477    Description:
478    
479    - use paramAlloc to report c-calls with too many arguments
480      (for PPC version where parameter area is pre-allocated)
481    - added ccall_maxargspace to machspec (to implement the above)
482    - made "make" commend in CM's "make" tool configurable
483    - added option (default: on) for passing the name of the SML/NJ's "bin"
484      directory to "make"; the call looks like this:
485    
486         make <options> SMLNJ_BINDIR=<dir> <target>
487    
488      This can be used by the Makefile to, e.g., pick the "right" version
489      of ml-nlffigen.
490    - minor code tweaks
491    
492    ----------------------------------------------------------------------
493    Name: Matthias Blume (blume (at) tti - c (dot) org)
494    Date: 2004/07/12 22:50:00 CDT
495    Tag: blume-110_46_1-macosx-nlffi
496    Description:
497    
498    NLFFI under Mac OS X now working (sort of).  This is largely untested,
499    though.
500    
501    Note:  1. You have to make a new, clean build of the runtime system.
502           2. There are new BOOTFILES, you have to use them!
503              (Doing the bootstrap process yourself would be *very* painful!
504               If you absolutely have to do it, build the system under
505               a different architecture and then cross-compile.)
506    
507    Version bumped to 110.46.1 to account for runtime data format changes.
508    
509    ----------------------------------------------------------------------
510    Name: Matthias Blume (blume (at) tti - c (dot) org)
511    Date: 2004/06/18 14:30:00 CDT
512    Tag: blume-20040618-unix
513    Description:
514    
515    Changed the implementation of structure Unix so that the same stream
516    is returned every time one of the {text,bin}{In,Out}streamOf functions
517    is invoked on the same proc.  This is not what the spec currently
518    says -- although IMO it arguably should.  (See discussion below.)
519    
520    ----------------------------------------------------------------------
521    Name: Matthias Blume (blume (at) tti - c (dot) org)
522    Date: 2004/06/17 18:15:00 CDT
523    Tag: Release_110_46
524    Description:
525    
526    New working version (110.46).  NEW BOOTFILES!
527    
528    ----------------------------------------------------------------------
529    Name: Matthias Blume (blume (at) tti - c (dot) org)
530  Date: 2004/06/17 17:20:00 CDT  Date: 2004/06/17 17:20:00 CDT
531  Tag: blume-20040617-timer-unix  Tag: blume-20040617-timer-unix
532  Description:  Description:

Legend:
Removed from v.1506  
changed lines
  Added in v.1642

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