diff options
author | dos-reis <gdr@axiomatics.org> | 2009-03-02 08:01:57 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-03-02 08:01:57 +0000 |
commit | 4eff9ac27bbd21e51053b5366558c18e561ae0fd (patch) | |
tree | 204fadfc204f6c26a51610a764772776c47737b6 /src/interp | |
parent | f2592f61b346e61ce99d3443f7533f7aa6bac643 (diff) | |
download | open-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.boot | 3 | ||||
-rw-r--r-- | src/interp/g-opt.boot | 2 | ||||
-rw-r--r-- | src/interp/i-syscmd.boot | 9 | ||||
-rw-r--r-- | src/interp/sys-driver.boot | 5 |
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) |