Re: Code Generation Question

2017-09-15 Thread Paul Rogers
We had a quick discussion. There is some doubt that Java can correctly optimize code that uses subclasses. The problem is that, for one query, the JIT wants to optimize the code one way, for another, the JIT wants to optimize a different way. By having copies of the byte codes, the JIT can optim

Re: Code Generation Question

2017-09-15 Thread Boaz Ben-Zvi
Hi Tim, The latest Pull Request for the Hash Aggr operator (#938) does turn the “plain java” on for the mainline code, as these new template code changes (in the Hash Table) caused the “byte twiddling” to break in some subtle way. This is the first attempt; and as it (hopefully) will work

Re: Code Generation Question

2017-09-15 Thread Paul Rogers
Hi Tim, This question has come up multiple times. The “plain Java” is very handy for developing code with code generation. It also seems to be faster, smaller and simpler than the byte-code-merge mechanism. (However, rewriting byte codes is has the benefit of sounding much more sophisticated th

Code Generation Question

2017-09-14 Thread Timothy Farkas
Hi All, As I've been looking at the TopN operator and code generation, I've been wondering why we have 2 forms of code generation: * One is the method of stitching compiled methods into a template class with ASM. * The other simply creates a class that extends the TemplateClass and co