|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.codehaus.groovy.classgen.asm.CallSiteWriter
org.codehaus.groovy.classgen.asm.sc.StaticTypesCallSiteWriter
public class StaticTypesCallSiteWriter
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 |
|---|
CONSTRUCTOR |
| Fields inherited from interface org.objectweb.asm.Opcodes |
|---|
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, 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, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7 |
| Constructor Summary | |
|---|---|
StaticTypesCallSiteWriter(StaticTypesWriterController controller)
|
|
| Method Summary | |
|---|---|
void |
makeCallSite(Expression receiver,
java.lang.String message,
Expression arguments,
boolean safe,
boolean implicitThis,
boolean callCurrent,
boolean callStatic)
|
void |
makeCallSiteArrayInitializer()
|
void |
makeGetPropertySite(Expression receiver,
java.lang.String methodName,
boolean safe,
boolean implicitThis)
|
void |
makeGroovyObjectGetPropertySite(Expression receiver,
java.lang.String methodName,
boolean safe,
boolean implicitThis)
|
void |
makeSingleArgumentCall(Expression receiver,
java.lang.String message,
Expression arguments)
|
void |
makeSiteEntry()
|
void |
prepareCallSite(java.lang.String message)
|
| Methods inherited from class org.codehaus.groovy.classgen.asm.CallSiteWriter |
|---|
generateCallSiteArray, getCallSites, prepareSiteAndReceiver, visitBoxedArgument |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public StaticTypesCallSiteWriter(StaticTypesWriterController controller)
| Method Detail |
|---|
public void makeCallSite(Expression receiver,
java.lang.String message,
Expression arguments,
boolean safe,
boolean implicitThis,
boolean callCurrent,
boolean callStatic)
makeCallSite in class CallSiteWriter
public void makeGetPropertySite(Expression receiver,
java.lang.String methodName,
boolean safe,
boolean implicitThis)
makeGetPropertySite in class CallSiteWriter
public void makeGroovyObjectGetPropertySite(Expression receiver,
java.lang.String methodName,
boolean safe,
boolean implicitThis)
makeGroovyObjectGetPropertySite in class CallSiteWriterpublic void makeCallSiteArrayInitializer()
makeCallSiteArrayInitializer in class CallSiteWriterpublic void makeSiteEntry()
makeSiteEntry in class CallSiteWriterpublic void prepareCallSite(java.lang.String message)
prepareCallSite in class CallSiteWriter
public void makeSingleArgumentCall(Expression receiver,
java.lang.String message,
Expression arguments)
makeSingleArgumentCall in class CallSiteWriter
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||