--- sml/trunk/HISTORY 2004/05/11 19:01:04 1487 +++ sml/trunk/HISTORY 2004/09/03 15:27:05 1618 @@ -7,12 +7,462 @@ The form of an entry should be: -Name: +Name: Date: yyyy/mm/dd Tag: Description: ---------------------------------------------------------------------- +Name: Allen Leung (leunga (at) reservoir (dot) com) +Date: 2004/09/03 11:26:00 EST +Tag: leunga-20040903-cygwin-install +Description: + + Added a patch to _arch-n-opsys to enable the Cygwin runtime. +The Cygwin runtime is turned on by setting the environment +variable SMLNJ_CYGWIN_RUNTIME to 1. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/08/31 17:15:00 CDT +Tag: blume-20040831-core +Description: + +Added some exports to src/compiler/core.cm upon request by J. Joemann. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/08/30 17:55:00 CDT +Tag: blume-20040830-installer +Description: + +Upon request by Johannes Joemann: + +- improved ML code of installer to fall back to coping when renaming + fails (i.e., when source and target are on different file systems); + the code compiles but has yet to be tested in anger +- removed mlrisc from list of default targets (config/targets) + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/08/27 17:20:00 CDT +Tag: blume-20040827-ptreql +Description: + +Added ptreql primop to structure InlineT (upon request from Larry +Paulson). + +---------------------------------------------------------------------- +Name: Allen Leung (leunga (at) reservoir (dot) com) +Date: 2004/08/15 21:21:00 EST +Tag: leunga-110_48-udgraph +Description: + +Another bug fix from Carl Hauser: + +diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml +> 48c48 +> < | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else +> e::L) +> --- +> > | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L) +> Without this, any deletion of an edge in an undirected graph does severe +> violence to the graph. + +---------------------------------------------------------------------- +Name: Allen Leung (leunga (at) reservoir (dot) com) +Date: 2004/08/10 23:35:00 EST +Tag: leunga-110_48-ppc +Description: + + The IBM/MacOS syntax switch on PPC was incorrectly swapped. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/08/10 12:00:00 CDT +Tag: Release_110_48 +Description: + +New working version (110.48). NEW BOOTFILES! + +---------------------------------------------------------------------- +Name: Allen Leung (leunga (at) reservoir (dot) com) +Date: 2004/08/09 12:21:00 EST +Tag: leunga-110_47-dijsktra +Description: + +Bug fix from Carl Hauser: + +single_source_shortest_paths in dijkstra.sml was observed to get wrong +answers (by comparing to single_source_shortest_paths in bellman-ford.sml). + +The problem is that following the expression A.update(dist,s,Num.zero) +it is necessary to update the priority queue using Q.decreaseWeight(Q,s). + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/08/06 18:10:00 CDT +Tag: blume-20040806-cmdline +Description: + +Fiddled with handling of command-line options: + + * sml now quits after processing the command line + if -H, -S, -h, or -s appears as the last + command-line argument + * a new option -q terminates the session when encountered on + the command line; subsequent arguments will be ignored + * bug fixes: short (erroneous) arguments are no longer ignored + completely + +---------------------------------------------------------------------- +Name: Allen Leung (leunga (at) reservoir (dot) com) +Date: 2004/08/04 18:17:00 EST +Tag: leunga-110_47-ppc-ibm-asm +Description: + + - Added minimal IBM assembly syntax support for PowerPC. + + - Cygwin: manually changed the file cygwin.def. Some exported symbols have + been altered in the runtime. We need an automatic way to keep the file + in sync. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/08/04 14:00:00 CDT +Tag: Release_110_47 +Description: + +New working version (110.47). NEW BOOTFILES! + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/08/03 14:25:00 CDT +Tag: blume-20040803-callingconv +Description: + +Added low-level support for choosing C calling conventions by +twiddling the type of rawccall. (See +src/compiler/Semant/types/cproto.sml for details.) + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/08/02 15:55:00 CDT +Tag: blume-20040802-backout +Description: + +Backed out of change to win32-filesys.c. The earlier patch to +get_file_time caused CM to produce files with the wrong time stamp. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/08/02 14:45:00 CDT +Tag: blume-20040802-nlffi-win32 +Description: + +Added NLFFI support for Win32, adapted from a patch provided by David +Hansel. This is currently completely untested. Also, the issue +concerning stdcall vs. ccall is still unresolved. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/07/30 17:55:00 CDT +Tag: blume-20040730-various +Description: + +Gearing up towards 110.47... + +- various minor bugfixes to ml-nlffigen +- a beginning of a manual for nlffi + +- eliminated 'export name=value' in config/install.sh as this does + not work with certain versions of /bin/sh + (Thanks to David King at Motorola for catching this.) + +- several bugfixes provided or suggested by David Hansel at Reactive Systems: + - added a test for tm==NULL to gmtime.c and localtime.c + - applied patch for incorrect GetFileTime under win32 + - toSeconds -> toMilliseconds in Win32/win32-process.sml + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/07/21 18:20:00 CDT +Tag: blume-20040721-nlffigen +Description: + +- Fixed minor issue in ml-nlffigen: Now generate structure T_foo + for a typedef to an incomplete type, but leave out the "typ" member. + (This is just for consistency.) +- Started to produce what is supposed to become better (i.e., comprehensive) + documentation of what ml-nlffigen does and produces. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/07/14 16:25:00 CDT +Tag: blume-20040714-union +Description: + +Added C_UNION to c-calls/c-types.sml and updated the machinery +(ml-nlffigen, cproto.sml) that conveys C function interface +information to the code generator. + +However, the actual architecture-specific implementation of function +arguments and results that are C unions is still not implemented. + +---------------------------------------------------------------------- +Name: Allen Leung (leunga (at) reservoir (dot) com) +Date: 2004/07/14 14:38:00 EST +Tag: leunga-110_46_1-ppc-lwzu +Description: + + Added these instructions to the PowerPC architecture: + LBZU(X), LHZU(X), LWZU(X), + STWU(X), STFDU, STFSU + + etc... + + Note: I haven't added their instruction encoding into the description. + +---------------------------------------------------------------------- +Name: Allen Leung (leunga (at) reservoir (dot) com) +Date: 2004/07/13 15:04:00 EST +Tag: leunga-110_46_1-ppc-lwarx +Description: + + Added the two instructions LWARX and STWCX to the PowerPC +instruction set. + + A (untested) rewrite of loop-structure.sml. The old version +is completely broken. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/07/13 13:50:00 CDT +Tag: blume-20040713-nlffi +Description: + +- use paramAlloc to report c-calls with too many arguments + (for PPC version where parameter area is pre-allocated) +- added ccall_maxargspace to machspec (to implement the above) +- made "make" commend in CM's "make" tool configurable +- added option (default: on) for passing the name of the SML/NJ's "bin" + directory to "make"; the call looks like this: + + make SMLNJ_BINDIR= + + This can be used by the Makefile to, e.g., pick the "right" version + of ml-nlffigen. +- minor code tweaks + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/07/12 22:50:00 CDT +Tag: blume-110_46_1-macosx-nlffi +Description: + +NLFFI under Mac OS X now working (sort of). This is largely untested, +though. + +Note: 1. You have to make a new, clean build of the runtime system. + 2. There are new BOOTFILES, you have to use them! + (Doing the bootstrap process yourself would be *very* painful! + If you absolutely have to do it, build the system under + a different architecture and then cross-compile.) + +Version bumped to 110.46.1 to account for runtime data format changes. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/06/18 14:30:00 CDT +Tag: blume-20040618-unix +Description: + +Changed the implementation of structure Unix so that the same stream +is returned every time one of the {text,bin}{In,Out}streamOf functions +is invoked on the same proc. This is not what the spec currently +says -- although IMO it arguably should. (See discussion below.) + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/06/17 18:15:00 CDT +Tag: Release_110_46 +Description: + +New working version (110.46). NEW BOOTFILES! + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/06/17 17:20:00 CDT +Tag: blume-20040617-timer-unix +Description: + +Changed the interface of structures Timer and Unix to match the most +recent Basis spec. + +In the case of Unix there still seems to be an open/weird issue: + + The {text,bin}{In,Out}streamOf functions are supposed to create + fresh streams whenever they are called -- as opposed to have them + return the same stream every time. This design is supposed to + prevent space leaks caused by proc values hanging on to streams. + + The reap function, on the other hand, is supposed to close the + streams. This cannot be done without having a handle on the + stream in proc after all... + +I took the liberty to implement the following stopgap solution: + + The proc value hangs on to the most recently created stream(s). + Reap closes those. If either or both of the two streams hadn't + been created at all yet, then reap will close the corresponding + file descriptors directly. + +PS: I don't understand the original space leak argument anymore. If +a proc hangs on to the imperative stream, then I/O operations on those +will advance the state of the cached stream and avoid the space leak. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/05/28 16:45:00 CDT +Tag: blume-20040528-basis +Description: + +Added signature PACK_REAL and exported functor PrimIO. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/05/25 16:00:00 CDT +Tag: blume-20040525-group-owner +Description: + +CM now ignores (but still accepts) the "owner" information in group +descriptions. The owner of a group is its next enclosing +library. Each group must have a unique owner. (There is a virtual +"toplevel" library that owns groups which are not nested within a real +library.) Previously, each group had to explicitly declare its owner, +and CM would check that such a declaration is correct. The new scheme +is to have CM check that for each group there is precisely one owning +library. + +The advantage of the new scheme is that the programmer no longer needs +to maintain the somewhat annoying owner information. The downside is +that CM cannot enforce the ownership rule across multiple runs of +CM.make. Fortunately, enclosing the same group in two different +libraries A and B which are not part of the same program does not +cause real problems. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/05/20 16:00:00 CDT +Tag: blume-20040520-win32 +Description: + +Made the win32 version work again. (Strangely, a misplaced comma had +slipped into win32-process.c which prevented the runtime from being +compiled correctly.) + +Also, included a minor addition to ml-build.bat analogous to what was +done in blume-20040519-ml-build. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/05/19 22:10:00 CDT +Tag: blume-20040519-ml-build +Description: + +Arranged for ml-build to clean up after itself a little bit better. +The script generates a temporary SML source file and compiles it using +CM, so CM generates metadata (GUID, SKEL, objectfile) for it. It now +gets rid of those at the end, so they don't accumulate under .cm. + +This required a minor change to install.sh because the name of the +metadata directory (default: .cm) is actually configurable at +installation time. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/05/18 15:50:00 CDT +Tag: blume-20040518-mkreader +Description: + +Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective +implementations from internal modules PosixBinPrimIO and PosixTextPrimIO. + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/05/11 14:35:00 CDT +Tag: blume-20040511-win32sock +Description: + +Added previously missing support for many socket-related functions +under win32. Thanks to David Hansel +for the voluminous patch! + +(I have not tested this patch under win32 yet.) + +Here is David's e-mail: + +Hi, + +Attached to this email you find a diff against sml/nj 110.45 +that will enable socket support under Windows. + +To apply the patch (using unix or cygwin) +1) gunzip runtime.diff.gz +2) "cd" into "src/runtime" in the source tree of a fresh + 110.45 installation. +3) patch -p 1 < [your/path/to]runtime.diff + +The code compiles fine but has NOT yet been extensively tested. +I only ran a few tests for basic socket client functionality +(which worked fine). Especially the functions that use ioctl +are not tested at all and might not work (see below). + +I implemented this since we want to move to a newer version of sml/nj +but need socket support in order to use it. This is the first time I +even had a look at the sml/nj source, so please review my changes +before making this part of the distribution! Here are a few issues +that I think might be better for someone to solve who is more +familiar with the sml/nj source (and socket programming): + +- getnetbyaddr.c and getnetbyname.c will raise a "not implemented" + exception since I could not figure out what the windows equivalent + of these functions is + +- In sockets-osdep.h there are a some #include statements that are + only used in a few files that include sockets-osdep.h + +- In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but + does not process its return value since I don't know how to + report an error upwards. + +- It would probably be good to have a call to WSACleanup() when + the library is unloaded (if there is such a possibility). + Otherwise I think Windows will take care of this automatically + when the process finishes. + +- I used ioctlsocket() as a replacement for ioctl() but I have + no idea if that is actually the proper replacement on Windows. + +- All these issues are marked in the code by "FIXME" comments. + +We use sml/nj extensively in our products and are quite happy +with it. I hope this contribution will help you. + +Keep up the good work! + +David + +---------------------------------------------------------------------- +Name: Matthias Blume (blume (at) tti - c (dot) org) +Date: 2004/05/11 14:20:00 CDT +Tag: blume-20040511-installml +Description: + +Fixed two bugs in installml script. (Thanks to Vesa A. Norrman for +the patch.) + +---------------------------------------------------------------------- Name: Matthias Blume (blume (at) tti - c (dot) org) Date: 2004/05/11 14:05:00 CDT Tag: blume-20040511-nlffi-netbsd
Click to toggle
does not end with </html> tag
does not end with </body> tag
The output has ended thus: lume (blume (at) tti - c (dot) org) Date: 2004/05/11 14:05:00 CDT Tag: blume-20040511-nlffi-netbsd