< prev index next >

test/micro/org/openjdk/bench/jdk/classfile/Transforms.java

Print this page

108         UNSHARED_3(false, threeLevelNoop),
109         SHARED_3_NO_STACKMAP(true, threeLevelNoop, ClassFile.StackMapsOption.DROP_STACK_MAPS),
110         SHARED_3_NO_DEBUG(true, threeLevelNoop, ClassFile.DebugElementsOption.DROP_DEBUG, ClassFile.LineNumbersOption.DROP_LINE_NUMBERS),
111         CLASS_REMAPPER(bytes ->
112                 ClassRemapper.of(Map.of()).remapClass(ClassFile.of(), ClassFile.of().parse(bytes)));
113 
114         // Need ASM, LOW_UNSHARED
115 
116         public final UnaryOperator<byte[]> transform;
117         public final boolean shared;
118         public final ClassTransform classTransform;
119         public final ClassFile cc;
120 
121         NoOpTransform(UnaryOperator<byte[]> transform) {
122             this.transform = transform;
123             classTransform = null;
124             shared = false;
125             cc = ClassFile.of();
126         }
127 

128         NoOpTransform(boolean shared,
129                       ClassTransform classTransform,
130                       ClassFile.Option... options) {
131             this.shared = shared;
132             this.classTransform = classTransform;
133             this.cc = ClassFile.of(
134                     shared
135                     ? options
136                     : Stream.concat(Stream.of(options), Stream.of(ClassFile.ConstantPoolSharingOption.NEW_POOL)).toArray(ClassFile.Option[]::new));
137             this.transform = bytes -> cc.transformClass(cc.parse(bytes), classTransform);
138         }
139     }
140 
141     public enum InjectNopTransform {
142         NOP_SHARED(bytes -> {
143             var cc = ClassFile.of();
144             ClassModel cm = cc.parse(bytes);
145             return cc.transformClass(cm, (cb, ce) -> {
146                 if (ce instanceof MethodModel mm) {
147                     cb.transformMethod(mm, (mb, me) -> {

108         UNSHARED_3(false, threeLevelNoop),
109         SHARED_3_NO_STACKMAP(true, threeLevelNoop, ClassFile.StackMapsOption.DROP_STACK_MAPS),
110         SHARED_3_NO_DEBUG(true, threeLevelNoop, ClassFile.DebugElementsOption.DROP_DEBUG, ClassFile.LineNumbersOption.DROP_LINE_NUMBERS),
111         CLASS_REMAPPER(bytes ->
112                 ClassRemapper.of(Map.of()).remapClass(ClassFile.of(), ClassFile.of().parse(bytes)));
113 
114         // Need ASM, LOW_UNSHARED
115 
116         public final UnaryOperator<byte[]> transform;
117         public final boolean shared;
118         public final ClassTransform classTransform;
119         public final ClassFile cc;
120 
121         NoOpTransform(UnaryOperator<byte[]> transform) {
122             this.transform = transform;
123             classTransform = null;
124             shared = false;
125             cc = ClassFile.of();
126         }
127 
128         @SuppressWarnings("initialization")
129         NoOpTransform(boolean shared,
130                       ClassTransform classTransform,
131                       ClassFile.Option... options) {
132             this.shared = shared;
133             this.classTransform = classTransform;
134             this.cc = ClassFile.of(
135                     shared
136                     ? options
137                     : Stream.concat(Stream.of(options), Stream.of(ClassFile.ConstantPoolSharingOption.NEW_POOL)).toArray(ClassFile.Option[]::new));
138             this.transform = bytes -> cc.transformClass(cc.parse(bytes), classTransform);
139         }
140     }
141 
142     public enum InjectNopTransform {
143         NOP_SHARED(bytes -> {
144             var cc = ClassFile.of();
145             ClassModel cm = cc.parse(bytes);
146             return cc.transformClass(cm, (cb, ce) -> {
147                 if (ce instanceof MethodModel mm) {
148                     cb.transformMethod(mm, (mb, me) -> {
< prev index next >