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 1375, Mon Sep 15 22:44:08 2003 UTC revision 1703, Thu Nov 18 21:40:57 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/11/18 15:40:00 CST
18    Tag: Release_110_51
19    Description:
20    
21    New working version (110.51).  NEW BOOTFILES!
22    
23    ----------------------------------------------------------------------
24    Name: Matthias Blume (blume (at) tti - c (dot) org)
25    Date: 2004/11/18 15:35:00 CST
26    Tag: <none>
27    Description:
28    
29    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
30    Joemann).
31    
32    ----------------------------------------------------------------------
33    Name: Allen Leung (leunga (at) reservoir (dot) com)
34    Date: 2004/11/17 16:05:21 EST 2004
35    Tag: leunga-20041117-mlrisc-live-kill
36    Description:
37    
38       Added support for MLTree constructs LIVE and KILL
39    to all the architectures.
40    
41    ----------------------------------------------------------------------
42    Name: Matthias Blume (blume (at) tti - c (dot) org)
43    Date: 2004/11/13 00:20:00 CST
44    Tag: blume-20041113-versiontool
45    Description:
46    
47    - Stripped down the versiontool: It now only handles the version number.
48      The date string is generated at bootstrap time (during makeml).
49    
50    - In a previous commit, fixed a minor issue with how polyequal is being
51      translated.  In particular, the code now "looks through" abstractions.
52      This results in slightly fewer polyEqual warnings and hopefully slightly
53      more efficient code.  Important examples for where this matters are
54      the new int64 and word64 types.
55    
56    ----------------------------------------------------------------------
57    Name: Matthias Blume (blume (at) tti - c (dot) org)
58    Date: 2004/11/12 00:30:00 CST
59    Tag: blume-20041112-int64
60    Description:
61    
62    Structure Int64 fully hooked in.  (The implementation is not very
63    efficient, though.)
64    
65    ----------------------------------------------------------------------
66    Name: Matthias Blume (blume (at) tti - c (dot) org)
67    Date: 2004/11/11 17:30:00 CST
68    Tag: blume-20041111-more64
69    Description:
70    
71    All the pieces of Word64 are now there, with the exception of the
72    conversions from and to LargeWord. (Eventually these need to be identities,
73    but for the time being they don't even make sense because LargeWord is
74    32-bit wide.)
75    
76    Also started to add similar support for Int64, but major pieces of that
77    are still missing.
78    
79    ----------------------------------------------------------------------
80    Name: Matthias Blume (blume (at) tti - c (dot) org)
81    Date: 2004/11/11 00:15:00 CST
82    Tag: blume-20041111-word64
83    Description:
84    
85    Structure Word64 is now (almost) complete, word literals and patterns
86    seem to work.  There are a few odd pieces missing.  In particular,
87    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
88    at the moment.
89    
90    Making Word64 official would mean that LargeWord becomes Word64.  But
91    this requires extreme care because most word-word conversions have to
92    go through LargeWord, so making a mistake means loss of efficiency or
93    worse.  Eventually there will be a solution similar to (but actually
94    simpler than) what I did with IntInf.
95    
96    ----------------------------------------------------------------------
97    Name: Matthias Blume (blume (at) tti - c (dot) org)
98    Date: 2004/11/10 18:12:00 CST
99    Tag: blume-20041110-64bit
100    Description:
101    
102    More 64-bit hacking (but still not even half-way there yet).
103    Also, some assorted improvements to the handling of 8-bit words.
104    
105    ----------------------------------------------------------------------
106    Name: Matthias Blume (blume (at) tti - c (dot) org)
107    Date: 2004/11/09 17:50:00 CST
108    Tag: <none>
109    Description:
110    
111    Started adding some infrastructure for supporting 64-bit int- and
112    word-types.  (Still in its very early stages.)
113    
114    ----------------------------------------------------------------------
115    Name: Matthias Blume (blume (at) tti - c (dot) org)
116    Date: 2004/10/28 10:45:00 CDT
117    Tag: Release_110_50
118    Description:
119    
120    New working version (110.50).  NEW BOOTFILES!
121    
122                 =====================
123    
124    Also:
125    
126      - Changend config/srcarchiveurl from a file just
127        containing the URL string into a file containing
128        shell script code.  The code has access to the $VERSION variable.
129      - Made corresponding changes to config/install.sh and config/unpack.
130      - Default contents of config/srcarchiveurl uses $VERSION and
131        normally does not have to be edited to reflect a version change.
132    
133      (As a result, a version change can be done by just editing
134       config/version, the rest is now automatic.)
135    
136    ----------------------------------------------------------------------
137    Name: Matthias Blume (blume (at) tti - c (dot) org)
138    Date: 2004/10/27 17:50:00 CDT
139    Tag: blume-20041027-btrace-msg
140    Description:
141    
142    BackTrace.monitor now also reports the source of the exception that
143    triggered the trace.
144    
145    ----------------------------------------------------------------------
146    Name: Matthias Blume (blume (at) tti - c (dot) org)
147    Date: 2004/10/27 17:20:00 CDT
148    Tag: blume-20041027-x86-c-calls
149    Description:
150    
151    This is the HISTORY entry for two earlier commits, both concerning
152    the x86 c-calls code in MLRISC:
153    
154      - added a missing LOAD in the code that deals with struct arguments
155      - made sure the caller does not add the wrong number of bytes to the
156        stack pointer after a call of a function returning a struct
157        (the callee already pops the implicit argument which points to
158         the space reserved for the result)
159    
160    ----------------------------------------------------------------------
161    Name: Allen Leung (leunga (at) reservoir (dot) com)
162    Date: 2004/10/24 14:00:00 EST
163    Tag: leunga-20041024-x86-gas-fucomip
164    Description:
165    
166       John discovered a bug in the syntax of fucomip.
167       The opcodes FU?COMIP? have been changed to
168    
169           fu?comip? %st(i), %st
170    
171    ----------------------------------------------------------------------
172    Name: Matthias Blume (blume (at) tti - c (dot) org)
173    Date: 2004/10/20 15:06:00 CDT
174    Tag: blume-20041020-standalone-backtrace
175    Description:
176    
177    Added a mechanism for getting back-trace information from standalone
178    programs.  Here is how it works:
179    
180       1. The part of the program from which you want to get backtrace
181          information (usually the whole program) should be wrapped with
182          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
183          main program could be modified from something like
184    
185             fun main (pgm, args) = ...
186    
187         to
188    
189            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
190    
191       2. To be able to access BackTrace.monitor, you have to add
192          library $smlnj-tdp/plugins.cm to the .cm file that contains your
193          main function.
194    
195       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
196          CM might have created in the past for your project).
197    
198       4. Build the system using this command line:
199    
200             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
201                      myprog.cm MyProg.main myprog
202    
203          instead of the usual
204    
205             ml-build myprog.cm MyProg.main myprog
206    
207    I changed a library name:
208    
209       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
210    
211    New libraries:
212    
213       $smlnj-tdp/back-trace.cm
214          -- when loaded causes the back-trace plugin to be installed
215       $smlnj-tdp/coverage.cm
216          -- when loaded causes the coverage plugin to be installed
217    
218    ----------------------------------------------------------------------
219    Name: Matthias Blume (blume (at) tti - c (dot) org)
220    Date: 2004/10/18 16:45:00 CDT
221    Tag: blume-20041018-groupowner
222    Description:
223    
224    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
225    
226    Eliminated group owner specs from .cm files throughout the source tree.
227    
228    ----------------------------------------------------------------------
229    Name: Matthias Blume (blume (at) tti - c (dot) org)
230    Date: 2004/10/15 15:45:00 CDT
231    Tag: blume-20041015-coverage
232    Description:
233    
234    * Test coverage tool added!
235    * Further reorganization of tracing-, debugging-, and profiling support:
236    
237        - moved original BTImp -- now called BackTrace -- into a separate
238          library called $/trace-debug-profile.cm
239        - eliminated all mentions of BTrace from SMLofNJ.Internals
240        - only the instrumentation mechanism is now left in the compiler proper
241        - BackTrace module is a plugin which is NOT plugged in by default
242        - Coverage module is another such plugin
243    
244    To get the benefits of any of these plugin modules, the code in
245    question must be compiled with tdp instrumentation turned on.  This
246    can be done by setting SMLofNJ.Internals.TDP.mode to true.
247    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
248    
249    Plugins are selected at link time.  (Pre-compiled instrumented code
250    can be re-loaded with different plugins in effect.)  When an
251    instrumented module is linked, whatever plugins are at that time
252    enabled will come into effect for that module.
253    
254    To enable the back-trace plugin, load library $/trace-debug-profile.cm
255    and invoke BackTrace.install() (e.g., from the interactive prompt).
256    To enable the coverage plugin, load the same library and invoke
257    Coverage.install().
258    
259    Back-traces are generated automatically on uncaught exceptions and
260    when the code in question explicitly invokes BackTrace.trigger().
261    
262    Coverage (and execution frequency-) information must be queried
263    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
264    
265    ----------------------------------------------------------------------
266    Name: Matthias Blume (blume (at) tti - c (dot) org)
267    Date: 2004/10/14 17:40:00 CDT
268    Tag: blume-20041014-tdp-core
269    Description:
270    
271    Snapshot of a significant overhaul of how the trace/debug/profile support
272    is hooked into the system (specifically: Core and SMLofNJ.Internals).
273    
274    ----------------------------------------------------------------------
275    Name: Matthias Blume (blume (at) tti - c (dot) org)
276    Date: 2004/10/13 16:34:00 CDT
277    Tag: blume-20041013-tdp
278    Description:
279    
280    Some rationalization of names:
281    
282       structure BTrace -> structure TDPInstrument
283       etc.
284    
285    This is is preparation of using the original back-trace
286    instrumentation for other purposes.  "TDP" stands for
287    Trace/Debug/Profile.
288    
289    The control flag controlling whether instrumentation is on or off is now
290    registered under a different name, so instead of running sml as
291    
292     sml -Cinstrument.btrace-mode=true
293    
294    one has to say
295    
296     sml -Ctdp.instrument=true
297    
298    ----------------------------------------------------------------------
299    Name: Matthias Blume (blume (at) tti - c (dot) org)
300    Date: 2004/10/11 16:37:00 CDT
301    Tag: blume-20041011-regions
302    Description:
303    
304    Made some minor modifications to elabcore.sml to have source regions
305    be propagated more tightly -- resulting in better (i.e., smaller)
306    regions being reported in error- and debug messages.
307    
308    ----------------------------------------------------------------------
309    Name: Matthias Blume (blume (at) tti - c (dot) org)
310    Date: 2004/10/08 22:50:00 CDT
311    Tag: blume-20041008-cmkw
312    Description:
313    
314    Fixed handling of keywords in .cm files: After seeing "is" the lexer
315    treats subsequent occurrences of "group", "library", "source", "is",
316    "*", and "-" as ordinary identifiers rather than keywords.
317    
318    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
319    is supposed to accept a tool argument called "source", but this did
320    not work because of the clash with the keyword.
321    
322    ----------------------------------------------------------------------
323    Name: Matthias Blume (blume (at) tti - c (dot) org)
324    Date: 2004/10/07 16:00:00 CDT
325    Tag: blume-20041007-cleanup
326    Description:
327    
328    Assorted cleanup work:
329    
330      - got rid of intstrmap in favor of using the library's
331        hash table implementation
332      - threw out most of the pathnames stuff, as it was not used anyway
333      - simplified tokentable implementation
334      - fixed some minor spelling errors
335    
336    ----------------------------------------------------------------------
337    Name: Matthias Blume (blume (at) tti - c (dot) org)
338    Date: 2004/10/06 15:15:15 CDT
339    Tag: blume-20041006-handler
340    Description:
341    
342    Cleaned up the absyn to reflect the invariant that HANDLE always
343    carries a FNexp as part of the type definition.  This eliminates some
344    superfluous sanity checks at runtime down the road.
345    
346    Some minor cleanup of the btrace code.
347    
348    ----------------------------------------------------------------------
349    Name: Matthias Blume (blume (at) tti - c (dot) org)
350    Date: 2004/10/01 10:20:30 CDT
351    Tag: blume-20041001-slave
352    Description:
353    
354    Added hack to make slave mode work in the presence of the version
355    tool.  (Still, since the master does two passes over the code for
356    CMB.make, the release number gets bumped twice when slaves are
357    attached.  I don't know if this is worth fixing...)
358    
359    ----------------------------------------------------------------------
360    Name: Matthias Blume (blume (at) tti - c (dot) org)
361    Date: 2004/09/30 10:55:00 CDT
362    Tag: blume-20040930-version
363    Description:
364    
365    * Moved the "version" magic into its own little library under
366      src/system/smlnj/internal.  This avoids expensive reconstruction of
367      a stable src/compiler/core.cm.
368    
369    * At the same time, structure CompilerVersion is now known as
370      structure SMLNJVersion.
371    
372    * Arranged for the version tool to NOT kick in when rebuilding the system
373      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
374      Also, loading the versiontool does not work when rebuilding the system
375      because CM is not properly initialized at that time.
376    
377    ----------------------------------------------------------------------
378    Name: Matthias Blume (blume (at) tti - c (dot) org)
379    Date: 2004/09/29 14:00:00 CDT
380    Tag: blume-20040929-autoversion
381    Description:
382    
383    Implemented some CM magic to have
384        file src/compiler/TopLevel/main/version.sml
385    generated automagically.
386    The version is taken from two files: config/version and config/release.
387    The first is expected to contain a two-part version number such as 110.49.
388    The second should contain a single number, but it may be missing.
389    
390    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
391    time the version tool is loaded (which is the first time you say CMB.make),
392    then the tool will increment the value stored in config/release every
393    time CMB.make is invoked.
394    
395    The binfile format is now insensitive to anything beyond the first
396    two components of a version number, so bumping the release does not render
397    binfiles incompatible.  Auto-bumping can be used to keep track of versions
398    during development without invalidating existing binfiles.
399    
400    In any case, every CMB.make updates the date information in version.sml.
401    (This is the date that is printed in the banner.)
402    
403    ----------------------------------------------------------------------
404    Name: Matthias Blume (blume (at) tti - c (dot) org)
405    Date: 2004/09/28 10:53:00 CDT
406    Tag: blume-20040928-controls
407    Description:
408    
409    Some cleanup of the controls code.
410    
411    ----------------------------------------------------------------------
412    Name: Matthias Blume (blume (at) tti - c (dot) org)
413    Date: 2004/09/27 22:08:00 CDT
414    Tag: blume-20040927-controls
415    Description:
416    
417    Added two pieces of functionality to the Controls interface:
418    
419    1.   val save'restore: 'a control -> unit -> unit
420    
421       grabs the current value of the control in stage 1 and restores it
422       in stage 2.
423    
424    2.   val set' : 'a control * 'a -> unit -> unit
425    
426       stores the given value into the control in stage 2 (i.e., delayed)
427       but does all error checking in stage 1.
428       (This is for string controls that need to do parse their argument --
429        something that might fail.  In some cases, notably in CM, one
430        already knows the intended argument but wants to delay the actual
431        assignment until a time when error recovery would be more difficult.)
432    
433    Changed the handling of controls in tool arguments to classes "sml" and
434    "lazysml":
435       - use Controls.save'restore as a more robust way of restoring the
436         old value (in particular: without having to re-parse the string)
437       - use controls to handle the "overload" keyword in the init group
438         (I believe this change actually fixes a long-standing obscure bug.)
439    
440    ----------------------------------------------------------------------
441    Name: Matthias Blume (blume (at) tti - c (dot) org)
442    Date: 2004/09/27 17:00:00 CDT
443    Tag: blume-20040927-lazysml
444    Description:
445    
446    Added a new tool class called "lazysml" to CM's tool chest.  The only
447    difference to "sml" is that compilation is done with Control.lazysml
448    set to true.  A source of class "lazysml" is automatically recognized
449    by a file name suffix of ".lml".
450    
451    In addition to the above feature, the original class "sml" now also
452    supports a tool argument "lazy" which has the same effect.  As a
453    result, the following three lines are equivalent:
454    
455        foo.sml : lazysml
456        foo.sml : sml (lazy)
457        foo.sml (lazy)
458    
459    The setting goes into effect both during parsing and during
460    compilation.  The original setting is restored right after parsing and
461    after compilation, respectively.
462    
463    In addition to all the above, there is also a general mechanism to set
464    ANY of the "controls" that are available at the command line via
465    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
466    apply as well. (In fact, "lazy" is implemented as a special case of
467    the general mechanism.)
468    
469    The .cm file syntax uses a new keyword tool argument called "with".
470    There are several ways of indicating the desired settings:
471    
472        foo.sml (with:parser.quotations=true)
473        foo.sml (with:(name:parser.quotations value:true))
474        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
475        foo.sml (with:(name1=value1 name2=value2 ...))
476        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
477    
478        etc.
479    
480    Another possible abbreviation is to leave out the =v or value:v part
481    if the name refers to a boolean control (in which case the value is
482    taken to be true).  Thus, one could get lazy sml also by saying:
483    
484        foo.sml (with:parser.lazy-keyword=true)
485        foo.sml (with:parser.lazy-keyword)
486        foo.sml (with:(name:parser.lazy-keyword value:true))
487        foo.sml (with:(name:parser.lazy-keyword))
488    
489    ----------------------------------------------------------------------
490    Name: Matthias Blume (blume (at) tti - c (dot) org)
491    Date: 2004/09/24 16:22:00 CDT
492    Tag: blume-20040924-ppc-long-branch
493    Description:
494    
495    Turned message about "emiting long form of branch" off by default.
496    Added a control flag to turn it back on when desired.
497    
498    ----------------------------------------------------------------------
499    Name: Matthias Blume (blume (at) tti - c (dot) org)
500    Date: 2004/09/24 16:05:00 CDT
501    Tag: blume-20040924-rounding
502    Description:
503    
504    Applied patch for setting rounding modes under Mac OS X.  Thanks to
505    Melissa O'Neill for providing the code!
506    
507    ----------------------------------------------------------------------
508    Name: Matthias Blume (blume (at) tti - c (dot) org)
509    Date: 2004/09/23 17:30:00 CDT
510    Tag: blume-20040923-envvars
511    Description:
512    
513    1. Changed definition of type ControlRegistry.registry_tree to
514       include control_info (i.e., the name of the controlling environment
515       variable).
516    
517    2. Added command-line flags -e and -E to print the names of environment
518       variables that can be used to control internal settings.
519       (This uses the new API mentioned in 1.)
520    
521    ----------------------------------------------------------------------
522    Name: Matthias Blume (blume (at) tti - c (dot) org)
523    Date: 2004/09/13 16:50:00 CDT
524    Tag: Release_110_49
525    Description:
526    
527    New working version (110.49).  NEW BOOTFILES!
528    
529    ----------------------------------------------------------------------
530    Name: Matthias Blume
531    Date: 2004/09/13 16:20:00 CDT
532    Tag: blume-20040913-config-mlrisc
533    Description:
534    
535    Put target "mlrisc" back into the default list.
536    (There is no harm in having it, and some users have expressed their
537    wish to have "mlrisc" included by default.)
538    
539    ----------------------------------------------------------------------
540    Name: John Reppy
541    Date: 2004/09/13
542    Tag: jhr-20040913-signals
543    Description:
544    
545    Fixed the signal masking code to properly nest mask/unmask operations
546    on a per-signal basis.
547    
548    ----------------------------------------------------------------------
549    Name: Matthias Blume (blume (at) tti - c (dot) org)
550    Date: 2004/09/08 13:20:00 CDT
551    Tag: blume-20040908-heap-magic
552    Description:
553    
554    Bumped the heap macig number to 0x09082004 to account for the changed
555    layout of the ML frame under MacOS X.
556    
557    ----------------------------------------------------------------------
558    Name: Allen Leung (leunga (at) reservoir (dot) com)
559    Date: 2004/09/03 11:26:00 EST
560    Tag: leunga-20040903-cygwin-install
561    Description:
562    
563       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
564    The Cygwin runtime is turned on by setting the environment
565    variable SMLNJ_CYGWIN_RUNTIME to 1.
566    
567    ----------------------------------------------------------------------
568    Name: Matthias Blume (blume (at) tti - c (dot) org)
569    Date: 2004/08/31 17:15:00 CDT
570    Tag: blume-20040831-core
571    Description:
572    
573    Added some exports to src/compiler/core.cm upon request by J. Joemann.
574    
575    ----------------------------------------------------------------------
576    Name: Matthias Blume (blume (at) tti - c (dot) org)
577    Date: 2004/08/30 17:55:00 CDT
578    Tag: blume-20040830-installer
579    Description:
580    
581    Upon request by Johannes Joemann:
582    
583    - improved ML code of installer to fall back to coping when renaming
584      fails (i.e., when source and target are on different file systems);
585      the code compiles but has yet to be tested in anger
586    - removed mlrisc from list of default targets (config/targets)
587    
588    ----------------------------------------------------------------------
589    Name: Matthias Blume (blume (at) tti - c (dot) org)
590    Date: 2004/08/27 17:20:00 CDT
591    Tag: blume-20040827-ptreql
592    Description:
593    
594    Added ptreql primop to structure InlineT (upon request from Larry
595    Paulson).
596    
597    ----------------------------------------------------------------------
598    Name: Allen Leung (leunga (at) reservoir (dot) com)
599    Date: 2004/08/15 21:21:00 EST
600    Tag: leunga-110_48-udgraph
601    Description:
602    
603    Another bug fix from Carl Hauser:
604    
605    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
606    > 48c48
607    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
608    > e::L)
609    > ---
610    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
611    > Without this, any deletion of an edge in an undirected graph does severe
612    > violence to the graph.
613    
614    ----------------------------------------------------------------------
615    Name: Allen Leung (leunga (at) reservoir (dot) com)
616    Date: 2004/08/10 23:35:00 EST
617    Tag: leunga-110_48-ppc
618    Description:
619    
620       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
621    
622    ----------------------------------------------------------------------
623    Name: Matthias Blume (blume (at) tti - c (dot) org)
624    Date: 2004/08/10 12:00:00 CDT
625    Tag: Release_110_48
626    Description:
627    
628    New working version (110.48).  NEW BOOTFILES!
629    
630    ----------------------------------------------------------------------
631    Name: Allen Leung (leunga (at) reservoir (dot) com)
632    Date: 2004/08/09 12:21:00 EST
633    Tag: leunga-110_47-dijsktra
634    Description:
635    
636    Bug fix from Carl Hauser:
637    
638    single_source_shortest_paths in dijkstra.sml was observed to get wrong
639    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
640    
641    The problem is that following the expression A.update(dist,s,Num.zero)
642    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
643    
644    ----------------------------------------------------------------------
645    Name: Matthias Blume (blume (at) tti - c (dot) org)
646    Date: 2004/08/06 18:10:00 CDT
647    Tag: blume-20040806-cmdline
648    Description:
649    
650    Fiddled with handling of command-line options:
651    
652      * sml now quits after processing the command line
653        if -H, -S, -h<n>, or -s<n> appears as the last
654        command-line argument
655      * a new option -q terminates the session when encountered on
656        the command line; subsequent arguments will be ignored
657      * bug fixes: short (erroneous) arguments are no longer ignored
658        completely
659    
660    ----------------------------------------------------------------------
661    Name: Allen Leung (leunga (at) reservoir (dot) com)
662    Date: 2004/08/04 18:17:00 EST
663    Tag: leunga-110_47-ppc-ibm-asm
664    Description:
665    
666      - Added minimal IBM assembly syntax support for PowerPC.
667    
668      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
669        been altered in the runtime.  We need an automatic way to keep the file
670        in sync.
671    
672    ----------------------------------------------------------------------
673    Name: Matthias Blume (blume (at) tti - c (dot) org)
674    Date: 2004/08/04 14:00:00 CDT
675    Tag: Release_110_47
676    Description:
677    
678    New working version (110.47).  NEW BOOTFILES!
679    
680    ----------------------------------------------------------------------
681    Name: Matthias Blume (blume (at) tti - c (dot) org)
682    Date: 2004/08/03 14:25:00 CDT
683    Tag: blume-20040803-callingconv
684    Description:
685    
686    Added low-level support for choosing C calling conventions by
687    twiddling the type of rawccall.  (See
688    src/compiler/Semant/types/cproto.sml for details.)
689    
690    ----------------------------------------------------------------------
691    Name: Matthias Blume (blume (at) tti - c (dot) org)
692    Date: 2004/08/02 15:55:00 CDT
693    Tag: blume-20040802-backout
694    Description:
695    
696    Backed out of change to win32-filesys.c.  The earlier patch to
697    get_file_time caused CM to produce files with the wrong time stamp.
698    
699    ----------------------------------------------------------------------
700    Name: Matthias Blume (blume (at) tti - c (dot) org)
701    Date: 2004/08/02 14:45:00 CDT
702    Tag: blume-20040802-nlffi-win32
703    Description:
704    
705    Added NLFFI support for Win32, adapted from a patch provided by David
706    Hansel.  This is currently completely untested.  Also, the issue
707    concerning stdcall vs. ccall is still unresolved.
708    
709    ----------------------------------------------------------------------
710    Name: Matthias Blume (blume (at) tti - c (dot) org)
711    Date: 2004/07/30 17:55:00 CDT
712    Tag: blume-20040730-various
713    Description:
714    
715    Gearing up towards 110.47...
716    
717    - various minor bugfixes to ml-nlffigen
718    - a beginning of a manual for nlffi
719    
720    - eliminated 'export name=value' in config/install.sh as this does
721      not work with certain versions of /bin/sh
722      (Thanks to David King at Motorola for catching this.)
723    
724    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
725      - added a test for tm==NULL to gmtime.c and localtime.c
726      - applied patch for incorrect GetFileTime under win32
727      - toSeconds -> toMilliseconds in Win32/win32-process.sml
728    
729    ----------------------------------------------------------------------
730    Name: Matthias Blume (blume (at) tti - c (dot) org)
731    Date: 2004/07/21 18:20:00 CDT
732    Tag: blume-20040721-nlffigen
733    Description:
734    
735    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
736      for a typedef to an incomplete type, but leave out the "typ" member.
737      (This is just for consistency.)
738    - Started to produce what is supposed to become better (i.e., comprehensive)
739      documentation of what ml-nlffigen does and produces.
740    
741    ----------------------------------------------------------------------
742    Name: Matthias Blume (blume (at) tti - c (dot) org)
743    Date: 2004/07/14 16:25:00 CDT
744    Tag: blume-20040714-union
745    Description:
746    
747    Added C_UNION to c-calls/c-types.sml and updated the machinery
748    (ml-nlffigen, cproto.sml) that conveys C function interface
749    information to the code generator.
750    
751    However, the actual architecture-specific implementation of function
752    arguments and results that are C unions is still not implemented.
753    
754    ----------------------------------------------------------------------
755    Name: Allen Leung (leunga (at) reservoir (dot) com)
756    Date: 2004/07/14 14:38:00 EST
757    Tag: leunga-110_46_1-ppc-lwzu
758    Description:
759    
760        Added these instructions to the PowerPC architecture:
761        LBZU(X), LHZU(X), LWZU(X),
762        STWU(X), STFDU, STFSU
763    
764        etc...
765    
766        Note: I haven't added their instruction encoding into the description.
767    
768    ----------------------------------------------------------------------
769    Name: Allen Leung (leunga (at) reservoir (dot) com)
770    Date: 2004/07/13 15:04:00 EST
771    Tag: leunga-110_46_1-ppc-lwarx
772    Description:
773    
774       Added the two instructions LWARX and STWCX to the PowerPC
775    instruction set.
776    
777       A (untested) rewrite of loop-structure.sml.  The old version
778    is completely broken.
779    
780    ----------------------------------------------------------------------
781    Name: Matthias Blume (blume (at) tti - c (dot) org)
782    Date: 2004/07/13 13:50:00 CDT
783    Tag: blume-20040713-nlffi
784    Description:
785    
786    - use paramAlloc to report c-calls with too many arguments
787      (for PPC version where parameter area is pre-allocated)
788    - added ccall_maxargspace to machspec (to implement the above)
789    - made "make" commend in CM's "make" tool configurable
790    - added option (default: on) for passing the name of the SML/NJ's "bin"
791      directory to "make"; the call looks like this:
792    
793         make <options> SMLNJ_BINDIR=<dir> <target>
794    
795      This can be used by the Makefile to, e.g., pick the "right" version
796      of ml-nlffigen.
797    - minor code tweaks
798    
799    ----------------------------------------------------------------------
800    Name: Matthias Blume (blume (at) tti - c (dot) org)
801    Date: 2004/07/12 22:50:00 CDT
802    Tag: blume-110_46_1-macosx-nlffi
803    Description:
804    
805    NLFFI under Mac OS X now working (sort of).  This is largely untested,
806    though.
807    
808    Note:  1. You have to make a new, clean build of the runtime system.
809           2. There are new BOOTFILES, you have to use them!
810              (Doing the bootstrap process yourself would be *very* painful!
811               If you absolutely have to do it, build the system under
812               a different architecture and then cross-compile.)
813    
814    Version bumped to 110.46.1 to account for runtime data format changes.
815    
816    ----------------------------------------------------------------------
817    Name: Matthias Blume (blume (at) tti - c (dot) org)
818    Date: 2004/06/18 14:30:00 CDT
819    Tag: blume-20040618-unix
820    Description:
821    
822    Changed the implementation of structure Unix so that the same stream
823    is returned every time one of the {text,bin}{In,Out}streamOf functions
824    is invoked on the same proc.  This is not what the spec currently
825    says -- although IMO it arguably should.  (See discussion below.)
826    
827    ----------------------------------------------------------------------
828    Name: Matthias Blume (blume (at) tti - c (dot) org)
829    Date: 2004/06/17 18:15:00 CDT
830    Tag: Release_110_46
831    Description:
832    
833    New working version (110.46).  NEW BOOTFILES!
834    
835    ----------------------------------------------------------------------
836    Name: Matthias Blume (blume (at) tti - c (dot) org)
837    Date: 2004/06/17 17:20:00 CDT
838    Tag: blume-20040617-timer-unix
839    Description:
840    
841    Changed the interface of structures Timer and Unix to match the most
842    recent Basis spec.
843    
844    In the case of Unix there still seems to be an open/weird issue:
845    
846       The {text,bin}{In,Out}streamOf functions are supposed to create
847       fresh streams whenever they are called -- as opposed to have them
848       return the same stream every time.  This design is supposed to
849       prevent space leaks caused by proc values hanging on to streams.
850    
851       The reap function, on the other hand, is supposed to close the
852       streams.  This cannot be done without having a handle on the
853       stream in proc after all...
854    
855    I took the liberty to implement the following stopgap solution:
856    
857      The proc value hangs on to the most recently created stream(s).
858      Reap closes those.  If either or both of the two streams hadn't
859      been created at all yet, then reap will close the corresponding
860      file descriptors directly.
861    
862    PS: I don't understand the original space leak argument anymore.  If
863    a proc hangs on to the imperative stream, then I/O operations on those
864    will advance the state of the cached stream and avoid the space leak.
865    
866    ----------------------------------------------------------------------
867    Name: Matthias Blume (blume (at) tti - c (dot) org)
868    Date: 2004/05/28 16:45:00 CDT
869    Tag: blume-20040528-basis
870    Description:
871    
872    Added signature PACK_REAL and exported functor PrimIO.
873    
874    ----------------------------------------------------------------------
875    Name: Matthias Blume (blume (at) tti - c (dot) org)
876    Date: 2004/05/25 16:00:00 CDT
877    Tag: blume-20040525-group-owner
878    Description:
879    
880    CM now ignores (but still accepts) the "owner" information in group
881    descriptions.  The owner of a group is its next enclosing
882    library. Each group must have a unique owner.  (There is a virtual
883    "toplevel" library that owns groups which are not nested within a real
884    library.)  Previously, each group had to explicitly declare its owner,
885    and CM would check that such a declaration is correct.  The new scheme
886    is to have CM check that for each group there is precisely one owning
887    library.
888    
889    The advantage of the new scheme is that the programmer no longer needs
890    to maintain the somewhat annoying owner information.  The downside is
891    that CM cannot enforce the ownership rule across multiple runs of
892    CM.make.  Fortunately, enclosing the same group in two different
893    libraries A and B which are not part of the same program does not
894    cause real problems.
895    
896    ----------------------------------------------------------------------
897    Name: Matthias Blume (blume (at) tti - c (dot) org)
898    Date: 2004/05/20 16:00:00 CDT
899    Tag: blume-20040520-win32
900    Description:
901    
902    Made the win32 version work again.  (Strangely, a misplaced comma had
903    slipped into win32-process.c which prevented the runtime from being
904    compiled correctly.)
905    
906    Also, included a minor addition to ml-build.bat analogous to what was
907    done in blume-20040519-ml-build.
908    
909    ----------------------------------------------------------------------
910    Name: Matthias Blume (blume (at) tti - c (dot) org)
911    Date: 2004/05/19 22:10:00 CDT
912    Tag: blume-20040519-ml-build
913    Description:
914    
915    Arranged for ml-build to clean up after itself a little bit better.
916    The script generates a temporary SML source file and compiles it using
917    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
918    gets rid of those at the end, so they don't accumulate under .cm.
919    
920    This required a minor change to install.sh because the name of the
921    metadata directory (default: .cm) is actually configurable at
922    installation time.
923    
924    ----------------------------------------------------------------------
925    Name: Matthias Blume (blume (at) tti - c (dot) org)
926    Date: 2004/05/18 15:50:00 CDT
927    Tag: blume-20040518-mkreader
928    Description:
929    
930    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
931    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
932    
933    ----------------------------------------------------------------------
934    Name: Matthias Blume (blume (at) tti - c (dot) org)
935    Date: 2004/05/11 14:35:00 CDT
936    Tag: blume-20040511-win32sock
937    Description:
938    
939    Added previously missing support for many socket-related functions
940    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
941    for the voluminous patch!
942    
943    (I have not tested this patch under win32 yet.)
944    
945    Here is David's e-mail:
946    
947    Hi,
948    
949    Attached to this email you find a diff against sml/nj 110.45
950    that will enable socket support under Windows.
951    
952    To apply the patch (using unix or cygwin)
953    1) gunzip runtime.diff.gz
954    2) "cd" into "src/runtime" in the source tree of a fresh
955       110.45 installation.
956    3) patch -p 1 < [your/path/to]runtime.diff
957    
958    The code compiles fine but has NOT yet been extensively tested.
959    I only ran a few tests for basic socket client functionality
960    (which worked fine).  Especially the functions that use ioctl
961    are not tested at all and might not work (see below).
962    
963    I implemented this since we want to move to a newer version of sml/nj
964    but need socket support in order to use it.  This is the first time I
965    even had a look at the sml/nj source,  so please review my changes
966    before making this part of the distribution!  Here are a few issues
967    that I think might be better for someone to solve who is more
968    familiar with the sml/nj source (and socket programming):
969    
970    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
971      exception since I could not figure out what the windows equivalent
972      of these functions is
973    
974    - In sockets-osdep.h there are a some #include statements that are
975      only used in a few files that include sockets-osdep.h
976    
977    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
978      does not process its return value since I don't know how to
979      report an error upwards.
980    
981    - It would probably be good to have a call to WSACleanup() when
982      the library is unloaded (if there is such a possibility).
983      Otherwise I think Windows will take care of this automatically
984      when the process finishes.
985    
986    - I used ioctlsocket() as a replacement for ioctl() but I have
987      no idea if that is actually the proper replacement on Windows.
988    
989    - All these issues are marked in the code by "FIXME" comments.
990    
991    We use sml/nj extensively in our products and are quite happy
992    with it.  I hope this contribution will help you.
993    
994    Keep up the good work!
995    
996    David
997    
998    ----------------------------------------------------------------------
999    Name: Matthias Blume (blume (at) tti - c (dot) org)
1000    Date: 2004/05/11 14:20:00 CDT
1001    Tag: blume-20040511-installml
1002    Description:
1003    
1004    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
1005    the patch.)
1006    
1007    ----------------------------------------------------------------------
1008    Name: Matthias Blume (blume (at) tti - c (dot) org)
1009    Date: 2004/05/11 14:05:00 CDT
1010    Tag: blume-20040511-nlffi-netbsd
1011    Description:
1012    
1013    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
1014    the patch.)
1015    
1016    ----------------------------------------------------------------------
1017    Name: Matthias Blume (blume (at) tti - c (dot) org)
1018    Date: 2004/05/11 12:05:00 CDT
1019    Tag: blume-20040511-exports
1020    Description:
1021    
1022    As per request by Adam Chlipala <adam@hcoop.net>, extended various
1023    export lists in compiler-related .cm-files.
1024    
1025    ----------------------------------------------------------------------
1026    Name: Matthias Blume (blume (at) tti - c (dot) org)
1027    Date: 2004/05/11 11:35:00 CDT
1028    Tag: blume-20040511-allsource
1029    Description:
1030    
1031    The installer now honors the "src-smlnj" target again, although its meaning
1032    has changed from "all sources required for the compiler" to "all sources
1033    the installer knows about".  In other words, if you enable "src-smlnj"
1034    in the "targets" file, then the installer will pull in sources for
1035    everything.  (Notice that this refers to source code only.  Compiled
1036    code is still only installed for modules that were requested explicitly
1037    or which are required for other modules that were requested explicitly.)
1038    
1039    ----------------------------------------------------------------------
1040    Name: Matthias Blume (blume (at) tti - c (dot) org)
1041    Date: 2004/04/23 17:40:00 CDT
1042    Tag: blume-20040423-ieee-scan
1043    Description:
1044    
1045    Fixed IEEEReal.scan (and .fromString) so that if there is an overflow
1046    in the exponent calculation we get INF or ZERO (depending on the mantissa
1047    and the sign of the exponent).
1048    
1049    ----------------------------------------------------------------------
1050    Name: Matthias Blume (blume (at) tti - c (dot) org)
1051    Date: 2004/04/23 10:40:00 CDT
1052    Tag: blume-20040423-ml-build
1053    Description:
1054    
1055    The ml-build script now terminates with a non-0 status when something
1056    goes wrong.
1057    
1058    ----------------------------------------------------------------------
1059    Name: Matthias Blume (blume (at) tti - c (dot) org)
1060    Date: 2004/04/22 16:35:00 CDT
1061    Tag: blume-20040422-Option
1062    Description:
1063    
1064    Made exception Option to be the same as exception Option.Option
1065    (as it should be).
1066    
1067    ----------------------------------------------------------------------
1068    Name: Allen Leung (leunga (at) reservoir (dot) com)
1069    Date: 2004/03/19 14:40:00 EST
1070    Tag: leunga-20040319-cygwin-nlffi
1071    Description:
1072    
1073    Fixed the runtime so that ml-nlffi-lib runs on the cygwin version
1074    of SML/NJ.  The problem is that
1075    
1076       lib = dlopen(NULL, ...)
1077       f   = dlsym(lib, "malloc");
1078    
1079    does not work on Windows unless we explicitly export symbols
1080    such as 'malloc' during linking.  We fixed this by explicitly
1081    exporting the required symbols with the magic gcc incantation:
1082    
1083        -Wl,--export-all cygwin.def
1084    
1085    where cygwin.def is a file containing all the symbols that
1086    we wish to export.
1087    
1088    I suspect this is a Windows problem and we'll have to
1089    do the same (somehow with windows compilers) when
1090    we build the native win32 version with the system
1091    calls LoadLibrary/GetProcAddress.
1092    
1093    ----------------------------------------------------------------------
1094    Name: Matthias Blume (blume (at) tti - c (dot) org)
1095    Date: 2004/03/04 16:35:00 CST
1096    Tag: blume-20040304-intinf-fmt
1097    Description:
1098    
1099    Fixed problem with IntInf.fmt (sign would show up on the right instead
1100    of on the left for BIN, OCT, and HEX).
1101    
1102    ----------------------------------------------------------------------
1103    Name: Matthias Blume (blume (at) tti - c (dot) org)
1104    Date: 2004/03/04 11:25:00 CST
1105    Tag: blume-20040304-symlinks
1106    Description:
1107    
1108    Fixed problem with installer script (unix only) where bin/ml-yacc and
1109    friends pointed (via symlinks) to absolute locations instead of just
1110    .run-sml.  This was reported by Vesa A Norrman.
1111    
1112    ----------------------------------------------------------------------
1113    Name: Matthias Blume (blume (at) tti - c (dot) org)
1114    Date: 2004/02/13 14:50:00 CST
1115    Tag: Release_110_45
1116    Description:
1117    
1118    New working version (110.45). New bootfiles.
1119    
1120    ----------------------------------------------------------------------
1121    Name: Matthias Blume (blume (at) tti - c (dot) org)
1122    Date: 2004/01/26 15:15:15 CST
1123    Tag: blume-20040126-toplevel
1124    Description:
1125    
1126    Improved handling of exceptions at the interactive toplevel.
1127    
1128    ----------------------------------------------------------------------
1129    Name: Matthias Blume (blume (at) tti - c (dot) org)
1130    Date: 2004/01/26 11:25:00
1131    Tag: blume-20040126-app
1132    Description:
1133    
1134    Type of top-level "app" corrected.
1135    Added code for setting vp_limitPtrMask to Win32-specific runtime.
1136    
1137    ----------------------------------------------------------------------
1138    Name: Matthias Blume (blume (at) tti - c (dot) org)
1139    Date: 2003/11/18 17:10 CST
1140    Tag: blume-20031118-basis-fiddle
1141    Description:
1142    
1143    - changed Timer interface to what might become the spec
1144    - POSIX_FLAGS -> BIT_FLAGS according to spec
1145    - some other minor discrepancies wrt. spec eliminated
1146    
1147    ----------------------------------------------------------------------
1148    Name: Matthias Blume (blume (at) tti - c (dot) org)
1149    Date: 2003/11/06 12:00:00 CST
1150    Tag: Release_110_44
1151    Description:
1152    
1153    New working version (110.44). New bootfiles.
1154    
1155    ----------------------------------------------------------------------
1156    Name: Matthias Blume (blume (at) tti - c (dot) org)
1157    Date: 2003/11/04 11:50:00 CST
1158    Tag: blume-20031104-move-libraries
1159    Description:
1160    
1161    Eliminated the "dont_move_libraries" directive in config/targets.
1162    (The mechanism was broken and could not be fixed easily.  Moreover,
1163    there does not seem to be any reason not to move all libraries into
1164    lib during installation.  I originally implemented this directive as a
1165    backward-compatibility feature when I first introduced the new CM.
1166    Now that things have been stable for a long time and going back to the
1167    old CM is not an option, there is no reason to keep it around.)
1168    
1169    ----------------------------------------------------------------------
1170    Name: Matthias Blume (blume (at) tti - c (dot) org)
1171    Date: 2003/11/03 16:00:00 CST
1172    Tag: blume-20031103-installdir
1173    Description:
1174    
1175    Made installer honor INSTALLDIR variable again.  (Thanks to Chris
1176    Richards for pointing out the problem and providing the solution.)
1177    
1178    ----------------------------------------------------------------------
1179    Name: Matthias Blume (blume (at) tti - c (dot) org)
1180    Date: 2003/10/01 17:05:00 CDT
1181    Tag: blume-20031001-lal-mlrisc
1182    Description:
1183    
1184    MLRISC bug fix from Lal.
1185    
1186    ----------------------------------------------------------------------
1187    Name: Matthias Blume (blume (at) tti - c (dot) org)
1188    Date: 2003/09/30 16:10:00 CDT
1189    Tag: blume-20030930-primio-bat
1190    Description:
1191    
1192    1. Added openVector, nullRd, and nullWr to PRIM_IO.
1193    2. Improved .bat files (for Win32 port) to make things work under Win95.
1194       (thanks to Aaron S. Hawley for this one)
1195    
1196    ----------------------------------------------------------------------
1197    Name: Matthias Blume (blume (at) tti - c (dot) org)
1198    Date: 2003/09/26 16:05:00 CDT
1199    Tag: blume-20030926-wrappriv
1200    Description:
1201    
1202    Added missing wrapper for privilege "primitive" in $smlnj/viscomp/core.cm.
1203    
1204    ----------------------------------------------------------------------
1205    Name: Matthias Blume (blume (at) tti - c (dot) org)
1206    Date: 2003/09/26 15:00:00 CDT
1207    Tag: blume-20030926-110_43_3
1208    Description:
1209    
1210    - additional cleanup
1211    - version number bump, NEW BOOTFILES
1212    
1213    ----------------------------------------------------------------------
1214    Name: Matthias Blume (blume (at) tti - c (dot) org)
1215    Date: 2003/09/26 12:00:00 CDT
1216    Tag: blume-20030926-ppautoload
1217    Description:
1218    
1219    I modified the read-eval-print loop so that the autoloader gets
1220    invoked whenever the prettyprinter tries to look up a symbol that
1221    is not currently defined in the toplevel environment but which
1222    appears in CM's autoload registry.  As a result, we see far fewer of
1223    those ?.Foo.Bar.xxx names in the prettyprinter's output.
1224    
1225    In addition to this I tried to clean up some pieces of the Basis
1226    implementation (e.g., Socket, Word8Array) in order to prevent other
1227    instances of these ?.Foo.Bar.xxx names from being printed.
1228    
1229    The mechanism that picks names for types still needs some work, though.
1230    (Right now it seems that if there is a type A.t which is defined to
1231    be B.u, but B is unavailable at toplevel, then A.t gets printed as
1232    "?.B.u" although the perhaps more sensible solution would be to use
1233    "A.t" in this case.  In other words, the prettyprinter should follow
1234    a chain of DEFtycs not farther than there are corresponding toplevel
1235    names in the current environment.)
1236    
1237    ----------------------------------------------------------------------
1238    Name: Matthias Blume (blume (at) tti - c (dot) org)
1239    Date: 2003/09/24 16:31:00 CDT
1240    Tag: blume-20030924-installer
1241    Description:
1242    
1243    Another installer tweak:  All the ML code for the installer is now
1244    compiled during CMB.make and put into a little library called
1245    $smlnj/installer.cm.  The installation then simply invokes
1246    
1247       sml -m $smlnj/installer.cm
1248    
1249    and everything happens automagically.
1250    
1251    Win32:  ML code senses value of environment variable SMLNJ_HOME.
1252    Unix:   ML code senses values of environment variables ROOT, CONFIGDIR,
1253            and BINDIR.
1254    
1255    The new scheme guarantees that the ML code responsible for the installation
1256    is in sync with the APIs of the main system.  Also, the installer is
1257    somewhat faster because the installer script is precompiled.
1258    
1259    ----------------------------------------------------------------------
1260    Name: Matthias Blume (blume (at) tti - c (dot) org)
1261    Date: 2003/09/24 15:35:00 CDT
1262    Tag: blume-20030924-synsock
1263    Description:
1264    
1265    Added a signature SYNCHRONOUS_SOCKET to basis.cm.  This is like SOCKET
1266    but excludes all non-blocking operations.  Defined SOCKET (in Basis)
1267    and CML_SOCKET in terms of SYNCHRONOUS_SOCKET.  Removed superfluous
1268    implementations of non-blocking operations from CML's Socket
1269    structure.
1270    
1271    ----------------------------------------------------------------------
1272    Name: Matthias Blume (blume (at) tti - c (dot) org)
1273    Date: 2003/09/24 15:10:05 CDT
1274    Tag: blume-20030924-sockets
1275    Description:
1276    
1277    1. Fixed SOCKET API and implementation to match Basis spec.
1278       This required changing the internal representation of sockets to one
1279       that remembers (for each socket file descriptor) whether it is currently
1280       blocking or non-blocking.  This state is maintained lazily (i.e., a system
1281       call is made only if the state actually needs to change).
1282    
1283    2. OS-specific details of sockets were moved into separate files, thus
1284       making it possible to unify the bulk of the socket implementations
1285       between Unix and Win32.
1286    
1287    3. CML's socket API changed accordingly.
1288       (Note that we need to remove non-blocking functions from this API
1289       since they are redundant in the case of CML!)
1290    
1291    4. CML's socket implementation now makes use of non-blocking functions
1292       provided by Basis, thus removing all OS-dependent code from this part
1293       of CML.
1294    
1295    5. Changed Real64.precision from 52 to 53.  Minor cleanup in Real64 code.
1296    
1297    ----------------------------------------------------------------------
1298    Name: Matthias Blume (blume (at) tti - c (dot) org)
1299    Date: 2003/09/22 12:10:00 CDT
1300    Tag: blume-20030922-110_43_2
1301    Description:
1302    
1303    Made a new interim version and bootfiles for developer's bootstrapping
1304    convenience.
1305    
1306       110.43.2 -- NEW BOOTFILES
1307    
1308    ----------------------------------------------------------------------
1309    Name: Matthias Blume (blume (at) tti - c (dot) org)
1310    Date: 2003/09/19 15:55:00 CDT
1311    Tag: blume-20030919-cmdir
1312    Description:
1313    
1314    1. new-install.sh -> install.sh
1315    2. changed default CM "metadata" directory name to ".cm" (instead of "CM")
1316    3. tweaked installer so that another name instead of .cm can be chosen
1317       at install time (by setting the CM_DIR_ARC environment variable
1318       during installation); once installation is complete, the name is
1319       fixed
1320    
1321    ----------------------------------------------------------------------
1322    Name: Matthias Blume (blume (at) tti - c (dot) org)
1323    Date: 2003/09/18 16:00:00 CDT
1324    Tag: blume-20030918-110_43_1
1325    Description:
1326    
1327    Made a new interim version and bootfiles for developer's bootstrapping
1328    convenience.
1329    
1330       110.43.1 -- NEW BOOTFILES
1331    
1332    ----------------------------------------------------------------------
1333    Name: Matthias Blume (blume (at) tti - c (dot) org)
1334    Date: 2003/09/18 15:20:00 CDT
1335    Tag: blume-20030918-misc
1336    Description:
1337    
1338    1. Exported fractionsPerSecond etc. from TimeImp (but not from Time as
1339       this seems to be controversial at the moment) and used those in
1340       Posix.ProcEnv.times.
1341    
1342    2. Added Time.{from,to}Nanoseconds to Time.
1343    
1344    3. Improved Real.{from,to}LargeInt by avoiding needless calculations.
1345       For example, fromLargeInt never needs to look at more than 3 "big
1346       digits" to get its 53 bits of precision.
1347    
1348    ----------------------------------------------------------------------
1349    Name: Matthias Blume (blume (at) tti - c (dot) org)
1350    Date: 2003/09/17 16:30:00 CDT
1351    Tag: blume-20030917-real32-slices
1352    Description:
1353    
1354    Added an entry to the primitive environment
1355    (compiler/Semant/statenv/prim.sml) for int32->real64 conversion and
1356    added code to compiler/CodeGen/main/mlriscGen.sml to implement it.
1357    
1358    Removed some of the "magic" constants in real64.sml and replaced them
1359    with code that generates these values from their corresponding
1360    integer counterparts.
1361    
1362    Made all(?) the slice-related changes to the Basis and made everything
1363    compile again...
1364    
1365    ----------------------------------------------------------------------
1366    Name: Matthias Blume (blume (at) tti - c (dot) org)
1367  Date: 2003/09/15 17:45:00 CDT  Date: 2003/09/15 17:45:00 CDT
1368  Tag: blume-20030915-rbase  Tag: blume-20030915-rbase
1369  Description:  Description:

Legend:
Removed from v.1375  
changed lines
  Added in v.1703

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