aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-03-09 15:49:26 +0000
committerdos-reis <gdr@axiomatics.org>2010-03-09 15:49:26 +0000
commitc4e4529187db6e0aba25f8af43cf7be4cc15386e (patch)
tree3184d089cab8765327634d681db0c4168f56e156
parent0e88b70dfbb109f73fe0e8cac2c25ef445cb2c50 (diff)
downloadopen-axiom-c4e4529187db6e0aba25f8af43cf7be4cc15386e.tar.gz
* interp/nruncomp.boot (needToQuoteFlags?): New.
(optDeltaEntry): Use it.
-rwxr-xr-xconfigure18
-rw-r--r--configure.ac2
-rw-r--r--configure.ac.pamphlet2
-rw-r--r--src/ChangeLog5
-rw-r--r--src/interp/nruncomp.boot13
5 files changed, 27 insertions, 13 deletions
diff --git a/configure b/configure
index 2fbf5ff3..60521ed1 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for OpenAxiom 1.4.0-2010-03-06.
+# Generated by GNU Autoconf 2.63 for OpenAxiom 1.4.0-2010-03-09.
#
# Report bugs to <open-axiom-bugs@lists.sf.net>.
#
@@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='OpenAxiom'
PACKAGE_TARNAME='openaxiom'
-PACKAGE_VERSION='1.4.0-2010-03-06'
-PACKAGE_STRING='OpenAxiom 1.4.0-2010-03-06'
+PACKAGE_VERSION='1.4.0-2010-03-09'
+PACKAGE_STRING='OpenAxiom 1.4.0-2010-03-09'
PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net'
ac_unique_file="src/Makefile.pamphlet"
@@ -1511,7 +1511,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures OpenAxiom 1.4.0-2010-03-06 to adapt to many kinds of systems.
+\`configure' configures OpenAxiom 1.4.0-2010-03-09 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1581,7 +1581,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of OpenAxiom 1.4.0-2010-03-06:";;
+ short | recursive ) echo "Configuration of OpenAxiom 1.4.0-2010-03-09:";;
esac
cat <<\_ACEOF
@@ -1688,7 +1688,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-OpenAxiom configure 1.4.0-2010-03-06
+OpenAxiom configure 1.4.0-2010-03-09
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1702,7 +1702,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by OpenAxiom $as_me 1.4.0-2010-03-06, which was
+It was created by OpenAxiom $as_me 1.4.0-2010-03-09, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -21165,7 +21165,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by OpenAxiom $as_me 1.4.0-2010-03-06, which was
+This file was extended by OpenAxiom $as_me 1.4.0-2010-03-09, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21228,7 +21228,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-OpenAxiom config.status 1.4.0-2010-03-06
+OpenAxiom config.status 1.4.0-2010-03-09
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.ac b/configure.ac
index 8c0e64d8..ac9d6c20 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
sinclude(config/open-axiom.m4)
sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.4.0-2010-03-06],
+AC_INIT([OpenAxiom], [1.4.0-2010-03-09],
[open-axiom-bugs@lists.sf.net])
AC_CONFIG_AUX_DIR(config)
diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet
index 0d3cb531..b253e1e0 100644
--- a/configure.ac.pamphlet
+++ b/configure.ac.pamphlet
@@ -1200,7 +1200,7 @@ information:
<<Autoconf init>>=
sinclude(config/open-axiom.m4)
sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.4.0-2010-03-06],
+AC_INIT([OpenAxiom], [1.4.0-2010-03-09],
[open-axiom-bugs@lists.sf.net])
@
diff --git a/src/ChangeLog b/src/ChangeLog
index 6874485c..57f38916 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-09 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/nruncomp.boot (needToQuoteFlags?): New.
+ (optDeltaEntry): Use it.
+
2010-03-06 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/g-opt.boot ($VMsideEffectFreeOperators): New.
diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot
index f961ff10..3b1dd8e3 100644
--- a/src/interp/nruncomp.boot
+++ b/src/interp/nruncomp.boot
@@ -153,6 +153,15 @@ listOfBoundVars form ==
first form = "Enumeration" => []
"union"/[listOfBoundVars x for x in rest form]
+
+++ Subroutine of optDeltaEntry
+++ Return true if the signature `sig' contains flag types
+++ that need to be quoted.
+needToQuoteFlags?(sig,env) ==
+ or/[selector?(t,env) for t in sig] where
+ selector?(t,e) ==
+ IDENTP t and null get(t,"value",e)
+
optDeltaEntry(op,sig,dc,eltOrConst) ==
$killOptimizeIfTrue = true => nil
ndc :=
@@ -164,8 +173,8 @@ optDeltaEntry(op,sig,dc,eltOrConst) ==
-- or is candidate for inlining.
atom ndc or not optimizableDomain? ndc => nil
fun := lookupDefiningFunction(op,sig,ndc)
- if fun = nil then
- -- following code is to handle selectors like first, rest
+ -- following code is to handle selectors like first, rest
+ if fun = nil and needToQuoteFlags?(sig,$e) then
nsig := [quoteSelector tt for tt in sig] where
quoteSelector(x) ==
not(IDENTP x) => x