aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interp/c-util.boot5
-rw-r--r--src/interp/nruncomp.boot6
2 files changed, 4 insertions, 7 deletions
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