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 1189, Fri May 10 20:40:33 2002 UTC revision 1602, Tue Aug 10 16:58:44 2004 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Matthias Blume (blume (at) tti - c (dot) org)
17    Date: 2004/10/04 12:00:00 CDT
18    Tag: Release_110_48
19    Description:
20    
21    New working version (110.48).  NEW BOOTFILES!
22    
23    ----------------------------------------------------------------------
24    Name: Allen Leung (leunga (at) reservoir (dot) com)
25    Date: 2004/08/09 12:21:00 EST
26    Tag: leunga-110_47-dijsktra
27    Description:
28    
29    Bug fix from Carl Hauser:
30    
31    single_source_shortest_paths in dijkstra.sml was observed to get wrong
32    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
33    
34    The problem is that following the expression A.update(dist,s,Num.zero)
35    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
36    
37    ----------------------------------------------------------------------
38    Name: Matthias Blume (blume (at) tti - c (dot) org)
39    Date: 2004/08/06 18:10:00 CDT
40    Tag: blume-20040806-cmdline
41    Description:
42    
43    Fiddled with handling of command-line options:
44    
45      * sml now quits after processing the command line
46        if -H, -S, -h<n>, or -s<n> appears as the last
47        command-line argument
48      * a new option -q terminates the session when encountered on
49        the command line; subsequent arguments will be ignored
50      * bug fixes: short (erroneous) arguments are no longer ignored
51        completely
52    
53    ----------------------------------------------------------------------
54    Name: Allen Leung (leunga (at) reservoir (dot) com)
55    Date: 2004/08/04 18:17:00 EST
56    Tag: leunga-110_47-ppc-ibm-asm
57    Description:
58    
59      - Added minimal IBM assembly syntax support for PowerPC.
60    
61      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
62        been altered in the runtime.  We need an automatic way to keep the file
63        in sync.
64    
65    ----------------------------------------------------------------------
66    Name: Matthias Blume (blume (at) tti - c (dot) org)
67    Date: 2004/08/04 14:00:00 CDT
68    Tag: Release_110_47
69    Description:
70    
71    New working version (110.47).  NEW BOOTFILES!
72    
73    ----------------------------------------------------------------------
74    Name: Matthias Blume (blume (at) tti - c (dot) org)
75    Date: 2004/08/03 14:25:00 CDT
76    Tag: blume-20040803-callingconv
77    Description:
78    
79    Added low-level support for choosing C calling conventions by
80    twiddling the type of rawccall.  (See
81    src/compiler/Semant/types/cproto.sml for details.)
82    
83    ----------------------------------------------------------------------
84    Name: Matthias Blume (blume (at) tti - c (dot) org)
85    Date: 2004/08/02 15:55:00 CDT
86    Tag: blume-20040802-backout
87    Description:
88    
89    Backed out of change to win32-filesys.c.  The earlier patch to
90    get_file_time caused CM to produce files with the wrong time stamp.
91    
92    ----------------------------------------------------------------------
93    Name: Matthias Blume (blume (at) tti - c (dot) org)
94    Date: 2004/08/02 14:45:00 CDT
95    Tag: blume-20040802-nlffi-win32
96    Description:
97    
98    Added NLFFI support for Win32, adapted from a patch provided by David
99    Hansel.  This is currently completely untested.  Also, the issue
100    concerning stdcall vs. ccall is still unresolved.
101    
102    ----------------------------------------------------------------------
103    Name: Matthias Blume (blume (at) tti - c (dot) org)
104    Date: 2004/07/30 17:55:00 CDT
105    Tag: blume-20040730-various
106    Description:
107    
108    Gearing up towards 110.47...
109    
110    - various minor bugfixes to ml-nlffigen
111    - a beginning of a manual for nlffi
112    
113    - eliminated 'export name=value' in config/install.sh as this does
114      not work with certain versions of /bin/sh
115      (Thanks to David King at Motorola for catching this.)
116    
117    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
118      - added a test for tm==NULL to gmtime.c and localtime.c
119      - applied patch for incorrect GetFileTime under win32
120      - toSeconds -> toMilliseconds in Win32/win32-process.sml
121    
122    ----------------------------------------------------------------------
123    Name: Matthias Blume (blume (at) tti - c (dot) org)
124    Date: 2004/07/21 18:20:00 CDT
125    Tag: blume-20040721-nlffigen
126    Description:
127    
128    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
129      for a typedef to an incomplete type, but leave out the "typ" member.
130      (This is just for consistency.)
131    - Started to produce what is supposed to become better (i.e., comprehensive)
132      documentation of what ml-nlffigen does and produces.
133    
134    ----------------------------------------------------------------------
135    Name: Matthias Blume (blume (at) tti - c (dot) org)
136    Date: 2004/07/14 16:25:00 CDT
137    Tag: blume-20040714-union
138    Description:
139    
140    Added C_UNION to c-calls/c-types.sml and updated the machinery
141    (ml-nlffigen, cproto.sml) that conveys C function interface
142    information to the code generator.
143    
144    However, the actual architecture-specific implementation of function
145    arguments and results that are C unions is still not implemented.
146    
147    ----------------------------------------------------------------------
148    Name: Allen Leung (leunga (at) reservoir (dot) com)
149    Date: 2004/07/14 14:38:00 EST
150    Tag: leunga-110_46_1-ppc-lwzu
151    Description:
152    
153        Added these instructions to the PowerPC architecture:
154        LBZU(X), LHZU(X), LWZU(X),
155        STWU(X), STFDU, STFSU
156    
157        etc...
158    
159        Note: I haven't added their instruction encoding into the description.
160    
161    ----------------------------------------------------------------------
162    Name: Allen Leung (leunga (at) reservoir (dot) com)
163    Date: 2004/07/13 15:04:00 EST
164    Tag: leunga-110_46_1-ppc-lwarx
165    Description:
166    
167       Added the two instructions LWARX and STWCX to the PowerPC
168    instruction set.
169    
170       A (untested) rewrite of loop-structure.sml.  The old version
171    is completely broken.
172    
173    ----------------------------------------------------------------------
174    Name: Matthias Blume (blume (at) tti - c (dot) org)
175    Date: 2004/07/13 13:50:00 CDT
176    Tag: blume-20040713-nlffi
177    Description:
178    
179    - use paramAlloc to report c-calls with too many arguments
180      (for PPC version where parameter area is pre-allocated)
181    - added ccall_maxargspace to machspec (to implement the above)
182    - made "make" commend in CM's "make" tool configurable
183    - added option (default: on) for passing the name of the SML/NJ's "bin"
184      directory to "make"; the call looks like this:
185    
186         make <options> SMLNJ_BINDIR=<dir> <target>
187    
188      This can be used by the Makefile to, e.g., pick the "right" version
189      of ml-nlffigen.
190    - minor code tweaks
191    
192    ----------------------------------------------------------------------
193    Name: Matthias Blume (blume (at) tti - c (dot) org)
194    Date: 2004/07/12 22:50:00 CDT
195    Tag: blume-110_46_1-macosx-nlffi
196    Description:
197    
198    NLFFI under Mac OS X now working (sort of).  This is largely untested,
199    though.
200    
201    Note:  1. You have to make a new, clean build of the runtime system.
202           2. There are new BOOTFILES, you have to use them!
203              (Doing the bootstrap process yourself would be *very* painful!
204               If you absolutely have to do it, build the system under
205               a different architecture and then cross-compile.)
206    
207    Version bumped to 110.46.1 to account for runtime data format changes.
208    
209    ----------------------------------------------------------------------
210    Name: Matthias Blume (blume (at) tti - c (dot) org)
211    Date: 2004/06/18 14:30:00 CDT
212    Tag: blume-20040618-unix
213    Description:
214    
215    Changed the implementation of structure Unix so that the same stream
216    is returned every time one of the {text,bin}{In,Out}streamOf functions
217    is invoked on the same proc.  This is not what the spec currently
218    says -- although IMO it arguably should.  (See discussion below.)
219    
220    ----------------------------------------------------------------------
221    Name: Matthias Blume (blume (at) tti - c (dot) org)
222    Date: 2004/06/17 18:15:00 CDT
223    Tag: Release_110_46
224    Description:
225    
226    New working version (110.46).  NEW BOOTFILES!
227    
228    ----------------------------------------------------------------------
229    Name: Matthias Blume (blume (at) tti - c (dot) org)
230    Date: 2004/06/17 17:20:00 CDT
231    Tag: blume-20040617-timer-unix
232    Description:
233    
234    Changed the interface of structures Timer and Unix to match the most
235    recent Basis spec.
236    
237    In the case of Unix there still seems to be an open/weird issue:
238    
239       The {text,bin}{In,Out}streamOf functions are supposed to create
240       fresh streams whenever they are called -- as opposed to have them
241       return the same stream every time.  This design is supposed to
242       prevent space leaks caused by proc values hanging on to streams.
243    
244       The reap function, on the other hand, is supposed to close the
245       streams.  This cannot be done without having a handle on the
246       stream in proc after all...
247    
248    I took the liberty to implement the following stopgap solution:
249    
250      The proc value hangs on to the most recently created stream(s).
251      Reap closes those.  If either or both of the two streams hadn't
252      been created at all yet, then reap will close the corresponding
253      file descriptors directly.
254    
255    PS: I don't understand the original space leak argument anymore.  If
256    a proc hangs on to the imperative stream, then I/O operations on those
257    will advance the state of the cached stream and avoid the space leak.
258    
259    ----------------------------------------------------------------------
260    Name: Matthias Blume (blume (at) tti - c (dot) org)
261    Date: 2004/05/28 16:45:00 CDT
262    Tag: blume-20040528-basis
263    Description:
264    
265    Added signature PACK_REAL and exported functor PrimIO.
266    
267    ----------------------------------------------------------------------
268    Name: Matthias Blume (blume (at) tti - c (dot) org)
269    Date: 2004/05/25 16:00:00 CDT
270    Tag: blume-20040525-group-owner
271    Description:
272    
273    CM now ignores (but still accepts) the "owner" information in group
274    descriptions.  The owner of a group is its next enclosing
275    library. Each group must have a unique owner.  (There is a virtual
276    "toplevel" library that owns groups which are not nested within a real
277    library.)  Previously, each group had to explicitly declare its owner,
278    and CM would check that such a declaration is correct.  The new scheme
279    is to have CM check that for each group there is precisely one owning
280    library.
281    
282    The advantage of the new scheme is that the programmer no longer needs
283    to maintain the somewhat annoying owner information.  The downside is
284    that CM cannot enforce the ownership rule across multiple runs of
285    CM.make.  Fortunately, enclosing the same group in two different
286    libraries A and B which are not part of the same program does not
287    cause real problems.
288    
289    ----------------------------------------------------------------------
290    Name: Matthias Blume (blume (at) tti - c (dot) org)
291    Date: 2004/05/20 16:00:00 CDT
292    Tag: blume-20040520-win32
293    Description:
294    
295    Made the win32 version work again.  (Strangely, a misplaced comma had
296    slipped into win32-process.c which prevented the runtime from being
297    compiled correctly.)
298    
299    Also, included a minor addition to ml-build.bat analogous to what was
300    done in blume-20040519-ml-build.
301    
302    ----------------------------------------------------------------------
303    Name: Matthias Blume (blume (at) tti - c (dot) org)
304    Date: 2004/05/19 22:10:00 CDT
305    Tag: blume-20040519-ml-build
306    Description:
307    
308    Arranged for ml-build to clean up after itself a little bit better.
309    The script generates a temporary SML source file and compiles it using
310    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
311    gets rid of those at the end, so they don't accumulate under .cm.
312    
313    This required a minor change to install.sh because the name of the
314    metadata directory (default: .cm) is actually configurable at
315    installation time.
316    
317    ----------------------------------------------------------------------
318    Name: Matthias Blume (blume (at) tti - c (dot) org)
319    Date: 2004/05/18 15:50:00 CDT
320    Tag: blume-20040518-mkreader
321    Description:
322    
323    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
324    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
325    
326    ----------------------------------------------------------------------
327    Name: Matthias Blume (blume (at) tti - c (dot) org)
328    Date: 2004/05/11 14:35:00 CDT
329    Tag: blume-20040511-win32sock
330    Description:
331    
332    Added previously missing support for many socket-related functions
333    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
334    for the voluminous patch!
335    
336    (I have not tested this patch under win32 yet.)
337    
338    Here is David's e-mail:
339    
340    Hi,
341    
342    Attached to this email you find a diff against sml/nj 110.45
343    that will enable socket support under Windows.
344    
345    To apply the patch (using unix or cygwin)
346    1) gunzip runtime.diff.gz
347    2) "cd" into "src/runtime" in the source tree of a fresh
348       110.45 installation.
349    3) patch -p 1 < [your/path/to]runtime.diff
350    
351    The code compiles fine but has NOT yet been extensively tested.
352    I only ran a few tests for basic socket client functionality
353    (which worked fine).  Especially the functions that use ioctl
354    are not tested at all and might not work (see below).
355    
356    I implemented this since we want to move to a newer version of sml/nj
357    but need socket support in order to use it.  This is the first time I
358    even had a look at the sml/nj source,  so please review my changes
359    before making this part of the distribution!  Here are a few issues
360    that I think might be better for someone to solve who is more
361    familiar with the sml/nj source (and socket programming):
362    
363    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
364      exception since I could not figure out what the windows equivalent
365      of these functions is
366    
367    - In sockets-osdep.h there are a some #include statements that are
368      only used in a few files that include sockets-osdep.h
369    
370    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
371      does not process its return value since I don't know how to
372      report an error upwards.
373    
374    - It would probably be good to have a call to WSACleanup() when
375      the library is unloaded (if there is such a possibility).
376      Otherwise I think Windows will take care of this automatically
377      when the process finishes.
378    
379    - I used ioctlsocket() as a replacement for ioctl() but I have
380      no idea if that is actually the proper replacement on Windows.
381    
382    - All these issues are marked in the code by "FIXME" comments.
383    
384    We use sml/nj extensively in our products and are quite happy
385    with it.  I hope this contribution will help you.
386    
387    Keep up the good work!
388    
389    David
390    
391    ----------------------------------------------------------------------
392    Name: Matthias Blume (blume (at) tti - c (dot) org)
393    Date: 2004/05/11 14:20:00 CDT
394    Tag: blume-20040511-installml
395    Description:
396    
397    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
398    the patch.)
399    
400    ----------------------------------------------------------------------
401    Name: Matthias Blume (blume (at) tti - c (dot) org)
402    Date: 2004/05/11 14:05:00 CDT
403    Tag: blume-20040511-nlffi-netbsd
404    Description:
405    
406    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
407    the patch.)
408    
409    ----------------------------------------------------------------------
410    Name: Matthias Blume (blume (at) tti - c (dot) org)
411    Date: 2004/05/11 12:05:00 CDT
412    Tag: blume-20040511-exports
413    Description:
414    
415    As per request by Adam Chlipala <adam@hcoop.net>, extended various
416    export lists in compiler-related .cm-files.
417    
418    ----------------------------------------------------------------------
419    Name: Matthias Blume (blume (at) tti - c (dot) org)
420    Date: 2004/05/11 11:35:00 CDT
421    Tag: blume-20040511-allsource
422    Description:
423    
424    The installer now honors the "src-smlnj" target again, although its meaning
425    has changed from "all sources required for the compiler" to "all sources
426    the installer knows about".  In other words, if you enable "src-smlnj"
427    in the "targets" file, then the installer will pull in sources for
428    everything.  (Notice that this refers to source code only.  Compiled
429    code is still only installed for modules that were requested explicitly
430    or which are required for other modules that were requested explicitly.)
431    
432    ----------------------------------------------------------------------
433    Name: Matthias Blume (blume (at) tti - c (dot) org)
434    Date: 2004/04/23 17:40:00 CDT
435    Tag: blume-20040423-ieee-scan
436    Description:
437    
438    Fixed IEEEReal.scan (and .fromString) so that if there is an overflow
439    in the exponent calculation we get INF or ZERO (depending on the mantissa
440    and the sign of the exponent).
441    
442    ----------------------------------------------------------------------
443    Name: Matthias Blume (blume (at) tti - c (dot) org)
444    Date: 2004/04/23 10:40:00 CDT
445    Tag: blume-20040423-ml-build
446    Description:
447    
448    The ml-build script now terminates with a non-0 status when something
449    goes wrong.
450    
451    ----------------------------------------------------------------------
452    Name: Matthias Blume (blume (at) tti - c (dot) org)
453    Date: 2004/04/22 16:35:00 CDT
454    Tag: blume-20040422-Option
455    Description:
456    
457    Made exception Option to be the same as exception Option.Option
458    (as it should be).
459    
460    ----------------------------------------------------------------------
461    Name: Allen Leung (leunga (at) reservoir (dot) com)
462    Date: 2004/03/19 14:40:00 EST
463    Tag: leunga-20040319-cygwin-nlffi
464    Description:
465    
466    Fixed the runtime so that ml-nlffi-lib runs on the cygwin version
467    of SML/NJ.  The problem is that
468    
469       lib = dlopen(NULL, ...)
470       f   = dlsym(lib, "malloc");
471    
472    does not work on Windows unless we explicitly export symbols
473    such as 'malloc' during linking.  We fixed this by explicitly
474    exporting the required symbols with the magic gcc incantation:
475    
476        -Wl,--export-all cygwin.def
477    
478    where cygwin.def is a file containing all the symbols that
479    we wish to export.
480    
481    I suspect this is a Windows problem and we'll have to
482    do the same (somehow with windows compilers) when
483    we build the native win32 version with the system
484    calls LoadLibrary/GetProcAddress.
485    
486    ----------------------------------------------------------------------
487    Name: Matthias Blume (blume (at) tti - c (dot) org)
488    Date: 2004/03/04 16:35:00 CST
489    Tag: blume-20040304-intinf-fmt
490    Description:
491    
492    Fixed problem with IntInf.fmt (sign would show up on the right instead
493    of on the left for BIN, OCT, and HEX).
494    
495    ----------------------------------------------------------------------
496    Name: Matthias Blume (blume (at) tti - c (dot) org)
497    Date: 2004/03/04 11:25:00 CST
498    Tag: blume-20040304-symlinks
499    Description:
500    
501    Fixed problem with installer script (unix only) where bin/ml-yacc and
502    friends pointed (via symlinks) to absolute locations instead of just
503    .run-sml.  This was reported by Vesa A Norrman.
504    
505    ----------------------------------------------------------------------
506    Name: Matthias Blume (blume (at) tti - c (dot) org)
507    Date: 2004/02/13 14:50:00 CST
508    Tag: Release_110_45
509    Description:
510    
511    New working version (110.45). New bootfiles.
512    
513    ----------------------------------------------------------------------
514    Name: Matthias Blume (blume (at) tti - c (dot) org)
515    Date: 2004/01/26 15:15:15 CST
516    Tag: blume-20040126-toplevel
517    Description:
518    
519    Improved handling of exceptions at the interactive toplevel.
520    
521    ----------------------------------------------------------------------
522    Name: Matthias Blume (blume (at) tti - c (dot) org)
523    Date: 2004/01/26 11:25:00
524    Tag: blume-20040126-app
525    Description:
526    
527    Type of top-level "app" corrected.
528    Added code for setting vp_limitPtrMask to Win32-specific runtime.
529    
530    ----------------------------------------------------------------------
531    Name: Matthias Blume (blume (at) tti - c (dot) org)
532    Date: 2003/11/18 17:10 CST
533    Tag: blume-20031118-basis-fiddle
534    Description:
535    
536    - changed Timer interface to what might become the spec
537    - POSIX_FLAGS -> BIT_FLAGS according to spec
538    - some other minor discrepancies wrt. spec eliminated
539    
540    ----------------------------------------------------------------------
541    Name: Matthias Blume (blume (at) tti - c (dot) org)
542    Date: 2003/11/06 12:00:00 CST
543    Tag: Release_110_44
544    Description:
545    
546    New working version (110.44). New bootfiles.
547    
548    ----------------------------------------------------------------------
549    Name: Matthias Blume (blume (at) tti - c (dot) org)
550    Date: 2003/11/04 11:50:00 CST
551    Tag: blume-20031104-move-libraries
552    Description:
553    
554    Eliminated the "dont_move_libraries" directive in config/targets.
555    (The mechanism was broken and could not be fixed easily.  Moreover,
556    there does not seem to be any reason not to move all libraries into
557    lib during installation.  I originally implemented this directive as a
558    backward-compatibility feature when I first introduced the new CM.
559    Now that things have been stable for a long time and going back to the
560    old CM is not an option, there is no reason to keep it around.)
561    
562    ----------------------------------------------------------------------
563    Name: Matthias Blume (blume (at) tti - c (dot) org)
564    Date: 2003/11/03 16:00:00 CST
565    Tag: blume-20031103-installdir
566    Description:
567    
568    Made installer honor INSTALLDIR variable again.  (Thanks to Chris
569    Richards for pointing out the problem and providing the solution.)
570    
571    ----------------------------------------------------------------------
572    Name: Matthias Blume (blume (at) tti - c (dot) org)
573    Date: 2003/10/01 17:05:00 CDT
574    Tag: blume-20031001-lal-mlrisc
575    Description:
576    
577    MLRISC bug fix from Lal.
578    
579    ----------------------------------------------------------------------
580    Name: Matthias Blume (blume (at) tti - c (dot) org)
581    Date: 2003/09/30 16:10:00 CDT
582    Tag: blume-20030930-primio-bat
583    Description:
584    
585    1. Added openVector, nullRd, and nullWr to PRIM_IO.
586    2. Improved .bat files (for Win32 port) to make things work under Win95.
587       (thanks to Aaron S. Hawley for this one)
588    
589    ----------------------------------------------------------------------
590    Name: Matthias Blume (blume (at) tti - c (dot) org)
591    Date: 2003/09/26 16:05:00 CDT
592    Tag: blume-20030926-wrappriv
593    Description:
594    
595    Added missing wrapper for privilege "primitive" in $smlnj/viscomp/core.cm.
596    
597    ----------------------------------------------------------------------
598    Name: Matthias Blume (blume (at) tti - c (dot) org)
599    Date: 2003/09/26 15:00:00 CDT
600    Tag: blume-20030926-110_43_3
601    Description:
602    
603    - additional cleanup
604    - version number bump, NEW BOOTFILES
605    
606    ----------------------------------------------------------------------
607    Name: Matthias Blume (blume (at) tti - c (dot) org)
608    Date: 2003/09/26 12:00:00 CDT
609    Tag: blume-20030926-ppautoload
610    Description:
611    
612    I modified the read-eval-print loop so that the autoloader gets
613    invoked whenever the prettyprinter tries to look up a symbol that
614    is not currently defined in the toplevel environment but which
615    appears in CM's autoload registry.  As a result, we see far fewer of
616    those ?.Foo.Bar.xxx names in the prettyprinter's output.
617    
618    In addition to this I tried to clean up some pieces of the Basis
619    implementation (e.g., Socket, Word8Array) in order to prevent other
620    instances of these ?.Foo.Bar.xxx names from being printed.
621    
622    The mechanism that picks names for types still needs some work, though.
623    (Right now it seems that if there is a type A.t which is defined to
624    be B.u, but B is unavailable at toplevel, then A.t gets printed as
625    "?.B.u" although the perhaps more sensible solution would be to use
626    "A.t" in this case.  In other words, the prettyprinter should follow
627    a chain of DEFtycs not farther than there are corresponding toplevel
628    names in the current environment.)
629    
630    ----------------------------------------------------------------------
631    Name: Matthias Blume (blume (at) tti - c (dot) org)
632    Date: 2003/09/24 16:31:00 CDT
633    Tag: blume-20030924-installer
634    Description:
635    
636    Another installer tweak:  All the ML code for the installer is now
637    compiled during CMB.make and put into a little library called
638    $smlnj/installer.cm.  The installation then simply invokes
639    
640       sml -m $smlnj/installer.cm
641    
642    and everything happens automagically.
643    
644    Win32:  ML code senses value of environment variable SMLNJ_HOME.
645    Unix:   ML code senses values of environment variables ROOT, CONFIGDIR,
646            and BINDIR.
647    
648    The new scheme guarantees that the ML code responsible for the installation
649    is in sync with the APIs of the main system.  Also, the installer is
650    somewhat faster because the installer script is precompiled.
651    
652    ----------------------------------------------------------------------
653    Name: Matthias Blume (blume (at) tti - c (dot) org)
654    Date: 2003/09/24 15:35:00 CDT
655    Tag: blume-20030924-synsock
656    Description:
657    
658    Added a signature SYNCHRONOUS_SOCKET to basis.cm.  This is like SOCKET
659    but excludes all non-blocking operations.  Defined SOCKET (in Basis)
660    and CML_SOCKET in terms of SYNCHRONOUS_SOCKET.  Removed superfluous
661    implementations of non-blocking operations from CML's Socket
662    structure.
663    
664    ----------------------------------------------------------------------
665    Name: Matthias Blume (blume (at) tti - c (dot) org)
666    Date: 2003/09/24 15:10:05 CDT
667    Tag: blume-20030924-sockets
668    Description:
669    
670    1. Fixed SOCKET API and implementation to match Basis spec.
671       This required changing the internal representation of sockets to one
672       that remembers (for each socket file descriptor) whether it is currently
673       blocking or non-blocking.  This state is maintained lazily (i.e., a system
674       call is made only if the state actually needs to change).
675    
676    2. OS-specific details of sockets were moved into separate files, thus
677       making it possible to unify the bulk of the socket implementations
678       between Unix and Win32.
679    
680    3. CML's socket API changed accordingly.
681       (Note that we need to remove non-blocking functions from this API
682       since they are redundant in the case of CML!)
683    
684    4. CML's socket implementation now makes use of non-blocking functions
685       provided by Basis, thus removing all OS-dependent code from this part
686       of CML.
687    
688    5. Changed Real64.precision from 52 to 53.  Minor cleanup in Real64 code.
689    
690    ----------------------------------------------------------------------
691    Name: Matthias Blume (blume (at) tti - c (dot) org)
692    Date: 2003/09/22 12:10:00 CDT
693    Tag: blume-20030922-110_43_2
694    Description:
695    
696    Made a new interim version and bootfiles for developer's bootstrapping
697    convenience.
698    
699       110.43.2 -- NEW BOOTFILES
700    
701    ----------------------------------------------------------------------
702    Name: Matthias Blume (blume (at) tti - c (dot) org)
703    Date: 2003/09/19 15:55:00 CDT
704    Tag: blume-20030919-cmdir
705    Description:
706    
707    1. new-install.sh -> install.sh
708    2. changed default CM "metadata" directory name to ".cm" (instead of "CM")
709    3. tweaked installer so that another name instead of .cm can be chosen
710       at install time (by setting the CM_DIR_ARC environment variable
711       during installation); once installation is complete, the name is
712       fixed
713    
714    ----------------------------------------------------------------------
715    Name: Matthias Blume (blume (at) tti - c (dot) org)
716    Date: 2003/09/18 16:00:00 CDT
717    Tag: blume-20030918-110_43_1
718    Description:
719    
720    Made a new interim version and bootfiles for developer's bootstrapping
721    convenience.
722    
723       110.43.1 -- NEW BOOTFILES
724    
725    ----------------------------------------------------------------------
726    Name: Matthias Blume (blume (at) tti - c (dot) org)
727    Date: 2003/09/18 15:20:00 CDT
728    Tag: blume-20030918-misc
729    Description:
730    
731    1. Exported fractionsPerSecond etc. from TimeImp (but not from Time as
732       this seems to be controversial at the moment) and used those in
733       Posix.ProcEnv.times.
734    
735    2. Added Time.{from,to}Nanoseconds to Time.
736    
737    3. Improved Real.{from,to}LargeInt by avoiding needless calculations.
738       For example, fromLargeInt never needs to look at more than 3 "big
739       digits" to get its 53 bits of precision.
740    
741    ----------------------------------------------------------------------
742    Name: Matthias Blume (blume (at) tti - c (dot) org)
743    Date: 2003/09/17 16:30:00 CDT
744    Tag: blume-20030917-real32-slices
745    Description:
746    
747    Added an entry to the primitive environment
748    (compiler/Semant/statenv/prim.sml) for int32->real64 conversion and
749    added code to compiler/CodeGen/main/mlriscGen.sml to implement it.
750    
751    Removed some of the "magic" constants in real64.sml and replaced them
752    with code that generates these values from their corresponding
753    integer counterparts.
754    
755    Made all(?) the slice-related changes to the Basis and made everything
756    compile again...
757    
758    ----------------------------------------------------------------------
759    Name: Matthias Blume (blume (at) tti - c (dot) org)
760    Date: 2003/09/15 17:45:00 CDT
761    Tag: blume-20030915-rbase
762    Description:
763    
764    Fixed bug in Real.fromLargeInt.
765    
766    ----------------------------------------------------------------------
767    Name: Matthias Blume (blume (at) tti - c (dot) org)
768    Date: 2003/09/13 18:11:00 CDT
769    Tag: blume-20030913-libinstall
770    Description:
771    
772    Minor bugfix in config/libinstall (set anchor with path to
773    standalone tool after installing it, otherwise libraries that
774    need ml-lex or ml-yacc won't compile the first time the installer
775    runs).
776    
777    ----------------------------------------------------------------------
778    Name: Matthias Blume (blume (at) tti - c (dot) org)
779    Date: 2003/09/12 11:45:00 CDT
780    Tag: blume-20030912-various
781    Description:
782    
783     - fixed bug in Real.toLargeInt
784     - fixed bug in Posix.ProcEnv.times
785     - changed inputLine functions to return an option
786     - minor installer improvements / bugfixes
787     - changed default @SMLalloc parameter for x86/celeron to 64k
788    
789    ----------------------------------------------------------------------
790    Name: Matthias Blume (blume (at) tti - c (dot) org)
791    Date: 2003/09/09 22:00:00 CDT
792    Tag: Release_110_43
793    Description:
794    
795        New working release 110.43.  New bootfiles.
796    
797    ----------------------------------------------------------------------
798    Name: Matthias Blume (blume (at) tti - c (dot) org)
799    Date: 2003/09/09 19:20:00 CDT
800    Tag: blume-20030909-installer
801    Description:
802    
803    Rewrote large parts of config/install.sh in SML (config/libinstall.sml).
804    Modified config/install.bat to take advantage of it.  Also modified
805    config/install.sh (and called it config/new-install.sh) to take advantage
806    of it on Unix systems.  (The SML code is (supposed to be) platform-
807    independent.)
808    
809    The installer can now install everything under Win32
810    as well as under *nix as long as it compiles.
811    
812    Other changes:
813    
814      - made CML compile again under Win32
815      - made eXene compile under Win32 (by providing a fake structure UnixSock
816        and by using OS.Process.getEnv instead of Posix.ProcEnv.getenv)
817      - fixed a bug in nowhere: it assumed that type OS.Process.status is the
818        same as type int;  under Win32 it isn't
819      - fixed some slice-related problems in the win32-specific parts of CML
820      - added a functor argument "sameVol" to os-path-fn.sml in the Basis
821        (under Win32, the volume name is case-insensitive, and the
822        OS.Path code compares volume names for equality)
823    
824    ----------------------------------------------------------------------
825    Name: Matthias Blume (blume (at) tti - c (dot) org)
826    Date: 2003/09/08 11:55:00 CDT
827    Tag: blume-20030908-fullpath
828    Description:
829    
830    Made Win32 version of OS.FileSys.fullPath return current directory
831    when given an empty string.  This is what the spec says, and incidentally,
832    CM depends on it.  (CM otherwise goes into an infinite loop in certain
833    cases when presented with the name of a non-existing .cm file.)
834    
835    ----------------------------------------------------------------------
836    Name: Matthias Blume (blume (at) tti - c (dot) org)
837    Date: 2003/09/04 16:30:00 CDT
838    Tag: blume-20030905-slices-etc
839    Description:
840    
841      1. Changed interface to vectors and arrays in Basis to match
842         (draft) Basis spec.
843      2. Added signatures and implementations of slices according to
844         Basis spec.
845      3. Edited source code throughout the system to make it compile again
846         under 1. and 2.  (In some cases code had to be added to have it
847         match the new signatures.)
848      4. MLRISC should be backward-compatible: the copies of the originals
849         of files that needed to change under 3. were retained, the .cm files
850         check the compiler version number and use old versions when
851         appropriate.
852      5. Changed type of OS.FileSys.readDir and Posix.FileSys.readdir to
853         dirstream -> string option (in accordance with Basis spec).
854      6. When generating code that counts lines, ml-lex used function
855         CharVector.foldli, taking advantage of its old interface.
856         This has been replaced with the corresponding code from
857         CharVectorSlice.  (html-lex must be re-lexed!)
858      7. BitArray in smlnj-lib/Util has been extended/modified to match the
859         new MONO_ARRAY signature.  (Do we need BitArraySlice?)
860      8. Removed temporary additions (fromInternal, toInternal) from the
861         (now obsolete) IntInf in smlnj-lib/Util.
862      9. Cleaned up structure Byte.
863     10. Added localOffset, scan, and fromString to Date (according to spec).
864         Cleaned/corrected implementation of Date.
865         (Still need to check for correctness; implement better canonicalizeDate.)
866     11. Added "scan" to signature IEEE_REAL.
867     12. Some improvements to IntInf [in particular: efficiency-hack for
868         mod and rem when second operand is 2 (for parity checks).]
869     13. Changed representation of type Time.time, using a single IntInf.int
870         value counting microseconds.  This considerably simplified the
871         implementation of structure Time.  We now support negative time
872         values; scan and fromString handle signs.
873     14. Functor PrimIO now takes two additional arguments (VectorSlice and
874         ArraySlice).
875    
876    ----------------------------------------------------------------------
877    Name: Matthias Blume (blume (at) tti - c (dot) org)
878    Date: 2003/08/28 17:00:00 CDT
879    Tag: blume-20030828-intinf
880    Description:
881    
882    This is a major update which comes with a version number bump
883    (110.42.99 -- yes, we are really close to 110.43 :-), NEW BOOTFILES,
884    and an implementation of IntInf in the Basis.
885    
886    There are a fairly large number of related changes and updates throughout
887    the system:
888    
889    Basis:
890            - Implemented IntInf.
891            - Made LargeInt a projection of IntInf (by filtering through INTEGER).
892            - Added some missing Real64 operations, most notably Real.toLargeInt.
893            - Added FixedInt as a synonym for Int32.
894    
895    compiler:
896            * Added support for a built-in intinf type.
897              - literals
898              - pattern matching
899              - conversion shortcuts (Int32.fromLarge o Int.toLarge etc.)
900              - overloading on literals and operations
901    
902            This required adding a primitive type intinf, some additional
903            primops, and implementations for several non-trivial intinf
904            operations in Core.  (The intinf type is completely abstract
905            to the compiler; all operations get delegated back to the Core.)
906    
907            * Intinf equality is handled by polyequal.  However, the compiler
908            does not print its usual warning in this case (since polyequal
909            is the right thing to do there).
910    
911            * Improved the organization of structure InlineT.
912    
913            * A word about conversion primops:
914            If conversions involving intinf do not cancel out during
915            CPS contract, then the compiler must insert calls to Core functions.
916            Since all core access must be resolved already during the FLINT
917            translate phase, it would be too late a the time of CPS contract
918            to add new Core calls.  For this reason, conversion primops
919            for intinf carry two arguments:  1. the numeric argument that
920            they are supposed to convert, and 2. the Core function that
921            can help with this conversion if necessary.  If CPS contract
922            eliminates a primop, then the associated Core function becomes
923            dead and goes away.  Intinf conversion primops that do not get
924            eliminated by CPS contract get rewritten into calls of their
925            core functions by a separate, new phase.
926    
927    interactive system:
928            - Control.Print.intinfDepth controls max length of intinf constants
929            being printed. (Analogous to Control.Print.stringDepth.)
930            - Cleanup in printutil and pputil: got rid of unused stuff and
931            duplicates; replaced some of the code with code that makes better
932            use of library functionality.
933    
934    CM:
935            Bugfix: parse-errors in init group (system/smlnj/init/init.cmi)
936            are no longer silent.
937    
938    CKIT:
939            Fixed mismatched uses of Int32 and LargeInt.  I always decided
940            in favor of LargeInt -- which is now the same as IntInf.
941            CKIT-knowledgable people should check whether this is what's
942            intended and otherwise change things back to using Int32 or
943            FixedInt.
944    
945    Throughout the code:
946            Started using IntInf.int literals and built-in operations
947            (e.g., comparison with 0) where this seems appropriate.
948    
949    
950    ----------------------------------------------------------------------
951    Name: Dave MacQueen (dbm@cs.uchicago.edu)
952    Date: 2003/08/13 11:36:00 CDT
953    Tag: dbm-20030813-mcz-merge1
954    Description:
955    
956    Merging changes from the mcz-branch development branch into trunk.
957    These changes involve replacement of the emulated old prettyprinter
958    interface with direct use of the SML/NJ Lib PP library, and fixing
959    of a couple of bugs (895, 1186) relating to error messages.  A new
960    prettyprinter for ast datatypes (Elaborator/print/ppast.{sig,sml})
961    has been added.
962    
963    ----------------------------------------------------------------------
964    Name: Matthias Blume (blume (at) tti - c (dot) org)
965    Date: 2003/08/11 15:45:00 CDT
966    Tag: blume-20030811-windows
967    Description:
968    
969    Version number bumped to 110.42.9.  NEW BOOTFILES!!!
970    
971        http://smlnj.cs.uchicago.edu/dist/working/110.42.9/
972    
973    This patch restores SML/NJ's ability to run under win32.  There are a
974    number of changes, including fixes for several bugs that had gone
975    unnoticed until now:
976    
977      - uname "CYGWIN_NT*" is recognized as win32 (This is relevant only when
978        trying to run the win32 version from within cygwin.)
979    
980      - There are a number of simple .bat scripts that substitute for their
981        corresponding Unix shell-scripts.  (See below.)
982    
983      - The internals of ml-build have been modified slightly.  The main
984        difference is that instead of calling ".link-sml" (or link-sml.bat)
985        using OS.Process.system, the ML process delegates this task back
986        to the script.  Otherwise problems arise in mixed environments such
987        as Cygwin where scripts look and work like Unix scripts, but
988        where OS.Process.system cannot run them.
989    
990      - In CM, the srcpath pickler used native pathname syntax -- which
991        is incorrect in the case of cross-compilation.  The new pickle format
992        is independent of platform-specific naming conventions.
993    
994      - Path configuration files (such as lib/pathconfig) can now choose
995        between native and standard syntax.  Placing a line of the form
996    
997            standard!
998    
999        into the file causes all subsequent paths to be interpreted using
1000        CM standard pathname syntax (= Unix conventions); a line
1001    
1002            native!
1003    
1004        switches back to native style.  This was needed so that
1005        path config files can be written portably, see src/system/pathconfig.
1006    
1007      - Runtime system:
1008    
1009          - win32-filesys.c:  get_file_time and set_file_time now
1010            access modification time, not creation time.
1011    
1012          - I/O code made aware of new array representation.
1013    
1014          - Bug fixes in X86.prim.masm.
1015    
1016       - src/system/makeml made aware of win32. (For use under cygwin
1017            and other Unix-environments for windows.)
1018    
1019       - In Basis, fixed off-by-one error in win32-io.sml (function vecF)
1020         which caused BinIO.inputAll to fail consistently.
1021    
1022    .bat scripts:
1023    
1024       Windows .bat scripts assume that SMLNJ_HOME is defined.
1025    
1026       - sml.bat, ml-yacc.bat, ml-lex.bat:  Driver scripts for standalone
1027         applications (sml, ml-yacc, ml-lex).
1028       - ml-build.bat: analogous to ml-build.
1029       - config\install.bat:  Analogous to config/install.sh.  This requires
1030         that SMLNJ_HOME is set and that Microsoft Visual C is ready to use.
1031         (nmake etc. must be on the path, and vcvars32 must have been run.)
1032         Moreover, sources for ml-lex and ml-yacc need to exist under src,
1033         and the bootfile hierarchy must have been unpacked under
1034         sml.boot.x86-win32.
1035         The script is very primitive and does a poor job at error checking.
1036         It only installs the base system, ml-lex, and ml-yacc.  No other
1037         libraries are being installed (i.e., you get only those that
1038         are part of the compiler.)
1039       - link-sml.bat:  analogous to .link-sml, but not currently used
1040    
1041    Unrelated bug fixes:
1042    
1043      - ml-nlffigen now exports structures ST_* corresponding to incomplete
1044        types.
1045      - Added getDevice to PP/src/pp-debug-fn.sml.  (Would not compile
1046        otherwise.)
1047    
1048    ----------------------------------------------------------------------
1049    Name: Dave MacQueen (macqueen@cs.uchicago.edu)
1050    Date: 2003/06/17
1051    Tag: macqueen-20030617-bug895
1052    Description:
1053    
1054    Modified compiler/Elaborator/print/pptype.sml to fix bug 895.
1055    Tag will be used for new development branch (mcz-branch) for
1056    use by MacQueen, (Lucasz) Zairek, and (George) Cao at uchicago.
1057    
1058    ----------------------------------------------------------------------
1059    Name: Matthias Blume (blume (at) tti - c (dot) org)
1060    Date: 2003/05/27 16:55:00 CDT
1061    Tag: blume-20030527-polyeq
1062    Description:
1063    
1064    Tried to eliminated most cases of polymorphic equality.
1065    
1066    ----------------------------------------------------------------------
1067    Name: Matthias Blume (blume (at) tti - c (dot) org)
1068    Date: 2003/05/21 17:45:00 CDT
1069    Tag: blume-20030517-complete
1070    Description:
1071    
1072    Two changes:
1073    
1074      1. Added a flag for controlling whether non-exhaustive bindings will
1075         be treated as errors (default is false).
1076      2. Cleaned up the *entire* source tree so that CMB.make goes through
1077         without a single non-exhaustive match- or bind warning.
1078    
1079    ----------------------------------------------------------------------
1080    Name: Matthias Blume (blume (at) tti - c (dot) org)
1081    Date: 2003/05/17 10:20:00 CDT
1082    Tag: blume-20030517-absyn
1083    Description:
1084    
1085    1. Added cases for IF, WHILE, ANDALSO, and ORELSE to Absyn.
1086    
1087       This mainly affects the quality of error messages.  However, some
1088       of the code is now more straightforward than before. (Treatment of
1089       the above four constructs in translate.sml is much simpler than
1090       the "macro-expansion" that was going on before.  Plus, the mach-
1091       compiler no longer gets invoked just to be able to compile an
1092       if-expression.)
1093    
1094    2. The ErrorMsg.Error exception is now caught and absorbed by the
1095       interactive loop.
1096    
1097    ----------------------------------------------------------------------
1098    Name: Allen Leung
1099    Date: 2003/05/16 13:05:00 CDT
1100    Tag: leunga-20030516-cygwin-runtime
1101    Description:
1102    
1103        Ported the runtime system to cygwin, which uses the unix
1104    x86-unix bin files.  Missing/buggy features:
1105    
1106       o getnetbyname, getnetbyaddr: these functions seem to be missing in
1107         the Cygwin library.
1108       o Ctrl-C handling may be flaky.
1109       o Windows system calls and Windows I/O are not supported.
1110    
1111       A new set of binfiles is located at:
1112    
1113         http://www.dorsai.org/~leunga/boot.x86-unix.tgz
1114    
1115       This is only needed for bootstrapping the cygwin version of smlnj.
1116       Other x86 versions can use the existing binfiles.
1117    
1118    ----------------------------------------------------------------------
1119    Name: Matthias Blume
1120    Date: 2003/04/08 15:42:00 CDT
1121    Tag: blume-20030408-listpair
1122    Description:
1123    
1124    1. Added a target 'mlrisc' to installer.
1125    
1126    2. Added missing elements to structure ListPair.
1127    
1128    ----------------------------------------------------------------------
1129    Name: Allen Leung
1130    Date: 2003/01/07 10:40:00 EST
1131    Tag: leunga-20030107-int-rem
1132    Description:
1133    
1134    Fixed a bug in Int.rem(x,y) where y is a power of 2 on x86.
1135    The arguments to the SUBL instruction were swapped.
1136    
1137    ----------------------------------------------------------------------
1138    Name: Matthias Blume
1139    Date: 2002/12/12 16:25:00 EST
1140    Tag: blume-20021212-risc-ra
1141    Description:
1142    
1143    Fixed a serious bug in the rewrite code for FP spilling/reloading that
1144    sent the RA into an infinite loop when floating point registers get
1145    spilled.  (Because of this bug, e.g., nucleic stopped compiling between
1146    110.37 and 110.38.)
1147    There was another set of potential problems related to the handling of
1148    MLRISC annotations (but those did not yet cause real problems, apparently).
1149    
1150    ----------------------------------------------------------------------
1151    Name: Matthias Blume
1152    Date: 2002/12/06 22:40:00 EST
1153    Tag: blume-20021206-cm-fileid
1154    Description:
1155    
1156    Added a call of SrcPath.sync at the beginning of Parse.parse (in CM).
1157    This fixes the problem of CM getting confused by files that suddenly
1158    change their identity (e.g., by getting unlinked and recreated by some
1159    text editor such as vi).  There might be a better/cheaper/cleaner way
1160    of doing this, but for now this will have to do.
1161    
1162    ----------------------------------------------------------------------
1163    Name: Matthias Blume
1164    Date: 2002/10/28 09:50:00 EST
1165    Tag: blume-20021028-typecheck
1166    Description:
1167    
1168    Exported structure Typecheck from $smlnj/viscomp/core.cm.
1169    
1170    ----------------------------------------------------------------------
1171    Name: Matthias Blume
1172    Date: 2002/10/17 09:10:00 EDT
1173    Tag: Release_110_42
1174    Description:
1175    
1176    In good old tradition, there has been a slight hiccup so that we have
1177    to patch 110.42 after the fact.   The old release tag has been replaced
1178    (see below).
1179    
1180    The change solves a problem with two competing approaches the
1181    configuration problem regarding MacOS 10.1 vs. MacOS 10.2 which got in
1182    each other's way.
1183    
1184    This change only affects the runtime system code and the installer script.
1185    (No new bootfiles.)
1186    
1187    ----------------------------------------------------------------------
1188    Name: Matthias Blume
1189    Date: 2002/10/16 12:00:00 EDT
1190    Tag: Release_110_42_removed
1191    Description:
1192    
1193    New working release.  New bootfiles.
1194    
1195    ----------------------------------------------------------------------
1196    Name: Matthias Blume
1197    Date: 2002/10/10 13:10:00 EDT
1198    Tag: blume-20021010-ppc-divs
1199    Description:
1200    
1201    The mltree operator DIVS must be implemented with an overflow check on
1202    the PPC because the hardware indicates divide-by-zero using "overflow" as
1203    well.
1204    
1205    ----------------------------------------------------------------------
1206    Name: Matthias Blume
1207    Date: 2002/07/23 11:45:00
1208    Tag: blume-20020723-smlnj-home
1209    Description:
1210    
1211    Sml now senses the SMLNJ_HOME environment variable.  If this is set,
1212    then the bin dir is assumed to be in $SMLNJ_HOME/bin and (unless
1213    CM_PATHCONFIG is also set), the path configuration file is assumed
1214    to be in $SMLNJ_HOME/lib/pathconfig.  This way one can easily move
1215    the entire tree to some other place and everything will "just work".
1216    
1217    (Companion commands such as ml-build and ml-makedepend also sense this
1218    variable.)
1219    
1220    ----------------------------------------------------------------------
1221    Name: Matthias Blume
1222    Date: 2002/07/12 21:19:00 EDT
1223    Tag: blume-20020712-liveness
1224    Description:
1225    
1226    Exported two useful "step" functions from liveness module (MLRISC).
1227    
1228    ----------------------------------------------------------------------
1229    Name: Matthias Blume
1230    Date: 2002/07/05 16:00 EDT
1231    Tag: Release_110_41
1232    Description:
1233    
1234    New working release.  New bootfiles.
1235    
1236    ----------------------------------------------------------------------
1237    Name: Matthias Blume
1238    Date: 2002/07/05 10:25:00 EDT
1239    Tag: blume-20020705-btimp
1240    Description:
1241    
1242    Exported structure BTImp from $smlnj/viscomp/debugprof.cm so that
1243    other clients can set up backtracing support.
1244    
1245    ----------------------------------------------------------------------
1246    Name: Matthias Blume
1247    Date: 2002/06/25 17:23:00 EDT
1248    Tag: blume-20020625-fpmax
1249    Description:
1250    
1251    Fixed a bug in translation of INLMAX (and INLMIN) for the floating-point
1252    case.  (The sense of the isNaN test was reversed -- which made min and
1253    max always return their first argument.)
1254    
1255    ----------------------------------------------------------------------
1256    Name: Matthias Blume
1257    Date: 2002/06/11
1258    Tag: blume-20020611-unixpath
1259    Description:
1260    
1261    Back-ported OS.Path.{from,to}UnixPath from idlbasis-devel branch.
1262    
1263    ----------------------------------------------------------------------
1264    Name: Matthias Blume
1265    Date: 2002/06/10 16:35:00 EDT
1266    Tag: blume-20020610-ieeereal
1267    Description:
1268    
1269    I back-ported my implementation of IEEEReal.fromString from the
1270    idlbasis-devel branch so that we can test it.
1271    
1272    Another small change is that ppDec tries to give more information
1273    than just "<sig>" in the case of functors.  However, this code is
1274    broken in some mysterious way if the functor's body's signature
1275    has not been declared by ascription but gets inferred from the
1276    implementation.  This needs fixing...
1277    
1278    ----------------------------------------------------------------------
1279    Name: Matthias Blume
1280    Date: 2002/05/31
1281    Tag: blume-20020531-btrace-mode
1282    Description:
1283    
1284    Resurrected SMLofNJ.Internals.BTrace.mode.  (It accidentally fell by
1285    the wayside when I switched over to using Controls everywhere.)
1286    
1287    ----------------------------------------------------------------------
1288    Name: Lal George
1289    Date: 2002/05/23 12:21:40 EDT
1290    Tag: george-20020523-visual-labels
1291    Description:
1292    
1293    Labels are now displayed in the graphical output to make
1294    the fall-through and target blocks obvious.
1295    
1296    ----------------------------------------------------------------------
1297    Name: Matthias Blume
1298    Date: 2002/05/22 11:03:00 EDT
1299    Tag: blume-20020522-shrink
1300    Description:
1301    
1302    John tweaked yesterday's fix for 1131 to handle an out-of-memory
1303    situation that comes up when allocating huge arrays.
1304    
1305    ----------------------------------------------------------------------
1306    Name: Matthias Blume
1307    Date: 2002/05/21 16:00:00 EDT
1308    Tag: Release_110_40
1309    Description:
1310    
1311    New working release (110.40).  New bootfiles.
1312    
1313    [Also: John Reppy fixed GC bug 1131.]
1314    
1315    ----------------------------------------------------------------------
1316    Name: Matthias Blume
1317    Date: 2002/05/21 12:35:00 EDT
1318    Tag: blume-20020521-cmdoc
1319    Description:
1320    
1321    CM documentation update.
1322    
1323    ----------------------------------------------------------------------
1324    Name: Matthias Blume
1325    Date: 2002/05/21 10:55:00 EDT
1326    Tag: blume-20020521-misc
1327    Description:
1328    
1329    - John tweaked runtime to be silent on heap export (except when
1330      GC messages are on).
1331    - I added a few more things (cross-compiling versions of CMB) to
1332      config/preloads (as suggestions).
1333    
1334    ----------------------------------------------------------------------
1335    Name: Matthias Blume
1336    Date: 2002/05/20 22:25:00 EDT
1337    Tag: blume-20020520-controls
1338    Description:
1339    
1340    - Added ControlUtil structure to control-lib.cm.
1341    - Use it throughout.
1342    - Used Controls facility to define MLRISC controls (as opposed to
1343      registering MLRISC control ref cells with Controls after the fact)
1344    - Fixed messed-up controls priorities.
1345    
1346    * Removed again all the stuff from config/preloads that one wouldn't
1347      be able to preload at the time the initial heap image is built.
1348      (Many libraries, e.g., CML, do not exist yet at this time.  The
1349       only libraries that can be preloaded via config/preloads are those
1350       that come bundled with the bootfiles.)
1351    
1352    ----------------------------------------------------------------------
1353    Name: Matthias Blume
1354    Date: 2002/05/20 10:59:00 EDT
1355    Tag: blume-20020520-preloads
1356    Description:
1357    
1358    Added a lot of commented-out suggestions for things to be included
1359    in config/preloads.
1360    
1361    ----------------------------------------------------------------------
1362    Name: Allen Leung
1363    Date: 2002/05/18 14:20:00 EDT
1364    Tag: leunga-20020518-mdl
1365    Description:
1366    
1367    o Made the mdl tool stuff compile and run again.
1368    o I've disabled all the stuff that depends on RTL specifications; they
1369      are all badly broken anyway.
1370    
1371    ----------------------------------------------------------------------
1372    Name: Matthias Blume
1373    Date: 2002/05/17 16:49:00 EDT
1374    Tag: blume-20020517-controls
1375    Description:
1376    
1377    0. John Reppy made several modifications to the SML/NJ library.
1378       In particular, there is a shiny new controls-lib.cm.
1379    
1380    1. Pushed new controls interface through compiler so that everything
1381       compiles again.
1382    
1383    2. Added FormatComb and FORMAT_COMB to the CML version of the
1384       SML/NJ library (so that CML compiles again).
1385    
1386    3. Modified init scripts because XXX_DEFAULT environment variables
1387       are no longer with us.  (Boot-time initialization is now done
1388       using the same environment variables that are also used for
1389       startup-time initialization of controls.)
1390    
1391    ----------------------------------------------------------------------
1392    Name: Lal George
1393    Date: 2002/05/15 09:20:10 EDT
1394    Tag: george-20020515-pseudo-op-decls
1395    Description:
1396    
1397            All pseudo-ops emitted before the first segment declaration
1398    such as TEXT, DATA, and BSS directives are assumed to be global
1399    declarations and are emitted first in the assembly file. This is
1400    useful in a number of situations where one has pseudo-ops that are not
1401    specific to any segment, and also works around the constraint that one
1402    cannot have client pseudo-ops in the TEXT segment.
1403    
1404            Because no segment is associated with these declarations it is
1405    an error to allocate any space or objects before the first segment
1406    directive and an exception will be raised. However, we cannot make
1407    this check for client pseudo-ops.
1408    
1409            These top level declarations are a field in the CFG graph_info.
1410    In theory you can continue to add to this field after the CFG has been
1411    built -- provided you know what you are doing;-)
1412    
1413    ----------------------------------------------------------------------
1414    Name: Matthias Blume
1415    Date: 2002/05/13 16:40:00 EDT
1416    Tag: blume-20020513-pp-etc
1417    Description:
1418    
1419    A few minor bugfixes:
1420    
1421      - Stopgap measure for bug recently reported by Elsa Gunter (ppDec).
1422        (Bogus printouts for redefined bindings still occur.  Compiler
1423        bug should no longer occur now.  We need to redo the prettyprinter
1424        from scratch.)
1425    
1426      - CM pathname printer now also adds escape sequences for ( and )
1427    
1428      - commend and docu fixes for ml-nlffi
1429    
1430    ----------------------------------------------------------------------
1431  Name: Matthias Blume  Name: Matthias Blume
1432  Date: 2002/05/10 16:40:00 EDT  Date: 2002/05/10 16:40:00 EDT
1433  Tag: blume-20020510-erg-textio  Tag: blume-20020510-erg-textio

Legend:
Removed from v.1189  
changed lines
  Added in v.1602

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