aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-03-02 08:01:57 +0000
committerdos-reis <gdr@axiomatics.org>2009-03-02 08:01:57 +0000
commit4eff9ac27bbd21e51053b5366558c18e561ae0fd (patch)
tree204fadfc204f6c26a51610a764772776c47737b6 /src/interp
parentf2592f61b346e61ce99d3443f7533f7aa6bac643 (diff)
downloadopen-axiom-4eff9ac27bbd21e51053b5366558c18e561ae0fd.tar.gz
* interp/compiler.boot (modeIsAggregateOf): Use RepIfRepHack.
* interp/g-opt.boot (optimizeFunctionDef): Tidy. * interp/i-syscmd.boot (compileSpad2Cmd): Support ')report' option. * interp/sys-driver.boot (initializeGlobalState): Likewise.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/compiler.boot3
-rw-r--r--src/interp/g-opt.boot2
-rw-r--r--src/interp/i-syscmd.boot9
-rw-r--r--src/interp/sys-driver.boot5
4 files changed, 11 insertions, 8 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index 7f903248..b2906c81 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -2144,8 +2144,7 @@ modeIsAggregateOf(ListOrVector,m,e) ==
1=#mList => first mList
name:=
m is [fn,:.] => fn
- m="$" => "Rep"
- m
+ RepIfRepHack m
get(name,"value",e) is [[ =ListOrVector,R],:.] => [m,R]
--% VECTOR ITERATORS
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot
index 2631049c..e78ceb7a 100644
--- a/src/interp/g-opt.boot
+++ b/src/interp/g-opt.boot
@@ -51,7 +51,7 @@ optimizeFunctionDef(def) ==
if $reportOptimization then
sayBrightlyI bright '"Optimized LISP code:"
pp def'
- sayBrightlyI bright '"Final LISP code:"
+
[name,[slamOrLam,args,body]] := def'
body':=
diff --git a/src/interp/i-syscmd.boot b/src/interp/i-syscmd.boot
index e43562eb..4963d78f 100644
--- a/src/interp/i-syscmd.boot
+++ b/src/interp/i-syscmd.boot
@@ -1,6 +1,6 @@
-- Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd.
-- All rights reserved.
--- Copyright (C) 2007-2008, Gabriel Dos Reis.
+-- Copyright (C) 2007-2009, Gabriel Dos Reis.
-- All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
@@ -783,7 +783,8 @@ compileSpad2Cmd args ==
vartrace _
quiet _
translate _
- optimize
+ optimize _
+ report
)
translateOldToNew := nil
@@ -830,6 +831,10 @@ compileSpad2Cmd args ==
fun.0 := 'c
constructor := [unabbrev o for o in optargs]
fullopt = "optimize" => setCompilerOptimizations first optargs
+ fullopt = "report" =>
+ null optargs => throwKeyedMsg("S2IZ0037",['")report"])
+ if MEMQ("insn",optargs) then
+ $reportOptimization := true
throwKeyedMsg("S2IZ0036",[STRCONC('")",object2String optname)])
$InteractiveMode : local := nil
diff --git a/src/interp/sys-driver.boot b/src/interp/sys-driver.boot
index 69d97844..ffe4af23 100644
--- a/src/interp/sys-driver.boot
+++ b/src/interp/sys-driver.boot
@@ -1,6 +1,4 @@
--- Copyright (C) 2007-2008 Gabriel Dos Reis
--- All rights reserved.
--- Copyright (C) 2007-2008, Gabriel Dos Reis.
+-- Copyright (C) 2007-2009 Gabriel Dos Reis
-- All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
@@ -192,6 +190,7 @@ initializeGlobalState() ==
$bootStrapMode := getOptionValue "bootstrap"
$compileExportsOnly := getOptionValue "exports-only"
$compileDefaultsOnly := getOptionValue "defaults-only"
+ $reportOptimization := getOptionValue "show-insn"
GCMSG(NIL)
if have_to then
$superHash := MAKE_-HASHTABLE('UEQUAL)