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

Attachment: 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

Reply via email to