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 1409, Mon Nov 3 22:00:35 2003 UTC revision 1613, Wed Aug 11 03:35:58 2004 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Allen Leung (leunga (at) reservoir (dot) com)
17    Date: 2004/08/10 23:35:00 EST
18    Tag: leunga-110_48-ppc
19    Description:
20    
21       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
22    
23    ----------------------------------------------------------------------
24    Name: Matthias Blume (blume (at) tti - c (dot) org)
25    Date: 2004/10/04 12:00:00 CDT
26    Tag: Release_110_48
27    Description:
28    
29    New working version (110.48).  NEW BOOTFILES!
30    
31    ----------------------------------------------------------------------
32    Name: Allen Leung (leunga (at) reservoir (dot) com)
33    Date: 2004/08/09 12:21:00 EST
34    Tag: leunga-110_47-dijsktra
35    Description:
36    
37    Bug fix from Carl Hauser:
38    
39    single_source_shortest_paths in dijkstra.sml was observed to get wrong
40    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
41    
42    The problem is that following the expression A.update(dist,s,Num.zero)
43    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
44    
45    ----------------------------------------------------------------------
46    Name: Matthias Blume (blume (at) tti - c (dot) org)
47    Date: 2004/08/06 18:10:00 CDT
48    Tag: blume-20040806-cmdline
49    Description:
50    
51    Fiddled with handling of command-line options:
52    
53      * sml now quits after processing the command line
54        if -H, -S, -h<n>, or -s<n> appears as the last
55        command-line argument
56      * a new option -q terminates the session when encountered on
57        the command line; subsequent arguments will be ignored
58      * bug fixes: short (erroneous) arguments are no longer ignored
59        completely
60    
61    ----------------------------------------------------------------------
62    Name: Allen Leung (leunga (at) reservoir (dot) com)
63    Date: 2004/08/04 18:17:00 EST
64    Tag: leunga-110_47-ppc-ibm-asm
65    Description:
66    
67      - Added minimal IBM assembly syntax support for PowerPC.
68    
69      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
70        been altered in the runtime.  We need an automatic way to keep the file
71        in sync.
72    
73    ----------------------------------------------------------------------
74    Name: Matthias Blume (blume (at) tti - c (dot) org)
75    Date: 2004/08/04 14:00:00 CDT
76    Tag: Release_110_47
77    Description:
78    
79    New working version (110.47).  NEW BOOTFILES!
80    
81    ----------------------------------------------------------------------
82    Name: Matthias Blume (blume (at) tti - c (dot) org)
83    Date: 2004/08/03 14:25:00 CDT
84    Tag: blume-20040803-callingconv
85    Description:
86    
87    Added low-level support for choosing C calling conventions by
88    twiddling the type of rawccall.  (See
89    src/compiler/Semant/types/cproto.sml for details.)
90    
91    ----------------------------------------------------------------------
92    Name: Matthias Blume (blume (at) tti - c (dot) org)
93    Date: 2004/08/02 15:55:00 CDT
94    Tag: blume-20040802-backout
95    Description:
96    
97    Backed out of change to win32-filesys.c.  The earlier patch to
98    get_file_time caused CM to produce files with the wrong time stamp.
99    
100    ----------------------------------------------------------------------
101    Name: Matthias Blume (blume (at) tti - c (dot) org)
102    Date: 2004/08/02 14:45:00 CDT
103    Tag: blume-20040802-nlffi-win32
104    Description:
105    
106    Added NLFFI support for Win32, adapted from a patch provided by David
107    Hansel.  This is currently completely untested.  Also, the issue
108    concerning stdcall vs. ccall is still unresolved.
109    
110    ----------------------------------------------------------------------
111    Name: Matthias Blume (blume (at) tti - c (dot) org)
112    Date: 2004/07/30 17:55:00 CDT
113    Tag: blume-20040730-various
114    Description:
115    
116    Gearing up towards 110.47...
117    
118    - various minor bugfixes to ml-nlffigen
119    - a beginning of a manual for nlffi
120    
121    - eliminated 'export name=value' in config/install.sh as this does
122      not work with certain versions of /bin/sh
123      (Thanks to David King at Motorola for catching this.)
124    
125    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
126      - added a test for tm==NULL to gmtime.c and localtime.c
127      - applied patch for incorrect GetFileTime under win32
128      - toSeconds -> toMilliseconds in Win32/win32-process.sml
129    
130    ----------------------------------------------------------------------
131    Name: Matthias Blume (blume (at) tti - c (dot) org)
132    Date: 2004/07/21 18:20:00 CDT
133    Tag: blume-20040721-nlffigen
134    Description:
135    
136    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
137      for a typedef to an incomplete type, but leave out the "typ" member.
138      (This is just for consistency.)
139    - Started to produce what is supposed to become better (i.e., comprehensive)
140      documentation of what ml-nlffigen does and produces.
141    
142    ----------------------------------------------------------------------
143    Name: Matthias Blume (blume (at) tti - c (dot) org)
144    Date: 2004/07/14 16:25:00 CDT
145    Tag: blume-20040714-union
146    Description:
147    
148    Added C_UNION to c-calls/c-types.sml and updated the machinery
149    (ml-nlffigen, cproto.sml) that conveys C function interface
150    information to the code generator.
151    
152    However, the actual architecture-specific implementation of function
153    arguments and results that are C unions is still not implemented.
154    
155    ----------------------------------------------------------------------
156    Name: Allen Leung (leunga (at) reservoir (dot) com)
157    Date: 2004/07/14 14:38:00 EST
158    Tag: leunga-110_46_1-ppc-lwzu
159    Description:
160    
161        Added these instructions to the PowerPC architecture:
162        LBZU(X), LHZU(X), LWZU(X),
163        STWU(X), STFDU, STFSU
164    
165        etc...
166    
167        Note: I haven't added their instruction encoding into the description.
168    
169    ----------------------------------------------------------------------
170    Name: Allen Leung (leunga (at) reservoir (dot) com)
171    Date: 2004/07/13 15:04:00 EST
172    Tag: leunga-110_46_1-ppc-lwarx
173    Description:
174    
175       Added the two instructions LWARX and STWCX to the PowerPC
176    instruction set.
177    
178       A (untested) rewrite of loop-structure.sml.  The old version
179    is completely broken.
180    
181    ----------------------------------------------------------------------
182    Name: Matthias Blume (blume (at) tti - c (dot) org)
183    Date: 2004/07/13 13:50:00 CDT
184    Tag: blume-20040713-nlffi
185    Description:
186    
187    - use paramAlloc to report c-calls with too many arguments
188      (for PPC version where parameter area is pre-allocated)
189    - added ccall_maxargspace to machspec (to implement the above)
190    - made "make" commend in CM's "make" tool configurable
191    - added option (default: on) for passing the name of the SML/NJ's "bin"
192      directory to "make"; the call looks like this:
193    
194         make <options> SMLNJ_BINDIR=<dir> <target>
195    
196      This can be used by the Makefile to, e.g., pick the "right" version
197      of ml-nlffigen.
198    - minor code tweaks
199    
200    ----------------------------------------------------------------------
201    Name: Matthias Blume (blume (at) tti - c (dot) org)
202    Date: 2004/07/12 22:50:00 CDT
203    Tag: blume-110_46_1-macosx-nlffi
204    Description:
205    
206    NLFFI under Mac OS X now working (sort of).  This is largely untested,
207    though.
208    
209    Note:  1. You have to make a new, clean build of the runtime system.
210           2. There are new BOOTFILES, you have to use them!
211              (Doing the bootstrap process yourself would be *very* painful!
212               If you absolutely have to do it, build the system under
213               a different architecture and then cross-compile.)
214    
215    Version bumped to 110.46.1 to account for runtime data format changes.
216    
217    ----------------------------------------------------------------------
218    Name: Matthias Blume (blume (at) tti - c (dot) org)
219    Date: 2004/06/18 14:30:00 CDT
220    Tag: blume-20040618-unix
221    Description:
222    
223    Changed the implementation of structure Unix so that the same stream
224    is returned every time one of the {text,bin}{In,Out}streamOf functions
225    is invoked on the same proc.  This is not what the spec currently
226    says -- although IMO it arguably should.  (See discussion below.)
227    
228    ----------------------------------------------------------------------
229    Name: Matthias Blume (blume (at) tti - c (dot) org)
230    Date: 2004/06/17 18:15:00 CDT
231    Tag: Release_110_46
232    Description:
233    
234    New working version (110.46).  NEW BOOTFILES!
235    
236    ----------------------------------------------------------------------
237    Name: Matthias Blume (blume (at) tti - c (dot) org)
238    Date: 2004/06/17 17:20:00 CDT
239    Tag: blume-20040617-timer-unix
240    Description:
241    
242    Changed the interface of structures Timer and Unix to match the most
243    recent Basis spec.
244    
245    In the case of Unix there still seems to be an open/weird issue:
246    
247       The {text,bin}{In,Out}streamOf functions are supposed to create
248       fresh streams whenever they are called -- as opposed to have them
249       return the same stream every time.  This design is supposed to
250       prevent space leaks caused by proc values hanging on to streams.
251    
252       The reap function, on the other hand, is supposed to close the
253       streams.  This cannot be done without having a handle on the
254       stream in proc after all...
255    
256    I took the liberty to implement the following stopgap solution:
257    
258      The proc value hangs on to the most recently created stream(s).
259      Reap closes those.  If either or both of the two streams hadn't
260      been created at all yet, then reap will close the corresponding
261      file descriptors directly.
262    
263    PS: I don't understand the original space leak argument anymore.  If
264    a proc hangs on to the imperative stream, then I/O operations on those
265    will advance the state of the cached stream and avoid the space leak.
266    
267    ----------------------------------------------------------------------
268    Name: Matthias Blume (blume (at) tti - c (dot) org)
269    Date: 2004/05/28 16:45:00 CDT
270    Tag: blume-20040528-basis
271    Description:
272    
273    Added signature PACK_REAL and exported functor PrimIO.
274    
275    ----------------------------------------------------------------------
276    Name: Matthias Blume (blume (at) tti - c (dot) org)
277    Date: 2004/05/25 16:00:00 CDT
278    Tag: blume-20040525-group-owner
279    Description:
280    
281    CM now ignores (but still accepts) the "owner" information in group
282    descriptions.  The owner of a group is its next enclosing
283    library. Each group must have a unique owner.  (There is a virtual
284    "toplevel" library that owns groups which are not nested within a real
285    library.)  Previously, each group had to explicitly declare its owner,
286    and CM would check that such a declaration is correct.  The new scheme
287    is to have CM check that for each group there is precisely one owning
288    library.
289    
290    The advantage of the new scheme is that the programmer no longer needs
291    to maintain the somewhat annoying owner information.  The downside is
292    that CM cannot enforce the ownership rule across multiple runs of
293    CM.make.  Fortunately, enclosing the same group in two different
294    libraries A and B which are not part of the same program does not
295    cause real problems.
296    
297    ----------------------------------------------------------------------
298    Name: Matthias Blume (blume (at) tti - c (dot) org)
299    Date: 2004/05/20 16:00:00 CDT
300    Tag: blume-20040520-win32
301    Description:
302    
303    Made the win32 version work again.  (Strangely, a misplaced comma had
304    slipped into win32-process.c which prevented the runtime from being
305    compiled correctly.)
306    
307    Also, included a minor addition to ml-build.bat analogous to what was
308    done in blume-20040519-ml-build.
309    
310    ----------------------------------------------------------------------
311    Name: Matthias Blume (blume (at) tti - c (dot) org)
312    Date: 2004/05/19 22:10:00 CDT
313    Tag: blume-20040519-ml-build
314    Description:
315    
316    Arranged for ml-build to clean up after itself a little bit better.
317    The script generates a temporary SML source file and compiles it using
318    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
319    gets rid of those at the end, so they don't accumulate under .cm.
320    
321    This required a minor change to install.sh because the name of the
322    metadata directory (default: .cm) is actually configurable at
323    installation time.
324    
325    ----------------------------------------------------------------------
326    Name: Matthias Blume (blume (at) tti - c (dot) org)
327    Date: 2004/05/18 15:50:00 CDT
328    Tag: blume-20040518-mkreader
329    Description:
330    
331    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
332    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
333    
334    ----------------------------------------------------------------------
335    Name: Matthias Blume (blume (at) tti - c (dot) org)
336    Date: 2004/05/11 14:35:00 CDT
337    Tag: blume-20040511-win32sock
338    Description:
339    
340    Added previously missing support for many socket-related functions
341    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
342    for the voluminous patch!
343    
344    (I have not tested this patch under win32 yet.)
345    
346    Here is David's e-mail:
347    
348    Hi,
349    
350    Attached to this email you find a diff against sml/nj 110.45
351    that will enable socket support under Windows.
352    
353    To apply the patch (using unix or cygwin)
354    1) gunzip runtime.diff.gz
355    2) "cd" into "src/runtime" in the source tree of a fresh
356       110.45 installation.
357    3) patch -p 1 < [your/path/to]runtime.diff
358    
359    The code compiles fine but has NOT yet been extensively tested.
360    I only ran a few tests for basic socket client functionality
361    (which worked fine).  Especially the functions that use ioctl
362    are not tested at all and might not work (see below).
363    
364    I implemented this since we want to move to a newer version of sml/nj
365    but need socket support in order to use it.  This is the first time I
366    even had a look at the sml/nj source,  so please review my changes
367    before making this part of the distribution!  Here are a few issues
368    that I think might be better for someone to solve who is more
369    familiar with the sml/nj source (and socket programming):
370    
371    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
372      exception since I could not figure out what the windows equivalent
373      of these functions is
374    
375    - In sockets-osdep.h there are a some #include statements that are
376      only used in a few files that include sockets-osdep.h
377    
378    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
379      does not process its return value since I don't know how to
380      report an error upwards.
381    
382    - It would probably be good to have a call to WSACleanup() when
383      the library is unloaded (if there is such a possibility).
384      Otherwise I think Windows will take care of this automatically
385      when the process finishes.
386    
387    - I used ioctlsocket() as a replacement for ioctl() but I have
388      no idea if that is actually the proper replacement on Windows.
389    
390    - All these issues are marked in the code by "FIXME" comments.
391    
392    We use sml/nj extensively in our products and are quite happy
393    with it.  I hope this contribution will help you.
394    
395    Keep up the good work!
396    
397    David
398    
399    ----------------------------------------------------------------------
400    Name: Matthias Blume (blume (at) tti - c (dot) org)
401    Date: 2004/05/11 14:20:00 CDT
402    Tag: blume-20040511-installml
403    Description:
404    
405    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
406    the patch.)
407    
408    ----------------------------------------------------------------------
409    Name: Matthias Blume (blume (at) tti - c (dot) org)
410    Date: 2004/05/11 14:05:00 CDT
411    Tag: blume-20040511-nlffi-netbsd
412    Description:
413    
414    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
415    the patch.)
416    
417    ----------------------------------------------------------------------
418    Name: Matthias Blume (blume (at) tti - c (dot) org)
419    Date: 2004/05/11 12:05:00 CDT
420    Tag: blume-20040511-exports
421    Description:
422    
423    As per request by Adam Chlipala <adam@hcoop.net>, extended various
424    export lists in compiler-related .cm-files.
425    
426    ----------------------------------------------------------------------
427    Name: Matthias Blume (blume (at) tti - c (dot) org)
428    Date: 2004/05/11 11:35:00 CDT
429    Tag: blume-20040511-allsource
430    Description:
431    
432    The installer now honors the "src-smlnj" target again, although its meaning
433    has changed from "all sources required for the compiler" to "all sources
434    the installer knows about".  In other words, if you enable "src-smlnj"
435    in the "targets" file, then the installer will pull in sources for
436    everything.  (Notice that this refers to source code only.  Compiled
437    code is still only installed for modules that were requested explicitly
438    or which are required for other modules that were requested explicitly.)
439    
440    ----------------------------------------------------------------------
441    Name: Matthias Blume (blume (at) tti - c (dot) org)
442    Date: 2004/04/23 17:40:00 CDT
443    Tag: blume-20040423-ieee-scan
444    Description:
445    
446    Fixed IEEEReal.scan (and .fromString) so that if there is an overflow
447    in the exponent calculation we get INF or ZERO (depending on the mantissa
448    and the sign of the exponent).
449    
450    ----------------------------------------------------------------------
451    Name: Matthias Blume (blume (at) tti - c (dot) org)
452    Date: 2004/04/23 10:40:00 CDT
453    Tag: blume-20040423-ml-build
454    Description:
455    
456    The ml-build script now terminates with a non-0 status when something
457    goes wrong.
458    
459    ----------------------------------------------------------------------
460    Name: Matthias Blume (blume (at) tti - c (dot) org)
461    Date: 2004/04/22 16:35:00 CDT
462    Tag: blume-20040422-Option
463    Description:
464    
465    Made exception Option to be the same as exception Option.Option
466    (as it should be).
467    
468    ----------------------------------------------------------------------
469    Name: Allen Leung (leunga (at) reservoir (dot) com)
470    Date: 2004/03/19 14:40:00 EST
471    Tag: leunga-20040319-cygwin-nlffi
472    Description:
473    
474    Fixed the runtime so that ml-nlffi-lib runs on the cygwin version
475    of SML/NJ.  The problem is that
476    
477       lib = dlopen(NULL, ...)
478       f   = dlsym(lib, "malloc");
479    
480    does not work on Windows unless we explicitly export symbols
481    such as 'malloc' during linking.  We fixed this by explicitly
482    exporting the required symbols with the magic gcc incantation:
483    
484        -Wl,--export-all cygwin.def
485    
486    where cygwin.def is a file containing all the symbols that
487    we wish to export.
488    
489    I suspect this is a Windows problem and we'll have to
490    do the same (somehow with windows compilers) when
491    we build the native win32 version with the system
492    calls LoadLibrary/GetProcAddress.
493    
494    ----------------------------------------------------------------------
495    Name: Matthias Blume (blume (at) tti - c (dot) org)
496    Date: 2004/03/04 16:35:00 CST
497    Tag: blume-20040304-intinf-fmt
498    Description:
499    
500    Fixed problem with IntInf.fmt (sign would show up on the right instead
501    of on the left for BIN, OCT, and HEX).
502    
503    ----------------------------------------------------------------------
504    Name: Matthias Blume (blume (at) tti - c (dot) org)
505    Date: 2004/03/04 11:25:00 CST
506    Tag: blume-20040304-symlinks
507    Description:
508    
509    Fixed problem with installer script (unix only) where bin/ml-yacc and
510    friends pointed (via symlinks) to absolute locations instead of just
511    .run-sml.  This was reported by Vesa A Norrman.
512    
513    ----------------------------------------------------------------------
514    Name: Matthias Blume (blume (at) tti - c (dot) org)
515    Date: 2004/02/13 14:50:00 CST
516    Tag: Release_110_45
517    Description:
518    
519    New working version (110.45). New bootfiles.
520    
521    ----------------------------------------------------------------------
522    Name: Matthias Blume (blume (at) tti - c (dot) org)
523    Date: 2004/01/26 15:15:15 CST
524    Tag: blume-20040126-toplevel
525    Description:
526    
527    Improved handling of exceptions at the interactive toplevel.
528    
529    ----------------------------------------------------------------------
530    Name: Matthias Blume (blume (at) tti - c (dot) org)
531    Date: 2004/01/26 11:25:00
532    Tag: blume-20040126-app
533    Description:
534    
535    Type of top-level "app" corrected.
536    Added code for setting vp_limitPtrMask to Win32-specific runtime.
537    
538    ----------------------------------------------------------------------
539    Name: Matthias Blume (blume (at) tti - c (dot) org)
540    Date: 2003/11/18 17:10 CST
541    Tag: blume-20031118-basis-fiddle
542    Description:
543    
544    - changed Timer interface to what might become the spec
545    - POSIX_FLAGS -> BIT_FLAGS according to spec
546    - some other minor discrepancies wrt. spec eliminated
547    
548    ----------------------------------------------------------------------
549    Name: Matthias Blume (blume (at) tti - c (dot) org)
550    Date: 2003/11/06 12:00:00 CST
551    Tag: Release_110_44
552    Description:
553    
554    New working version (110.44). New bootfiles.
555    
556    ----------------------------------------------------------------------
557    Name: Matthias Blume (blume (at) tti - c (dot) org)
558    Date: 2003/11/04 11:50:00 CST
559    Tag: blume-20031104-move-libraries
560    Description:
561    
562    Eliminated the "dont_move_libraries" directive in config/targets.
563    (The mechanism was broken and could not be fixed easily.  Moreover,
564    there does not seem to be any reason not to move all libraries into
565    lib during installation.  I originally implemented this directive as a
566    backward-compatibility feature when I first introduced the new CM.
567    Now that things have been stable for a long time and going back to the
568    old CM is not an option, there is no reason to keep it around.)
569    
570    ----------------------------------------------------------------------
571  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
572  Date: 2003/11/03 16:00:00 CST  Date: 2003/11/03 16:00:00 CST
573  Tag: blume-20031103-installdir  Tag: blume-20031103-installdir

Legend:
Removed from v.1409  
changed lines
  Added in v.1613

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