From 3f8bdbabb7bfcf9b021fe1529e603e931b57bf13 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Tue, 23 Feb 2010 05:22:37 +0000 Subject: Expand support for domain inlining to non-niladic functors. * interp/compiler.boot (processInlineRequest): Now accept any functor. * interp/c-util.boot (lookupFunctionInstance): New. (isFormal): Likewise. (expandFormTemplate): Likewise. (equalFormTemplate): Likewise. (getFunctionTemplate): Likewise. (lookupInheritedDefiningFunction): Likewise. (lookupDefiningFunction): Likewise. * interp/nruncomp.boot (optDeltaEntry): Tidy. Use lookupDefiningFunction. --- src/interp/compiler.boot | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/interp/compiler.boot') diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index cefcbc4e..44145fe9 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -2230,10 +2230,8 @@ processInlineRequest(t,e) == stackAndThrow('"%1b does not designate a domain",[t]) atom T.expr => stackWarning('"inline request for type variable %1bp is meaningless",[t]) - T.expr is [ctor] => - $optimizableConstructorNames := [ctor,:$optimizableConstructorNames] - -- Don't try too hard; the current domain evaluation is insane. - stackWarning('"Ignoring inline arequest for non-niladic type %1bp",[t]) + [ctor,:.] := T.expr + $optimizableConstructorNames := [ctor,:$optimizableConstructorNames] --% -- cgit v1.2.3