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

Legend:
Removed from v.1489  
changed lines
  Added in v.1629

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