Class StaticTypesCallSiteWriter
java.lang.Object
org.codehaus.groovy.classgen.asm.CallSiteWriter
org.codehaus.groovy.classgen.asm.sc.StaticTypesCallSiteWriter
- All Implemented Interfaces:
org.objectweb.asm.Opcodes
public class StaticTypesCallSiteWriter extends CallSiteWriter implements org.objectweb.asm.Opcodes
A call site writer which replaces call site caching with static calls. This means that the generated code
looks more like Java code than dynamic Groovy code. Best effort is made to use JVM instructions instead of
calls to helper methods.
-
Field Summary
Fields inherited from class org.codehaus.groovy.classgen.asm.CallSiteWriter
CONSTRUCTORFields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V9 -
Constructor Summary
Constructors Constructor Description StaticTypesCallSiteWriter(StaticTypesWriterController controller) -
Method Summary
Modifier and Type Method Description voidfallbackAttributeOrPropertySite(PropertyExpression expression, Expression objectExpression, java.lang.String name, MethodCallerMultiAdapter adapter)voidgenerateCallSiteArray()voidmakeCallSite(Expression receiver, java.lang.String message, Expression arguments, boolean safe, boolean implicitThis, boolean callCurrent, boolean callStatic)voidmakeCallSiteArrayInitializer()voidmakeGetPropertySite(Expression receiver, java.lang.String propertyName, boolean safe, boolean implicitThis)voidmakeGroovyObjectGetPropertySite(Expression receiver, java.lang.String propertyName, boolean safe, boolean implicitThis)voidmakeSingleArgumentCall(Expression receiver, java.lang.String message, Expression arguments, boolean safe)voidmakeSiteEntry()voidprepareCallSite(java.lang.String message)Methods inherited from class org.codehaus.groovy.classgen.asm.CallSiteWriter
getCallSites, hasCallSiteUse, makeSingleArgumentCall, prepareSiteAndReceiver, visitBoxedArgumentMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
StaticTypesCallSiteWriter
-
-
Method Details
-
generateCallSiteArray
public void generateCallSiteArray()- Overrides:
generateCallSiteArrayin classCallSiteWriter
-
makeCallSite
public void makeCallSite(Expression receiver, java.lang.String message, Expression arguments, boolean safe, boolean implicitThis, boolean callCurrent, boolean callStatic)- Overrides:
makeCallSitein classCallSiteWriter
-
makeGetPropertySite
public void makeGetPropertySite(Expression receiver, java.lang.String propertyName, boolean safe, boolean implicitThis)- Overrides:
makeGetPropertySitein classCallSiteWriter
-
makeGroovyObjectGetPropertySite
public void makeGroovyObjectGetPropertySite(Expression receiver, java.lang.String propertyName, boolean safe, boolean implicitThis)- Overrides:
makeGroovyObjectGetPropertySitein classCallSiteWriter
-
makeCallSiteArrayInitializer
public void makeCallSiteArrayInitializer()- Overrides:
makeCallSiteArrayInitializerin classCallSiteWriter
-
makeSiteEntry
public void makeSiteEntry()- Overrides:
makeSiteEntryin classCallSiteWriter
-
prepareCallSite
public void prepareCallSite(java.lang.String message)- Overrides:
prepareCallSitein classCallSiteWriter
-
makeSingleArgumentCall
public void makeSingleArgumentCall(Expression receiver, java.lang.String message, Expression arguments, boolean safe)- Overrides:
makeSingleArgumentCallin classCallSiteWriter
-
fallbackAttributeOrPropertySite
public void fallbackAttributeOrPropertySite(PropertyExpression expression, Expression objectExpression, java.lang.String name, MethodCallerMultiAdapter adapter)- Overrides:
fallbackAttributeOrPropertySitein classCallSiteWriter
-