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

Legend:
Removed from v.1427  
changed lines
  Added in v.1616

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