public final ContentHandler createContentHandler() { final ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS); return new ASMContentHandler(cw) { @Override public void endDocument() throws SAXException { try { os.write(cw.toByteArray()); } catch (IOException e) { throw new SAXException(e); } } }; }
public ASMAccessorOptimizer() { //do this to confirm we're running the correct version //otherwise should create a verification error in VM new ClassWriter(ClassWriter.COMPUTE_MAXS); }
public ASMAccessorOptimizer() { //do this to confirm we're running the correct version //otherwise should create a verification error in VM new ClassWriter(ClassWriter.COMPUTE_MAXS); }
public ASMAccessorOptimizer() { //do this to confirm we're running the correct version //otherwise should create a verification error in VM new ClassWriter(ClassWriter.COMPUTE_MAXS); }
private void _initJIT2() { if (isAdvancedDebugging()) { buildLog = new StringAppender(); } cw = new ClassWriter(ClassWriter.COMPUTE_MAXS + ClassWriter.COMPUTE_FRAMES); synchronized (Runtime.getRuntime()) { cw.visit(OPCODES_VERSION, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER, className = "ASMAccessorImpl_" + valueOf(cw.hashCode()).replaceAll("\\-", "_") + (System.currentTimeMillis() / 10) + ((int) Math.random() * 100), null, "java/lang/Object", new String[]{NAMESPACE + "compiler/Accessor"}); } MethodVisitor m = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null); m.visitCode(); m.visitVarInsn(Opcodes.ALOAD, 0); m.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V"); m.visitInsn(RETURN); m.visitMaxs(1, 1); m.visitEnd(); (mv = cw.visitMethod(ACC_PUBLIC, "setValue", "(Ljava/lang/Object;Ljava/lang/Object;L" + NAMESPACE + "integration/VariableResolverFactory;Ljava/lang/Object;)Ljava/lang/Object;", null, null)).visitCode(); }
private void _initJIT2() { if (isAdvancedDebugging()) { buildLog = new StringAppender(); } cw = new ClassWriter(ClassWriter.COMPUTE_MAXS + ClassWriter.COMPUTE_FRAMES); synchronized (Runtime.getRuntime()) { cw.visit(OPCODES_VERSION, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER, className = "ASMAccessorImpl_" + valueOf(cw.hashCode()).replaceAll("\\-", "_") + (System.currentTimeMillis() / 10) + ((int) (Math.random() * 100)), null, "java/lang/Object", new String[]{NAMESPACE + "compiler/Accessor"}); } MethodVisitor m = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null); m.visitCode(); m.visitVarInsn(Opcodes.ALOAD, 0); m.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V"); m.visitInsn(RETURN); m.visitMaxs(1, 1); m.visitEnd(); (mv = cw.visitMethod(ACC_PUBLIC, "setValue", "(Ljava/lang/Object;Ljava/lang/Object;L" + NAMESPACE + "integration/VariableResolverFactory;Ljava/lang/Object;)Ljava/lang/Object;", null, null)).visitCode(); }
private void _initJIT2() { if (isAdvancedDebugging()) { buildLog = new StringAppender(); } cw = new ClassWriter(ClassWriter.COMPUTE_MAXS + ClassWriter.COMPUTE_FRAMES); synchronized (Runtime.getRuntime()) { cw.visit(OPCODES_VERSION, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER, className = "ASMAccessorImpl_" + valueOf(cw.hashCode()).replaceAll("\\-", "_") + (System.currentTimeMillis() / 10) + ((int) (Math.random() * 100)), null, "java/lang/Object", new String[]{NAMESPACE + "compiler/Accessor"}); } MethodVisitor m = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null); m.visitCode(); m.visitVarInsn(Opcodes.ALOAD, 0); m.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V"); m.visitInsn(RETURN); m.visitMaxs(1, 1); m.visitEnd(); (mv = cw.visitMethod(ACC_PUBLIC, "setValue", "(Ljava/lang/Object;Ljava/lang/Object;L" + NAMESPACE + "integration/VariableResolverFactory;Ljava/lang/Object;)Ljava/lang/Object;", null, null)).visitCode(); }
/** * Does all the boilerplate for initiating the JIT. */ private void _initJIT() { if (isAdvancedDebugging()) { buildLog = new StringAppender(); } cw = new ClassWriter(ClassWriter.COMPUTE_MAXS + ClassWriter.COMPUTE_FRAMES); synchronized (Runtime.getRuntime()) { cw.visit(OPCODES_VERSION, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER, className = "ASMAccessorImpl_" + valueOf(cw.hashCode()).replaceAll("\\-", "_") + (System.currentTimeMillis() / 10) + ((int) (Math.random() * 100)), null, "java/lang/Object", new String[]{NAMESPACE + "compiler/Accessor"}); } MethodVisitor m = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null); m.visitCode(); m.visitVarInsn(Opcodes.ALOAD, 0); m.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V"); m.visitInsn(RETURN); m.visitMaxs(1, 1); m.visitEnd(); (mv = cw.visitMethod(ACC_PUBLIC, "getValue", "(Ljava/lang/Object;Ljava/lang/Object;L" + NAMESPACE + "integration/VariableResolverFactory;)Ljava/lang/Object;", null, null)).visitCode(); }
/** * Does all the boilerplate for initiating the JIT. */ private void _initJIT() { if (isAdvancedDebugging()) { buildLog = new StringAppender(); } cw = new ClassWriter(ClassWriter.COMPUTE_MAXS + ClassWriter.COMPUTE_FRAMES); synchronized (Runtime.getRuntime()) { cw.visit(OPCODES_VERSION, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER, className = "ASMAccessorImpl_" + valueOf(cw.hashCode()).replaceAll("\\-", "_") + (System.currentTimeMillis() / 10) + ((int) Math.random() * 100), null, "java/lang/Object", new String[]{NAMESPACE + "compiler/Accessor"}); } MethodVisitor m = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null); m.visitCode(); m.visitVarInsn(Opcodes.ALOAD, 0); m.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V"); m.visitInsn(RETURN); m.visitMaxs(1, 1); m.visitEnd(); (mv = cw.visitMethod(ACC_PUBLIC, "getValue", "(Ljava/lang/Object;Ljava/lang/Object;L" + NAMESPACE + "integration/VariableResolverFactory;)Ljava/lang/Object;", null, null)).visitCode(); }
/** * Does all the boilerplate for initiating the JIT. */ private void _initJIT() { if (isAdvancedDebugging()) { buildLog = new StringAppender(); } cw = new ClassWriter(ClassWriter.COMPUTE_MAXS + ClassWriter.COMPUTE_FRAMES); synchronized (Runtime.getRuntime()) { cw.visit(OPCODES_VERSION, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER, className = "ASMAccessorImpl_" + valueOf(cw.hashCode()).replaceAll("\\-", "_") + (System.currentTimeMillis() / 10) + ((int) (Math.random() * 100)), null, "java/lang/Object", new String[]{NAMESPACE + "compiler/Accessor"}); } MethodVisitor m = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null); m.visitCode(); m.visitVarInsn(Opcodes.ALOAD, 0); m.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V"); m.visitInsn(RETURN); m.visitMaxs(1, 1); m.visitEnd(); (mv = cw.visitMethod(ACC_PUBLIC, "getValue", "(Ljava/lang/Object;Ljava/lang/Object;L" + NAMESPACE + "integration/VariableResolverFactory;)Ljava/lang/Object;", null, null)).visitCode(); }
private byte[] dumpWriter(final Class< ? > originalClass, final String className, final Method getterMethod, final Class< ? > fieldType, final boolean isInterface) throws Exception { final ClassWriter cw = new ClassWriter( ClassWriter.COMPUTE_MAXS ); final Class< ? > superClass = getWriterSuperClassFor( fieldType ); buildClassHeader( superClass, className, cw ); build3ArgConstructor( superClass, className, cw ); buildSetMethod( originalClass, className, superClass, getterMethod, fieldType, cw ); cw.visitEnd(); return cw.toByteArray(); }
private byte[] dumpReader(final Class< ? > originalClass, final String className, final Method getterMethod, final Class< ? > fieldType, final boolean isInterface) throws Exception { final ClassWriter cw = new ClassWriter( ClassWriter.COMPUTE_MAXS ); final Class< ? > superClass = getReaderSuperClassFor( fieldType ); buildClassHeader( superClass, className, cw ); // buildConstructor( superClass, // className, // cw ); build3ArgConstructor( superClass, className, cw ); buildGetMethod( originalClass, className, superClass, getterMethod, cw ); cw.visitEnd(); return cw.toByteArray(); }
ClassWriter cw = new ClassWriter( ClassWriter.COMPUTE_MAXS );
ClassWriter cw = new ClassWriter( ClassWriter.COMPUTE_MAXS );
NoSuchFieldException { ClassWriter cw = new ClassWriter( ClassWriter.COMPUTE_MAXS );
ClassWriter cw = new ClassWriter( ClassWriter.COMPUTE_MAXS ); FieldVisitor fv; MethodVisitor mv;
ClassWriter cw = new ClassWriter( ClassWriter.COMPUTE_MAXS ); FieldVisitor fv; MethodVisitor mv;
ClassWriter cw = new ClassWriter( ClassWriter.COMPUTE_MAXS ); FieldVisitor fv; MethodVisitor mv;
ClassWriter cw = new ClassWriter( ClassWriter.COMPUTE_MAXS ); FieldVisitor fv; MethodVisitor mv;
ClassWriter cw = new ClassWriter(COMPUTE_FRAMES); new ClassReader(out.data).accept(cw, ClassReader.SKIP_FRAMES); return cw.toByteArray();