Package org.mvel2.optimizers.dynamic
Class DynamicOptimizer
- java.lang.Object
-
- org.mvel2.compiler.AbstractParser
-
- org.mvel2.optimizers.AbstractOptimizer
-
- org.mvel2.optimizers.dynamic.DynamicOptimizer
-
- All Implemented Interfaces:
Serializable,Parser,AccessorOptimizer
public class DynamicOptimizer extends AbstractOptimizer implements AccessorOptimizer
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static intCOLLECTIONstatic intmaximumTenurestatic intOBJ_CREATIONstatic intREGULAR_ACCESSORstatic intSET_ACCESSORstatic inttenuringThresholdstatic longtimeSpanstatic inttotalRecycled-
Fields inherited from class org.mvel2.optimizers.AbstractOptimizer
BEAN, COL, collection, currType, METH, nullSafe, staticAccess, tkStart, WITH
-
Fields inherited from class org.mvel2.compiler.AbstractParser
CLASS_LITERALS, compileMode, ctx, cursor, debugSymbols, dStack, end, expr, fields, GET, GET_OR_CREATE, greedy, lastLineStart, lastNode, lastWasComment, lastWasIdentifier, lastWasLineLabel, length, LEVEL_0_PROPERTY_ONLY, LEVEL_1_BASIC_LANG, LEVEL_2_MULTI_STATEMENT, LEVEL_3_ITERATION, LEVEL_4_ASSIGNMENT, LEVEL_5_CONTROL_FLOW, line, literalOnly, LITERALS, OP_CONTINUE, OP_NOT_LITERAL, OP_OVERFLOW, OP_RESET_FRAME, OP_TERMINATE, OPERATORS, pCtx, REMOVE, SET, splitAccumulator, st, start, stk, variableFactory
-
-
Constructor Summary
Constructors Constructor Description DynamicOptimizer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidenforceTenureLimit()ClassgetEgressType()ObjectgetResultOptPass()voidinit()booleanisLiteralOnly()static booleanisOverloaded()AccessoroptimizeAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Class ingressType)AccessoroptimizeCollection(ParserContext pCtx, Object rootObject, Class type, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)AccessoroptimizeObjectCreation(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)AccessoroptimizeSetAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Object value, Class valueType)-
Methods inherited from class org.mvel2.optimizers.AbstractOptimizer
capture, findLastUnion, nextSubToken, scanTo, tryStaticAccess, whiteSpaceSkip
-
Methods inherited from class org.mvel2.compiler.AbstractParser
addFatalError, addFatalError, arithmeticFunctionReduction, captureIdentifier, captureToEOS, captureToEOSorEOL, captureToEOT, captureToNextTokenJunction, expectEOS, expectNextChar_IW, getCursor, getExpression, handleSubstatement, handleUnion, ifThenElseBlockContinues, incNextNonBlank, isArithmeticOperator, isNextIdentifier, isNextIdentifierOrLiteral, isStatementNotManuallyTerminated, lastNonWhite, loadLanguageFeaturesByLevel, lookAhead, lookAhead, lookBehind, lookToLast, nextNonBlank, nextToken, nextTokenSkipSymbols, reduce, setExpression, setExpression, setLanguageLevel, setupParser, skipWhitespace, tokenContinues, trimLeft, trimRight, trimWhitespace
-
-
-
-
Field Detail
-
tenuringThreshold
public static int tenuringThreshold
-
timeSpan
public static long timeSpan
-
maximumTenure
public static int maximumTenure
-
totalRecycled
public static int totalRecycled
-
REGULAR_ACCESSOR
public static final int REGULAR_ACCESSOR
- See Also:
- Constant Field Values
-
SET_ACCESSOR
public static final int SET_ACCESSOR
- See Also:
- Constant Field Values
-
COLLECTION
public static final int COLLECTION
- See Also:
- Constant Field Values
-
OBJ_CREATION
public static final int OBJ_CREATION
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init()
- Specified by:
initin interfaceAccessorOptimizer
-
enforceTenureLimit
public static void enforceTenureLimit()
-
optimizeAccessor
public Accessor optimizeAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Class ingressType)
- Specified by:
optimizeAccessorin interfaceAccessorOptimizer
-
optimizeSetAccessor
public Accessor optimizeSetAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Object value, Class valueType)
- Specified by:
optimizeSetAccessorin interfaceAccessorOptimizer
-
optimizeCollection
public Accessor optimizeCollection(ParserContext pCtx, Object rootObject, Class type, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)
- Specified by:
optimizeCollectionin interfaceAccessorOptimizer
-
optimizeObjectCreation
public Accessor optimizeObjectCreation(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)
- Specified by:
optimizeObjectCreationin interfaceAccessorOptimizer
-
isOverloaded
public static boolean isOverloaded()
-
getResultOptPass
public Object getResultOptPass()
- Specified by:
getResultOptPassin interfaceAccessorOptimizer
-
getEgressType
public Class getEgressType()
- Specified by:
getEgressTypein interfaceAccessorOptimizer
-
isLiteralOnly
public boolean isLiteralOnly()
- Specified by:
isLiteralOnlyin interfaceAccessorOptimizer
-
-