Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Log of /sml/trunk/compiler/core.cm
[smlnj] / sml / trunk / compiler / core.cm  
ViewVC logotype

Log of /sml/trunk/compiler/core.cm

Parent Directory Parent Directory


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 4949 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 7 12:50:20 2019 UTC (6 months, 1 week ago) by jhr
File length: 8215 byte(s)
Diff to previous 4886
  Split CPS out from the FLINT directory into its own subdirectory.  This change
  includes replacing the FLINTComp functor with a FLINTOpt structure and a CPSComp
  functor.

Revision 4886 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 10 16:54:46 2018 UTC (12 months, 1 week ago) by jhr
File length: 8211 byte(s)
Diff to previous 4823
  Removed several unsupported primitive operators from the compiler.
  See the changelog for details.


Revision 4823 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 13 17:05:13 2018 UTC (13 months ago) by jhr
File length: 8236 byte(s)
Diff to previous 4811
  Remove unused primopmap.sml file from FLINT/trans.

Revision 4811 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 12 21:53:53 2018 UTC (13 months, 1 week ago) by jhr
File length: 8262 byte(s)
Diff to previous 4627
remove unused expandNEW.sml file

Revision 4627 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 29 23:15:38 2018 UTC (16 months, 3 weeks ago) by dbm
File length: 8289 byte(s)
Diff to previous 4548
cleanup, documentation, and debugging support for match compiler (FLINT/trans/matchcomp.sml, etc.)

Revision 4548 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 1 11:34:10 2018 UTC (17 months, 2 weeks ago) by jhr
File length: 8265 byte(s)
Diff to previous 4540
  moved const-arith into MiscUtil so that it is available to the
  CodeGen phase (in addition to cpsopt).

Revision 4540 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 25 17:06:35 2018 UTC (17 months, 3 weeks ago) by jhr
File length: 8262 byte(s)
Diff to previous 4537
  Use RealConst.t representation in FLINT and CPS IRs.

Revision 4537 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 21 14:19:56 2018 UTC (17 months, 4 weeks ago) by jhr
File length: 8233 byte(s)
Diff to previous 4527
  moved literal-to-num.sml to the FLINT/trans directory, since that is
  the only place that it is used.

Revision 4527 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 14 14:41:11 2018 UTC (18 months ago) by jhr
File length: 8236 byte(s)
Diff to previous 4498
  Switched the representation of real literals from strings to the
  RealLit.t type.  This change is the first step toward fixing
  bug #191 and supporting 32-bit reals.

Revision 4498 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 16 17:27:17 2017 UTC (2 years ago) by jhr
File length: 8298 byte(s)
Diff to previous 4439
  No longer compiler the file FLINT/opt/abcopt.sml, since its optimization
  is never enabled.

Revision 4439 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 20 18:45:26 2017 UTC (2 years ago) by jhr
File length: 8253 byte(s)
Diff to previous 4432
  Working towards 64-bit support.  Added Target module, which specifies the
  properties of the target (e.g., size in bits of default int type).  Reworked
  generation of InlineT structure to be target specific.  Some cleanup for
  primop bindings and FLINT's primtycs.

Revision 4432 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 19 21:40:38 2017 UTC (2 years, 1 month ago) by jhr
File length: 8215 byte(s)
Diff to previous 4431
  Working on new primops.  We've moved a bunch of code from Semant to ElabData
  and we've changed the representation of primop IDs in structures.

Revision 4431 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 19 20:09:13 2017 UTC (2 years, 1 month ago) by jhr
File length: 8161 byte(s)
Diff to previous 4427
working on new primops

Revision 4427 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 19 17:41:10 2017 UTC (2 years, 1 month ago) by jhr
File length: 8264 byte(s)
Diff to previous 4426
working on new primops

Revision 4426 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 19 17:35:14 2017 UTC (2 years, 1 month ago) by jhr
File length: 8261 byte(s)
Diff to previous 4380
working on new primops

Revision 4380 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 23 20:42:36 2017 UTC (2 years, 1 month ago) by jhr
File length: 8327 byte(s)
Diff to previous 4314
  Working on 64-bit support.  Trying to make the backend more cleanly
  parameterized by the target machine's word size.  Changed the
  DefaultMachSpec structure to be a functor that is parameterized by
  the ML and machine word sizes.

Revision 4314 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 15 22:46:20 2016 UTC (3 years, 1 month ago) by dbm
File length: 8308 byte(s)
Diff to previous 4309
Further cleanup of FLINT stuff in front end. module-plists.sml moved to FLINT/trans

