Subject: publishing
From: Craig Chambers (chambers@cs.washington.edu)
Date: Thu Aug 01 2002 - 15:41:52 PDT
I'm publishing some tweaks to Vortex and Whirlwind.
*) I expanded the constant-folding code to work on virtually all of
 the integer and boolean operations, and to correctly handle overflow
 for the different sizes of operations.  I also added folding of the
 float comparison operators.  (I don't yet support folding of
 operators that return floats, or conversion functions.)
*) I fixed a sort-of problem with Cecil's >>_logical (logical right
 shift) operator.  There's a fundamental problem with this operation,
 which is: what's the word size that's assumed?  It makes a difference
 for negative numbers being shifted, since this defines the transition
 between the 1 sign bit and the higher-order 0's.  The old version
 assumed 31-bit words, which is the number of significant bits
 represented in a Cecil tagged integer.  But this is different than
 the underlying Vortex RTL >>_logical_int operator (and Whirlwind's
 analogous >> operator) which operate on normal 32-bit word sizes.  In
 the constant-folding code for V's >>_logical_int and W's >>, it was
 assumed (incorrectly) that Cecil's >>_logical could be used to compute the
 result of >>_logical_int/>>.  I changed the meaning of Cecil's
 >>_logical to match the underlying RTL/Wil operators, and added a
 comment to the >>_logical operator.
*) I did some other small clean-ups of the optimization passes.
*) I fixed a problem with lowering representations revealed when
 running make-whirlwind-profile.  (I'm not sure why this problem
 didn't manifest itself in other tests.)
*) I fixed a problem with Vortex asm code compilation revealed by
 rerunning the Vortex make-profile regression test script.
*) I fixed an ambiguous method problem revealed not by
 implementation-side typechecking (which we don't run) but by
 cone-testing optimizations that warn when they detect weird methods.
*) I tweaked the make-whirlwind-profile script.
*) I (re)generated vortex.nCCP and whirlwind.nCCP profiles, and
 installed them in the standard place.
*) In building a .prof (gprof-ready) version of Whirlwind, I
discovered that the references to moncontrol weren't found.  For now,
I commented them out, until I find out how to reference this function
again.
*) I added support for the solaris8 architecture to the profile
 script.
*) I discovered how to access the machine name on solaris8 machines,
 allowing lock-run and zap to have a nicer user interface.
*) I have noticed that the process_size Cecil primitive no longer
 gives good data on Solaris8.  So I disabled it.  I've been trying to
 find an alternative OS call, but I haven't found something that works
 right yet.  (getrusage doesn't seem to do the trick, for instance.)
*) I fixed a type error introduced into Vortex by my last publish of
 Whirlwind.
*) I removed all the (**debug**) pragmas from Whirlwind.
-- Craig
_______________________________________________
Cecil mailing list
Cecil@cs.washington.edu
http://majordomo.cs.washington.edu/mailman/listinfo/cecil
This archive was generated by hypermail 2b25 : Thu Aug 01 2002 - 15:42:00 PDT