Should this be applied to the Stable branch?
Martin Kersten wrote:
> Update of /cvsroot/monetdb/MonetDB5/src/optimizer
> In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv11631
>
> Modified Files:
> opt_inline.mx
> Log Message:
> Protect lower levels against compound inline functions as well.
>
>
> U opt_inline.mx
> Index: opt_inline.mx
> ===================================================================
> RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/opt_inline.mx,v
> retrieving revision 1.22
> retrieving revision 1.23
> diff -u -d -r1.22 -r1.23
> --- opt_inline.mx 16 May 2009 08:54:40 -0000 1.22
> +++ opt_inline.mx 20 Jul 2009 14:37:32 -0000 1.23
> @@ -50,6 +50,21 @@
>
> extern int OPTinlineMultiplex(Client cntxt, MalBlkPtr mb, InstrPtr p);
>
> +static int
> +isCorrectInline(MalBlkPtr mb){
> + /* make sure we have a simple inline function with a singe return */
> + InstrPtr p;
> + int i, retseen=0;
> +
> + for( i= 1; i < mb->stop; i++){
> + p= getInstrPtr(mb,i);
> + if ( p->token == RETURNsymbol || p->token == YIELDsymbol ||
> + p->barrier == RETURNsymbol || p->barrier ==
> YIELDsymbol)
> + retseen++;
> + }
> + return retseen == 1;
> +}
> +
> int
> OPTinlineImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
> p)
> {
> @@ -85,7 +100,8 @@
> Check if the function definition is tagged as being inlined.
> @c
> if (sig->token == FUNCTIONsymbol &&
> - varGetProp(q->blk, getArg(sig, 0), inlineProp) !=
> NULL) {
> + varGetProp(q->blk, getArg(sig, 0), inlineProp) !=
> NULL &&
> + isCorrectInline(q->blk) ) {
> (void) inlineMALblock(mb,i,q->blk);
> i--;
> actions++;
>
>
> ------------------------------------------------------------------------------
> Enter the BlackBerry Developer Challenge
> This is your chance to win up to $100,000 in prizes! For a limited time,
> vendors submitting new applications to BlackBerry App World(TM) will have
> the opportunity to enter the BlackBerry Developer Challenge. See full prize
> details at: http://p.sf.net/sfu/Challenge
> _______________________________________________
> Monetdb-checkins mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/monetdb-checkins-- Sjoerd Mullender
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge
_______________________________________________ Monetdb-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/monetdb-developers
