Package org.apache.drill.exec.compile.bytecode
package org.apache.drill.exec.compile.bytecode
Bytecode manipulation utilities for stitching together runtime-generated code
with prebuilt templates.
Also includes a number of performance optimizations, including scalar
replacement for small data-only objects to avoid object churn and
indirection. The object definitions are convenient for defining user-facing
APIs, such as Drill's UDF interface, but end up slowing down execution
significantly.
-
ClassDescriptionMethodAnalyzer<V extends org.objectweb.asm.tree.analysis.Value>Analyzer that allows us to inject additional functionality into ASMs basic analysis.BasicValue with additional tracking information used to determine the replaceability of the value (a holder, or boxed value) for scalar replacement purposes.Reference list of classes we will perform scalar replacement on.