2007-08-10 00:18 dias * doc/release.ps, runtime/runtime.nw, src/ast2ir.nw, src/cfgutil.nw, src/dataflow.nw, src/flowra.nw, src/live.nw, src/lualink.nw, src/mkfile, src/property.nw, src/spans.nw, src/target.nw, src/varmap.nw: Lots of changes, all with the purpose of adding a new register allocator implemented with the dataflow framework. Most notably some additions to the dataflow framework to expose block uid's to the dataflow-getting and dataflow-setting functions, as well as to apply a transformation that isn't fact-preserving (such as register allocation -- all the temps are removed....). Also a new implementation of the variable maps. In the process, I fixed a few bugs: o callee-save registers weren't exposed through the spans to the liveness analysis (and wouldnt' show up otherwise if the function didn't return...) o for some reason, the return address was saved before the callee-save registers, which is unnecessarily restrictive 2007-08-10 00:02 dias * test2/src/fact.c--: Bug in the fact test: both the C fact() function and the C-- fact() function were called with the "C" calling convention. But the C function requires the "paranoid C" convention. 2007-06-18 16:28 dias * src/interp.nw: The interpreter should not be able to project out the non-machine-dependent version of the call instruction. 2007-06-18 16:17 dias * src/: ast2ir.nw, call.nw, callspec.nw, dummy.nw, interp.nw, ppc.nw, x86call.nw: 2 bugs fixed: 1. Tail calls were allowing the destination to be register allocated, but because the destination is used after the stack pointer is moved, it led to a fetch from invalid stack space. Now, the destination register for a tail call must be a hardware register specified in the calling convention. 2. The stack space for tail calls didn't leave room for the return address. I'm somewhat embarrassed by the fix-up code, but it's no more embarrassing than the handling for return addresses that was already there. Naturally, this is an x86 problem because the return address is pushed on the stack. 2007-06-18 16:14 dias * test2/x86/: call3.s, ratail.s, spdemo.s, tadd.s, tail.s, tail2.s, tail_from_c.s, tailbug.s, test-039.s, trace.s: New test case for tail calls -- prompted by a bug report submitted by a user. Also some updates to previous test cases to account for changes to assembly files caused by the bug fix. 2007-06-18 16:14 dias * test2/: l32files.lua, output/tailbug.1, src/tailbug.c--: New test case for tail calls -- prompted by a bug report submitted by a user. 2007-05-15 17:36 dias * rtl/bits.nw: Exposed the previously (accidentally) hidden fits_unsigned 2007-05-12 17:14 dias * src/rtlutil.nw: Type error! 2007-05-12 17:13 dias * src/rtlutil.nw: Sometimes we also want to read unreadable locs! 2007-01-07 23:51 nr * INSTALL: additional email addresses 2006-08-24 19:06 dias * src/box.nw: Forgot to commit for last change 2006-08-24 17:19 dias * ccl-suite/call-test.in, ccl-suite/src/cgen.icn, ccl-suite/src/place.icn, ccl-suite/src/tgen.icn, doc/release.ps, src/ast2ir.nw, src/automaton.nw, src/bcopy.nw, src/call.nw, src/callspec.nw, src/cfgutil.nw, src/colorgraph.nw, src/contn.nw, src/dag.nw, src/dls.nw, src/driver.nw, src/dummy.nw, src/ep.nw, src/expander.nw, src/interp.nw, src/interpasm.nw, src/interpemit.nw, src/lualink.nw, src/mflow.nw, src/mkfile, src/mvalidate.nw, src/optimize.nw, src/peephole.nw, src/pic.nw, src/placevar.nw, src/ppc.nw, src/preast2ir.nw, src/proc.nw, src/registerclass.nw, src/rewrite.nw, src/runtimedata.nw, src/space.nw, src/sparc.nw, src/stack.nw, src/target.nw, src/widen.nw, src/x86.nw, src/x86call.nw, src/zipcfg.nw, test2/dummy/eqasolve-000.s, test2/dummy/exp-003.s, test2/dummy/test-040.s, test2/dummy/test-044.s, test2/dummy/test-046.s, test2/lcc/x86/8q.s, test2/lcc/x86/array.s, test2/lcc/x86/cf.s, test2/lcc/x86/cvt.s, test2/lcc/x86/fields.s, test2/lcc/x86/front.s, test2/lcc/x86/init.s, test2/lcc/x86/sort.s, test2/lcc/x86/spill.s, test2/lcc/x86/struct.s, test2/lcc/x86/switch.s, test2/lcc/x86/wf1.s, test2/tiger/x86/arrays.5, test2/tiger/x86/arrays.s, test2/tiger/x86/colmajor.5, test2/tiger/x86/colmajor.s, test2/tiger/x86/exceptions.5, test2/tiger/x86/exceptions.s, test2/tiger/x86/forloop.5, test2/tiger/x86/forloop.s, test2/tiger/x86/funcall.5, test2/tiger/x86/funcall.s, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/merge.s, test2/tiger/x86/qsort.5, test2/tiger/x86/qsort.s, test2/tiger/x86/queens.5, test2/tiger/x86/queens.s, test2/tiger/x86/rb.5, test2/tiger/x86/rb.s, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/rc4.s, test2/tiger/x86/sieve.5, test2/tiger/x86/sieve.s, test2/tiger/x86/wf.5, test2/tiger/x86/wf.s, test2/tiger/x86/wff.5, test2/tiger/x86/wff.s, test2/x86/add.s, test2/x86/altread.s, test2/x86/altret.s, test2/x86/altret2.s, test2/x86/altret3.s, test2/x86/arglist.s, test2/x86/bits-bug.s, test2/x86/blockcpy.s, test2/x86/bool.s, test2/x86/conj.s, test2/x86/cut.s, test2/x86/deadcontvar.5, test2/x86/deadcut.s, test2/x86/divmod.s, test2/x86/emptyifbody.s, test2/x86/eqasolve-000.s, test2/x86/exp-003.s, test2/x86/fact.5, test2/x86/fact.s, test2/x86/float-003.s, test2/x86/fork.5, test2/x86/fork.s, test2/x86/if-false.s, test2/x86/if-false2.s, test2/x86/nest.5, test2/x86/nest.s, test2/x86/not.s, test2/x86/nums.s, test2/x86/ovrflow.s, test2/x86/ralloc-000.s, test2/x86/spdemo.s, test2/x86/tadd.s, test2/x86/tail.s, test2/x86/tail2.s, test2/x86/tail_from_c.s, test2/x86/tailnot.s, test2/x86/test-039.s, test2/x86/tf.s, test2/x86/trace.5, test2/x86/trace.s, test2/x86/unwind.5, test2/x86/unwind.s, test2/x86/x86-001.s, tools/nofake: Many changes to the back end with two goals: 1. Reduce the burden on the back-end implementer. There are now fewer functions in the postexpander interface. Also, the generic expander now generates the machine record, which carries several necessary functions for generating code that satisfies the machine invariant. 2. Remove redundancies in the back end. In particular, the machine record was implemented by the postexpander and duplicated the work some of the other postexpander functions. No more. Also, there were some compiler modules generating code without using the machine record -- which meant that the code only coincidentally satisfied the machine invariant. Those pieces of code now use the machine record. Tests have been updated to accomodate minor changes to the output assembly code. 2006-08-24 16:36 dias * rtl/rtl.nw: Spacing fixed. 2006-08-21 08:01 nr * src/DATE: change the date before the nightly build 2006-08-20 08:00 nr * src/DATE: change the date before the nightly build 2006-08-19 08:00 nr * src/DATE: change the date before the nightly build 2006-08-18 08:00 nr * src/DATE: change the date before the nightly build 2006-08-17 08:00 nr * src/DATE: change the date before the nightly build 2006-08-16 08:00 nr * src/DATE: change the date before the nightly build 2006-08-15 08:00 nr * src/DATE: change the date before the nightly build 2006-08-13 08:00 nr * src/DATE: change the date before the nightly build 2006-08-12 08:00 nr * src/DATE: change the date before the nightly build 2006-08-11 08:00 nr * src/DATE: change the date before the nightly build 2006-08-10 08:00 nr * src/DATE: change the date before the nightly build 2006-08-09 08:00 nr * src/DATE: change the date before the nightly build 2006-08-08 08:00 nr * src/DATE: change the date before the nightly build 2006-08-07 08:00 nr * src/DATE: change the date before the nightly build 2006-08-06 08:00 nr * src/DATE: change the date before the nightly build 2006-08-05 08:00 nr * src/DATE: change the date before the nightly build 2006-08-04 08:00 nr * src/DATE: change the date before the nightly build 2006-08-03 08:00 nr * src/DATE: change the date before the nightly build 2006-08-02 08:00 nr * src/DATE: change the date before the nightly build 2006-08-01 08:00 nr * src/DATE: change the date before the nightly build 2006-07-31 08:00 nr * src/DATE: change the date before the nightly build 2006-07-30 08:00 nr * src/DATE: change the date before the nightly build 2006-07-29 08:00 nr * src/DATE: change the date before the nightly build 2006-07-28 08:00 nr * src/DATE: change the date before the nightly build 2006-07-27 08:00 nr * src/DATE: change the date before the nightly build 2006-07-26 08:00 nr * src/DATE: change the date before the nightly build 2006-07-25 08:00 nr * src/DATE: change the date before the nightly build 2006-07-24 08:00 nr * src/DATE: change the date before the nightly build 2006-07-23 08:00 nr * src/DATE: change the date before the nightly build 2006-07-22 08:00 nr * src/DATE: change the date before the nightly build 2006-07-21 08:00 nr * src/DATE: change the date before the nightly build 2006-07-20 08:00 nr * src/DATE: change the date before the nightly build 2006-07-19 08:00 nr * src/DATE: change the date before the nightly build 2006-07-18 08:00 nr * src/DATE: change the date before the nightly build 2006-07-17 08:00 nr * src/DATE: change the date before the nightly build 2006-07-16 08:00 nr * src/DATE: change the date before the nightly build 2006-07-15 08:00 nr * src/DATE: change the date before the nightly build 2006-07-14 08:00 nr * src/DATE: change the date before the nightly build 2006-07-13 08:00 nr * src/DATE: change the date before the nightly build 2006-07-12 08:00 nr * src/DATE: change the date before the nightly build 2006-07-11 08:00 nr * src/DATE: change the date before the nightly build 2006-07-10 08:00 nr * src/DATE: change the date before the nightly build 2006-07-09 08:00 nr * src/DATE: change the date before the nightly build 2006-07-08 08:00 nr * src/DATE: change the date before the nightly build 2006-07-07 08:00 nr * src/DATE: change the date before the nightly build 2006-07-06 08:00 nr * src/DATE: change the date before the nightly build 2006-07-05 08:00 nr * src/DATE: change the date before the nightly build 2006-07-04 08:00 nr * src/DATE: change the date before the nightly build 2006-07-03 08:00 nr * src/DATE: change the date before the nightly build 2006-07-02 08:00 nr * src/DATE: change the date before the nightly build 2006-07-01 08:00 nr * src/DATE: change the date before the nightly build 2006-06-30 08:00 nr * src/DATE: change the date before the nightly build 2006-06-29 08:00 nr * src/DATE: change the date before the nightly build 2006-06-28 08:00 nr * src/DATE: change the date before the nightly build 2006-06-27 08:00 nr * src/DATE: change the date before the nightly build 2006-06-26 08:00 nr * src/DATE: change the date before the nightly build 2006-06-25 08:00 nr * src/DATE: change the date before the nightly build 2006-06-24 08:00 nr * src/DATE: change the date before the nightly build 2006-06-23 08:00 nr * src/DATE: change the date before the nightly build 2006-06-22 08:00 nr * src/DATE: change the date before the nightly build 2006-06-21 08:00 nr * src/DATE: change the date before the nightly build 2006-06-20 08:00 nr * src/DATE: change the date before the nightly build 2006-06-19 08:00 nr * src/DATE: change the date before the nightly build 2006-06-18 08:00 nr * src/DATE: change the date before the nightly build 2006-06-17 08:00 nr * src/DATE: change the date before the nightly build 2006-06-16 08:00 nr * src/DATE: change the date before the nightly build 2006-06-15 08:00 nr * src/DATE: change the date before the nightly build 2006-06-14 08:00 nr * src/DATE: change the date before the nightly build 2006-06-13 08:00 nr * src/DATE: change the date before the nightly build 2006-06-12 08:00 nr * src/DATE: change the date before the nightly build 2006-06-11 08:00 nr * src/DATE: change the date before the nightly build 2006-06-10 08:00 nr * src/DATE: change the date before the nightly build 2006-06-09 08:00 nr * src/DATE: change the date before the nightly build 2006-06-08 08:00 nr * src/DATE: change the date before the nightly build 2006-06-07 08:00 nr * src/DATE: change the date before the nightly build 2006-06-06 08:00 nr * src/DATE: change the date before the nightly build 2006-06-05 08:00 nr * src/DATE: change the date before the nightly build 2006-06-04 08:00 nr * src/DATE: change the date before the nightly build 2006-06-03 08:00 nr * src/DATE: change the date before the nightly build 2006-06-02 08:00 nr * src/DATE: change the date before the nightly build 2006-06-01 08:00 nr * src/DATE: change the date before the nightly build 2006-05-31 08:00 nr * src/DATE: change the date before the nightly build 2006-05-30 08:00 nr * src/DATE: change the date before the nightly build 2006-05-29 08:00 nr * src/DATE: change the date before the nightly build 2006-05-28 08:00 nr * src/DATE: change the date before the nightly build 2006-05-27 08:00 nr * src/DATE: change the date before the nightly build 2006-05-26 08:00 nr * src/DATE: change the date before the nightly build 2006-05-25 08:00 nr * src/DATE: change the date before the nightly build 2006-05-24 08:00 nr * src/DATE: change the date before the nightly build 2006-05-23 20:51 nr * mk/: mk.1, debian/Makefile.debian, debian/changelog, debian/control, debian/dirs, debian/files, debian/mk.doc-base, debian/mk.postinst.debhelper, debian/mk.prerm.debhelper, debian/mk.substvars, debian/rules, debian/patches/00list, debian/patches/01-debian.dpatch: banish Unicode from man page more work on Debian so things work 2006-05-23 08:00 nr * src/DATE: change the date before the nightly build 2006-05-22 08:00 nr * src/DATE: change the date before the nightly build 2006-05-21 15:29 dpeng * runtime/overflow/directreturn/doc.tex: Preliminary draft of QC--, dynamic parallelism, and control-flow manipulation. 2006-05-21 08:00 nr * src/DATE: change the date before the nightly build 2006-05-20 08:00 nr * src/DATE: change the date before the nightly build 2006-05-19 08:00 nr * src/DATE: change the date before the nightly build 2006-05-18 08:00 nr * src/DATE: change the date before the nightly build 2006-05-17 08:00 nr * src/DATE: change the date before the nightly build 2006-05-16 08:00 nr * src/DATE: change the date before the nightly build 2006-05-15 08:00 nr * src/DATE: change the date before the nightly build 2006-05-14 08:00 nr * src/DATE: change the date before the nightly build 2006-05-13 08:00 nr * src/DATE: change the date before the nightly build 2006-05-12 08:00 nr * src/DATE: change the date before the nightly build 2006-05-11 08:00 nr * src/DATE: change the date before the nightly build 2006-05-10 18:28 dpeng * runtime/overflow/directreturn/: invokeclosure.nw, mkfile, overflow-client.c--, overflow.c--, runtime-internals.c: Fixed the bug: > Say f overflows. When invokeclosure > returns directly to f's caller, it doesn't restore any callee-save registers > that were saved in f's frame before it cut to the overflow handler. We give invokeclosure a 'body' continuation for the body of f. Then, it can give this to the runtime system and ask it where callee-save registers in f are stored. This turns out to be surprisingly painless with Norman's help. I have checked that callee-save registers are restored out of the same memory locations that they are saved to. I haven't been able to test that callee-save registers are actually preserved; qc-- by default doesn't want to allocate my variables in callee-save registers. With backend.ralloc=Ralloc.color it will, but then my code and the runtime system crash, depending on which files are compiled with which register coloring algorithm. 2006-05-10 08:00 nr * src/DATE: change the date before the nightly build 2006-05-09 08:00 nr * src/DATE: change the date before the nightly build 2006-05-08 18:54 dpeng * runtime/overflow/directreturn/invokeclosure.nw: Fixed this BUG: > we don't allocate memory in the invokeclosure frame > for the overflow return values, so if the overflow block is big enough, > it will overwrite invokeclosure local variables. Right now, more than > two overflow return values will trash a local variable in invokeclosure. To solve this, I added an %ebp base pointer to address local variables, so the %esp stack pointer can float and allocate variable-sized stack space at runtime. Much more documentation now. Diagrams of stack layout and everything. I also discovered a more serious bug. Say f overflows. When invokeclosure returns directly to f's caller, it doesn't restore any callee-save registers that were saved in f's frame before it cut to the overflow handler. At first, I thought we might be able to fish it out of the Cmm_Word* regs[] field in the Cmm_Activation struct for f, but that field doesn't get filled in for the youngest activation on the stack. Trouble.... 2006-05-08 08:00 nr * src/DATE: change the date before the nightly build 2006-05-07 08:00 nr * src/DATE: change the date before the nightly build 2006-05-06 08:00 nr * src/DATE: change the date before the nightly build 2006-05-05 18:05 dpeng * runtime/overflow/directreturn/: invokeclosure.nw, invokeclosure.s, mkfile: Moved invokeclosure.s into a noweb file invokeclosure.nw and started to document the interfaces. I noticed a bug; we don't allocate memory in the invokeclosure frame for the overflow return values, so if the overflow block is big enough, it will overwrite invokeclosure local variables. Right now, more than two overflow return values will trash a local variable in invokeclosure. Will fix this shortly. 2006-05-05 08:00 nr * src/DATE: change the date before the nightly build 2006-05-04 08:00 nr * src/DATE: change the date before the nightly build 2006-05-03 13:55 dpeng * runtime/overflow/README: Added description of the correct behavior to README. 2006-05-03 13:51 dpeng * runtime/overflow/README: Added README. 2006-05-03 08:00 nr * src/DATE: change the date before the nightly build 2006-05-02 17:03 dpeng * runtime/overflow/directreturn/: invokeclosure.s, mkfile, overflow-client.c--, overflow.c--, runtime-internals.c: Preliminary demo of overflow handling. Now everything works, including register and overflow blocks in and out. Moreover, the closure-invocation function is now dependent only on the _calling convention_; we don't need one for each function signature. This allows to hide it behind the abstraction barrier. 2006-05-02 08:00 nr * src/DATE: change the date before the nightly build 2006-05-02 02:24 dpeng * runtime/overflow/directreturn/: invokeclosure.s, mkfile, overflow-client.c--, overflow.c--: Preliminary demo of underflow handling without intervening return continuation. Overflow blocks work. Ugly but working. Will draw abstractions later. 2006-05-02 01:52 dpeng * runtime/overflow/directreturn/: getspan.c, invokeclosure.s, runtime-internals.c: - Missing files getspan.c and runtime-internals.c - (%esp) is _not_ a valid place to spill registers across calls. 2006-05-02 01:01 dpeng * runtime/overflow/directreturn/: invokeclosure.s, mkfile, overflow-client.c--, overflow.c--: Preliminary demo of underflow handling without intervening return continuation. Registers should be handled properly; the next iteration will test overflow blocks. 2006-05-01 19:43 dpeng * runtime/overflow/directreturn/: invokeclosure.s, mkfile, overflow-client.c--, overflow-global.c--, overflow.c--: This code will be a third experiment with overflow handling. We will eliminate the extra indirection of cutting to a continuation on the old stack that returns. Instead, the underflow handler will copy the overflow return values back to the old stack and return directly. 2006-05-01 18:01 dpeng * runtime/overflow/runtimebuildsclosure/overflow-client.c--: Stupid bug fix: need to cut to bits32[freestack] and not freestack. 2006-05-01 08:00 nr * src/DATE: change the date before the nightly build 2006-04-30 08:00 nr * src/DATE: change the date before the nightly build 2006-04-29 08:00 nr * src/DATE: change the date before the nightly build 2006-04-28 08:00 nr * src/DATE: change the date before the nightly build 2006-04-27 08:00 nr * src/DATE: change the date before the nightly build 2006-04-26 08:00 nr * src/DATE: change the date before the nightly build 2006-04-25 13:16 dpeng * runtime/overflow/runtimebuildsclosure/overflow.c--: documentation update. 2006-04-25 13:11 dpeng * runtime/overflow/runtimebuildsclosure/: overflow-client.c--, overflow-global.c--, overflow.c--: Move stack-freeing behind the overflow abstraction barrier. get_overflow_handler now returns two continuations, an overflow handler continuation and a stack-freeing continuation. 2006-04-25 08:00 nr * src/DATE: change the date before the nightly build 2006-04-24 08:00 nr * src/DATE: change the date before the nightly build 2006-04-23 21:38 dpeng * interp/libinclude/qc--interp.nw: Oops, I left an out-of-date function declaration in qc--interp.nw. I stumbled across an inconsistency while looking at this... it might be worth thinking about how to fix this. runtime.nw has: typedef CMM_label *Cmm_Codeptr; While qc--interp.nw has: typedef void (*Cmm_Codeptr) (void); On 4/22/06, Norman Ramsey wrote: > prs.nw: In function 'main': > prs.nw:704: warning: passing argument 1 of 'Fe_AddThread' from incompatible pointer type 2006-04-23 08:00 nr * src/DATE: change the date before the nightly build 2006-04-22 11:31 nr * config/auxdir/arch-os, runtime/mkfile, runtime/runtime.nw, src/luadriver.nw, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/queens.5, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wff.5, test2/x86/deadcontvar.5, test2/x86/fact.5, test2/x86/fork.5, test2/x86/nest.5, test2/x86/trace.5, test2/x86/unwind.5: Some changes to try to get the compiler to build on cygwin. .5 signatures changed, but all tests pass 2006-04-22 08:00 nr * src/DATE: change the date before the nightly build 2006-04-21 08:00 nr * src/DATE: change the date before the nightly build 2006-04-20 13:27 dpeng * runtime/overflow/: clientbuildsclosure/mkfile, clientbuildsclosure/overflow-client.c--, clientbuildsclosure/overflow-global.c--, clientbuildsclosure/overflow.c--, runtimebuildsclosure/getspan.c, runtimebuildsclosure/mkfile, runtimebuildsclosure/overflow-client.c--, runtimebuildsclosure/overflow-global.c--, runtimebuildsclosure/overflow.c--: Overflow handler demo. Here is the high-level overview of what happens when a stack limit check fails (in clientbuildsclosure). 1) The function checks the stack limit and realizes it has insufficient stack space. 2) It cuts to the overflow handler, passing a recovery continuation, the size of the closure required to reinvoke the function, and a function that invokes the closure (the closure-invocation function). 3) The overflow handler (running on its own stack) allocates a closure and a continuation that invokes the closure on a new stack; it cuts to the recovery continuation. 4) The recovery continuation fills in the closure with a pointer to the function, all its arguments, and a return continuation. It then cuts to the closure-invocation continuation, invoking the function on a new stack. 5) The function runs. 6) The function returns to the closure-invocation function. 7) The closure-invocation function cuts to the return continuation on the original stack with the return values. 8) The return continuation returns those values to the calling function. In runtimebuildsclosure, the overflow handler uses the runtime system to build the closure instead. 2006-04-20 08:00 nr * src/DATE: change the date before the nightly build 2006-04-19 08:00 nr * src/DATE: change the date before the nightly build 2006-04-18 21:02 nr * configure: more sanity for configuration 2006-04-18 08:00 nr * src/DATE: change the date before the nightly build 2006-04-17 08:00 nr * src/DATE: change the date before the nightly build 2006-04-16 08:00 nr * src/DATE: change the date before the nightly build 2006-04-15 08:00 nr * src/DATE: change the date before the nightly build 2006-04-14 08:00 nr * src/DATE: change the date before the nightly build 2006-04-13 08:00 nr * src/DATE: change the date before the nightly build 2006-04-12 08:00 nr * src/DATE: change the date before the nightly build 2006-04-11 08:00 nr * src/DATE: change the date before the nightly build 2006-04-10 17:28 nr * configure, mkfile, config/aux/arch-os, config/aux/config.c, config/auxdir/arch-os, config/auxdir/config.c, doc/index.nw, doc/modules.txt, src/alpha.nw, src/alphacall.nw, src/arm.nw, src/automaton.nw, src/aux.nw, src/auxfuns.nw, src/backplane.nw, src/block.nw, src/cfg.nw, src/colorgraph.nw, src/contn.nw, src/dummy.nw, src/elabexp.nw, src/elabstmt.nw, src/eqn.nw, src/ia64.nw, src/ia64call.nw, src/lualink.nw, src/memalloc.nw, src/mips.nw, src/mipscall.nw, src/mkfile, src/nast.nw, src/nelab.nw, src/ocolorgraph.nw, src/parser.nw, src/placevar.nw, src/ppc.nw, src/rtlutil.nw, src/runtimedata.nw, src/sparc.nw, src/sparccall.nw, src/target.nw, src/types.nw, src/varmap.nw, src/x86.nw: In order to enable the distribution to unpack on Windows XP, removed all files and directories with a base name of 'aux'. 2006-04-10 08:00 nr * src/DATE: change the date before the nightly build 2006-04-09 08:00 nr * src/DATE: change the date before the nightly build 2006-04-08 08:00 nr * src/DATE: change the date before the nightly build 2006-04-07 08:00 nr * src/DATE: change the date before the nightly build 2006-04-06 08:00 nr * src/DATE: change the date before the nightly build 2006-04-05 08:00 nr * src/DATE: change the date before the nightly build 2006-04-04 08:00 nr * src/DATE: change the date before the nightly build 2006-04-03 08:00 nr * src/DATE: change the date before the nightly build 2006-04-02 08:00 nr * src/DATE: change the date before the nightly build 2006-04-01 08:00 nr * src/DATE: change the date before the nightly build 2006-03-31 08:00 nr * src/DATE: change the date before the nightly build 2006-03-30 08:00 nr * src/DATE: change the date before the nightly build 2006-03-29 08:00 nr * src/DATE: change the date before the nightly build 2006-03-28 08:00 nr * src/DATE: change the date before the nightly build 2006-03-27 08:00 nr * src/DATE: change the date before the nightly build 2006-03-26 08:00 nr * src/DATE: change the date before the nightly build 2006-03-25 08:00 nr * src/DATE: change the date before the nightly build 2006-03-24 08:00 nr * src/DATE: change the date before the nightly build 2006-03-23 08:00 nr * src/DATE: change the date before the nightly build 2006-03-22 08:00 nr * src/DATE: change the date before the nightly build 2006-03-21 08:00 nr * src/DATE: change the date before the nightly build 2006-03-20 08:00 nr * src/DATE: change the date before the nightly build 2006-03-19 08:00 nr * src/DATE: change the date before the nightly build 2006-03-18 08:00 nr * src/DATE: change the date before the nightly build 2006-03-17 08:00 nr * src/DATE: change the date before the nightly build 2006-03-16 08:00 nr * src/DATE: change the date before the nightly build 2006-03-15 08:00 nr * src/DATE: change the date before the nightly build 2006-03-14 08:00 nr * src/DATE: change the date before the nightly build 2006-03-13 21:01 nr * src/: alpha.nw, ast2ir.nw, aux.nw, dummy.nw, ia64.nw, interp.nw, main.nw, mips.nw, mkfile, nelab.nw, ppc.nw, sparc.nw, target.nw, x86.nw: added field Target.tx_ast 2006-03-13 08:00 nr * src/DATE: change the date before the nightly build 2006-03-12 08:00 nr * src/DATE: change the date before the nightly build 2006-03-11 08:00 nr * src/DATE: change the date before the nightly build 2006-03-10 08:00 nr * src/DATE: change the date before the nightly build 2006-03-09 08:00 nr * src/DATE: change the date before the nightly build 2006-03-08 17:33 nr * INSTALL, configure, camlburg/code.nw, camlburg/lex.nw, camlburg/main.nw, camlburg/noguardscheck.nw, camlburg/ocamlburg.1, doc/qc--.1, doc/qc--internals.1, interp/encode.c, interp/encode.h, interp/interp-dec.c, interp/interp.nw, interp/mkfile, interp/underflowhandler.c--, interp/underflowhandler.h, interp/underflowhandler.nw, lua/stdluainterp.nw, runtime/doc.tex, src/ast2ir.nw, src/astasm.nw, src/automatongraph.nw, src/availpass.nw, src/backplane.nw, src/call.nw, src/cfgutil.nw, src/colorgraph.nw, src/dls.nw, src/dominator.nw, src/elabexp.nw, src/elabstmt.nw, src/eqn.nw, src/expander.nw, src/lifetime.nw, src/luacompile.nw, src/lualink.nw, src/mkfile, src/mvalidate.nw, src/nelab.nw, src/optimize.nw, src/placevar.nw, src/ppc.nw, src/ppcasm.nw, src/registerclass.nw, src/rewrite.nw, src/rtlutil.nw, src/simplify.nw, src/stack.nw, src/talloc.nw, src/topsort.nw, src/varmap.nw, src/vfp.nw, src/widen.nw, src/x86asm.nw, src/x86call.nw, test2/l32files.lua, test2/lcc/x86/8q.s, test2/lcc/x86/array.s, test2/lcc/x86/cf.s, test2/lcc/x86/cvt.s, test2/lcc/x86/front.s, test2/lcc/x86/init.s, test2/lcc/x86/sort.s, test2/lcc/x86/spill.s, test2/lcc/x86/struct.s, test2/lcc/x86/switch.s, test2/lcc/x86/wf1.s, test2/output/altret3.1, test2/src/altread.c--, test2/src/altret3.c--, test2/src/ctest.c, test2/src/errno.c, test2/src/lit8main.c, test2/src/r64main.c, test2/tiger/x86/arrays.5, test2/tiger/x86/arrays.s, test2/tiger/x86/colmajor.5, test2/tiger/x86/colmajor.s, test2/tiger/x86/exceptions.5, test2/tiger/x86/exceptions.s, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/merge.s, test2/tiger/x86/qsort.5, test2/tiger/x86/qsort.s, test2/tiger/x86/queens.5, test2/tiger/x86/queens.s, test2/tiger/x86/rb.5, test2/tiger/x86/rb.s, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/rc4.s, test2/tiger/x86/sieve.5, test2/tiger/x86/sieve.s, test2/tiger/x86/wf.5, test2/tiger/x86/wf.s, test2/tiger/x86/wff.5, test2/tiger/x86/wff.s, test2/x86/altread.s, test2/x86/altret.s, test2/x86/altret3.s, test2/x86/arglist.s, test2/x86/blockcpy.s, test2/x86/carry.5, test2/x86/deadcontvar.5, test2/x86/eqasolve-000.s, test2/x86/exp-003.s, test2/x86/fact.5, test2/x86/failedcase.s, test2/x86/fork.5, test2/x86/infloop.s, test2/x86/lit8.5, test2/x86/nest.5, test2/x86/nums.s, test2/x86/ovrflow.s, test2/x86/r64.5, test2/x86/round.s, test2/x86/round2.s, test2/x86/switch.s, test2/x86/tadd.s, test2/x86/tail_from_c.s, test2/x86/test-039.s, test2/x86/trace.5, test2/x86/unwind.5, test2/x86/x86-001.s, tools/grades.1, tools/nofake, tools/ocamlerror.nw: Four things going on here: 1. Some slightly dubious extensions intended to help Clayton with his thesis. 2. Update test cases to be consistent with Ocaml 3.09, gcc 4, and whatever the hell glibc the FSF is foisting on us this week. 3. A number of small changes to deal with warnings that seem to be turned on by default in caml 3.09. 4. interp/mkfile caused sources to be destroyed by 'mk clobber'. Those sources have been moved to interp/underflowhandler.nw. 2006-03-08 08:00 nr * src/DATE: change the date before the nightly build 2006-03-07 08:00 nr * src/DATE: change the date before the nightly build 2006-03-06 08:00 nr * src/DATE: change the date before the nightly build 2006-03-05 08:00 nr * src/DATE: change the date before the nightly build 2006-03-04 08:00 nr * src/DATE: change the date before the nightly build 2006-03-03 08:00 nr * src/DATE: change the date before the nightly build 2006-03-02 08:00 nr * src/DATE: change the date before the nightly build 2006-03-01 08:00 nr * src/DATE: change the date before the nightly build 2006-02-28 08:00 nr * src/DATE: change the date before the nightly build 2006-02-27 08:00 nr * src/DATE: change the date before the nightly build 2006-02-26 08:00 nr * src/DATE: change the date before the nightly build 2006-02-25 08:00 nr * src/DATE: change the date before the nightly build 2006-02-24 08:00 nr * src/DATE: change the date before the nightly build 2006-02-23 08:00 nr * src/DATE: change the date before the nightly build 2006-02-22 08:00 nr * src/DATE: change the date before the nightly build 2006-02-21 08:00 nr * src/DATE: change the date before the nightly build 2006-02-20 08:00 nr * src/DATE: change the date before the nightly build 2006-02-19 08:00 nr * src/DATE: change the date before the nightly build 2006-02-17 08:00 nr * src/DATE: change the date before the nightly build 2006-02-16 08:00 nr * src/DATE: change the date before the nightly build 2006-02-15 08:00 nr * src/DATE: change the date before the nightly build 2006-02-14 08:00 nr * src/DATE: change the date before the nightly build 2006-02-13 08:00 nr * src/DATE: change the date before the nightly build 2006-02-12 08:00 nr * src/DATE: change the date before the nightly build 2006-02-11 08:00 nr * src/DATE: change the date before the nightly build 2006-02-10 08:00 nr * src/DATE: change the date before the nightly build 2006-02-09 08:00 nr * src/DATE: change the date before the nightly build 2006-02-08 08:00 nr * src/DATE: change the date before the nightly build 2006-02-07 08:00 nr * src/DATE: change the date before the nightly build 2006-02-06 08:00 nr * src/DATE: change the date before the nightly build 2006-02-05 08:00 nr * src/DATE: change the date before the nightly build 2006-02-05 00:38 dpeng * interp/: fe_prs.nw, interp-dec.c, interp.nw, runtime.nw, thread.nw: This is a major cleanup and simplification of the interpreter. Conceptually: 1. The interpreter supports multiple threads running in the same stack. I did this by pulling the stack_free (i.e., stack pointer) field out of the "thread" structure (which is really a stack structure), and letting run_interp take a continuation as an argument to get the pc and stack pointer. 2. The interpreter no longer copies pseudo-activation-records off of the stack into C local variables for "performance". I think this is premature optimization. interp.nw now has 100 fewer lines of code. This will be much easier to understand and maintain. 3. All frame allocation is now encapsulated into two functions: Cmm_AllocFrameFirst allocates the eldest frame on a stack, given the stack base; Cmm_AllocFrameNext allocates the next frame on the stack, given the caller's stack pointer. This sets the stage for overflow handling, since all allocation is encapsulated in one place. 2006-02-04 22:51 dpeng * interp/: encode.c, encode.h: encode.[ch]: checking in files generated by NJ Machine Toolkit 0.5a rather than 0.5. 2006-02-04 22:49 dpeng * interp/: mkfile, clients/mkfile: - interp/mkfile. Added prs so my new client will get built alongside gc and exn. - interp/clients/mkfile. Added dependency to ../libqc--interp.a so that clients will rebuild when qc--interp library changes. 2006-02-04 08:00 nr * src/DATE: change the date before the nightly build 2006-02-03 18:59 dpeng * mkfile: Interpreter now depends on qc-- to build underflowhandler.c--, so this dependency needs to be reflected in the top-level mkfile. (build break) 2006-02-03 18:51 dpeng * interp/test/: cut-bad.2, simple.2: Update golden files. Just one broken testcase left (safedivide.c--). 2006-02-03 18:50 dpeng * src/: interp.nw, mvalidate.nw, target.nw: Various fixes on capabilities. 1. We have a real capabilities list for the Interpreter backend now! This was heuristically generated from interp/operator.nw by editing the output of gcc -E operator.c \ | grep 'register_operator("' \ | perl -ne '/("[^"]*")/; print "; $1, ["; while (/"bits(\d+)/g) { print "$1;" }; print "]\n"' \ | sort 2. No more of this "trivially possible" bogosity in mvalidate.nw. What "trivially possible" actually meant was "entirely absent from the capabilities". Now, if used to be "trivially possible", it's now entirely impossible, and mvalidate.nw will give a warning. Together, these fix the interp/test/rounding.c-- testcase warnings: I can hardly credit it -- operator %fdiv is trivially possible I can hardly credit it -- operator %i2f is trivially possible I can hardly credit it -- operator %i2f is trivially possible I can hardly credit it -- operator %round_down is trivially possible I can hardly credit it -- operator %f2i is trivially possible I can hardly credit it -- operator %round_up is trivially possible I can hardly credit it -- operator %f2i is trivially possible I can hardly credit it -- operator %round_nearest is trivially possible I can hardly credit it -- operator %f2i is trivially possible I can hardly credit it -- operator %round_zero is trivially possible I can hardly credit it -- operator %f2i is trivially possible 2006-02-03 14:26 dpeng * interp/: interp.nw, interp-dec.c: Revision 1.19 of thread.nw (allocating the memory for the thread structure at the bottom of the stack) was not a memory leak; I just couldn't find where the thread structure was freed. This caused this runtime error: *** glibc detected *** double free or corruption (!prev): 0x08096680 *** But rather than revert 1.19, it's better not to free the thread structure on return! 2006-02-03 08:00 nr * src/DATE: change the date before the nightly build 2006-02-02 18:18 dpeng * src/interpasm.nw: This program would throw an exception Impossible.Impossible("found illegal stackdata span value") when compiled with qc-- -interp -S: target byteorder little memsize 8 wordsize 32 pointersize 32 ; import bits32 printf; section "text" { _Cmm_underflow_handler() { stackdata { c : bits32[2]; } printf(0); return(0); } } This was because interpasm.nw was not correctly matching the RTL expressions for stackdata. Many thanks to John Dias for walking me through this fix. 2006-02-02 10:51 dpeng * interp/: mkfile, runtime.nw, underflowhandler.c--, underflowhandler.h: Moved CopyFrames underflow handler into separate compilation module, managed by mk. 2006-02-02 08:00 nr * src/DATE: change the date before the nightly build 2006-02-01 08:00 nr * src/DATE: change the date before the nightly build 2006-01-31 08:00 nr * src/DATE: change the date before the nightly build 2006-01-30 08:00 nr * src/DATE: change the date before the nightly build 2006-01-29 08:00 nr * src/DATE: change the date before the nightly build 2006-01-28 08:00 nr * src/DATE: change the date before the nightly build 2006-01-27 08:00 nr * src/DATE: change the date before the nightly build 2006-01-26 15:55 dpeng * interp/disasm-dec.c: This was regenerated from disasm.nw. Fix build. 2006-01-26 15:54 dpeng * interp/fe_prs.nw: Fix build problem. 2006-01-26 13:14 nr * interp/interp-dec.c: make consistent with new interp.m 2006-01-26 08:00 nr * src/DATE: change the date before the nightly build 2006-01-25 08:00 nr * src/DATE: change the date before the nightly build 2006-01-25 03:55 dpeng * interp/: disasm.nw, fe_prs.nw, interp.nw, mkfile, runtime.nw, thread.nw, clients/prs.nw, libinclude/qc--interp.nw, samples/callcc.c--: disasm.nw - Reorganized disasm.nw to permit disassembly of single instructions. This helps a lot in debugging. - disasm.nw now prints the label name as well as the address when printing symbols. thread.nw - Removed the program counter from the thread structure. The program counter belongs on the stack, not in the thread structure (which really describes a stack). - As a consequence, init_thread now returns a continuation rather than a thread structure. To retrieve the thread structure, I added a new function find_thread_c. runtime.nw - New Stack walking function: Cmm_MakeReturnContinuation(Cmm_Cont* k). Given a continuation k, Cmm_MakeReturnContinuation gives the continuation that says what happens after the function containing k returns. This is not well-defined if the function can return to more than one continuation. fe_prs.nw - Refactored concurrent interpreter. Moved all scheduler code from runtime.nw to fe_prs.nw and prefixed with Fe_. The scheduler and associated functions belong in the client, but they lie in bed here with the interpreter backend because of this mismatch between the interpreter and the compiler. - Scheduler now uses a sane circularly doubly linked list representation of runnable threads. This allows dynamic adding and removing of runnable threads. - Added interface to allow C-- functions to identify themselves as having stealable return continuations. These are pushed and popped off of a stack. If we have less than 2 threads running, we try to steal a continuation and run it in a new stack. samples/callcc.c-- clients/prs.nw - Basic stealing idea implemented and tested. prscall calls stealer, which counts up from 0 and prints the output. The return continuation gets stolen, and the stealer continues in main() and counts down from 0, printing the output. TODO: stack limit checking 2006-01-24 08:00 nr * src/DATE: change the date before the nightly build 2006-01-23 08:00 nr * src/DATE: change the date before the nightly build 2006-01-22 08:00 nr * src/DATE: change the date before the nightly build 2006-01-21 08:00 nr * src/DATE: change the date before the nightly build 2006-01-20 08:00 nr * src/DATE: change the date before the nightly build 2006-01-19 08:00 nr * src/DATE: change the date before the nightly build 2006-01-18 08:00 nr * src/DATE: change the date before the nightly build 2006-01-17 08:00 nr * src/DATE: change the date before the nightly build 2006-01-16 08:00 nr * src/DATE: change the date before the nightly build 2006-01-15 08:00 nr * src/DATE: change the date before the nightly build 2006-01-14 08:00 nr * src/DATE: change the date before the nightly build 2006-01-13 08:00 nr * src/DATE: change the date before the nightly build 2006-01-12 08:00 nr * src/DATE: change the date before the nightly build 2006-01-11 08:00 nr * src/DATE: change the date before the nightly build 2006-01-10 08:00 nr * src/DATE: change the date before the nightly build 2006-01-07 08:00 nr * src/DATE: change the date before the nightly build 2006-01-06 08:00 nr * src/DATE: change the date before the nightly build 2006-01-05 18:06 chambers * test2/src/nestmain.c: added missing #include, to silence a warning 2006-01-05 08:00 nr * src/DATE: change the date before the nightly build 2006-01-05 00:54 dpeng * interp/libinclude/qc--interp.nw: Oops, need to add Cmm_RunThreads to the runtime interface. 2006-01-05 00:53 dpeng * interp/: clients/prs.nw, samples/callcc.c--: Sample client now has an extra "stealer" thread that just counts up and prints. 2006-01-05 00:52 dpeng * interp/runtime.nw: New function Cmm_RunThreads(Cmm_Cont* k[], int n) takes an array of threads and runs them all "concurrently". That is, it runs one bytecode from a thread and moves to the next thread. 2006-01-05 00:51 dpeng * interp/interp.nw: Oops, each interpreter thread needs its own argument space as well as its own value stack. I wrapped the argument space and value stack into an ADT "interp_state", which can be new-ed and free-ed by clients and passed into run_interp_n. 2006-01-04 14:57 dpeng * interp/thread.nw: Updated stack diagram and documentation. 2006-01-04 14:45 dpeng * interp/thread.nw: Allocate the thread structure at the bottom of the stack instead of using malloc. This way, we don't memory-leak the thread structure. 2006-01-04 14:41 dpeng * interp/runtime.nw: Make Cmm_CopyFrames correctly set t->stack_free to the top of the stack. This bug went unnoticed because interp.nw's CUT sets t->stack_free to the continuation's stack pointer. 2006-01-04 08:00 nr * src/DATE: change the date before the nightly build 2006-01-03 16:13 dpeng * interp/samples/: callcc.c--, mkfile: Experimental concurrency C-- program for testing with prs_client. 2006-01-03 16:10 dpeng * interp/clients/: mkfile, prs.nw: Experimental interpreter client for parallel-ready serial calls. 2006-01-03 15:47 dpeng * interp/interp.nw: Added some documentation on run_interp_n. 2006-01-03 15:29 dpeng * interp/: interp.nw, runtime.nw, thread.nw: - I moved Cmm_AllocFrame from runtime.nw to thread.nw; since it allocates a new frame on the stack, it belongs with the other stack-related functions in thread.nw. - I introduced a new function: int run_interp_n(thread **t1, valstack* values1, int num_bytecodes); which runs up to num_bytecodes bytecodes and then saves the state of the interpreter on the stack. It updates the value stack values1 and also changes the pointer to the current thread t1. It returns the number of bytecodes actually interpreted. (If the program is done, this will be less than the number of bytecodes requested.) - run_interp is currently implemented by calling run_interp_n with num_bytecodes = 1 repeatedly until the program finishes. This is brutally inefficient, but it's a good stress test for the run_interp_n. - The value stack is no longer globally allocated. run_interp_n expects to be passed a value stack. run_interp mallocs a value stack for run_interp_n and frees it afterwards. 2006-01-03 08:00 nr * src/DATE: change the date before the nightly build 2006-01-02 09:23 nr * src/: DATE: change the date before the nightly build 2005-12-28 08:00 nr * src/DATE: change the date before the nightly build 2005-12-27 08:00 nr * src/DATE: change the date before the nightly build 2005-12-26 08:00 nr * src/DATE: change the date before the nightly build 2005-12-25 08:00 nr * src/DATE: change the date before the nightly build 2005-12-24 08:00 nr * src/DATE: change the date before the nightly build 2005-12-23 08:00 nr * src/DATE: change the date before the nightly build 2005-12-22 08:00 nr * src/DATE: change the date before the nightly build 2005-12-21 08:00 nr * src/DATE: change the date before the nightly build 2005-12-20 08:00 nr * src/DATE: change the date before the nightly build 2005-12-19 08:00 nr * src/DATE: change the date before the nightly build 2005-12-18 08:00 nr * src/DATE: change the date before the nightly build 2005-12-17 08:00 nr * src/DATE: change the date before the nightly build 2005-12-16 08:00 nr * src/DATE: change the date before the nightly build 2005-12-15 08:00 nr * src/DATE: change the date before the nightly build 2005-12-14 08:00 nr * src/DATE: change the date before the nightly build 2005-12-13 08:00 nr * src/DATE: change the date before the nightly build 2005-12-12 16:32 dpeng * interp/interp.nw: Permit returning into functions that don't have Kappa annotations like the underflow stubs. We just return to the default return; no "also returns to". 2005-12-12 15:42 dpeng * interp/runtime.nw: Stupidity. Reordered two blocks before last commit to improve readability, but this broke the program. 2005-12-12 08:00 nr * src/DATE: change the date before the nightly build 2005-12-12 00:18 dpeng * interp/: runtime.nw, libinclude/qc--interp.nw: - Add Cmm_NextActivationUnsafe() to see stubs at eldest ends of stacks. - Add Cmm_AllocFrame() to allocate a new frame on a stack. - Add Cmm_CopyFrames() to copy frames from one stack to another. 2005-12-11 22:43 dpeng * interp/interp.nw: - Fixed some whitespacing. - Fixed bug where the name field of the activation wasn't being propagated by RETURN. - Made memory limit check use mem_assert. - Fixed CUT across threads to find_thread on the new thread, not the old one. 2005-12-11 08:00 nr * src/DATE: change the date before the nightly build 2005-12-10 08:00 nr * src/DATE: change the date before the nightly build 2005-12-09 08:00 nr * src/DATE: change the date before the nightly build 2005-12-08 08:00 nr * src/DATE: change the date before the nightly build 2005-12-07 08:00 nr * src/DATE: change the date before the nightly build 2005-12-06 08:00 nr * src/DATE: change the date before the nightly build 2005-12-05 08:00 nr * src/DATE: change the date before the nightly build 2005-12-04 08:00 nr * src/DATE: change the date before the nightly build 2005-12-03 08:00 nr * src/DATE: change the date before the nightly build 2005-12-02 08:00 nr * src/DATE: change the date before the nightly build 2005-12-01 08:00 nr * src/DATE: change the date before the nightly build 2005-11-30 08:00 nr * src/DATE: change the date before the nightly build 2005-11-29 08:00 nr * src/DATE: change the date before the nightly build 2005-11-28 08:00 nr * src/DATE: change the date before the nightly build 2005-11-27 08:00 nr * src/DATE: change the date before the nightly build 2005-11-26 08:00 nr * src/DATE: change the date before the nightly build 2005-11-25 08:00 nr * src/DATE: change the date before the nightly build 2005-11-24 08:00 nr * src/DATE: change the date before the nightly build 2005-11-23 08:00 nr * src/DATE: change the date before the nightly build 2005-11-22 15:17 chambers * runtime/.cvsignore: added generated runtime/yield.c-- to .cvsignore 2005-11-22 08:00 nr * src/DATE: change the date before the nightly build 2005-11-21 08:00 nr * src/DATE: change the date before the nightly build 2005-11-20 08:00 nr * src/DATE: change the date before the nightly build 2005-11-19 08:00 nr * src/DATE: change the date before the nightly build 2005-11-18 08:00 nr * src/DATE: change the date before the nightly build 2005-11-17 08:00 nr * src/DATE: change the date before the nightly build 2005-11-16 08:00 nr * src/DATE: change the date before the nightly build 2005-11-15 08:00 nr * src/DATE: change the date before the nightly build 2005-11-14 08:00 nr * src/DATE: change the date before the nightly build 2005-11-13 08:00 nr * src/DATE: change the date before the nightly build 2005-11-12 15:16 dpeng * src/: interp.nw, target.nw: Interpreter backend was completele incapable. (T.incapable). We replaced it with a minimal set of capabilities. Coincidentally, we fulfilled this todo: > IT WOULD BE GOOD TO HAVE A ``STANDARD'' BACK END THAT TAKES A NATURAL > WIDTH (OR PERHAPS INT AND FLOATING WIDTHS?) AND RETURNS A CAPABILITY > RECORD. Now, minimal_capabilities: int -> capabilities returns a minimal set of capabilities, given the word size. With generous help from Kevin. 2005-11-12 08:00 nr * src/DATE: change the date before the nightly build 2005-11-11 08:00 nr * src/DATE: change the date before the nightly build 2005-11-10 08:00 nr * src/DATE: change the date before the nightly build 2005-11-09 08:00 nr * src/DATE: change the date before the nightly build 2005-11-08 08:00 nr * src/DATE: change the date before the nightly build 2005-11-07 18:02 nr * src/: luacompile.nw, luadriver.nw: Fixed a bug in qc-- -interp (layout function did not get update when zipcfg came in) Also added -globals to qc-- -help 2005-11-07 17:58 nr * lua/lualib.nw: cleaned up some ugly code 2005-11-07 08:00 nr * src/DATE: change the date before the nightly build 2005-11-06 19:41 dpeng * doc/mkfile: Newer versions of groff (>1.18?) use SGR escape sequences to bold and underline text rather than backspaces. This breaks ul with the error: Unknown escape sequence in input: 33, 133 Fix: Set the GROFF_NO_SGR=1 environment variable in the mkfile before running nroff. qc--.man:D: qc--.1 GROFF_NO_SGR=1 nroff -man -Tascii qc--.1 | ul -t dump > $target 2005-11-06 08:00 nr * src/DATE: change the date before the nightly build 2005-11-05 16:15 nr * configure, config/aux/config.c: escape dots in regexps passed to fileparse (thanks Dan'l Peng) slay warning about exit() in config/aux/config.c 2005-11-05 08:00 nr * src/DATE: change the date before the nightly build 2005-11-04 08:00 nr * src/DATE: change the date before the nightly build 2005-11-03 08:00 nr * src/DATE: change the date before the nightly build 2005-11-02 08:00 nr * src/DATE: change the date before the nightly build 2005-11-01 08:00 nr * src/DATE: change the date before the nightly build 2005-10-31 08:00 nr * src/DATE: change the date before the nightly build 2005-10-30 08:00 nr * src/DATE: change the date before the nightly build 2005-10-29 08:00 nr * src/DATE: change the date before the nightly build 2005-10-27 08:00 nr * src/DATE: change the date before the nightly build 2005-10-26 08:00 nr * src/DATE: change the date before the nightly build 2005-10-25 08:00 nr * src/DATE: change the date before the nightly build 2005-10-24 13:42 dias * doc/release.ps, lua/mkfile, src/dls.nw, src/luacompile.nw, src/mkfile, src/nopoly.nw, tools/nofake: Some mkfile fixes (profiling...), and a timing macro in the Lua code. 2005-10-24 08:00 nr * src/DATE: change the date before the nightly build 2005-10-23 08:00 nr * src/DATE: change the date before the nightly build 2005-10-22 08:00 nr * src/DATE: change the date before the nightly build 2005-10-21 08:00 nr * src/DATE: change the date before the nightly build 2005-10-20 08:00 nr * src/DATE: change the date before the nightly build 2005-10-19 08:00 nr * src/DATE: change the date before the nightly build 2005-10-18 15:10 dias * src/luacompile.nw: Some better timing code for lua debugging 2005-10-18 14:31 dias * interp/: mkfile, libinclude/mkfile: Fixed missing build dependency with interpreter. 2005-10-18 08:00 nr * src/DATE: change the date before the nightly build 2005-10-17 08:00 nr * src/DATE: change the date before the nightly build 2005-10-16 08:00 nr * src/DATE: change the date before the nightly build 2005-10-15 08:00 nr * src/DATE: change the date before the nightly build 2005-10-14 08:00 nr * src/DATE: change the date before the nightly build 2005-10-13 08:00 nr * src/DATE: change the date before the nightly build 2005-10-12 08:00 nr * src/DATE: change the date before the nightly build 2005-10-11 08:00 nr * src/DATE: change the date before the nightly build 2005-10-10 08:00 nr * src/DATE: change the date before the nightly build 2005-10-09 08:00 nr * src/DATE: change the date before the nightly build 2005-10-08 08:00 nr * src/DATE: change the date before the nightly build 2005-10-07 08:00 nr * src/DATE: change the date before the nightly build 2005-10-06 08:00 nr * src/DATE: change the date before the nightly build 2005-10-05 08:00 nr * src/DATE: change the date before the nightly build 2005-10-04 08:00 nr * src/DATE: change the date before the nightly build 2005-10-03 08:00 nr * src/DATE: change the date before the nightly build 2005-10-02 08:00 nr * src/DATE: change the date before the nightly build 2005-10-01 08:00 nr * src/DATE: change the date before the nightly build 2005-09-30 09:14 govereau * configure: configure for machines without cpif 2005-09-30 08:00 nr * src/DATE: change the date before the nightly build 2005-09-29 08:00 nr * src/DATE: change the date before the nightly build 2005-09-28 08:00 nr * src/DATE: change the date before the nightly build 2005-09-27 08:00 nr * src/DATE: change the date before the nightly build 2005-09-26 08:00 nr * src/DATE: change the date before the nightly build 2005-09-25 08:00 nr * src/DATE: change the date before the nightly build 2005-09-24 08:00 nr * src/DATE: change the date before the nightly build 2005-09-23 08:00 nr * src/DATE: change the date before the nightly build 2005-09-22 08:00 nr * src/DATE: change the date before the nightly build 2005-09-21 08:00 nr * src/DATE: change the date before the nightly build 2005-09-20 08:00 nr * src/DATE: change the date before the nightly build 2005-09-19 08:00 nr * src/DATE: change the date before the nightly build 2005-09-18 08:00 nr * src/DATE: change the date before the nightly build 2005-09-17 08:00 nr * src/DATE: change the date before the nightly build 2005-09-16 08:00 nr * src/DATE: change the date before the nightly build 2005-09-15 08:00 nr * src/DATE: change the date before the nightly build 2005-09-14 08:00 nr * src/DATE: change the date before the nightly build 2005-09-13 08:00 nr * src/DATE: change the date before the nightly build 2005-09-12 08:00 nr * src/DATE: change the date before the nightly build 2005-09-11 08:00 nr * src/DATE: change the date before the nightly build 2005-09-10 08:00 nr * src/DATE: change the date before the nightly build 2005-09-09 08:00 nr * src/DATE: change the date before the nightly build 2005-09-08 08:00 nr * src/DATE: change the date before the nightly build 2005-09-07 08:00 nr * src/DATE: change the date before the nightly build 2005-09-06 08:00 nr * src/DATE: change the date before the nightly build 2005-09-05 08:00 nr * src/DATE: change the date before the nightly build 2005-09-04 08:00 nr * src/DATE: change the date before the nightly build 2005-09-03 08:00 nr * src/DATE: change the date before the nightly build 2005-09-02 08:00 nr * src/DATE: change the date before the nightly build 2005-09-01 08:00 nr * src/DATE: change the date before the nightly build 2005-08-31 08:00 nr * src/DATE: change the date before the nightly build 2005-08-30 08:00 nr * src/DATE: change the date before the nightly build 2005-08-29 08:00 nr * src/DATE: change the date before the nightly build 2005-08-28 08:00 nr * src/DATE: change the date before the nightly build 2005-08-27 08:00 nr * src/DATE: change the date before the nightly build 2005-08-26 08:00 nr * src/DATE: change the date before the nightly build 2005-08-25 08:00 nr * src/DATE: change the date before the nightly build 2005-08-24 08:00 nr * src/DATE: change the date before the nightly build 2005-08-23 08:00 nr * src/DATE: change the date before the nightly build 2005-08-22 08:00 nr * src/DATE: change the date before the nightly build 2005-08-21 08:00 nr * src/DATE: change the date before the nightly build 2005-08-20 08:00 nr * src/DATE: change the date before the nightly build 2005-08-19 08:00 nr * src/DATE: change the date before the nightly build 2005-08-18 08:00 nr * src/DATE: change the date before the nightly build 2005-08-17 08:00 nr * src/DATE: change the date before the nightly build 2005-08-16 13:28 nr * gen/mkfile, interp/mkfile, lua/stdluainterp.nw: raise Failure when registering duplicate names 2005-08-16 08:00 nr * src/DATE: change the date before the nightly build 2005-08-15 08:00 nr * src/DATE: change the date before the nightly build 2005-08-14 08:00 nr * src/DATE: change the date before the nightly build 2005-08-13 08:00 nr * src/DATE: change the date before the nightly build 2005-08-12 08:00 nr * src/DATE: change the date before the nightly build 2005-08-11 08:00 nr * src/DATE: change the date before the nightly build 2005-08-10 08:00 nr * src/DATE: change the date before the nightly build 2005-08-09 08:00 nr * src/DATE: change the date before the nightly build 2005-08-08 08:00 nr * src/DATE: change the date before the nightly build 2005-08-07 08:00 nr * src/DATE: change the date before the nightly build 2005-08-06 08:00 nr * src/DATE: change the date before the nightly build 2005-08-05 12:06 nr * runtime/pcmap.nw, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/queens.5, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wff.5, test2/x86/deadcontvar.5, test2/x86/fact.5, test2/x86/fork.5, test2/x86/nest.5, test2/x86/trace.5, test2/x86/unwind.5: minor refactoring of address arithmetic in runtime/pcmap.nw; tests pass 2005-08-05 08:00 nr * src/DATE: change the date before the nightly build 2005-08-04 08:00 nr * src/DATE: change the date before the nightly build 2005-08-03 12:16 nr * cllib/pc.nw: some cleanup and changes to types 2005-08-03 08:00 nr * src/DATE: change the date before the nightly build 2005-08-02 08:00 nr * src/DATE: change the date before the nightly build 2005-08-01 08:00 nr * src/DATE: change the date before the nightly build 2005-07-31 08:00 nr * src/DATE: change the date before the nightly build 2005-07-30 08:00 nr * src/DATE: change the date before the nightly build 2005-07-29 08:00 nr * src/DATE: change the date before the nightly build 2005-07-28 08:00 nr * src/DATE: change the date before the nightly build 2005-07-27 08:00 nr * src/DATE: change the date before the nightly build 2005-07-26 08:00 nr * src/DATE: change the date before the nightly build 2005-07-25 08:00 nr * src/DATE: change the date before the nightly build 2005-07-24 08:00 nr * src/DATE: change the date before the nightly build 2005-07-23 08:00 nr * src/DATE: change the date before the nightly build 2005-07-22 08:00 nr * src/DATE: change the date before the nightly build 2005-07-21 08:00 nr * src/DATE: change the date before the nightly build 2005-07-20 12:09 nr * src/expander.nw: Two new cases to go direct to Post.load and Post.store without intermediate temporaries. Aimed at stack-slot assignments but should also apply to ordinary code. No changes observed in vanilla x86 tests. 2005-07-20 08:00 nr * src/DATE: change the date before the nightly build 2005-07-19 08:00 nr * src/DATE: change the date before the nightly build 2005-07-18 08:00 nr * src/DATE: change the date before the nightly build 2005-07-17 08:00 nr * src/DATE: change the date before the nightly build 2005-07-16 08:00 nr * src/DATE: change the date before the nightly build 2005-07-15 15:50 nr * src/: expander.nw, lualink.nw: Added more cases to the generic expander to handle assignment to a stack-slot temporary. All x86 tests pass. I have a bad feeling about this. 2005-07-15 08:00 nr * src/DATE: change the date before the nightly build 2005-07-14 08:00 nr * src/DATE: change the date before the nightly build 2005-07-13 08:00 nr * src/DATE: change the date before the nightly build 2005-07-12 08:00 nr * src/DATE: change the date before the nightly build 2005-07-11 08:00 nr * src/DATE: change the date before the nightly build 2005-07-10 08:00 nr * src/DATE: change the date before the nightly build 2005-07-09 08:00 nr * src/DATE: change the date before the nightly build 2005-07-08 08:00 nr * src/DATE: change the date before the nightly build 2005-07-07 08:00 nr * src/DATE: change the date before the nightly build 2005-07-06 08:00 nr * src/DATE: change the date before the nightly build 2005-07-05 08:00 nr * src/DATE: change the date before the nightly build 2005-07-04 10:13 lindig * camlburg/imperative-records.patch: A patch for more imperative code generation. All tests pass. 2005-07-04 08:00 nr * src/DATE: change the date before the nightly build 2005-07-03 08:00 nr * src/DATE: change the date before the nightly build 2005-07-02 08:00 nr * src/DATE: change the date before the nightly build 2005-07-01 18:06 nr * src/expander.nw: more missing cases for stack-slot temporaries 2005-07-01 16:29 nr * mkdirs, mkfile, src/expander.nw, src/x86.nw, tools/mkfile: Generalized the postexpander interface to account for a machine hardware stack that can push or pop into a temporary, plus a predicate that identifies temporaries which are so blessed. 2005-07-01 08:00 nr * src/DATE: change the date before the nightly build 2005-06-30 08:00 nr * src/DATE: change the date before the nightly build 2005-06-29 08:00 nr * src/DATE: change the date before the nightly build 2005-06-28 08:00 nr * src/DATE: change the date before the nightly build 2005-06-27 08:00 nr * src/DATE: change the date before the nightly build 2005-06-26 08:00 nr * src/DATE: change the date before the nightly build 2005-06-25 08:00 nr * src/DATE: change the date before the nightly build 2005-06-24 08:00 nr * src/DATE: change the date before the nightly build 2005-06-23 08:00 nr * src/DATE: change the date before the nightly build 2005-06-22 13:28 tristan * lua/mkfile: Repository : /home/lair/nr/repositories/c-- Module : qc--/lua Working dir: ~/build_area/cvs2/qc--/lua/ In directory .: Modified mkfile Message: cvs update: New directory `ast' -- ignored Message: cvs update: New directory `prof' -- ignored --------------------- End --------------------- -- last cmd: cvs -f -n update -d -P -- 2005-06-22 11:55 tristan * config/ocaml.mk, lua/mkfile, src/ast2ir.nw, src/lualink.nw, src/stack.nw, src/x86call.nw: Repository : /home/lair/nr/repositories/c-- Module : qc-- Working dir: ~/build_area/cvs2/qc--/ In directory .: Unknown log In directory config: Modified config/ocaml.mk In directory lib: Unknown lib/pcmap.ld In directory lua: Modified lua/mkfile In directory runtime: Unknown runtime/yield.c-- In directory src: Unknown src/as;lkfj Modified src/ast2ir.nw Unknown src/domdoc.nw Modified src/lualink.nw Unknown src/note Unknown src/oldcolorgrah.nw Unknown src/oldcolorgraph.nw Unknown src/rst.nw Unknown src/save Unknown src/save.nw Unknown src/screwedcolorgraph.nw Modified src/stack.nw Modified src/x86call.nw --------------------- End --------------------- -- last cmd: cvs -f update -d -P -- 2005-06-22 08:00 nr * src/DATE: change the date before the nightly build 2005-06-21 08:00 nr * src/DATE: change the date before the nightly build 2005-06-20 16:36 nr * src/: cfgutil.nw, luacompile.nw, luadriver.nw, lualink.nw: fix some bugs in cfgutil 2005-06-20 08:00 nr * src/DATE: change the date before the nightly build 2005-06-19 08:00 nr * src/DATE: change the date before the nightly build 2005-06-18 08:00 nr * src/DATE: change the date before the nightly build 2005-06-17 18:31 nr * src/liveset.nw: trying not to break the compiler 2005-06-17 18:31 nr * src/: bitset64.nw, mkfile: Moving toward more efficient computation of liveness 2005-06-17 18:05 nr * doc/release.ps, runtime/mkfile, src/lifetime.nw, src/luacompile.nw, src/mkfile, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/queens.5, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wff.5, test2/x86/deadcontvar.5, test2/x86/fact.5, test2/x86/fork.5, test2/x86/nest.5, test2/x86/trace.5, test2/x86/unwind.5: Changed the way we handle phases in luacompile.nw so that each back end can (if it likes) specify its own sequence of phases. Did this for the x86 back end. Also changed runtime/mkfile not to use gcc -g: it puts a directory pathname in the debugging information, which messes up the .5 signatures when the compiler is built on different machines. All x86 tests pass. 2005-06-17 08:00 nr * src/DATE: change the date before the nightly build 2005-06-16 08:00 nr * src/DATE: change the date before the nightly build 2005-06-15 17:18 tristan * test2/x86/: deadcontvar.5, fact.5, fork.5, nest.5, trace.5, unwind.5: update of the sigs because of the modification of runtime.nw 2005-06-15 17:17 tristan * test2/tiger/x86/: arrays.5, colmajor.5, exceptions.5, forloop.5, funcall.5, hello.5, merge.5, qsort.5, queens.5, rb.5, rbshort.5, rc4.5, sieve.5, wf.5, wff.5: the signatures changed because of the modification I have done to the runtime.nw file the test were ok before the change so I updated the sigs 2005-06-15 17:16 tristan * src/: ast2ir.nw, colorgraph.nw, proc.nw: I removed something probably useless that I added before in Proc I am also trying something something for the spills block of the frame of a procedure so I changed the freeze function of my own automaton An instance of the ALLOCATOR for stack slots temporaries in colorgraph 2005-06-15 17:13 tristan * runtime/: mkfile, runtime.nw: Added the possibility to yield 2005-06-15 08:00 nr * src/DATE: change the date before the nightly build 2005-06-14 08:00 nr * src/DATE: change the date before the nightly build 2005-06-13 09:52 tristan * src/ast2ir.nw, src/colorgraph.nw, src/dominator.nw, src/lualink.nw, src/mkfile, src/proc.nw, src/rtlutil.nw, src/space.nw, src/zipcfg.nw, tools/nofake: Added new fields in Proc, one for the headroom, one for the spillblock Added functions allocate and freeze for a new Proc.Priv automaton in Ast2ir and the headroom and function to modify it Added new space 's' in Space Added the file dominator.nw with the Lengauer-Tarjan algorithm Functorized and modified the colorgraph Added the computation of the confined/unconfined in Colorgraph Registered the headroom modifier in Lualink Added a substitution function in Rtlutil.Subst, I don t use it, one can erase it I don t know why zipcfg is in the list of modified files... I don t think I have touched it 2005-06-13 09:49 tristan * doc/release.ps: Added new fields in Proc, one for the headroom, one for the spillblock Added functions allocate and freeze for a new Proc.Priv automaton in Ast2ir Added new space 's' in Space Added the file dominator.nw with the Lengauer-Tarjan algorithm Functorized and modified the colorgraph Added the computation of the confined/unconfined in Colorgraph 2005-06-13 08:00 nr * src/DATE: change the date before the nightly build 2005-06-12 08:00 nr * src/DATE: change the date before the nightly build 2005-06-11 08:00 nr * src/DATE: change the date before the nightly build 2005-06-10 08:00 nr * src/DATE: change the date before the nightly build 2005-06-09 08:00 nr * src/DATE: change the date before the nightly build 2005-06-08 08:00 nr * src/DATE: change the date before the nightly build 2005-06-07 20:22 nr * src/dataflow.nw: refactored dataflow for better representation 2005-06-07 16:37 nr * src/parser.nw: concrete syntax for limitcheck; tests pass 2005-06-07 16:19 nr * gen/ast.ml, gen/ast.mli, gen/ast.nw, gen/astUtil.ml, src/ast2ir.nw, src/astpp.nw, src/dls.nw, src/elabstmt.nw, src/error.nw, src/nast.nw, src/zipcfg.nw: added limitcheck to ast and downstream; still needs to be added to parser tests pass 2005-06-07 08:00 nr * src/DATE: change the date before the nightly build 2005-06-06 08:00 nr * src/DATE: change the date before the nightly build 2005-06-05 08:00 nr * src/DATE: change the date before the nightly build 2005-06-04 13:18 nr * src/: dataflow.nw, zipcfg.nw: Fixed a bug in how last nodes are rewritten on backward dataflow passes. All tests pass. (Not sure this code is ever executed.) 2005-06-04 08:00 nr * src/DATE: change the date before the nightly build 2005-06-03 08:00 nr * src/DATE: change the date before the nightly build 2005-06-02 22:02 nr * src/: unique.nw, zipcfg.nw: removed some redundancy from src/zipcfg.nw; all tests pass 2005-06-02 18:20 nr * src/README: minor twiddling 2005-06-02 08:00 nr * src/DATE: change the date before the nightly build 2005-06-01 14:39 nr * src/: zipecfg.nw, zipncfg.nw: renaming files 2005-06-01 14:38 nr * src/: ast2ir.nw, colorgraph.nw, dataflow.nw, dls.nw, mkfile, optimize.nw, pic.nw, zipcfg.nw: Moved zipper flow graph from node focus to edge focus. Requires only minor changes in clients. 2005-06-01 08:00 nr * src/DATE: change the date before the nightly build 2005-05-31 08:00 nr * src/DATE: change the date before the nightly build 2005-05-30 08:00 nr * src/DATE: change the date before the nightly build 2005-05-29 08:00 nr * src/DATE: change the date before the nightly build 2005-05-28 08:00 nr * src/DATE: change the date before the nightly build 2005-05-27 08:00 nr * src/DATE: change the date before the nightly build 2005-05-26 08:00 nr * src/DATE: change the date before the nightly build 2005-05-25 08:00 nr * src/DATE: change the date before the nightly build 2005-05-24 18:21 nr * src/dataflow.nw: further consolidation of dataflow code 2005-05-24 18:11 nr * src/dataflow.nw: refactoring; tests pass 2005-05-24 17:50 nr * src/: dataflowb.nw, dataflowbe.nw, dataflowbt.nw, dataflowf.nw, dataflowft.nw, dataflowp.nw, mkfile: swept away obsolete dataflow files all tests pass; peephole as expected 2005-05-24 17:42 nr * src/: availpass.nw, dataflow.nw, dataflowft.nw, dataflowp.nw, dead.nw, live.nw, lualink.nw, peephole.nw, vfp.nw: Consolidated the dataflow framework into src/dataflow.nw. All tests pass and peephole optimization behaves as expected. 2005-05-24 14:23 nr * src/dataflowb.nw: restructuring 2005-05-24 08:00 nr * src/DATE: change the date before the nightly build 2005-05-23 18:45 nr * src/dataflowbt.nw, src/dataflowft.nw, src/dataflowp.nw, src/dead.nw, src/live.nw, src/luacompile.nw, src/lualink.nw, src/luautil.nw, src/mkfile, src/tx.nw, test2/testdrv.nw: Live-variable calculations weren't dealing correctly with register slices. Having fixed this, peephole optimizer works again. EXCEPT that the 'optest' barfs with a failure in the register allocator. Also, the .iso framework works again. The src/dataflow*w world needs cleaning up. 2005-05-23 08:00 nr * src/DATE: change the date before the nightly build 2005-05-22 08:00 nr * src/DATE: change the date before the nightly build 2005-05-21 16:48 nr * src/avail.nw, src/availpass.nw, src/cfgutil.nw, src/dataflowbe.nw, src/dataflowft.nw, src/dataflowp.nw, src/luacompile.nw, src/lualink.nw, src/mkfile, src/optimize.nw, src/peephole.nw, src/tx.nw, src/zipcfg.nw, src/zipecfg.nw, test2/testdrv.nw: Corrected some bugs in the forward dataflow framework, and got transactions working in that framework. Removed backward analyses from Optimize.improve. Net result: peephole optimization works again. 2005-05-21 08:00 nr * src/DATE: change the date before the nightly build 2005-05-20 08:00 nr * src/DATE: change the date before the nightly build 2005-05-19 17:33 nr * src/dataflowbe.nw: first version 2005-05-19 14:04 nr * src/zipecfg.nw: initail version 2005-05-19 08:00 nr * src/DATE: change the date before the nightly build 2005-05-18 08:00 nr * src/DATE: change the date before the nightly build 2005-05-17 08:00 nr * src/DATE: change the date before the nightly build 2005-05-16 08:00 nr * src/DATE: change the date before the nightly build 2005-05-15 08:00 nr * src/DATE: change the date before the nightly build 2005-05-14 08:00 nr * src/DATE: change the date before the nightly build 2005-05-13 21:13 nr * src/colorgraph.nw, test2/mkfile: adventures in graph-coloring register allocation 2005-05-13 19:28 nr * lua/luavalue.nw, src/colorgraph.nw, test2/README, test2/all.dummy.tst, test2/l32files.lua, test2/norun.x86.tst, test2/testdrv.nw, test2/lcc/x86/8q-color.s, test2/lcc/x86/array-color.s, test2/lcc/x86/cf-color.s, test2/lcc/x86/cvt-color.s, test2/lcc/x86/fields-color.s, test2/lcc/x86/front-color.s, test2/lcc/x86/incr-color.s, test2/lcc/x86/init-color.s, test2/lcc/x86/limits-color.s, test2/lcc/x86/sort-color.s, test2/lcc/x86/spill-color.s, test2/lcc/x86/struct-color.s, test2/lcc/x86/switch-color.s, test2/lcc/x86/wf1-color.s, test2/tiger/x86/arrays-color.s, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor-color.s, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions-color.s, test2/tiger/x86/exceptions.5, test2/tiger/x86/forloop-color.s, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall-color.s, test2/tiger/x86/funcall.5, test2/tiger/x86/hello-color.s, test2/tiger/x86/hello.5, test2/tiger/x86/merge-color.s, test2/tiger/x86/merge.5, test2/tiger/x86/qsort-color.s, test2/tiger/x86/qsort.5, test2/tiger/x86/queens-color.s, test2/tiger/x86/queens.5, test2/tiger/x86/rb-color.s, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4-color.s, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve-color.s, test2/tiger/x86/sieve.5, test2/tiger/x86/wf-color.s, test2/tiger/x86/wf.5, test2/tiger/x86/wff-color.s, test2/tiger/x86/wff.5, test2/x86/add-color.s, test2/x86/altread-color.s, test2/x86/altret-color.s, test2/x86/altret2-color.s, test2/x86/altret3-color.s, test2/x86/arglist-color.s, test2/x86/bits-bug-color.s, test2/x86/blockcpy-color.s, test2/x86/bool-color.s, test2/x86/call3-color.s, test2/x86/carry-color.s, test2/x86/conj-color.s, test2/x86/cut-color.s, test2/x86/deadcontvar-color.s, test2/x86/deadcontvar.5, test2/x86/deadcut-color.s, test2/x86/divmod-color.s, test2/x86/emptyifbody-color.s, test2/x86/exp-000-color.s, test2/x86/exp-001-color.s, test2/x86/f2-color.s, test2/x86/fact-color.s, test2/x86/fact.5, test2/x86/fadd-color.s, test2/x86/failedcase-color.s, test2/x86/fargres-color.s, test2/x86/float-000-color.s, test2/x86/float-001-color.s, test2/x86/float-001-coward-color.s, test2/x86/float-001-hero-color.s, test2/x86/float-002-color.s, test2/x86/float-003-color.s, test2/x86/fork-color.s, test2/x86/fork.5, test2/x86/global-color.s, test2/x86/hello-color.s, test2/x86/hex-color.s, test2/x86/if-false-color.s, test2/x86/if-false2-color.s, test2/x86/incn-color.s, test2/x86/jtab-color.s, test2/x86/ladd-color.s, test2/x86/lit8-color.s, test2/x86/live_rtd-color.s, test2/x86/multasgn-color.s, test2/x86/nest-color.s, test2/x86/nest.5, test2/x86/not-color.s, test2/x86/ovrflow-color.s, test2/x86/r64-color.s, test2/x86/ralloc-000-color.s, test2/x86/ratail-color.s, test2/x86/rnd2-color.s, test2/x86/round-color.s, test2/x86/round2-color.s, test2/x86/sparcerr-color.s, test2/x86/spdemo-color.s, test2/x86/sub-color.s, test2/x86/switch-color.s, test2/x86/tadd-color.s, test2/x86/tail-color.s, test2/x86/tail2-color.s, test2/x86/tail_from_c-color.s, test2/x86/tailnot-color.s, test2/x86/test-039-color.s, test2/x86/test-050-color.s, test2/x86/tf-color.s, test2/x86/trace-color.s, test2/x86/trace.5, test2/x86/unwind-color.s, test2/x86/unwind.5, test2/x86/wtizzy-color.s, test2/x86/x86-000-color.s, test2/x86/x86-001-color.s, test2/x86/zerou-color.s: Added tests for graph-coloring register allocator. Also modified allocator to call possibleColors less often 2005-05-11 08:00 nr * src/DATE: change the date before the nightly build 2005-05-10 08:00 nr * src/DATE: change the date before the nightly build 2005-05-09 08:00 nr * src/DATE: change the date before the nightly build 2005-05-08 08:00 nr * src/DATE: change the date before the nightly build 2005-05-07 08:00 nr * src/DATE: change the date before the nightly build 2005-05-06 08:00 nr * src/DATE: change the date before the nightly build 2005-05-05 08:00 nr * src/DATE: change the date before the nightly build 2005-05-04 08:00 nr * src/DATE: change the date before the nightly build 2005-05-03 08:00 nr * src/DATE: change the date before the nightly build 2005-05-02 08:00 nr * src/DATE: change the date before the nightly build 2005-05-01 08:00 nr * src/DATE: change the date before the nightly build 2005-04-30 08:00 nr * src/DATE: change the date before the nightly build 2005-04-29 08:00 nr * src/DATE: change the date before the nightly build 2005-04-29 01:49 dias * test2/: src/availexprs.c--, x86/availexprs.s: We had an assertion that checked whether the results of final analysis matched those of the transformation pass -- but it checked the transformation results at the end of a block against those at the start of the next block -- which is really the join of its predecessors.... I also changed the indentation of some of the match patterns -- I couldn't find the end of the function without indenting the matches. I also added a test case. 2005-04-29 01:49 dias * src/dataflowf.nw, test2/norun.x86.tst: We had an assertion that checked whether the results of final analysis matched those of the transformation pass -- but it checked the transformation results at the end of a block against those at the start of the next block -- which is really the join of its predecessors.... I also changed the indentation of some of the match patterns -- I couldn't find the end of the function without indenting the matches. 2005-04-28 22:00 nr * lua/lua.nw, lua/luavalue.nw, src/backplane.nw, src/colorgraph.nw, src/lualink.nw, src/target.nw, test2/opgen.nw, tools/nofake: added 'resultpair' to Lua-ML API, used in in compiler, and rationalized type of Rtlop.mono. Tests pass, but because of variations in compiler versions, there are some differences in .5 files. 2005-04-28 21:07 nr * rtl/debug.nw, src/aux.nw, src/colorgraph.nw, src/ocolorgraph.nw: Refactored the graph-coloring register allocator to abstract over two types: color and set of color. This is preparation for allocating stack slots. Passes all tests with default allocator, and I also did a quick run of the x86, lcc, and tiger tests with backend.ralloc=Ralloc.color. These all pass with diffs in .s. 2005-04-28 08:00 nr * src/DATE: change the date before the nightly build 2005-04-27 08:00 nr * src/DATE: change the date before the nightly build 2005-04-26 08:00 nr * src/DATE: change the date before the nightly build 2005-04-25 08:00 nr * src/DATE: change the date before the nightly build 2005-04-24 08:00 nr * src/DATE: change the date before the nightly build 2005-04-23 19:09 nr * lua/: luabaselib.nw, luavalue.nw: more informative stack traces from Lua-ML 2005-04-22 18:23 nr * lua/stdluainterp.nw, lua/texboxval, lua/test/n00.lua, src/luacompile.nw, src/x86call.nw: clean up documentation of lua compiler exploit lua fix in x86call.nw 2005-04-22 17:44 nr * lua/stdluainterp.nw, runtime/mkfile, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/queens.5, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wff.5, test2/x86/deadcontvar.5, test2/x86/fact.5, test2/x86/fork.5, test2/x86/nest.5, test2/x86/trace.5, test2/x86/unwind.5: To produce consistent .5 files across platforms, do not compile the run-time system with -g. Also, refactoring of the Lua-ML interpreter to do multi-result expressions 'right'. All tests pass (finally!) 2005-04-22 16:22 nr * doc/release.ps, test2/lcc/x86/sort.s, test2/lcc/x86/spill.s, test2/lcc/x86/struct.s, test2/lcc/x86/switch.s, test2/lcc/x86/wf1.s, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/exceptions.s, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/queens.5, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wff.5, test2/x86/blockcpy.s, test2/x86/cut.s, test2/x86/deadcontvar.5, test2/x86/deadcontvar.s, test2/x86/deadcut.s, test2/x86/fact.5, test2/x86/fact.s, test2/x86/fork.5, test2/x86/fork.s, test2/x86/live_rtd.s, test2/x86/nest.5, test2/x86/nest.s, test2/x86/tadd.s, test2/x86/tail_from_c.s, test2/x86/trace.5, test2/x86/trace.s, test2/x86/unwind.5, test2/x86/unwind.s: upgrade to caml 3.08.2 changes some .s files 2005-04-22 08:00 nr * src/DATE: change the date before the nightly build 2005-04-21 18:03 dias * test2/: output/multasgn.1, src/multasgn.c--, x86/multasgn.s: Fixed the test case such that it won't vary from run to run. 2005-04-21 18:03 dias * doc/release.ps, src/colorgraph.nw: Fixed problems with merging the graph-coloring allocator. It now passes all tests. Also, I committed some algorithmic improvements to avoid quadratic blowup in the coalescing phase. 2005-04-21 17:47 nr * lua/test/n00.lua: more tests 2005-04-21 17:46 nr * doc/release.ps, lua/camlboxval, lua/mkfile, lua/stdluainterp.nw, lua/texboxval, lua/test/n00.lua, tools/nofake: fix an old bug in lua-ml (multiple results not propagating) 2005-04-21 08:00 nr * src/DATE: change the date before the nightly build 2005-04-20 08:00 nr * src/DATE: change the date before the nightly build 2005-04-19 08:00 nr * src/DATE: change the date before the nightly build 2005-04-18 08:00 nr * src/DATE: change the date before the nightly build 2005-04-17 08:00 nr * src/DATE: change the date before the nightly build 2005-04-16 08:00 nr * src/DATE: change the date before the nightly build 2005-04-15 08:00 nr * src/DATE: change the date before the nightly build 2005-04-14 08:00 nr * src/DATE: change the date before the nightly build 2005-04-13 08:00 nr * src/DATE: change the date before the nightly build 2005-04-12 08:00 nr * src/DATE: change the date before the nightly build 2005-04-11 08:00 nr * src/DATE: change the date before the nightly build 2005-04-10 08:00 nr * src/DATE: change the date before the nightly build 2005-04-09 08:00 nr * src/DATE: change the date before the nightly build 2005-04-08 08:00 nr * src/DATE: change the date before the nightly build 2005-04-07 08:00 nr * src/DATE: change the date before the nightly build 2005-04-06 20:37 dias * test2/: output/failedcase.1, output/multasgn.1, src/failedcase.c--, src/multasgn.c--, x86/failedcase.s, x86/multasgn.s: Forgot to commit test cases.... 2005-04-06 20:33 dias * test2/: src/nums.c--, x86/nums.s: Test case for resetting widener. 2005-04-06 20:32 dias * src/expander.nw, src/lualink.nw, src/placevar.nw, src/rtlutil.nw, src/zipcfg.nw, test2/norun.x86.tst: Some refactoring (may alias code and expander), some hiding of warnings (dead code in zipcfg and vote conflicts in placevar), and a fix of a line missing in lualink to reinit the widener between procedures. 2005-04-06 18:01 dias * test2/output/exp-003.s2: Hid a couple warning messages: votes in variable placer, dead code in zipcfg. The dead code warning should come from the from the front end, and we should be able to turn it off. 2005-04-06 09:48 nr * src/DATE: change the date before the nightly build 2005-04-02 08:00 nr * src/DATE: change the date before the nightly build 2005-04-01 22:14 dias * doc/release.ps, src/dls.nw, src/expander.nw, test2/l32files.lua, test2/lcc/x86/sort.s, test2/lcc/x86/spill.s, test2/lcc/x86/struct.s, test2/lcc/x86/switch.s, test2/lcc/x86/wf1.s, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/exceptions.s, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/queens.5, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wff.5, test2/x86/blockcpy.s, test2/x86/cut.s, test2/x86/deadcontvar.5, test2/x86/deadcontvar.s, test2/x86/deadcut.s, test2/x86/fact.5, test2/x86/fact.s, test2/x86/fork.5, test2/x86/fork.s, test2/x86/live_rtd.s, test2/x86/nest.5, test2/x86/nest.s, test2/x86/tadd.s, test2/x86/tail_from_c.s, test2/x86/trace.5, test2/x86/trace.s, test2/x86/unwind.5, test2/x86/unwind.s: Fixed a bug in the expander: when shuffling parallel assignments, we need to worry about aliasing not only between lhs's and rhs's, but also between lhs's and the addressing expressions in other lhs's. Added relevant test. Also added a test for a bug that appears to have died with the old flow graph: trying to jump to a missing exit label (although the jump was dead code...). 2005-04-01 08:00 nr * src/DATE: change the date before the nightly build 2005-03-31 20:06 nr * doc/: release.nw, release.ps: do not forget NR broke .iso 2005-03-31 19:46 nr * .cvsignore, cllib/pp.nw, doc/release.nw, doc/release.ps, interp/.cvsignore, interp/encode.c, interp/encode.h, interp/encoding.nw, interp/interp.nw, lua/stdluainterp.nw, src/asm.nw, src/ast2ir.nw, src/avail.nw, src/availpass.nw, src/backplane.nw, src/block.nw, src/call.nw, src/callspec.nw, src/cfgutil.nw, src/cfgx.nw, src/colorgraph.nw, src/dataflow.nw, src/dataflowf.nw, src/dataflowft.nw, src/dataflowp.nw, src/dead.nw, src/dls.nw, src/dotasm.nw, src/dummy.nw, src/elabstmt.nw, src/expander.nw, src/interp.nw, src/interpasm.nw, src/interpemit.nw, src/interpemitrtl.nw, src/live.nw, src/luacompile.nw, src/luadriver.nw, src/lualink.nw, src/mkfile, src/mvalidate.nw, src/odead.nw, src/olive.nw, src/opshape.nw, src/optimize.nw, src/peephole.nw, src/pic.nw, src/placevar.nw, src/proc.nw, src/prop.nw, src/property.nw, src/rtldebug.nw, src/rtlop.nw, src/rtlutil.nw, src/runtimedata.nw, src/spans.nw, src/stack.nw, src/strip.lua, src/target.nw, src/tx.nw, src/typecheck.nw, src/unique.nw, src/varmap.nw, src/vfp.nw, src/widen.nw, src/x86.nw, src/x86asm.nw, src/x86call.nw, src/x86rec.nw, src/zipcfg.nw, test2/opgen.nw, test2/dummy/eqasolve-000.s, test2/dummy/exp-003.s, test2/dummy/test-040.s, test2/dummy/test-044.s, test2/dummy/test-045.s, test2/dummy/test-046.s, test2/lcc/x86/8q.s, test2/lcc/x86/array.s, test2/lcc/x86/cf.s, test2/lcc/x86/cvt.s, test2/lcc/x86/fields.s, test2/lcc/x86/front.s, test2/lcc/x86/incr.s, test2/lcc/x86/init.s, test2/lcc/x86/limits.s, test2/lcc/x86/sort.s, test2/lcc/x86/spill.s, test2/lcc/x86/struct.s, test2/lcc/x86/switch.s, test2/lcc/x86/wf1.s, test2/output/test-042.s2, test2/tiger/x86/arrays.5, test2/tiger/x86/arrays.s, test2/tiger/x86/colmajor.5, test2/tiger/x86/colmajor.s, test2/tiger/x86/exceptions.5, test2/tiger/x86/exceptions.s, test2/tiger/x86/forloop.5, test2/tiger/x86/forloop.s, test2/tiger/x86/funcall.5, test2/tiger/x86/funcall.s, test2/tiger/x86/hello.5, test2/tiger/x86/hello.s, test2/tiger/x86/merge.5, test2/tiger/x86/merge.s, test2/tiger/x86/qsort.5, test2/tiger/x86/qsort.s, test2/tiger/x86/queens.5, test2/tiger/x86/queens.s, test2/tiger/x86/rb.5, test2/tiger/x86/rb.s, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/rc4.s, test2/tiger/x86/sieve.5, test2/tiger/x86/sieve.s, test2/tiger/x86/wf.5, test2/tiger/x86/wf.s, test2/tiger/x86/wff.5, test2/tiger/x86/wff.s, test2/x86/add.s, test2/x86/altread.s, test2/x86/altret.s, test2/x86/altret2.s, test2/x86/altret3.s, test2/x86/arglist.s, test2/x86/bits-bug.s, test2/x86/blockcpy.s, test2/x86/bool.s, test2/x86/call3.s, test2/x86/carry.s, test2/x86/conj.s, test2/x86/cut.s, test2/x86/deadcontvar.5, test2/x86/deadcontvar.s, test2/x86/deadcut.s, test2/x86/divmod.s, test2/x86/emptyifbody.s, test2/x86/eqasolve-000.s, test2/x86/exp-000.s, test2/x86/exp-001.s, test2/x86/exp-003.s, test2/x86/f2.s, test2/x86/fact.5, test2/x86/fact.s, test2/x86/fadd.s, test2/x86/fargres.s, test2/x86/float-000.s, test2/x86/float-001-coward.s, test2/x86/float-001-hero.s, test2/x86/float-001.s, test2/x86/float-002.s, test2/x86/float-003.s, test2/x86/fork.5, test2/x86/fork.s, test2/x86/global.s, test2/x86/hello.s, test2/x86/hex.s, test2/x86/if-false.s, test2/x86/if-false2.s, test2/x86/incn.s, test2/x86/infloop.s, test2/x86/jtab.s, test2/x86/ladd.s, test2/x86/live_rtd.s, test2/x86/nest.5, test2/x86/nest.s, test2/x86/not.s, test2/x86/ovrflow.s, test2/x86/r64.s, test2/x86/ralloc-000.s, test2/x86/ratail.s, test2/x86/rnd2.s, test2/x86/round.s, test2/x86/round2.s, test2/x86/sparcerr.s, test2/x86/spdemo.s, test2/x86/sub.s, test2/x86/switch.s, test2/x86/tadd.s, test2/x86/tail.s, test2/x86/tail2.s, test2/x86/tail_from_c.s, test2/x86/tailnot.s, test2/x86/test-039.s, test2/x86/test-050.s, test2/x86/tf.s, test2/x86/trace.5, test2/x86/trace.s, test2/x86/unwind.5, test2/x86/unwind.s, test2/x86/wtizzy.s, test2/x86/x86-000.s, test2/x86/x86-001.s, test2/x86/zerou.s: merge zipper flow graph 2005-03-31 08:00 nr * src/DATE: change the date before the nightly build 2005-03-30 08:00 nr * src/DATE: change the date before the nightly build 2005-03-29 08:00 nr * src/DATE: change the date before the nightly build 2005-03-28 08:00 nr * src/DATE: change the date before the nightly build 2005-03-27 08:00 nr * src/DATE: change the date before the nightly build 2005-03-26 08:00 nr * src/DATE: change the date before the nightly build 2005-03-25 19:12 nr * src/: vfp.nw, ast2ir.nw: fix some latex 2005-03-25 18:41 nr * src/dataflowp.nw: more extensive diagnostics 2005-03-25 18:39 nr * src/vfp.nw: latex fix 2005-03-25 08:00 nr * src/DATE: change the date before the nightly build 2005-03-24 08:00 nr * src/DATE: change the date before the nightly build 2005-03-23 08:00 nr * src/DATE: change the date before the nightly build 2005-03-22 08:00 nr * src/DATE: change the date before the nightly build 2005-03-21 08:00 nr * src/DATE: change the date before the nightly build 2005-03-20 08:00 nr * src/DATE: change the date before the nightly build 2005-03-19 08:00 nr * src/DATE: change the date before the nightly build 2005-03-18 22:05 dias * src/eqn.nw: Fixed this in the main branch already, now adding to zipper; an efficiency improvement -- lazy equation solving. 2005-03-18 08:00 nr * src/DATE: change the date before the nightly build 2005-03-17 23:26 dias * src/colorgraph.nw: Added a reasonable heuristic for choosing a spill candidate -- makes a significant difference in the number of build iterations(!) It would be nice to have execution counts/estimates so I could make the heuristic more intelligent. 2005-03-17 22:31 dias * src/: colorgraph.nw, luacompile.nw, lualink.nw, mkfile: And then the graph-coloring register allocator was ported (and improved in the process -- efficiency and all) 2005-03-17 22:30 dias * src/dls.nw: We should _not_ coalesce moves involving the VFP... 2005-03-17 22:30 dias * src/zipcfg.nw: Formatting 2005-03-17 22:23 dias * src/colorgraph.nw: Appears to work. Lots and lots of extra code, which I will now delete, but I wanted a copy in the repository before blowing stuff away. 2005-03-17 08:00 nr * src/DATE: change the date before the nightly build 2005-03-16 08:00 nr * src/DATE: change the date before the nightly build 2005-03-16 03:33 lindig * test2/quest/: cmm.lua, mkfile, quest.lua, test-0-callee.c, test-0-callee.c--, test-0-main.c, test-0-main.c--, test-1-callee.c, test-1-callee.c--, test-1-main.c, test-1-main.c--, test-2-callee.c, test-2-callee.c--, test-2-main.c, test-2-main.c--: Fixed: mk clobber removed globals.c and globals.c-- Generated new test cases using a new version of quest. 2005-03-15 16:56 dias * doc/release.ps, src/dls.nw, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/queens.5, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wff.5, test2/x86/cut.s, test2/x86/deadcontvar.5, test2/x86/fact.5, test2/x86/fork.5, test2/x86/nest.5, test2/x86/tadd.s, test2/x86/trace.5, test2/x86/unwind.5: The vfp can not be modified; for simplicity, I've removed it from consideration for copy elimination in dls. 2005-03-15 08:00 nr * src/DATE: change the date before the nightly build 2005-03-14 08:00 nr * src/DATE: change the date before the nightly build 2005-03-13 08:00 nr * src/DATE: change the date before the nightly build 2005-03-11 08:00 nr * src/DATE: change the date before the nightly build 2005-03-10 08:00 nr * src/DATE: change the date before the nightly build 2005-03-09 08:00 nr * src/DATE: change the date before the nightly build 2005-03-08 08:00 nr * src/DATE: change the date before the nightly build 2005-03-07 08:00 nr * src/DATE: change the date before the nightly build 2005-03-06 08:00 nr * src/DATE: change the date before the nightly build 2005-03-05 08:00 nr * src/DATE: change the date before the nightly build 2005-03-04 08:00 nr * src/DATE: change the date before the nightly build 2005-03-03 08:00 nr * src/DATE: change the date before the nightly build 2005-03-02 18:40 redwine * tools/nofake: blarg 2005-03-02 18:39 redwine * test2/x86/carry.s: okay, not sure why carry in x86 was changed. 2005-03-02 18:39 redwine * test2/sparc/: add.s, arglist.s, bits-bug.s, bool.s, conj.s, cut.s, divmod.s, emptyifbody.s, exp-000.s, exp-001.s, fargres.s, float-000.s, float-001-coward.s, float-001-hero.s, float-001.s, float-003.s, global.s, hello.s, hex.s, if-false.s, if-false2.s, incn.s, jtab.s, live_rtd.s, not.s, ralloc-000.s, rnd2.s, sparcerr.s, sub.s, switch.s, test-050.s, wtizzy.s: slight modifications to the sparc test suite. 2005-03-02 18:39 redwine * src/: sparcasm.nw, sparccall.nw, widen.nw: modified sparc stuff...presumably improving it. widen now calls simplify 2005-03-02 18:38 redwine * rtl/bits.nw: I don't know why I added to this... 2005-03-02 08:00 nr * src/DATE: change the date before the nightly build 2005-03-01 08:00 nr * src/DATE: change the date before the nightly build 2005-02-28 08:00 nr * src/DATE: change the date before the nightly build 2005-02-27 08:00 nr * src/DATE: change the date before the nightly build 2005-02-26 08:00 nr * src/DATE: change the date before the nightly build 2005-02-25 08:00 nr * src/DATE: change the date before the nightly build 2005-02-24 08:00 nr * src/DATE: change the date before the nightly build 2005-02-23 08:00 nr * src/DATE: change the date before the nightly build 2005-02-22 08:00 nr * src/DATE: change the date before the nightly build 2005-02-21 08:00 nr * src/DATE: change the date before the nightly build 2005-02-20 08:00 nr * src/DATE: change the date before the nightly build 2005-02-19 08:00 nr * src/DATE: change the date before the nightly build 2005-02-18 08:00 nr * src/DATE: change the date before the nightly build 2005-02-17 08:00 nr * src/DATE: change the date before the nightly build 2005-02-16 08:00 nr * src/DATE: change the date before the nightly build 2005-02-15 08:00 nr * src/DATE: change the date before the nightly build 2005-02-14 08:00 nr * src/DATE: change the date before the nightly build 2005-02-13 08:00 nr * src/DATE: change the date before the nightly build 2005-02-12 08:00 nr * src/DATE: change the date before the nightly build 2005-02-11 08:00 nr * src/DATE: change the date before the nightly build 2005-02-10 08:00 nr * src/DATE: change the date before the nightly build 2005-02-09 08:00 nr * src/DATE: change the date before the nightly build 2005-02-08 08:00 nr * src/DATE: change the date before the nightly build 2005-02-07 08:00 nr * src/DATE: change the date before the nightly build 2005-02-06 08:00 nr * src/DATE: change the date before the nightly build 2005-02-05 08:00 nr * src/DATE: change the date before the nightly build 2005-02-04 08:00 nr * src/DATE: change the date before the nightly build 2005-02-03 19:33 chambers * test2/.cvsignore: disabled a CVS warning for a generated file 2005-02-03 16:06 dias * src/: ast2ir.nw, cfgutil.nw, dataflowf.nw, dls.nw, expander.nw, interpemit.nw, luacompile.nw, pic.nw, runtimedata.nw, vfp.nw, zipcfg.nw: Lots of changes, lots of code now running. Only the graph-coloring allocator remains to be ported, but with dls, most of the tests pass: It appears that there are a couple untested operators in the test suite. Also, the dummy tests are now causing some problems. 2005-02-03 16:04 dias * runtime/: md5sums, runtime.nw: C doesn't check the number of args to varargs functions -- making it easy to drop arguments to printf (or die in this case) 2005-02-03 08:00 nr * src/DATE: change the date before the nightly build 2005-02-02 11:15 dias * src/: cfgutil.nw, dataflowf.nw, dls.nw, luacompile.nw, peephole.nw, runtimedata.nw, vfp.nw: Dataflowf functions were not updating dataflow facts. Also, forward dataflow requires an entry_fact. Also, the initial vfp dataflow facts were wrong. 2005-02-02 08:00 nr * src/DATE: change the date before the nightly build 2005-02-01 11:59 dias * src/: ast2ir.nw, dls.nw: Fixed switches to default to Forbidden. Fixed dls.nw's [[shuffle_around]] to put the stores in the correct predecessor (pid vs. pred_id.....) 2005-02-01 08:00 nr * src/DATE: change the date before the nightly build 2005-01-31 22:13 nr * src/tx.nw: optimization transactions? 2005-01-31 19:59 dias * src/: dls.nw, luacompile.nw, lualink.nw, x86.nw, x86rec.nw: All x86 tests pass, but I have not yet updated the .s files. 2005-01-31 15:47 nr * .cvsignore, src/interpemitrtl.nw, src/lualink.nw, src/mkfile, src/mvalidate.nw, src/opshape.nw, src/rtldebug.nw, src/rtlop.nw, src/rtlutil.nw, src/target.nw, src/widen.nw, test2/opgen.nw: open registration for RTL operators; no tests run 2005-01-31 08:00 nr * src/DATE: change the date before the nightly build 2005-01-30 19:49 redwine * src/widen.nw: fixed bug that john reported---Not_found thown by has_flaoting_result was not being caught. 2005-01-30 19:43 dias * src/dls.nw: Dumb bug: was trying to update cbranch by remapping pred's uid -> new block uid, rather than succ's uid -> new block uid. 2005-01-30 18:16 dias * src/: cfgutil.nw, x86asm.nw: The emitter ensures that cbranches either fall through into the false arm or jump to it. 2005-01-30 08:00 nr * src/DATE: change the date before the nightly build 2005-01-29 20:23 dias * src/: ast2ir.nw, dls.nw, vfp.nw, zipcfg.nw: various bug fixes, more tests pass 2005-01-29 08:00 nr * src/DATE: change the date before the nightly build 2005-01-28 17:37 dias * src/: ast2ir.nw, dls.nw, luacompile.nw, varmap.nw, zipcfg.nw: More stuff runs after changing Zipcfg.postorder_dfs to ignore successors that aren't in the flow graph. Many tests still bomb -- notably test2/src/tadd.c-- 2005-01-28 08:00 nr * src/DATE: change the date before the nightly build 2005-01-28 02:13 dias * src/dls.nw: Well, hello world is in the house 2005-01-27 23:32 dias * src/: luacompile.nw, vfp.nw, x86call.nw: Well, fixed a couple more bugs, but still more to be found: 1. runtimedata not implemented 2. memory error in hello world 2005-01-27 23:08 dias * src/: dls.nw, luacompile.nw, stack.nw, x86call.nw: Fixed some silly bugs; something in rmvfp remains, probably having to do with assertions 2005-01-27 18:42 dias * src/: dls.nw, luacompile.nw, lualink.nw, stack.nw, x86call.nw: Buggy, but perhaps NR will understand why 2005-01-27 11:34 dias * src/: dls.nw, live.nw, mkfile, property.nw, unique.nw, varmap.nw, zipcfg.nw: Lots of changes so dls.nw supports the new flow graph varmap.nw was added to break a cyclic dependency when using property lists in dls.nw 2005-01-27 08:00 nr * src/DATE: change the date before the nightly build 2005-01-26 08:00 nr * src/DATE: change the date before the nightly build 2005-01-25 08:00 nr * src/DATE: change the date before the nightly build 2005-01-24 08:00 nr * src/DATE: change the date before the nightly build 2005-01-23 08:00 nr * src/DATE: change the date before the nightly build 2005-01-22 08:00 nr * src/DATE: change the date before the nightly build 2005-01-21 08:00 nr * src/DATE: change the date before the nightly build 2005-01-20 08:00 nr * src/DATE: change the date before the nightly build 2005-01-19 08:00 nr * src/DATE: change the date before the nightly build 2005-01-18 15:04 nr * src/dataflowft.nw: toward transactions 2005-01-18 14:03 dias * src/dls.nw: Idiocy; temps must be placed in the same register if they are both used and defined. 2005-01-18 13:42 nr * rtl/register.nw, src/x86rec.nw, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/queens.5, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wff.5, test2/x86/deadcontvar.5, test2/x86/fact.5, test2/x86/fork.5, test2/x86/nest.5, test2/x86/trace.5, test2/x86/unwind.5: some .5s changed when fixing reloc bug---forgot to commit earlier also, committing some diagnostics for register allocation bug 2005-01-18 08:00 nr * src/DATE: change the date before the nightly build 2005-01-17 14:28 nr * test2/: testdrv.nw, tiger/x86/arrays.5, tiger/x86/colmajor.5, tiger/x86/exceptions.5, tiger/x86/forloop.5, tiger/x86/funcall.5, tiger/x86/hello.5, tiger/x86/merge.5, tiger/x86/qsort.5, tiger/x86/queens.5, tiger/x86/rb.5, tiger/x86/rbshort.5, tiger/x86/rc4.5, tiger/x86/sieve.5, tiger/x86/wf.5, tiger/x86/wff.5, x86/deadcontvar.5, x86/fact.5, x86/fork.5, x86/nest.5, x86/trace.5, x86/unwind.5: new signatures for .5 files 2005-01-17 14:20 nr * rtl/mkfile, rtl/register.nw, rtl/reloc.nw, src/alpha.nw, src/alphaasm.nw, src/asm.nw, src/ast2ir.nw, src/astasm.nw, src/elabexp.nw, src/elabstmt.nw, src/ia64asm.nw, src/interpasm.nw, src/interpemit.nw, src/mipsasm.nw, src/mkfile, src/nelab.nw, src/ppcasm.nw, src/rtlutil.nw, src/runtimedata.nw, src/simplify.nw, src/spans.nw, src/sparc.nw, src/sparcasm.nw, src/x86asm.nw, src/x86rec.nw, test2/dummy/eqasolve-000.s, test2/dummy/exp-003.s, test2/dummy/test-040.s, test2/lcc/x86/init.s, tools/nofake: fixed bug in relocatable-address code tests pass except for some unexplained .5 diffs 2005-01-17 08:00 nr * src/DATE: change the date before the nightly build 2005-01-16 08:00 nr * src/DATE: change the date before the nightly build 2005-01-15 08:00 nr * src/DATE: change the date before the nightly build 2005-01-14 08:00 nr * src/DATE: change the date before the nightly build 2005-01-13 18:29 nr * config/man.mk, doc/mkfile, lua/stdluainterp.nw, rtl/rtl.nw, rtl/unsupported.nw, src/alpha.nw, src/arm.nw, src/bcopy.nw, src/dummy.nw, src/ia64.nw, src/interp.nw, src/luacompile.nw, src/mips.nw, src/mkfile, src/ppc.nw, src/sparc.nw, src/target.nw, src/x86.nw, src/x86call.nw, tools/nofake: functions returning structs; cannot run tests on this machine 2005-01-13 14:59 nr * test2/quest/: globals.c, globals.c--, mkfile, test-0-callee.c--, test-0-main.c--, test-1-callee.c--, test-1-main.c--, test-2-callee.c--, test-2-main.c--: works with structures now; many mkfile improvements 2005-01-13 14:58 nr * test2/quest/.cvsignore: ignore binaries 2005-01-13 08:00 nr * src/DATE: change the date before the nightly build 2005-01-12 08:00 nr * src/DATE: change the date before the nightly build 2005-01-11 08:00 nr * src/DATE: change the date before the nightly build 2005-01-10 08:00 nr * src/DATE: change the date before the nightly build 2005-01-09 08:00 nr * src/DATE: change the date before the nightly build 2005-01-08 08:00 nr * src/DATE: change the date before the nightly build 2005-01-07 08:00 nr * src/DATE: change the date before the nightly build 2005-01-06 13:57 nr * src/zipcfg.nw: some untested refactoring 2005-01-06 12:07 nr * src/: cfgutil.nw, dataflow.nw, dataflowf.nw, dataflowp.nw, interpemit.nw, zipcfg.nw: eliminated exit number 2005-01-06 08:00 nr * src/DATE: change the date before the nightly build 2005-01-05 08:00 nr * src/DATE: change the date before the nightly build 2005-01-04 20:46 dias * test2/lcc/x86/8q.s, test2/lcc/x86/array.s, test2/lcc/x86/cf.s, test2/lcc/x86/cvt.s, test2/lcc/x86/fields.s, test2/lcc/x86/front.s, test2/lcc/x86/incr.s, test2/lcc/x86/init.s, test2/lcc/x86/limits.s, test2/lcc/x86/sort.s, test2/lcc/x86/spill.s, test2/lcc/x86/struct.s, test2/lcc/x86/switch.s, test2/lcc/x86/wf1.s, test2/src/fact.c--, test2/src/hello.c--, test2/tiger/x86/arrays.5, test2/tiger/x86/arrays.s, test2/tiger/x86/colmajor.5, test2/tiger/x86/colmajor.s, test2/tiger/x86/exceptions.5, test2/tiger/x86/exceptions.s, test2/tiger/x86/forloop.5, test2/tiger/x86/forloop.s, test2/tiger/x86/funcall.5, test2/tiger/x86/funcall.s, test2/tiger/x86/hello.5, test2/tiger/x86/hello.s, test2/tiger/x86/merge.5, test2/tiger/x86/merge.s, test2/tiger/x86/qsort.5, test2/tiger/x86/qsort.s, test2/tiger/x86/queens.5, test2/tiger/x86/queens.s, test2/tiger/x86/rb.5, test2/tiger/x86/rb.s, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/rc4.s, test2/tiger/x86/sieve.5, test2/tiger/x86/sieve.s, test2/tiger/x86/wf.5, test2/tiger/x86/wf.s, test2/tiger/x86/wff.5, test2/tiger/x86/wff.s, test2/x86/add.s, test2/x86/altread.s, test2/x86/altret.s, test2/x86/altret2.s, test2/x86/altret3.s, test2/x86/arglist.s, test2/x86/bits-bug.s, test2/x86/blockcpy.s, test2/x86/bool.s, test2/x86/call3.s, test2/x86/carry.s, test2/x86/conj.s, test2/x86/cut.s, test2/x86/deadcontvar.5, test2/x86/deadcontvar.s, test2/x86/deadcut.s, test2/x86/divmod.s, test2/x86/emptyifbody.s, test2/x86/eqasolve-000.s, test2/x86/exp-000.s, test2/x86/exp-001.s, test2/x86/exp-003.s, test2/x86/f2.s, test2/x86/fact.5, test2/x86/fact.s, test2/x86/fadd.s, test2/x86/fargres.s, test2/x86/float-000.s, test2/x86/float-001-coward.s, test2/x86/float-001-hero.s, test2/x86/float-001.s, test2/x86/float-002.s, test2/x86/float-003.s, test2/x86/fork.5, test2/x86/fork.s, test2/x86/global.s, test2/x86/hello.s, test2/x86/hex.s, test2/x86/if-false.s, test2/x86/if-false2.s, test2/x86/incn.s, test2/x86/infloop.s, test2/x86/jtab.s, test2/x86/ladd.s, test2/x86/live_rtd.s, test2/x86/nest.5, test2/x86/nest.s, test2/x86/not.s, test2/x86/ovrflow.s, test2/x86/r64.s, test2/x86/ralloc-000.s, test2/x86/ratail.s, test2/x86/rnd2.s, test2/x86/round.s, test2/x86/round2.s, test2/x86/sparcerr.s, test2/x86/spdemo.s, test2/x86/sub.s, test2/x86/switch.s, test2/x86/tadd.s, test2/x86/tail.s, test2/x86/tail2.s, test2/x86/tail_from_c.s, test2/x86/tailnot.s, test2/x86/test-039.s, test2/x86/test-050.s, test2/x86/tf.s, test2/x86/trace.5, test2/x86/trace.s, test2/x86/unwind.5, test2/x86/unwind.s, test2/x86/wtizzy.s, test2/x86/x86-000.s, test2/x86/x86-001.s, test2/x86/zerou.s, tools/nofake: Tests updated to match new register allocator .s output 2005-01-04 20:45 dias * src/optimize.nw: Small code improvements 2005-01-04 20:44 dias * src/dls.nw: Some improvements to clarify the code (and make it somewhat faster); still lots to do, including improvement of code generated 2005-01-04 08:00 nr * src/DATE: change the date before the nightly build 2005-01-03 08:00 nr * src/DATE: change the date before the nightly build 2005-01-02 08:00 nr * src/DATE: change the date before the nightly build 2005-01-01 13:20 nr * interp/.cvsignore, test2/.cvsignore: ignore more 2005-01-01 13:19 nr * .cvsignore: ignore 2005-01-01 13:16 nr * src/: interpasm.nw, luacompile.nw, luadriver.nw, lualink.nw, mkfile, runtimedata.nw, x86asm.nw, zipcfg.nw: fixed a few more missing pieces 2005-01-01 08:00 nr * src/DATE: change the date before the nightly build 2004-12-31 21:54 nr * cllib/pp.nw, interp/encode.c, interp/encode.h, interp/encoding.nw, interp/interp.nw, src/interp.nw, src/interpemit.nw, src/mkfile, src/x86.nw, src/x86rec.nw, src/zipcfg.nw: everything except allocators and some back ends 2004-12-31 19:03 nr * src/: expander.nw, lualink.nw, mkfile, optimize.nw, pic.nw, placevar.nw, stack.nw, zipcfg.nw: pic compiles; zipcfg interface slightly more consistent 2004-12-31 18:36 nr * src/: avail.nw, availpass.nw, backplane.nw, dataflowf.nw, lualink.nw, mkfile, peephole.nw, property.nw, zipcfg.nw: more and more builds 2004-12-31 16:10 nr * src/: call.nw, callspec.nw, cfgx.nw, dummy.nw, interp.nw, lualink.nw, mkfile, property.nw, stack.nw, typecheck.nw, vfp.nw, widen.nw, x86call.nw, zipcfg.nw: a lot of stuff builds 2004-12-31 14:02 nr * src/: ast2ir.nw, dataflowf.nw, dataflowp.nw, expander.nw, live.nw, lualink.nw, mkfile, proc.nw, zipcfg.nw: system builds with addition of forward dataflow 2004-12-31 08:00 nr * src/DATE: change the date before the nightly build 2004-12-30 22:01 nr * src/dataflowf.nw: does not compile 2004-12-30 08:00 nr * src/DATE: change the date before the nightly build 2004-12-29 08:00 nr * src/DATE: change the date before the nightly build 2004-12-28 22:48 dias * doc/release.ps, src/eqn.nw: Equation solver was doing some slow quadratic equation solving (significant difference on large inputs); now lazily updating equations to reduce the number of updates 2004-12-28 08:00 nr * src/DATE: change the date before the nightly build 2004-12-27 20:01 dias * runtime/runtime.nw, src/ast2ir.nw, test2/rt.x86.tst, test2/output/deadcontvar.1, test2/src/deadcontvar-unwind.c, test2/src/deadcontvar.c--, test2/tiger/x86/exceptions.5, test2/tiger/x86/exceptions.s, test2/x86/deadcontvar.5, test2/x86/deadcontvar.s: Removed bogus assignments to keep dead variables live on entry to unwind-continuations. Assignments to dead variables on unwind are no-ops. 2004-12-27 08:00 nr * src/DATE: change the date before the nightly build 2004-12-26 08:00 nr * src/DATE: change the date before the nightly build 2004-12-25 08:00 nr * src/DATE: change the date before the nightly build 2004-12-24 08:00 nr * src/DATE: change the date before the nightly build 2004-12-23 17:02 nr * src/: dataflowp.nw, dead.nw: avoid extra iteration on change at entry 2004-12-23 16:49 nr * src/: ast2ir.nw, cfgutil.nw, dataflowp.nw, dead.nw, expander.nw, live.nw, luacompile.nw, lualink.nw, mkfile, odead.nw, olive.nw, placevar.nw, property.nw, strip.lua, x86.nw, zipcfg.nw: combined live/dead optimization works on a simple example 2004-12-23 14:51 nr * src/dataflowp.nw: cleaned up dataflowp.nw 2004-12-23 08:00 nr * src/DATE: change the date before the nightly build 2004-12-22 19:26 kheffner * src/registerclass.nw: Added the actual squeeze approximation computation! 2004-12-22 17:22 nr * src/: dataflow.nw, dataflowp.nw, dead.nw, mkfile, property.nw, unique.nw: Joao notwithstanding, some support for property lists 2004-12-22 16:36 nr * src/prop.nw: type variables cannot be generalized 2004-12-22 14:45 nr * src/: dataflowp.nw, unique.nw, zipcfg.nw: tentative version of dataflowp 2004-12-22 13:32 nr * src/: dataflowp.nw, live.nw, mkfile: fooling with dataflow alternatives 2004-12-22 08:00 nr * src/DATE: change the date before the nightly build 2004-12-21 08:00 nr * src/DATE: change the date before the nightly build 2004-12-20 23:11 kheffner * src/colorgraph.nw: [no log message] 2004-12-20 23:03 kheffner * src/registerclass.nw: Added maps from spaces to register classes and class trees. 2004-12-20 18:27 nr * src/dataflow.nw: moving on dataflow 2004-12-20 18:18 nr * src/: asm.nw, cfgutil.nw, dotasm.nw, luacompile.nw, lualink.nw, mkfile, optimize.nw, strip.lua, unique.nw, zipcfg.nw, zipcfgutil.nw: more cfg utils and some simple optimizations (zipper brnch) 2004-12-20 08:00 nr * src/DATE: change the date before the nightly build 2004-12-19 17:44 kheffner * src/registerclass.nw: Added a newline to the end to appease emacs. 2004-12-19 17:41 kheffner * src/registerclass.nw: [no log message] 2004-12-19 17:31 kheffner * src/registerclass.nw: Added header to registerclass. 2004-12-19 12:57 nr * runtime/: md5sums, mkfile: no more md5sums 2004-12-19 08:00 nr * src/DATE: change the date before the nightly build 2004-12-18 19:36 nr * src/zipcfg.nw: correct layout order in if statement 2004-12-18 19:32 nr * lua/stdluainterp.nw, runtime/runtime.nw, src/backplane.nw, src/block.nw, src/dummy.nw, src/luacompile.nw, src/luadriver.nw, src/lualink.nw, src/strip.lua, src/vfp.nw: onward and upward: built fragment of compiler, which is sufficient to run ./qc-- -v -S strip.lua hello.c-- and get some printed output 2004-12-18 14:49 nr * src/: dataflow.nw, dummy.nw, lualink.nw, mkfile, optimize.nw, runtimedata.nw, unique.nw, zipcfg.nw, zipcfgutil.nw: tyring to get the whole thing to build... 2004-12-18 12:15 nr * src/zipcfgutil.nw: porting iutils 2004-12-18 12:15 nr * src/: ast2ir.nw, backplane.nw, cfgutil.nw, cfgx.nw, dotasm.nw, lualink.nw, mkfile, optimize.nw, typecheck.nw, unique.nw, vfp.nw, zipcfg.nw: trying to build a fraction of the compiler 2004-12-18 11:10 nr * src/: ast2ir.nw, call.nw, cfgx.nw, live.nw, mkfile, unique.nw, zipcfg.nw: progress toward liveness 2004-12-18 08:00 nr * src/DATE: change the date before the nightly build 2004-12-17 20:37 nr * src/: dataflow.nw, unique.nw, zipcfg.nw: a start at dataflow 2004-12-17 19:33 dias * test2/x86/deadcut.s: Forgot to commit 2004-12-17 19:33 dias * runtime/md5sums, runtime/runtime.nw, src/dls.nw, test2/l32files.lua, test2/src/deadcut.c--, test2/src/hello.c--: fixed ralloc bug, committed test 2004-12-17 18:42 kheffner * src/colorgraph.nw: Added a few changes to the graph coloring register allocator: 1) Added types igNode and moveNode for readability in the imperative list structures. 2) Changed the way that we determine whether two temps compete for registers by using the registerclass module. 2004-12-17 18:41 kheffner * src/mkfile: Adding registerclass into the build. 2004-12-17 18:32 kheffner * src/registerclass.nw: The beginning of a register class library for implementing generalized graph coloring register allocation. 2004-12-17 18:25 nr * src/: live.nw, mkfile, zipcfg.nw: new interface for liveness 2004-12-17 17:59 nr * test2/src/deadcut.c--: bug factory 2004-12-17 12:04 nr * src/zipcfg.nw: added postorder_dfs 2004-12-17 11:48 nr * src/: mkfile, zipcfg.nw: exposed rep in zipcfg; added zip target to mkfile (zipper branch) 2004-12-17 11:29 nr * src/: mkfile, unique.nw, zipcfg.nw: zipcfg uses unique (zipper branch) 2004-12-17 08:00 nr * src/DATE: change the date before the nightly build 2004-12-16 18:39 nr * runtime/md5sums, runtime/runtime.nw, src/target.nw, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/queens.5, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wff.5, test2/x86/fact.5, test2/x86/fork.5, test2/x86/nest.5, test2/x86/trace.5, test2/x86/unwind.5: run-time system copes with dead continuation parameters 2004-12-16 18:28 nr * src/: ast2ir.nw, zipcfg.nw: patched last holes in ast2ir (zipper branch) 2004-12-16 16:04 nr * src/: ast2ir.nw, zipcfg.nw: continuation insertion (zipper branch) 2004-12-16 15:54 nr * src/: ast2ir.nw, target.nw, zipcfg.nw: both ast2ir and zipcfg compile (zipper branch) 2004-12-16 11:55 nr * src/: ast2ir.nw, zipcfg.nw: about to refactor target into all functions 2004-12-16 08:00 nr * src/DATE: change the date before the nightly build 2004-12-15 18:54 nr * src/: ast2ir.nw, elabstmt.nw, proc.nw, zipcfg.nw: some progress (zipper branch) 2004-12-15 17:16 nr * src/: ast2ir.nw, zipcfg.nw: ast2ir partially converted; builds with some holes (zipper branch) 2004-12-15 16:10 nr * runtime/md5sums: more checksum fiddling 2004-12-15 16:09 nr * runtime/md5sums, runtime/mkfile, src/cfg.nw, src/dls.nw, src/zipcfg.nw, test2/testdrv.nw, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/queens.5, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wff.5, test2/x86/fact.5, test2/x86/fork.5, test2/x86/nest.5, test2/x86/trace.5, test2/x86/unwind.5: minor changes; .5 changed again?! 2004-12-15 12:34 nr * src/: mkfile, zipcfg.nw: exploring a new CFG representation 2004-12-15 08:00 nr * src/DATE: change the date before the nightly build 2004-12-14 08:00 nr * src/DATE: change the date before the nightly build 2004-12-13 20:46 nr * test2/: output/test-039.1, x86/test-039.s: it is not enough to create the files; one must actually add them to the repository... 2004-12-13 18:14 nr * src/idgen.nw, test2/all.dummy.tst, test2/l32files.lua, test2/dummy/eqasolve-000.s, test2/dummy/exp-003.s, test2/dummy/test-040.s, test2/dummy/test-044.s, test2/dummy/test-045.s, test2/dummy/test-046.s, test2/lcc/x86/8q.s, test2/lcc/x86/array.s, test2/lcc/x86/cf.s, test2/lcc/x86/cvt.s, test2/lcc/x86/fields.s, test2/lcc/x86/front.s, test2/lcc/x86/incr.s, test2/lcc/x86/init.s, test2/lcc/x86/limits.s, test2/lcc/x86/sort.s, test2/lcc/x86/spill.s, test2/lcc/x86/struct.s, test2/lcc/x86/switch.s, test2/lcc/x86/wf1.s, test2/src/test-039.c--, test2/tiger/x86/arrays.s, test2/tiger/x86/colmajor.s, test2/tiger/x86/exceptions.s, test2/tiger/x86/forloop.s, test2/tiger/x86/funcall.s, test2/tiger/x86/hello.s, test2/tiger/x86/merge.s, test2/tiger/x86/qsort.s, test2/tiger/x86/queens.s, test2/tiger/x86/rb.s, test2/tiger/x86/rc4.s, test2/tiger/x86/sieve.s, test2/tiger/x86/wf.s, test2/tiger/x86/wff.s, test2/x86/add.s, test2/x86/altread.s, test2/x86/altret.s, test2/x86/altret2.s, test2/x86/altret3.s, test2/x86/arglist.s, test2/x86/bits-bug.s, test2/x86/blockcpy.s, test2/x86/bool.s, test2/x86/call3.s, test2/x86/carry.s, test2/x86/conj.s, test2/x86/cut.s, test2/x86/divmod.s, test2/x86/emptyifbody.s, test2/x86/eqasolve-000.s, test2/x86/exp-000.s, test2/x86/exp-001.s, test2/x86/exp-003.s, test2/x86/f2.s, test2/x86/fact.s, test2/x86/fadd.s, test2/x86/fargres.s, test2/x86/float-000.s, test2/x86/float-001-coward.s, test2/x86/float-001-hero.s, test2/x86/float-001.s, test2/x86/float-002.s, test2/x86/float-003.s, test2/x86/fork.s, test2/x86/global.s, test2/x86/hello.s, test2/x86/hex.s, test2/x86/if-false.s, test2/x86/if-false2.s, test2/x86/incn.s, test2/x86/infloop.s, test2/x86/jtab.s, test2/x86/ladd.s, test2/x86/live_rtd.s, test2/x86/nest.s, test2/x86/not.s, test2/x86/ovrflow.s, test2/x86/r64.s, test2/x86/ralloc-000.s, test2/x86/ratail.s, test2/x86/rnd2.s, test2/x86/round.s, test2/x86/round2.s, test2/x86/sparcerr.s, test2/x86/spdemo.s, test2/x86/sub.s, test2/x86/switch.s, test2/x86/tadd.s, test2/x86/tail.s, test2/x86/tail2.s, test2/x86/tail_from_c.s, test2/x86/tailnot.s, test2/x86/test-050.s, test2/x86/tf.s, test2/x86/trace.s, test2/x86/unwind.s, test2/x86/wtizzy.s, test2/x86/x86-000.s, test2/x86/x86-001.s, test2/x86/zerou.s: generated labels are now private 2004-12-13 12:26 chambers * INSTALL: tweak to INSTALL, e.g. to mention test.opt 2004-12-13 12:10 nr * runtime/mkfile, test2/mkfile, test2/testdrv.nw, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/queens.5, test2/tiger/x86/rb.5, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wff.5, test2/x86/fact.5, test2/x86/fork.5, test2/x86/nest.5, test2/x86/trace.5, test2/x86/unwind.5: mystery of the .5 resolved 2004-12-13 08:00 nr * src/DATE: change the date before the nightly build 2004-12-12 08:00 nr * src/DATE: change the date before the nightly build 2004-12-11 16:21 dias * doc/release.ps, src/cfg.nw, src/dls.nw, test2/dummy/exp-003.s, test2/lcc/x86/array.s, test2/lcc/x86/cf.s, test2/lcc/x86/cvt.s, test2/lcc/x86/sort.s, test2/lcc/x86/struct.s, test2/lcc/x86/wf1.s, test2/output/exp-003.s2, test2/tiger/x86/arrays.5, test2/tiger/x86/colmajor.5, test2/tiger/x86/exceptions.5, test2/tiger/x86/exceptions.s, test2/tiger/x86/forloop.5, test2/tiger/x86/funcall.5, test2/tiger/x86/hello.5, test2/tiger/x86/merge.5, test2/tiger/x86/qsort.5, test2/tiger/x86/qsort.s, test2/tiger/x86/queens.5, test2/tiger/x86/queens.s, test2/tiger/x86/rb.5, test2/tiger/x86/rb.s, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/rc4.s, test2/tiger/x86/sieve.5, test2/tiger/x86/wf.5, test2/tiger/x86/wf.s, test2/tiger/x86/wff.5, test2/tiger/x86/wff.s, test2/x86/arglist.s, test2/x86/blockcpy.s, test2/x86/carry.s, test2/x86/conj.s, test2/x86/exp-003.s, test2/x86/f2.s, test2/x86/fact.5, test2/x86/float-002.s, test2/x86/fork.5, test2/x86/nest.5, test2/x86/ovrflow.s, test2/x86/round.s, test2/x86/round2.s, test2/x86/switch.s, test2/x86/trace.5, test2/x86/unwind.5, tools/nofake: foldr was overflowing the stack (foldl now); replaced a print_string with a printf 2004-12-11 08:00 nr * src/DATE: change the date before the nightly build 2004-12-10 08:20 nr * rtl/bits.nw, test2/lcc/x86/8q.s, test2/lcc/x86/array.s, test2/lcc/x86/cf.s, test2/lcc/x86/cvt.s, test2/lcc/x86/fields.s, test2/lcc/x86/front.s, test2/lcc/x86/incr.s, test2/lcc/x86/init.s, test2/lcc/x86/limits.s, test2/lcc/x86/sort.s, test2/lcc/x86/spill.s, test2/lcc/x86/struct.s, test2/lcc/x86/switch.s, test2/lcc/x86/wf1.s, test2/tiger/x86/arrays.5, test2/tiger/x86/arrays.s, test2/tiger/x86/colmajor.5, test2/tiger/x86/colmajor.s, test2/tiger/x86/exceptions.5, test2/tiger/x86/exceptions.s, test2/tiger/x86/forloop.5, test2/tiger/x86/forloop.s, test2/tiger/x86/funcall.5, test2/tiger/x86/funcall.s, test2/tiger/x86/hello.5, test2/tiger/x86/hello.s, test2/tiger/x86/merge.5, test2/tiger/x86/merge.s, test2/tiger/x86/qsort.5, test2/tiger/x86/qsort.s, test2/tiger/x86/queens.5, test2/tiger/x86/queens.s, test2/tiger/x86/rb.5, test2/tiger/x86/rb.s, test2/tiger/x86/rbshort.5, test2/tiger/x86/rc4.5, test2/tiger/x86/rc4.s, test2/tiger/x86/sieve.5, test2/tiger/x86/sieve.s, test2/tiger/x86/wf.5, test2/tiger/x86/wf.s, test2/tiger/x86/wff.5, test2/tiger/x86/wff.s, test2/x86/add.s, test2/x86/altread.s, test2/x86/altret.s, test2/x86/altret2.s, test2/x86/altret3.s, test2/x86/arglist.s, test2/x86/bits-bug.s, test2/x86/blockcpy.s, test2/x86/bool.s, test2/x86/carry.s, test2/x86/conj.s, test2/x86/cut.s, test2/x86/divmod.s, test2/x86/emptyifbody.s, test2/x86/eqasolve-000.s, test2/x86/err-001.s,