From f49b0656655f43f8aab325f8b24537edacb9f382 Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Mon, 8 Feb 2016 21:50:52 -0800 Subject: Do not let domain closure escape lookupDefinitionFunction A successful call to compiledLookup will come up with any of the form that results from stuffSlot. Handle them here. Remove confused and dead code. --- src/interp/c-util.boot | 5 ++++- src/interp/nruncomp.boot | 6 ------ 2 files changed, 4 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot index 70675bf0..0558402a 100644 --- a/src/interp/c-util.boot +++ b/src/interp/c-util.boot @@ -1732,7 +1732,10 @@ lookupDefiningFunction(op,sig,dc) == -- such as AN ~> IAN ~> EXPR INT ~> AN that prevents -- us from full evaluation. args = nil and symbolMember?(ctor,$SystemInlinableConstructorNames) => - compiledLookup(op,sig,dc) + env := compiledLookup(op,sig,dc) or return nil + env is ['newGoGet,:.] => nil -- FIXME: Follow the link! + env is ['makeSpadConstant,fun,:.] => BPINAME fun + BPINAME first env -- 1.2. Don't look into defaulting package isDefaultPackageName ctor => nil infovec := property(ctor,'infovec) or return nil diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot index cbbabadc..dc2a7405 100644 --- a/src/interp/nruncomp.boot +++ b/src/interp/nruncomp.boot @@ -176,12 +176,6 @@ optDeltaEntry(op,sig,dc,kind,e) == MKQ x fun := lookupDefiningFunction(op,nsig,ndc) fun = nil => nil - fun := - fun is ['makeSpadConstant,:.] and - (fun' := getFunctionReplacement second fun) => - return fun' - cons? fun => first fun - fun markOperation getFunctionReplacement fun ++ True if we are interested only in abstract slot, not the actual -- cgit v1.2.3