Revision 4309 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 15 01:31:46 2016 UTC (3 years, 1 month ago) by dbm
File length: 8391 byte(s)
Diff to previous 3648
removed remaining dependencies on PlambdaType from front-end

Revision 3648 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 6 19:55:25 2012 UTC (7 years, 9 months ago) by dbm
File length: 8346 byte(s)
Diff to previous 2603
fix of lexer off-by-one bug, change of SourceMap interface, slight cleanup of match compiler, preliminary modification of type checker to add culprit tracking

Revision 2603 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 23 21:50:42 2007 UTC (12 years, 5 months ago) by dbm
File length: 8371 byte(s)
Diff to previous 2492
merge of primop3/base branch -r2492:2602 into trunk

Revision 2492 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 4 03:39:10 2007 UTC (12 years, 5 months ago) by dbm
File length: 8414 byte(s)
Diff to previous 2162
merge revisions 2221:2491 from primop-branch-3

Revision 2162 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 2 21:20:47 2006 UTC (12 years, 11 months ago) by blume
File length: 8204 byte(s)
Diff to previous 1863
eliminated src dir

Revision 1863 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 15 22:38:49 2005 UTC (13 years, 11 months ago) by mblume
Original Path: sml/trunk/src/compiler/core.cm
File length: 8204 byte(s)
Diff to previous 1785
improved the way certain libraries are bound into the compiler

Revision 1785 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 4 15:51:20 2005 UTC (14 years, 5 months ago) by allenleung
Original Path: sml/trunk/src/compiler/core.cm
File length: 8163 byte(s)
Diff to previous 1655
     GC protocol checking phase added.

Revision 1655 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 18 21:45:30 2004 UTC (15 years ago) by mblume
Original Path: sml/trunk/src/compiler/core.cm
File length: 8131 byte(s)
Diff to previous 1653
eliminated group owners; added warning

Revision 1653 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 15 20:45:02 2004 UTC (15 years ago) by mblume
Original Path: sml/trunk/src/compiler/core.cm
File length: 8165 byte(s)
Diff to previous 1652
further TDP reorganization; coverage tool added

Revision 1652 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 14 22:38:54 2004 UTC (15 years ago) by mblume
Original Path: sml/trunk/src/compiler/core.cm
File length: 8187 byte(s)
Diff to previous 1639
overhaul of Core and SMLofNJ support for TDP

Revision 1639 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 30 15:53:06 2004 UTC (15 years ago) by mblume
Original Path: sml/trunk/src/compiler/core.cm
File length: 8165 byte(s)
Diff to previous 1637
cleanup of the auto-version stuff

Revision 1637 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 29 18:50:52 2004 UTC (15 years ago) by mblume
Original Path: sml/trunk/src/compiler/core.cm
File length: 8508 byte(s)
Diff to previous 1617
automagic generation of version.sml

Revision 1617 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 31 22:15:48 2004 UTC (15 years, 1 month ago) by mblume
Original Path: sml/trunk/src/compiler/core.cm
File length: 8161 byte(s)
Diff to previous 1551
added some exports to core.cm

Revision 1551 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 16 03:26:38 2004 UTC (15 years, 3 months ago) by mblume
Original Path: sml/trunk/src/compiler/core.cm
File length: 7858 byte(s)
Diff to previous 1486
moved dummy implementation of c-calls into MLRISC tree

Revision 1486 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 11 17:04:01 2004 UTC (15 years, 5 months ago) by mblume
Original Path: sml/trunk/src/compiler/core.cm
File length: 7912 byte(s)
Diff to previous 1347
extended some export lists

Revision 1347 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 28 21:59:15 2003 UTC (16 years, 1 month ago) by mblume
Original Path: sml/trunk/src/compiler/core.cm
File length: 7349 byte(s)
Diff to previous 1288
implemented IntInf in Basis and compiler;
new version number; new bootfiles

Revision 1288 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 29 14:48:54 2002 UTC (16 years, 11 months ago) by blume
Original Path: sml/trunk/src/compiler/core.cm
File length: 7215 byte(s)
Diff to previous 1174
exported Typecheck

Revision 1174 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 23 21:14:40 2002 UTC (17 years, 7 months ago) by leunga
Original Path: sml/trunk/src/compiler/core.cm
File length: 7193 byte(s)
Diff to previous 1173

    Added some new primops for creating/manipulating temporary "C" objects
    allocated on the ml heap.

Revision 1173 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 23 04:18:51 2002 UTC (17 years, 7 months ago) by george
Original Path: sml/trunk/src/compiler/core.cm
File length: 7158 byte(s)
Diff to previous 1168
Edge colors  during graphical viewing is based on
execution frequency of the edge. I used the same
color scale employed in yahoo weather maps.

