[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, wip-peval-predicates, created. v2.0.5-
From: |
Andy Wingo |
Subject: |
[Guile-commits] GNU Guile branch, wip-peval-predicates, created. v2.0.5-100-g59c5570 |
Date: |
Tue, 10 Apr 2012 22:57:08 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=59c557056cff1ce6146b4d689eeee922300b6278
The branch, wip-peval-predicates has been created
at 59c557056cff1ce6146b4d689eeee922300b6278 (commit)
- Log -----------------------------------------------------------------
commit 59c557056cff1ce6146b4d689eeee922300b6278
Author: Andy Wingo <address@hidden>
Date: Tue Apr 10 15:56:23 2012 -0700
peval: elide redundant predicates; eliminate some common subexpressions
* module/language/tree-il/peval.scm (fold-constants): Returns #f instead
of the expression, as all continuations handle #f themselves.
(negate, bailout?, extract-facts, infer, infer-defined?)
(infer-struct-vtable): New helpers.
(loop): New parameter, db.
(visit): Adapt.
(for-cond, visit/db): New helpers.
Fold some degenerate <conditional> cases. Attempt to infer some
previously-seen primcalls. Fold degenerate eq? cases. Try to infer
struct-vtable. Track facts via the db parameter in conditions and
sequential statements.
commit 0155ac2a3a8c7d28e4a588d49fa631fa94051baa
Author: Andy Wingo <address@hidden>
Date: Tue Apr 10 15:47:21 2012 -0700
add more primitives and predicates to (language tree-il primitives)
* module/language/tree-il/primitives.scm
(*interesting-primitive-names*): Add number? and char?. Add more
numeric predicates. Add character comparators. Add throw, error, and
scm-error.
(*primitive-accessors*): Remove struct-vtable. Though the vtable's
contents may change (through redefinition), its identity does not
change.
(*effect-free-primitives*): Put struct-vtable, number?, and char?
here.
(*multiply-valued-primitives*): Instead of listing singly-valued
primitives, list multiply-valued primitives.
(*bailout-primitives*): New list.
(*negatable-primitives*): New alist.
(*bailout-primitive-table*, *multiply-valued-primitive-table*)
(*negatable-primitive-table*): New tables.
(singly-valued-primitive?): Adapt to
use *multiply-valued-primitive-table*.
(bailout-primitive?, negate-primitive): New exported procedures.
-----------------------------------------------------------------------
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, wip-peval-predicates, created. v2.0.5-100-g59c5570,
Andy Wingo <=