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

Legend:
Removed from v.1394  
changed lines
  Added in v.1580

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