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 1506, Thu Jun 17 22:19:15 2004 UTC revision 1837, Fri Oct 14 16:28:24 2005 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Allen Leung (leunga (at) reservoir (dot) com)
17    Date: 2005/10/14 12:30:00 EST
18    Tag: leunga-20051014-x86-spill
19    Description:
20    
21    Bug fix a bug found by Carl Hauser.
22    There was a typo in the reload code for FCMP in x86SpillInstr.sml.
23    
24    ----------------------------------------------------------------------
25    Name: Allen Leung (leunga (at) reservoir (dot) com)
26    Date: 2005/10/14 11:15:00 EST
27    Tag: leunga-20051014-x86-asm
28    Description:
29    
30    Removed some debugging code in file x86Asm.sml.
31    The function emit_operand was printing out debugging output.
32    
33    ----------------------------------------------------------------------
34    Name: John Reppy
35    Date: 2005/07/27
36    Tag:
37    Description:
38    
39    Fixed ml-lex to recognize "\r" as representing carriage return.
40    
41    ----------------------------------------------------------------------
42    Name: John Reppy
43    Date: 2005/07/27
44    Tag:
45    Description:
46    
47    Fixed ml-yacc to work on files with non-native end-of-line
48    encodings (e.g., Windows text file on a Unix system).
49    
50    ----------------------------------------------------------------------
51    Name: John Reppy
52    Date: 2005/07/20
53    Tag:
54    Description:
55    
56    Added changes from Dominic Evans (oldmanuk (at) gmail (dot) com)
57    to support HPUX 11.
58    
59    ----------------------------------------------------------------------
60    Name: John Reppy
61    Date: 2005/07/06
62    Tag:
63    Description:
64    
65    Changes to the SML/NJ library.  See smlnj-lib/CHANGES for details.
66    
67    ----------------------------------------------------------------------
68    Name: Matthias Blume (blume (at) tti - c (dot) org)
69    Date: 2005/07/06 00:45:00 CDT
70    Tag: blume-20050706-slice-copy
71    Description:
72    
73    Fixed reversed logic for deciding whether to "copy up" or "copy down"
74    in *-array-slice.sml.
75    
76    ----------------------------------------------------------------------
77    Name: Allen Leung (leunga (at) reservoir (dot) com)
78    Date: 2005/05/31 17:00:00 EST
79    Tag: leunga-20050531-cygwin-fault-2
80    Description:
81    
82    A typo in the cygwin code fixed.
83    
84    ----------------------------------------------------------------------
85    Name: Allen Leung (leunga (at) reservoir (dot) com)
86    Date: 2005/05/31 16:47:00 EST
87    Tag: leunga-20050531-cygwin-fault
88    Description:
89    
90    Updated Cygwin's fault/signal handling to match the Windows version.
91    Updated the export list.
92    
93    ----------------------------------------------------------------------
94    Name: Matthias Blume (blume (at) tti - c (dot) org)
95    Date: 2005/05/18 13:35:00 CDT
96    Tag: Release_110_54
97    Description:
98    
99    New working version (110.54).  NEW BOOTFILES!
100    
101    ----------------------------------------------------------------------
102    Name: Matthias Blume (blume (at) tti - c (dot) org)
103    Date: 2005/05/18 11:58:00 CDT
104    Tag: blume-20050518-installer
105    Description:
106    
107    Added support scripts for Mac OS X PackageMaker and modified
108    config/install.sh so that it supports re-dumping a heap image
109    after customization.
110    
111    ----------------------------------------------------------------------
112    Name: Matthias Blume (blume (at) tti - c (dot) org)
113    Date: 2005/05/18 10:55:00 CDT
114    Tag: blume-20050518-realdiv-noovld
115    Description:
116    
117    Un-overloaded / to work around bug in overloading resolution code.
118    
119    ----------------------------------------------------------------------
120    Name: Matthias Blume (blume (at) tti - c (dot) org)
121    Date: 2005/05/16 23:50:00 CDT
122    Tag: blume-20050516-redump-heap
123    Description:
124    
125    Added mechanism for re-creating a heap file for the interactive system
126    after configuration variables have been changed.
127    
128       CM.redump_heap : string -> unit
129    
130    This is much like SMLofNJ.exportML, but starting from the resulting
131    heap does not return to the caller of CM.redump_heap but
132    restarts the interactive system from scratch.  The original call of
133    CM.redump_heap does not return but ends the interactive session.
134    Thus, CM.redump_heap is a lot like SMLofNJ.exportFn.
135    
136    Internally, redump_heap winds the dynamic execution context back to
137    the point where the original heap image was created and re-executes
138    the heap image generation code in the boot code.
139    
140    ----------------------------------------------------------------------
141    Name: Matthias Blume (blume (at) tti - c (dot) org)
142    Date: 2005/05/09 21:55:00 CDT
143    Tag: blume-20050509-word64
144    Description:
145    
146    Added a hack to the existing hack known as Word64 to make fromString
147    behave correctly.  I am still not sure whether Word64.scan will work
148    as specified with respect to the interaction of radix and prefix.
149    
150    ----------------------------------------------------------------------
151    Name: Allen Leung (leunga (at) reservoir (dot) com)
152    Date: 2005/05/04 11:50:00 EST
153    Tag: leunga-20050504-checkgc
154    Description:
155    
156    Added a gc protocol checking phase.  This phase is enabled with
157    the flag "check-gc".  "debug-check-gc" turns on the verbose mode.
158    
159    ----------------------------------------------------------------------
160    Name: Matthias Blume (blume (at) tti - c (dot) org)
161    Date: 2005/05/04 10:45:00 CDT
162    Tag: blume-20050504-intinf
163    Description:
164    
165    Fixed a bug in the implementation of div and mod for IntInf.
166    Thanks to Neophytos Michael for reporting the problem.
167    
168    ----------------------------------------------------------------------
169    Name: Matthias Blume (blume (at) tti - c (dot) org)
170    Date: 2005/05/04 10:35:00 CDT
171    Tag: blume-20050504-join
172    Description:
173    
174    Added a "join" combinator to the ParserComb module in smlnj-lib.cm.
175    
176    ----------------------------------------------------------------------
177    Name: Matthias Blume (blume (at) tti - c (dot) org)
178    Date: 2005/02/28 23:40:00 CST
179    Tag: blume-20050228-mVar
180    Description:
181    
182    Fixed serious bug (brown paper bag variety) in new implementation of
183    structure Atom in CML.  (I had accidentally used a mailbox instead of
184    an mvar, leaving the door open for races.)
185    
186    ----------------------------------------------------------------------
187    Name: Matthias Blume (blume (at) tti - c (dot) org)
188    Date: 2005/02/25 15:00:00 CST
189    Tag: Release_110_53
190    Description:
191    
192    New working version (110.53).  NEW BOOTFILES!
193    
194    ----------------------------------------------------------------------
195    Name: Matthias Blume (blume (at) tti - c (dot) org)
196    Date: 2005/02/25 14:50:00 CST
197    Tag: blume-20050225-susp
198    Description:
199    
200    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
201    implemented in Core -- which means that it is the same as the one used
202    by the lazy extension.
203    
204    ----------------------------------------------------------------------
205    Name: Matthias Blume (blume (at) tti - c (dot) org)
206    Date: 2005/02/24 16:50:00 CST
207    Tag: blume-20050224-cml-atom
208    Description:
209    
210    Simpler and at the same time more general implementation of structure
211    Atom in CML.
212    
213    ----------------------------------------------------------------------
214    Name: Matthias Blume (blume (at) tti - c (dot) org)
215    Date: 2005/02/15 17:35:00 CST
216    Tag: blume-20050215-tools
217    Description:
218    
219    Created new "tools" directory under "src" and moved "TraceDebugProf"
220    there.
221    
222    ----------------------------------------------------------------------
223    Name: Matthias Blume (blume (at) tti - c (dot) org)
224    Date: 2005/02/10 17:55:00 CST
225    Tag: blume-20050210-longlong
226    Description:
227    
228    Implemented "long long" arguments and results for NLFFI.  (Only the
229    PPC/MacOS implementation is complete, the other backends still need to
230    be updated.)
231    
232    ----------------------------------------------------------------------
233    Name: Matthias Blume (blume (at) tti - c (dot) org)
234    Date: 2005/01/24 17:40:00 CST
235    Tag: blume-20050124-mlyacc
236    Description:
237    
238    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
239    problem with certain "as" patterns which previously got rendered
240    using incorrect syntax.
241    
242    ----------------------------------------------------------------------
243    Name: Matthias Blume (blume (at) tti - c (dot) org)
244    Date: 2005/01/18 12:00:00 CST
245    Tag: blume-20050118-profile
246    Description:
247    
248    Made time profiling code (interrupt handler) in runtime system aware
249    of new array representation.
250    
251    ----------------------------------------------------------------------
252    Name: Matthias Blume (blume (at) tti - c (dot) org)
253    Date: 2005/01/14 18:00:00 CST
254    Tag: blume-20050114-heap2exec
255    Description:
256    
257    Implemented new (but still experimental) heap2exec facility.  This is
258    tested under Mac OS X and should work under Linux (will test shortly).
259    It will probably also work on the Sparc (will test some time later).
260    
261      - removed old "HACKED_STANDALONE" hack from runtime
262    
263    To be able to test this, uncomment the request for "heap2asm" in
264    config/targets prior to installation.  (Notice that this is different
265    from "heap2exec" mentioned below.  Not a typo.)
266    
267    To perform an actual test, run the command
268    
269       $ bin/heap2exec heapfile execfile
270    
271    (You can put heap2exec on your shell's path.)
272    
273    For example, run
274    
275      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
276    
277    This will create a standalone executable called "mly" which you can
278    then invoke directly as a command.
279    
280    ----------------------------------------------------------------------
281    Name: Matthias Blume (blume (at) tti - c (dot) org)
282    Date: 2005/01/07 11:44:00 CST
283    Tag: blume-20050107-mlstring
284    Description:
285    
286    fixed off-by-one error in ML_STRING macro (globals.c)
287    
288    ----------------------------------------------------------------------
289    Name: Matthias Blume (blume (at) tti - c (dot) org)
290    Date: 2004/12/23 18:00:00 CST
291    Tag: blume-20041223-santa
292    Description:
293    
294    Made ml-build script "smarter" (but only very little).
295    
296    ----------------------------------------------------------------------
297    Name: Matthias Blume (blume (at) tti - c (dot) org)
298    Date: 2004/12/21 15:05:00 CST
299    Tag: blume-20041221-longlong
300    Description:
301    
302    * Implemented access to signed and unsigned long long data in NLFFI.
303    (The parameter-passing part of the picture has not complete. But
304    data structure access seems to work.)
305    
306    * Fixed CM's incorrect assumption that the PPC is little-endian.
307      (On the Mac, it is big-endian.  And that's currently our only
308      PPC platform.)
309    
310    ----------------------------------------------------------------------
311    Name: Matthias Blume (blume (at) tti - c (dot) org)
312    Date: 2004/12/21 12:50:00 CST
313    Tag: blume-20041221-memory
314    Description:
315    
316    Some cleanup in the $c/memory.cm library: separated some concerns by
317    moving allocation code and memory access code each into their own
318    files.
319    
320    ----------------------------------------------------------------------
321    Name: Allen Leung (leunga (at) reservoir (dot) com)
322    Date: 2004/12/17 16:12:00 EST
323    Tag: leunga-20041217-cygwin-smlnj-home
324    Description:
325    
326        The Unix I/O library of SML/NJ on cygwin does not understand
327    Windows style pathname, so problems arise when SMLNJ_HOME is set
328    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
329    to a POSIX pathname on cygwin.
330    
331    ----------------------------------------------------------------------
332    Name: Matthias Blume (blume (at) tti - c (dot) org)
333    Date: 2004/12/16 13:35:00 CST
334    Tag: Release_110_52
335    Description:
336    
337    Last-minute changes incorporated into 110.52.  Release tag moved.
338    
339    The changes:
340       - HashString.hashString' -> HashString.hashSubstring
341       - bug fix in UnivariateStats
342    
343    ----------------------------------------------------------------------
344    Name: Matthias Blume (blume (at) tti - c (dot) org)
345    Date: 2004/12/15 23:40:00 CST
346    Tag: blume-20041215-hashSubstring
347    Description:
348    
349    - HashString.hashString' -> HashString.hashSubstring
350    - corresponding changes in atom.sml
351    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
352      added some comments
353    
354    ----------------------------------------------------------------------
355    Name: Matthias Blume (blume (at) tti - c (dot) org)
356    Date: 2004/12/15 15:30:00 CST
357    Tag: (Release_110_52)
358    Description:
359    
360    New working version (110.52).  NEW BOOTFILES!
361    
362    ----------------------------------------------------------------------
363    Name: Matthias Blume (blume (at) tti - c (dot) org)
364    Date: 2004/12/15 12:45:00 CST
365    Tag: blume-20041215-spaces
366    Description:
367    
368    More on the space problem (this time for Win32).
369    
370    ----------------------------------------------------------------------
371    Name: Matthias Blume (blume (at) tti - c (dot) org)
372    Date: 2004/12/14 17:30:00 CST
373    Tag: blume-20041214-spaces
374    Description:
375    
376    Hacked some of the scripts (in particular: the installer) to cope with
377    spaces in filenames a bit better.  But beware: the current "solution"
378    is likely still full of bugs and inherently incomplete.  (We need to
379    do away with those shell scripts for a comprehensive solution.)
380    
381    ----------------------------------------------------------------------
382    Name: Matthias Blume (blume (at) tti - c (dot) org)
383    Date: 2004/12/13 14:45:00 CST
384    Tag: blume-20041213-ml-makedepend
385    Description:
386    
387    Fixed bug in code for ml-makedepend.
388    
389    ----------------------------------------------------------------------
390    Name: Matthias Blume (blume (at) tti - c (dot) org)
391    Date: 2004/12/09 16:30:00 CST
392    Tag: blume-20041209-statistics
393    Description:
394    
395    Added two simple but potentially useful statistics modules to SML/NJ Library.
396    (See CHANGES file there.)
397    
398    ----------------------------------------------------------------------
399    Name: Matthias Blume (blume (at) tti - c (dot) org)
400    Date: 2004/12/01 16:50:00 CST
401    Tag: blume-20041201-atom
402    Description:
403    
404    smlnj-lib:
405    
406      Added function HashString.hashString' for substrings.
407      Hand-inlined CharVector.foldl into HashString (for speed).
408      Modified implementation of structure Atom to avoid extracting
409      strings from substrings unless necessary.
410      (Also see CHANGES file for smlnj-lib.)
411    
412    ----------------------------------------------------------------------
413    Name: Matthias Blume (blume (at) tti - c (dot) org)
414    Date: 2004/11/24 22:15:00 CST
415    Tag: blume-20041124-cml
416    Description:
417    
418    Made sure CML compiles when Position = Int64.
419    
420    ----------------------------------------------------------------------
421    Name: Matthias Blume (blume (at) tti - c (dot) org)
422    Date: 2004/11/24 14:30:00 CST
423    Tag: blume-20041124-position
424    Description:
425    
426    The compiler can now be compiled in a mode that makes structure Position
427    equal to Int64.  The default, however, is unchanged (Position = Int31)
428    for the time being.
429    
430    To enable 64-bit positions, use the following procedure:
431    
432    1. Start sml
433    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
434    3. Type
435          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
436    4. Run CMB.make() as usual.
437    
438    This is barely tested.  The only test so far was a little SML program
439    counting the number of characters in an 8-gigabyte file by
440    reading it character-by-character.  That test was successful.
441    
442    In support of 64-bit positions, a number of new functions have been
443    added to the runtime system.
444    
445    ----------------------------------------------------------------------
446    Name: Matthias Blume (blume (at) tti - c (dot) org)
447    Date: 2004/11/23 14:45:00 CST
448    Tag: blume-20041123-useFile
449    Description:
450    
451    Fixed a problem with unhelpful error messages related to problems with
452    .cm- or .sml files that appear as part of the sml command line.
453    
454    ----------------------------------------------------------------------
455    Name: Matthias Blume (blume (at) tti - c (dot) org)
456    Date: 2004/11/18 15:40:00 CST
457    Tag: Release_110_51
458    Description:
459    
460    New working version (110.51).  NEW BOOTFILES!
461    
462    ----------------------------------------------------------------------
463    Name: Matthias Blume (blume (at) tti - c (dot) org)
464    Date: 2004/11/18 15:35:00 CST
465    Tag: <none>
466    Description:
467    
468    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
469    Joemann).
470    
471    ----------------------------------------------------------------------
472    Name: Allen Leung (leunga (at) reservoir (dot) com)
473    Date: 2004/11/17 16:05:21 EST 2004
474    Tag: leunga-20041117-mlrisc-live-kill
475    Description:
476    
477       Added support for MLTree constructs LIVE and KILL
478    to all the architectures.
479    
480    ----------------------------------------------------------------------
481    Name: Matthias Blume (blume (at) tti - c (dot) org)
482    Date: 2004/11/13 00:20:00 CST
483    Tag: blume-20041113-versiontool
484    Description:
485    
486    - Stripped down the versiontool: It now only handles the version number.
487      The date string is generated at bootstrap time (during makeml).
488    
489    - In a previous commit, fixed a minor issue with how polyequal is being
490      translated.  In particular, the code now "looks through" abstractions.
491      This results in slightly fewer polyEqual warnings and hopefully slightly
492      more efficient code.  Important examples for where this matters are
493      the new int64 and word64 types.
494    
495    ----------------------------------------------------------------------
496    Name: Matthias Blume (blume (at) tti - c (dot) org)
497    Date: 2004/11/12 00:30:00 CST
498    Tag: blume-20041112-int64
499    Description:
500    
501    Structure Int64 fully hooked in.  (The implementation is not very
502    efficient, though.)
503    
504    ----------------------------------------------------------------------
505    Name: Matthias Blume (blume (at) tti - c (dot) org)
506    Date: 2004/11/11 17:30:00 CST
507    Tag: blume-20041111-more64
508    Description:
509    
510    All the pieces of Word64 are now there, with the exception of the
511    conversions from and to LargeWord. (Eventually these need to be identities,
512    but for the time being they don't even make sense because LargeWord is
513    32-bit wide.)
514    
515    Also started to add similar support for Int64, but major pieces of that
516    are still missing.
517    
518    ----------------------------------------------------------------------
519    Name: Matthias Blume (blume (at) tti - c (dot) org)
520    Date: 2004/11/11 00:15:00 CST
521    Tag: blume-20041111-word64
522    Description:
523    
524    Structure Word64 is now (almost) complete, word literals and patterns
525    seem to work.  There are a few odd pieces missing.  In particular,
526    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
527    at the moment.
528    
529    Making Word64 official would mean that LargeWord becomes Word64.  But
530    this requires extreme care because most word-word conversions have to
531    go through LargeWord, so making a mistake means loss of efficiency or
532    worse.  Eventually there will be a solution similar to (but actually
533    simpler than) what I did with IntInf.
534    
535    ----------------------------------------------------------------------
536    Name: Matthias Blume (blume (at) tti - c (dot) org)
537    Date: 2004/11/10 18:12:00 CST
538    Tag: blume-20041110-64bit
539    Description:
540    
541    More 64-bit hacking (but still not even half-way there yet).
542    Also, some assorted improvements to the handling of 8-bit words.
543    
544    ----------------------------------------------------------------------
545    Name: Matthias Blume (blume (at) tti - c (dot) org)
546    Date: 2004/11/09 17:50:00 CST
547    Tag: <none>
548    Description:
549    
550    Started adding some infrastructure for supporting 64-bit int- and
551    word-types.  (Still in its very early stages.)
552    
553    ----------------------------------------------------------------------
554    Name: Matthias Blume (blume (at) tti - c (dot) org)
555    Date: 2004/10/28 10:45:00 CDT
556    Tag: Release_110_50
557    Description:
558    
559    New working version (110.50).  NEW BOOTFILES!
560    
561                 =====================
562    
563    Also:
564    
565      - Changend config/srcarchiveurl from a file just
566        containing the URL string into a file containing
567        shell script code.  The code has access to the $VERSION variable.
568      - Made corresponding changes to config/install.sh and config/unpack.
569      - Default contents of config/srcarchiveurl uses $VERSION and
570        normally does not have to be edited to reflect a version change.
571    
572      (As a result, a version change can be done by just editing
573       config/version, the rest is now automatic.)
574    
575    ----------------------------------------------------------------------
576    Name: Matthias Blume (blume (at) tti - c (dot) org)
577    Date: 2004/10/27 17:50:00 CDT
578    Tag: blume-20041027-btrace-msg
579    Description:
580    
581    BackTrace.monitor now also reports the source of the exception that
582    triggered the trace.
583    
584    ----------------------------------------------------------------------
585    Name: Matthias Blume (blume (at) tti - c (dot) org)
586    Date: 2004/10/27 17:20:00 CDT
587    Tag: blume-20041027-x86-c-calls
588    Description:
589    
590    This is the HISTORY entry for two earlier commits, both concerning
591    the x86 c-calls code in MLRISC:
592    
593      - added a missing LOAD in the code that deals with struct arguments
594      - made sure the caller does not add the wrong number of bytes to the
595        stack pointer after a call of a function returning a struct
596        (the callee already pops the implicit argument which points to
597         the space reserved for the result)
598    
599    ----------------------------------------------------------------------
600    Name: Allen Leung (leunga (at) reservoir (dot) com)
601    Date: 2004/10/24 14:00:00 EST
602    Tag: leunga-20041024-x86-gas-fucomip
603    Description:
604    
605       John discovered a bug in the syntax of fucomip.
606       The opcodes FU?COMIP? have been changed to
607    
608           fu?comip? %st(i), %st
609    
610    ----------------------------------------------------------------------
611    Name: Matthias Blume (blume (at) tti - c (dot) org)
612    Date: 2004/10/20 15:06:00 CDT
613    Tag: blume-20041020-standalone-backtrace
614    Description:
615    
616    Added a mechanism for getting back-trace information from standalone
617    programs.  Here is how it works:
618    
619       1. The part of the program from which you want to get backtrace
620          information (usually the whole program) should be wrapped with
621          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
622          main program could be modified from something like
623    
624             fun main (pgm, args) = ...
625    
626         to
627    
628            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
629    
630       2. To be able to access BackTrace.monitor, you have to add
631          library $smlnj-tdp/plugins.cm to the .cm file that contains your
632          main function.
633    
634       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
635          CM might have created in the past for your project).
636    
637       4. Build the system using this command line:
638    
639             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
640                      myprog.cm MyProg.main myprog
641    
642          instead of the usual
643    
644             ml-build myprog.cm MyProg.main myprog
645    
646    I changed a library name:
647    
648       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
649    
650    New libraries:
651    
652       $smlnj-tdp/back-trace.cm
653          -- when loaded causes the back-trace plugin to be installed
654       $smlnj-tdp/coverage.cm
655          -- when loaded causes the coverage plugin to be installed
656    
657    ----------------------------------------------------------------------
658    Name: Matthias Blume (blume (at) tti - c (dot) org)
659    Date: 2004/10/18 16:45:00 CDT
660    Tag: blume-20041018-groupowner
661    Description:
662    
663    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
664    
665    Eliminated group owner specs from .cm files throughout the source tree.
666    
667    ----------------------------------------------------------------------
668    Name: Matthias Blume (blume (at) tti - c (dot) org)
669    Date: 2004/10/15 15:45:00 CDT
670    Tag: blume-20041015-coverage
671    Description:
672    
673    * Test coverage tool added!
674    * Further reorganization of tracing-, debugging-, and profiling support:
675    
676        - moved original BTImp -- now called BackTrace -- into a separate
677          library called $/trace-debug-profile.cm
678        - eliminated all mentions of BTrace from SMLofNJ.Internals
679        - only the instrumentation mechanism is now left in the compiler proper
680        - BackTrace module is a plugin which is NOT plugged in by default
681        - Coverage module is another such plugin
682    
683    To get the benefits of any of these plugin modules, the code in
684    question must be compiled with tdp instrumentation turned on.  This
685    can be done by setting SMLofNJ.Internals.TDP.mode to true.
686    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
687    
688    Plugins are selected at link time.  (Pre-compiled instrumented code
689    can be re-loaded with different plugins in effect.)  When an
690    instrumented module is linked, whatever plugins are at that time
691    enabled will come into effect for that module.
692    
693    To enable the back-trace plugin, load library $/trace-debug-profile.cm
694    and invoke BackTrace.install() (e.g., from the interactive prompt).
695    To enable the coverage plugin, load the same library and invoke
696    Coverage.install().
697    
698    Back-traces are generated automatically on uncaught exceptions and
699    when the code in question explicitly invokes BackTrace.trigger().
700    
701    Coverage (and execution frequency-) information must be queried
702    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
703    
704    ----------------------------------------------------------------------
705    Name: Matthias Blume (blume (at) tti - c (dot) org)
706    Date: 2004/10/14 17:40:00 CDT
707    Tag: blume-20041014-tdp-core
708    Description:
709    
710    Snapshot of a significant overhaul of how the trace/debug/profile support
711    is hooked into the system (specifically: Core and SMLofNJ.Internals).
712    
713    ----------------------------------------------------------------------
714    Name: Matthias Blume (blume (at) tti - c (dot) org)
715    Date: 2004/10/13 16:34:00 CDT
716    Tag: blume-20041013-tdp
717    Description:
718    
719    Some rationalization of names:
720    
721       structure BTrace -> structure TDPInstrument
722       etc.
723    
724    This is is preparation of using the original back-trace
725    instrumentation for other purposes.  "TDP" stands for
726    Trace/Debug/Profile.
727    
728    The control flag controlling whether instrumentation is on or off is now
729    registered under a different name, so instead of running sml as
730    
731     sml -Cinstrument.btrace-mode=true
732    
733    one has to say
734    
735     sml -Ctdp.instrument=true
736    
737    ----------------------------------------------------------------------
738    Name: Matthias Blume (blume (at) tti - c (dot) org)
739    Date: 2004/10/11 16:37:00 CDT
740    Tag: blume-20041011-regions
741    Description:
742    
743    Made some minor modifications to elabcore.sml to have source regions
744    be propagated more tightly -- resulting in better (i.e., smaller)
745    regions being reported in error- and debug messages.
746    
747    ----------------------------------------------------------------------
748    Name: Matthias Blume (blume (at) tti - c (dot) org)
749    Date: 2004/10/08 22:50:00 CDT
750    Tag: blume-20041008-cmkw
751    Description:
752    
753    Fixed handling of keywords in .cm files: After seeing "is" the lexer
754    treats subsequent occurrences of "group", "library", "source", "is",
755    "*", and "-" as ordinary identifiers rather than keywords.
756    
757    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
758    is supposed to accept a tool argument called "source", but this did
759    not work because of the clash with the keyword.
760    
761    ----------------------------------------------------------------------
762    Name: Matthias Blume (blume (at) tti - c (dot) org)
763    Date: 2004/10/07 16:00:00 CDT
764    Tag: blume-20041007-cleanup
765    Description:
766    
767    Assorted cleanup work:
768    
769      - got rid of intstrmap in favor of using the library's
770        hash table implementation
771      - threw out most of the pathnames stuff, as it was not used anyway
772      - simplified tokentable implementation
773      - fixed some minor spelling errors
774    
775    ----------------------------------------------------------------------
776    Name: Matthias Blume (blume (at) tti - c (dot) org)
777    Date: 2004/10/06 15:15:15 CDT
778    Tag: blume-20041006-handler
779    Description:
780    
781    Cleaned up the absyn to reflect the invariant that HANDLE always
782    carries a FNexp as part of the type definition.  This eliminates some
783    superfluous sanity checks at runtime down the road.
784    
785    Some minor cleanup of the btrace code.
786    
787    ----------------------------------------------------------------------
788    Name: Matthias Blume (blume (at) tti - c (dot) org)
789    Date: 2004/10/01 10:20:30 CDT
790    Tag: blume-20041001-slave
791    Description:
792    
793    Added hack to make slave mode work in the presence of the version
794    tool.  (Still, since the master does two passes over the code for
795    CMB.make, the release number gets bumped twice when slaves are
796    attached.  I don't know if this is worth fixing...)
797    
798    ----------------------------------------------------------------------
799    Name: Matthias Blume (blume (at) tti - c (dot) org)
800    Date: 2004/09/30 10:55:00 CDT
801    Tag: blume-20040930-version
802    Description:
803    
804    * Moved the "version" magic into its own little library under
805      src/system/smlnj/internal.  This avoids expensive reconstruction of
806      a stable src/compiler/core.cm.
807    
808    * At the same time, structure CompilerVersion is now known as
809      structure SMLNJVersion.
810    
811    * Arranged for the version tool to NOT kick in when rebuilding the system
812      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
813      Also, loading the versiontool does not work when rebuilding the system
814      because CM is not properly initialized at that time.
815    
816    ----------------------------------------------------------------------
817    Name: Matthias Blume (blume (at) tti - c (dot) org)
818    Date: 2004/09/29 14:00:00 CDT
819    Tag: blume-20040929-autoversion
820    Description:
821    
822    Implemented some CM magic to have
823        file src/compiler/TopLevel/main/version.sml
824    generated automagically.
825    The version is taken from two files: config/version and config/release.
826    The first is expected to contain a two-part version number such as 110.49.
827    The second should contain a single number, but it may be missing.
828    
829    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
830    time the version tool is loaded (which is the first time you say CMB.make),
831    then the tool will increment the value stored in config/release every
832    time CMB.make is invoked.
833    
834    The binfile format is now insensitive to anything beyond the first
835    two components of a version number, so bumping the release does not render
836    binfiles incompatible.  Auto-bumping can be used to keep track of versions
837    during development without invalidating existing binfiles.
838    
839    In any case, every CMB.make updates the date information in version.sml.
840    (This is the date that is printed in the banner.)
841    
842    ----------------------------------------------------------------------
843    Name: Matthias Blume (blume (at) tti - c (dot) org)
844    Date: 2004/09/28 10:53:00 CDT
845    Tag: blume-20040928-controls
846    Description:
847    
848    Some cleanup of the controls code.
849    
850    ----------------------------------------------------------------------
851    Name: Matthias Blume (blume (at) tti - c (dot) org)
852    Date: 2004/09/27 22:08:00 CDT
853    Tag: blume-20040927-controls
854    Description:
855    
856    Added two pieces of functionality to the Controls interface:
857    
858    1.   val save'restore: 'a control -> unit -> unit
859    
860       grabs the current value of the control in stage 1 and restores it
861       in stage 2.
862    
863    2.   val set' : 'a control * 'a -> unit -> unit
864    
865       stores the given value into the control in stage 2 (i.e., delayed)
866       but does all error checking in stage 1.
867       (This is for string controls that need to do parse their argument --
868        something that might fail.  In some cases, notably in CM, one
869        already knows the intended argument but wants to delay the actual
870        assignment until a time when error recovery would be more difficult.)
871    
872    Changed the handling of controls in tool arguments to classes "sml" and
873    "lazysml":
874       - use Controls.save'restore as a more robust way of restoring the
875         old value (in particular: without having to re-parse the string)
876       - use controls to handle the "overload" keyword in the init group
877         (I believe this change actually fixes a long-standing obscure bug.)
878    
879    ----------------------------------------------------------------------
880    Name: Matthias Blume (blume (at) tti - c (dot) org)
881    Date: 2004/09/27 17:00:00 CDT
882    Tag: blume-20040927-lazysml
883    Description:
884    
885    Added a new tool class called "lazysml" to CM's tool chest.  The only
886    difference to "sml" is that compilation is done with Control.lazysml
887    set to true.  A source of class "lazysml" is automatically recognized
888    by a file name suffix of ".lml".
889    
890    In addition to the above feature, the original class "sml" now also
891    supports a tool argument "lazy" which has the same effect.  As a
892    result, the following three lines are equivalent:
893    
894        foo.sml : lazysml
895        foo.sml : sml (lazy)
896        foo.sml (lazy)
897    
898    The setting goes into effect both during parsing and during
899    compilation.  The original setting is restored right after parsing and
900    after compilation, respectively.
901    
902    In addition to all the above, there is also a general mechanism to set
903    ANY of the "controls" that are available at the command line via
904    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
905    apply as well. (In fact, "lazy" is implemented as a special case of
906    the general mechanism.)
907    
908    The .cm file syntax uses a new keyword tool argument called "with".
909    There are several ways of indicating the desired settings:
910    
911        foo.sml (with:parser.quotations=true)
912        foo.sml (with:(name:parser.quotations value:true))
913        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
914        foo.sml (with:(name1=value1 name2=value2 ...))
915        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
916    
917        etc.
918    
919    Another possible abbreviation is to leave out the =v or value:v part
920    if the name refers to a boolean control (in which case the value is
921    taken to be true).  Thus, one could get lazy sml also by saying:
922    
923        foo.sml (with:parser.lazy-keyword=true)
924        foo.sml (with:parser.lazy-keyword)
925        foo.sml (with:(name:parser.lazy-keyword value:true))
926        foo.sml (with:(name:parser.lazy-keyword))
927    
928    ----------------------------------------------------------------------
929    Name: Matthias Blume (blume (at) tti - c (dot) org)
930    Date: 2004/09/24 16:22:00 CDT
931    Tag: blume-20040924-ppc-long-branch
932    Description:
933    
934    Turned message about "emiting long form of branch" off by default.
935    Added a control flag to turn it back on when desired.
936    
937    ----------------------------------------------------------------------
938    Name: Matthias Blume (blume (at) tti - c (dot) org)
939    Date: 2004/09/24 16:05:00 CDT
940    Tag: blume-20040924-rounding
941    Description:
942    
943    Applied patch for setting rounding modes under Mac OS X.  Thanks to
944    Melissa O'Neill for providing the code!
945    
946    ----------------------------------------------------------------------
947    Name: Matthias Blume (blume (at) tti - c (dot) org)
948    Date: 2004/09/23 17:30:00 CDT
949    Tag: blume-20040923-envvars
950    Description:
951    
952    1. Changed definition of type ControlRegistry.registry_tree to
953       include control_info (i.e., the name of the controlling environment
954       variable).
955    
956    2. Added command-line flags -e and -E to print the names of environment
957       variables that can be used to control internal settings.
958       (This uses the new API mentioned in 1.)
959    
960    ----------------------------------------------------------------------
961    Name: Matthias Blume (blume (at) tti - c (dot) org)
962    Date: 2004/09/13 16:50:00 CDT
963    Tag: Release_110_49
964    Description:
965    
966    New working version (110.49).  NEW BOOTFILES!
967    
968    ----------------------------------------------------------------------
969    Name: Matthias Blume
970    Date: 2004/09/13 16:20:00 CDT
971    Tag: blume-20040913-config-mlrisc
972    Description:
973    
974    Put target "mlrisc" back into the default list.
975    (There is no harm in having it, and some users have expressed their
976    wish to have "mlrisc" included by default.)
977    
978    ----------------------------------------------------------------------
979    Name: John Reppy
980    Date: 2004/09/13
981    Tag: jhr-20040913-signals
982    Description:
983    
984    Fixed the signal masking code to properly nest mask/unmask operations
985    on a per-signal basis.
986    
987    ----------------------------------------------------------------------
988    Name: Matthias Blume (blume (at) tti - c (dot) org)
989    Date: 2004/09/08 13:20:00 CDT
990    Tag: blume-20040908-heap-magic
991    Description:
992    
993    Bumped the heap macig number to 0x09082004 to account for the changed
994    layout of the ML frame under MacOS X.
995    
996    ----------------------------------------------------------------------
997    Name: Allen Leung (leunga (at) reservoir (dot) com)
998    Date: 2004/09/03 11:26:00 EST
999    Tag: leunga-20040903-cygwin-install
1000    Description:
1001    
1002       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
1003    The Cygwin runtime is turned on by setting the environment
1004    variable SMLNJ_CYGWIN_RUNTIME to 1.
1005    
1006    ----------------------------------------------------------------------
1007    Name: Matthias Blume (blume (at) tti - c (dot) org)
1008    Date: 2004/08/31 17:15:00 CDT
1009    Tag: blume-20040831-core
1010    Description:
1011    
1012    Added some exports to src/compiler/core.cm upon request by J. Joemann.
1013    
1014    ----------------------------------------------------------------------
1015    Name: Matthias Blume (blume (at) tti - c (dot) org)
1016    Date: 2004/08/30 17:55:00 CDT
1017    Tag: blume-20040830-installer
1018    Description:
1019    
1020    Upon request by Johannes Joemann:
1021    
1022    - improved ML code of installer to fall back to coping when renaming
1023      fails (i.e., when source and target are on different file systems);
1024      the code compiles but has yet to be tested in anger
1025    - removed mlrisc from list of default targets (config/targets)
1026    
1027    ----------------------------------------------------------------------
1028    Name: Matthias Blume (blume (at) tti - c (dot) org)
1029    Date: 2004/08/27 17:20:00 CDT
1030    Tag: blume-20040827-ptreql
1031    Description:
1032    
1033    Added ptreql primop to structure InlineT (upon request from Larry
1034    Paulson).
1035    
1036    ----------------------------------------------------------------------
1037    Name: Allen Leung (leunga (at) reservoir (dot) com)
1038    Date: 2004/08/15 21:21:00 EST
1039    Tag: leunga-110_48-udgraph
1040    Description:
1041    
1042    Another bug fix from Carl Hauser:
1043    
1044    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
1045    > 48c48
1046    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
1047    > e::L)
1048    > ---
1049    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
1050    > Without this, any deletion of an edge in an undirected graph does severe
1051    > violence to the graph.
1052    
1053    ----------------------------------------------------------------------
1054    Name: Allen Leung (leunga (at) reservoir (dot) com)
1055    Date: 2004/08/10 23:35:00 EST
1056    Tag: leunga-110_48-ppc
1057    Description:
1058    
1059       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
1060    
1061    ----------------------------------------------------------------------
1062    Name: Matthias Blume (blume (at) tti - c (dot) org)
1063    Date: 2004/08/10 12:00:00 CDT
1064    Tag: Release_110_48
1065    Description:
1066    
1067    New working version (110.48).  NEW BOOTFILES!
1068    
1069    ----------------------------------------------------------------------
1070    Name: Allen Leung (leunga (at) reservoir (dot) com)
1071    Date: 2004/08/09 12:21:00 EST
1072    Tag: leunga-110_47-dijsktra
1073    Description:
1074    
1075    Bug fix from Carl Hauser:
1076    
1077    single_source_shortest_paths in dijkstra.sml was observed to get wrong
1078    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
1079    
1080    The problem is that following the expression A.update(dist,s,Num.zero)
1081    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
1082    
1083    ----------------------------------------------------------------------
1084    Name: Matthias Blume (blume (at) tti - c (dot) org)
1085    Date: 2004/08/06 18:10:00 CDT
1086    Tag: blume-20040806-cmdline
1087    Description:
1088    
1089    Fiddled with handling of command-line options:
1090    
1091      * sml now quits after processing the command line
1092        if -H, -S, -h<n>, or -s<n> appears as the last
1093        command-line argument
1094      * a new option -q terminates the session when encountered on
1095        the command line; subsequent arguments will be ignored
1096      * bug fixes: short (erroneous) arguments are no longer ignored
1097        completely
1098    
1099    ----------------------------------------------------------------------
1100    Name: Allen Leung (leunga (at) reservoir (dot) com)
1101    Date: 2004/08/04 18:17:00 EST
1102    Tag: leunga-110_47-ppc-ibm-asm
1103    Description:
1104    
1105      - Added minimal IBM assembly syntax support for PowerPC.
1106    
1107      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
1108        been altered in the runtime.  We need an automatic way to keep the file
1109        in sync.
1110    
1111    ----------------------------------------------------------------------
1112    Name: Matthias Blume (blume (at) tti - c (dot) org)
1113    Date: 2004/08/04 14:00:00 CDT
1114    Tag: Release_110_47
1115    Description:
1116    
1117    New working version (110.47).  NEW BOOTFILES!
1118    
1119    ----------------------------------------------------------------------
1120    Name: Matthias Blume (blume (at) tti - c (dot) org)
1121    Date: 2004/08/03 14:25:00 CDT
1122    Tag: blume-20040803-callingconv
1123    Description:
1124    
1125    Added low-level support for choosing C calling conventions by
1126    twiddling the type of rawccall.  (See
1127    src/compiler/Semant/types/cproto.sml for details.)
1128    
1129    ----------------------------------------------------------------------
1130    Name: Matthias Blume (blume (at) tti - c (dot) org)
1131    Date: 2004/08/02 15:55:00 CDT
1132    Tag: blume-20040802-backout
1133    Description:
1134    
1135    Backed out of change to win32-filesys.c.  The earlier patch to
1136    get_file_time caused CM to produce files with the wrong time stamp.
1137    
1138    ----------------------------------------------------------------------
1139    Name: Matthias Blume (blume (at) tti - c (dot) org)
1140    Date: 2004/08/02 14:45:00 CDT
1141    Tag: blume-20040802-nlffi-win32
1142    Description:
1143    
1144    Added NLFFI support for Win32, adapted from a patch provided by David
1145    Hansel.  This is currently completely untested.  Also, the issue
1146    concerning stdcall vs. ccall is still unresolved.
1147    
1148    ----------------------------------------------------------------------
1149    Name: Matthias Blume (blume (at) tti - c (dot) org)
1150    Date: 2004/07/30 17:55:00 CDT
1151    Tag: blume-20040730-various
1152    Description:
1153    
1154    Gearing up towards 110.47...
1155    
1156    - various minor bugfixes to ml-nlffigen
1157    - a beginning of a manual for nlffi
1158    
1159    - eliminated 'export name=value' in config/install.sh as this does
1160      not work with certain versions of /bin/sh
1161      (Thanks to David King at Motorola for catching this.)
1162    
1163    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
1164      - added a test for tm==NULL to gmtime.c and localtime.c
1165      - applied patch for incorrect GetFileTime under win32
1166      - toSeconds -> toMilliseconds in Win32/win32-process.sml
1167    
1168    ----------------------------------------------------------------------
1169    Name: Matthias Blume (blume (at) tti - c (dot) org)
1170    Date: 2004/07/21 18:20:00 CDT
1171    Tag: blume-20040721-nlffigen
1172    Description:
1173    
1174    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
1175      for a typedef to an incomplete type, but leave out the "typ" member.
1176      (This is just for consistency.)
1177    - Started to produce what is supposed to become better (i.e., comprehensive)
1178      documentation of what ml-nlffigen does and produces.
1179    
1180    ----------------------------------------------------------------------
1181    Name: Matthias Blume (blume (at) tti - c (dot) org)
1182    Date: 2004/07/14 16:25:00 CDT
1183    Tag: blume-20040714-union
1184    Description:
1185    
1186    Added C_UNION to c-calls/c-types.sml and updated the machinery
1187    (ml-nlffigen, cproto.sml) that conveys C function interface
1188    information to the code generator.
1189    
1190    However, the actual architecture-specific implementation of function
1191    arguments and results that are C unions is still not implemented.
1192    
1193    ----------------------------------------------------------------------
1194    Name: Allen Leung (leunga (at) reservoir (dot) com)
1195    Date: 2004/07/14 14:38:00 EST
1196    Tag: leunga-110_46_1-ppc-lwzu
1197    Description:
1198    
1199        Added these instructions to the PowerPC architecture:
1200        LBZU(X), LHZU(X), LWZU(X),
1201        STWU(X), STFDU, STFSU
1202    
1203        etc...
1204    
1205        Note: I haven't added their instruction encoding into the description.
1206    
1207    ----------------------------------------------------------------------
1208    Name: Allen Leung (leunga (at) reservoir (dot) com)
1209    Date: 2004/07/13 15:04:00 EST
1210    Tag: leunga-110_46_1-ppc-lwarx
1211    Description:
1212    
1213       Added the two instructions LWARX and STWCX to the PowerPC
1214    instruction set.
1215    
1216       A (untested) rewrite of loop-structure.sml.  The old version
1217    is completely broken.
1218    
1219    ----------------------------------------------------------------------
1220    Name: Matthias Blume (blume (at) tti - c (dot) org)
1221    Date: 2004/07/13 13:50:00 CDT
1222    Tag: blume-20040713-nlffi
1223    Description:
1224    
1225    - use paramAlloc to report c-calls with too many arguments
1226      (for PPC version where parameter area is pre-allocated)
1227    - added ccall_maxargspace to machspec (to implement the above)
1228    - made "make" commend in CM's "make" tool configurable
1229    - added option (default: on) for passing the name of the SML/NJ's "bin"
1230      directory to "make"; the call looks like this:
1231    
1232         make <options> SMLNJ_BINDIR=<dir> <target>
1233    
1234      This can be used by the Makefile to, e.g., pick the "right" version
1235      of ml-nlffigen.
1236    - minor code tweaks
1237    
1238    ----------------------------------------------------------------------
1239    Name: Matthias Blume (blume (at) tti - c (dot) org)
1240    Date: 2004/07/12 22:50:00 CDT
1241    Tag: blume-110_46_1-macosx-nlffi
1242    Description:
1243    
1244    NLFFI under Mac OS X now working (sort of).  This is largely untested,
1245    though.
1246    
1247    Note:  1. You have to make a new, clean build of the runtime system.
1248           2. There are new BOOTFILES, you have to use them!
1249              (Doing the bootstrap process yourself would be *very* painful!
1250               If you absolutely have to do it, build the system under
1251               a different architecture and then cross-compile.)
1252    
1253    Version bumped to 110.46.1 to account for runtime data format changes.
1254    
1255    ----------------------------------------------------------------------
1256    Name: Matthias Blume (blume (at) tti - c (dot) org)
1257    Date: 2004/06/18 14:30:00 CDT
1258    Tag: blume-20040618-unix
1259    Description:
1260    
1261    Changed the implementation of structure Unix so that the same stream
1262    is returned every time one of the {text,bin}{In,Out}streamOf functions
1263    is invoked on the same proc.  This is not what the spec currently
1264    says -- although IMO it arguably should.  (See discussion below.)
1265    
1266    ----------------------------------------------------------------------
1267    Name: Matthias Blume (blume (at) tti - c (dot) org)
1268    Date: 2004/06/17 18:15:00 CDT
1269    Tag: Release_110_46
1270    Description:
1271    
1272    New working version (110.46).  NEW BOOTFILES!
1273    
1274    ----------------------------------------------------------------------
1275  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
1276  Date: 2004/06/17 17:20:00 CDT  Date: 2004/06/17 17:20:00 CDT
1277  Tag: blume-20040617-timer-unix  Tag: blume-20040617-timer-unix

Legend:
Removed from v.1506  
changed lines
  Added in v.1837

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