[ 
https://issues.apache.org/jira/browse/DRILL-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14075691#comment-14075691
 ] 

Jacques Nadeau commented on DRILL-1167:
---------------------------------------

Fixed by caa8b78 or earlier

> Split large runtime generated functions into a chain of functions
> -----------------------------------------------------------------
>
>                 Key: DRILL-1167
>                 URL: https://issues.apache.org/jira/browse/DRILL-1167
>             Project: Apache Drill
>          Issue Type: Sub-task
>          Components: Execution - Codegen
>    Affects Versions: 0.4.0
>            Reporter: Aditya Kishore
>            Assignee: Aditya Kishore
>             Fix For: 0.4.0
>
>         Attachments: 
> DRILL-1167-Split-large-runtime-generated-functions-i.patch
>
>
> Since a Java function can not grow beyond 64kb (of byte code), it would be 
> useful to split such functions into multiple functions and invoke them as a 
> chain.
> For example, the following function
> {code}
> public boolean doEval() {
>   //block 0:
>   {
>     ...
>   }
> ...
>   //block m-1:
>   {
>     ...
>   }
>   //block m:
>   {
>     ...
>   }
> ...
>   //block n:
>   {
>     ...
>   }
>   {
>     return true;
>   }
> }
> {code}
> Can be re-written as:
> {code}
> public boolean doEval() {
>   //block 0:
>   {
>     ...
>   }
> ...
>   //block m-1:
>   {
>     ...
>   }
>   return doEval0();
> }
> public boolean doEval0() {
>   //block m:
>   {
>     ...
>   }
> ...
>   //block n:
>   {
>     ...
>   }
>   {
>     return true;
>   }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to