This is the HISTORY file for the Yale SML/NJ CVS repository. An entry should be made for _every_ commit to the repository. The entries in this file will be used when creating the README for new versions, so keep that in mind when writing the description. The form of an entry should be: Name: Date: Tag: Description: ---------------------------------------------------------------------- Name: Allen Leung Date: 2000/04/04 19:39:00 EST Tag: leunga-20000404-x86-asm Description: 1. Fixed a problem in X86 assembly. Things like jmp %eax jmp (%eax) should be output as jmp *%eax jmp *(%eax) 2. Assembly output Added a new flag "asm-indent-copies" (default to false) When this flag is on, parallel copies will be indented an extra level. ---------------------------------------------------------------------- Name: Allen Leung Date: 2000/04/04 03:18:00 EST Tag: leunga-20000404-C--Moby Description: All of these fixes are related to C--, Moby, and my own optimization stuff; so they shouldn't affect SML/NJ. 1. X86 Various fixes related floating point, and extensions. 2. Alpha Some extra patterns related to loads with signed/zero extension provided by Fermin. 3. Assembly When generating assemby, resolve the value of client defined constants, instead of generating symbolic values. This is controlled by the new flag "asm-resolve-constants", which is default to true. 4. Machine Descriptions a. The precedence parser was slightly broken when parsing infixr symbols. b. The type generalizing code had the bound variables reversed, resulting in a problem during arity raising. c. Various fixes in machine descriptions. ---------------------------------------------------------------------- Name: Matthias Blume Date: 2000/04/03 16:05:00 JST Tag: blume_main_v110p26p2_2 Description: I eliminated coreEnv from compInfo. Access to the "Core" structure is now done via the ordinary static environment that is context to each compilation unit. To this end, I arranged that instead of "structure Core" as "structure _Core" is bound in the pervasive environment. Core access is done via _Core (which can never be accidentially rebound because _Core is not a legal surface-syntax symbol). The current solution is much cleaner because the core environment is now simply part of the pervasive environment which is part of every compilation unit's context anyway. In particular, this eliminates all special-case handling that was necessary until now in order to deal with dynamic and symbolic parts of the core environment. Remaining hackery (to bind the "magic" symbol _Core) is localized in the compilation mananger's bootstrap compiler (actually: in the "init group" handling). See the comments in src/system/smlnj/init/init.cmi for more details. I also tried to track down all mentions of "Core" (as string argument to Symbol.strSymbol) in the compiler and replaced them with a reference to the new CoreSym.coreSym. Seems cleaner since the actual name appears in one place only. Binfile and bootfile format have not changed, but the switchover from the old "init.cmi" to the new one is a bit tricky, so I supplied new bootfiles anyway. ---------------------------------------------------------------------- Name: Allen Leung Date: 2000/04/02 21:17:00 EST Tag: leunga-20000402-mltree Description: 1. Renamed the constructor CALL in MLTREE by popular demand. 2. Added a bunch of files from my repository. These are currently used by other non-SMLNJ backends. ---------------------------------------------------------------------- Name: Allen Leung Date: 2000/03/31 21:15:00 EST Tag: leunga-20000331-aliasing Description: This update contains a rewritten (and hopefully more correct) module for extracting aliasing information from CPS. To turn on this feature: Compiler.Control.CG.memDisambiguate := true To pretty print the region information with assembly Compiler.Control.MLRISC.getFlag "asm-show-region" := true; To control how many levels of aliasing information are printed, use: Compiler.Control.MLRISC.getInt "points-to-show-level" := n The default of n is 3. ---------------------------------------------------------------------- Name: David MacQueen Date: 2000/03/31 11:15:00 EST Tag: dbm-20000331-runtime_fix Description: This update contains: 1. runtime/c-lib/c-libraries.c includes added in revision 1.2 caused compilation errors on hppa-hpux 2. fix for bug 1556 system/Basis/Implementation/NJ/internal-signals.sml ---------------------------------------------------------------------- Name: Matthias Blume Date: 2000/03/31 18:00:00 JST Tag: blume_main_v110p26p2_1 Description: This update contains: 1. A small change to CM's handling of stable libraries: CM now maintains one "global" modmap that is used for all stable libraries. The use of such a global modmap maximizes sharing and minimizes the need for re-traversing parts of environments during modmap construction. (However, this has minor impact since modmap construction seems to account for just one percent or less of total compile time.) 2. I added a "genmap" phase to the statistics. This is where I got the "one percent" number (see above). 3. CM's new tool parameter mechanism just became _even_ better. :) - The parser understands named parameters and recursive options. - The "make" and "shell" tools use these new features. (This makes it a lot easier to cascade these tools.) - There is a small syntax change: named parameters use a : (