Revision 1168 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 22 19:19:32 2002 UTC (17 years, 7 months ago) by george
Original Path: sml/trunk/src/compiler/core.cm
File length: 7493 byte(s)
Diff to previous 1145
Implemented the Ball-Larus branch prediction-heuristic, and
incorporated graphical viewers for control flow graphs.

Ball-Larus Heuristic:
---------------------
See the file compiler/CodeGen/cpscompile/cpsBranchProb.sml.

By design it uses the Dempster-Shafer theory for combining
probabilities.  For example, in the function:

    fun f(n,acc) = if n = 0 then acc else f(n-1, n*acc)

the ball-larus heuristics predicts that the n=0 is unlikely
(OH-heuristic), and the 'then' branch is unlikely because of the
RH-heuristic -- giving the 'then' branch an even lower combined
probability using the Dempster-Shater theory.

Finally, John Reppy's loop analysis in MLRISC, further lowers the
probability of the 'then' branch because of the loop in the else
branch.


Graphical Viewing:
------------------
I merely plugged in Allen's graphical viewers into the compiler. The
additional code is not much. At the top level, saying:

	Control.MLRISC.getFlag "cfg-graphical-view" := true;

will display the graphical view of the control flow graph just before
back-patching.  daVinci must be in your path for this to work. If
daVinci is not available, then the default viewer can be changed
using:

	Control.MLRISC.getString "viewer"

which can be set to "dot" or "vcg" for the corresponding viewers. Of
course, these viewers must be in your path.

The above will display the compilation unit at the level of clusters,
many of which are small, boring, and un-interesting. Also setting:

	Control.MLRISC.getInt "cfg-graphical-view_size"

will display clusters that are larger than the value set by the above.

Revision 1145 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 15 02:30:53 2002 UTC (17 years, 7 months ago) by blume
Original Path: sml/trunk/src/compiler/core.cm
File length: 7097 byte(s)
Diff to previous 1094
moved Controls module into its own library;
changed Controls interface to make it saner;
made MLRISC independent of Controls;
minor changes to CM

Revision 1094 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 25 09:58:56 2002 UTC (17 years, 7 months ago) by leunga
Original Path: sml/trunk/src/compiler/core.cm
File length: 7079 byte(s)
Diff to previous 1008

    A new CPS spill phase.  Compilation of large structures with over
1000 items can now finish before the heat death of the universe.

Revision 1008 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 14 21:01:29 2001 UTC (17 years, 10 months ago) by shao
Original Path: sml/trunk/src/compiler/core.cm
File length: 7075 byte(s)
Diff to previous 1007
*** empty log message ***

Revision 1007 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 14 16:00:02 2001 UTC (17 years, 10 months ago) by shao
Original Path: sml/trunk/src/compiler/core.cm
File length: 7302 byte(s)
Diff to previous 984
*** empty log message ***

Revision 984 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 21 19:00:08 2001 UTC (17 years, 11 months ago) by george
Original Path: sml/trunk/src/compiler/core.cm
File length: 7075 byte(s)
Diff to previous 909
  Implemented a complete redesign of MLRISC pseudo-ops. Now there
  ought to never be any question of incompatabilities with
  pseudo-op syntax expected by host assemblers.

  For now, only modules supporting GAS syntax are implemented
  but more should follow, such as MASM, and vendor assembler
  syntax, e.g. IBM as, Sun as, etc.

Revision 909 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 24 17:48:53 2001 UTC (18 years, 2 months ago) by george
Original Path: sml/trunk/src/compiler/core.cm
File length: 7087 byte(s)
Diff to previous 905
removed clusters from MLRISC

Revision 905 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 23 21:53:02 2001 UTC (18 years, 2 months ago) by blume
Original Path: sml/trunk/src/compiler/core.cm
File length: 7060 byte(s)
Diff to previous 903
updates to environments, envrefs, interactive loop

Revision 903 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 20 19:34:06 2001 UTC (18 years, 2 months ago) by blume
Original Path: sml/trunk/src/compiler/core.cm
File length: 7321 byte(s)
Diff to previous 902
library debugprof.cm extracted

Revision 902 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 15 21:17:05 2001 UTC (18 years, 2 months ago) by blume
Original Path: sml/trunk/src/compiler/core.cm
File length: 7231 byte(s)
Diff to previous 879
new organization of compiler libraries

Revision 879 - (view) (download) (annotate) - [select for diffs]
Added Thu Jul 19 18:59:38 2001 UTC (18 years, 3 months ago) by blume
Original Path: sml/trunk/src/compiler/core.cm
File length: 9989 byte(s)
extensive organizational changes

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

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