From 4eff9ac27bbd21e51053b5366558c18e561ae0fd Mon Sep 17 00:00:00 2001 From: dos-reis Date: Mon, 2 Mar 2009 08:01:57 +0000 Subject: * 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. --- src/ChangeLog | 7 +++++++ src/interp/compiler.boot | 3 +-- src/interp/g-opt.boot | 2 +- src/interp/i-syscmd.boot | 9 +++++++-- src/interp/sys-driver.boot | 5 ++--- 5 files changed, 18 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index 80c21881..06cd80b8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2009-03-02 Gabriel Dos Reis + + * 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. + 2009-03-01 Gabriel Dos Reis * interp/g-opt.boot (optimize): Remove non-qualified 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) -- cgit v1.2.3