From 58fbdec9d8c7bb99dc4a4ceeb32bc5630e1253ae Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 26 Mar 2025 12:31:35 -0700 Subject: [PATCH 001/211] Add additional version of DynComp for Java 24 --- java/Makefile | 58 +- java/daikon/dcomp/DCInstrument24.java | 4772 +++++++++++++++++++++++++ java/daikon/dcomp/Instrument24.java | 445 +++ java/daikon/dcomp/Premain.java | 14 +- 4 files changed, 5260 insertions(+), 29 deletions(-) create mode 100644 java/daikon/dcomp/DCInstrument24.java create mode 100644 java/daikon/dcomp/Instrument24.java diff --git a/java/Makefile b/java/Makefile index 46f1f4c23d..e85684feb3 100644 --- a/java/Makefile +++ b/java/Makefile @@ -464,7 +464,7 @@ all_directly: ../utils/plume-scripts ${AUTO_GENERATED_FILES} java_files.txt @echo "JAVA_VERSION_STRING_WITH_EA = ${JAVA_VERSION_STRING_WITH_EA}" ${JAVAC_COMMAND} @java_files.txt ifeq ($(JAVA24), 1) - ${JAVAC24_COMMAND} daikon/chicory/*24.java + ${JAVAC24_COMMAND} daikon/chicory/*24.java daikon/dcomp/*24.java endif rm -f java_files.txt # Post JDK 21, additional restrictions have been introduced that prevent developers @@ -498,7 +498,7 @@ compile_daikon : ../utils/plume-scripts $(AUTO_GENERATED_FILES) @echo $(JAVAC_COMMAND) 'daikon/*.java ...' @$(JAVAC_COMMAND) $(DAIKON_JAVA_FILES) ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} daikon/chicory/*24.java + @${JAVAC24_COMMAND} daikon/chicory/*24.java daikon/dcomp/*24.java endif @chmod 444 ${AUTO_GENERATED_FILES} # $(MAKE) all_pass2 @@ -554,7 +554,7 @@ dyncomp dcomp : plume-import-check dcomp_premain.jar dcomp-test dcomp_premain.jar : $(INSTRUMENTATION_JAVA_FILES) daikon/dcomp/manifest.txt $(JAVAC_COMMAND) $(INSTRUMENTATION_JAVA_FILES_NO_24) ifeq ($(JAVA24), 1) - ${JAVAC24_COMMAND} daikon/chicory/*24.java + ${JAVAC24_COMMAND} daikon/chicory/*24.java daikon/dcomp/*24.java endif $(JAR) cfm dcomp_premain.jar daikon/dcomp/manifest.txt \ daikon/dcomp/Premain.class @@ -661,7 +661,7 @@ all_except_daikon: ../utils/plume-scripts ${AUTO_GENERATED_FILES} @echo ${JAVAC_COMMAND} '*.java ... (except Daikon.java)' @${JAVAC_COMMAND} ${JAVA_FILES_EXCEPT_DAIKON} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} daikon/chicory/*24.java + @${JAVAC24_COMMAND} daikon/chicory/*24.java daikon/dcomp/*24.java endif @chmod a-w ${AUTO_GENERATED_FILES} $(MAKE) all_pass2 @@ -779,7 +779,7 @@ else extra-error-prone-args-1 = --should-stop=ifError=FLOW endif ifeq ($(JAVA24), 1) - extra-error-prone-args-2 = -source 24 -target 24 daikon/chicory/*24.java + extra-error-prone-args-2 = -source 24 -target 24 daikon/chicory/*24.java daikon/dcomp/*24.java endif ERRORPRONE_PROCESSOR_PATH := ${DAIKONDIR}/java/lib/error-prone/error_prone_core-${error-prone-version}-with-dependencies.jar:${DAIKONDIR}/java/lib/error-prone/dataflow-errorprone-3.48.4.jar @@ -867,7 +867,7 @@ audit: .PHONY: reformat check-format ifeq ($(JAVA24), 1) - extra-format-arg = ./daikon/chicory/*24.java + extra-format-arg = ./daikon/chicory/*24.java ./daikon/dcomp/*24.java endif reformat: @@ -977,7 +977,8 @@ typecheck-formatter-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif typecheck-index: ${ALL_GENERATED_FILES} compile @@ -986,7 +987,8 @@ typecheck-index-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ${INDEX_JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif # Run the index checker on all Java files, not just those in the daikon package. @@ -997,7 +999,8 @@ typecheck-index-all-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif # This target runs the Index checker on just one file. @@ -1013,7 +1016,8 @@ typecheck-interning-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ${INTERNING_JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif # Run the interning checker on all Java files, not just those in the daikon package. @@ -1024,7 +1028,8 @@ typecheck-interning-all-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif # This target runs the Interning checker on just one file. @@ -1040,7 +1045,8 @@ typecheck-lock-nocompile: @echo ${JAVAC_COMMAND} ${CHECKER_ARGS} ${JAVAC_LOCK_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_LOCK_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_LOCK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_LOCK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_LOCK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif typecheck-nullness: compile compile-typequals @@ -1049,7 +1055,8 @@ typecheck-nullness-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo ${JAVAC24_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif # These targets run the Nullness checker on just one file. @@ -1070,7 +1077,8 @@ typecheck-prototype-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif typecheck-regex: ${ALL_GENERATED_FILES} compile @@ -1079,7 +1087,8 @@ typecheck-regex-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif typecheck-regex-qual: ${ALL_GENERATED_FILES} compile @@ -1088,7 +1097,8 @@ typecheck-regex-qual-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif typecheck-resourceleak: ${ALL_GENERATED_FILES} compile @@ -1097,7 +1107,8 @@ typecheck-resourceleak-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif typecheck-signature: ${ALL_GENERATED_FILES} compile @@ -1106,7 +1117,8 @@ typecheck-signature-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif # This target runs the Signature checker on just one file. @@ -1123,7 +1135,8 @@ typecheck-signedness-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif typecheck-vindex: compile compile-typequals @@ -1132,7 +1145,8 @@ typecheck-vindex-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} -Xbootclasspath/p:${DAIKONDIR}/java ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif TYPEQUALS_JAVA_FILES = $(wildcard typequals/*.java) @@ -1197,7 +1211,8 @@ possible-annos: ${ALL_GENERATED_FILES} compile-typequals compile @echo ${JAVAC_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java + @echo @${JAVAC24_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java + @${JAVAC24_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java endif @@ -1291,6 +1306,7 @@ javadoc-files.txt: find * \( -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -path 'daikon/dcomp-transfer' \) -prune -o -name "*24.java" -prune -o -name "*.java" -print | ${SORT_DIRECTORY_ORDER} > javadoc-files.txt ifeq ($(JAVA24), 1) echo daikon/chicory/*24.java >> javadoc-files.txt + echo daikon/dcomp/*24.java >> javadoc-files.txt endif # If Java 8, don't run javadoc; a bug in javadoc causes it to crash. diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java new file mode 100644 index 0000000000..defa5792ea --- /dev/null +++ b/java/daikon/dcomp/DCInstrument24.java @@ -0,0 +1,4772 @@ +package daikon.dcomp; + +import static java.lang.classfile.constantpool.PoolEntry.*; +import static java.lang.constant.ConstantDescs.*; + +import daikon.DynComp; +import daikon.chicory.ClassInfo; +import daikon.chicory.DaikonWriter; +import daikon.chicory.MethodGen24; +import daikon.chicory.MethodInfo; +import daikon.plumelib.bcelutil.BcelUtil; +import daikon.plumelib.bcelutil.SimpleLog; +import daikon.plumelib.options.Option; +import daikon.plumelib.reflection.Signatures; +import daikon.plumelib.util.EntryReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintStream; +import java.lang.classfile.*; +import java.lang.classfile.Opcode.*; +import java.lang.classfile.attribute.*; +import java.lang.classfile.constantpool.*; +import java.lang.classfile.instruction.*; +import java.lang.constant.*; +import java.lang.invoke.MethodHandles; +import java.net.URL; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Deque; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.ListIterator; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.regex.Pattern; +import org.apache.bcel.Const; +import org.apache.bcel.classfile.AnnotationEntry; +import org.apache.bcel.classfile.Annotations; +import org.apache.bcel.classfile.Attribute; +import org.apache.bcel.classfile.ClassParser; +import org.apache.bcel.classfile.Constant; +import org.apache.bcel.classfile.ConstantInterfaceMethodref; +import org.apache.bcel.classfile.Field; +import org.apache.bcel.classfile.JavaClass; +import org.apache.bcel.classfile.Method; +import org.apache.bcel.classfile.RuntimeVisibleAnnotations; +import org.apache.bcel.classfile.StackMapType; +import org.apache.bcel.generic.AALOAD; +import org.apache.bcel.generic.ACONST_NULL; +import org.apache.bcel.generic.ALOAD; +import org.apache.bcel.generic.ASTORE; +import org.apache.bcel.generic.ATHROW; +import org.apache.bcel.generic.AnnotationEntryGen; +import org.apache.bcel.generic.ArrayType; +import org.apache.bcel.generic.BasicType; +import org.apache.bcel.generic.BranchInstruction; +import org.apache.bcel.generic.ClassGen; +import org.apache.bcel.generic.ClassGenException; +import org.apache.bcel.generic.CodeExceptionGen; +import org.apache.bcel.generic.ConstantPoolGen; +import org.apache.bcel.generic.DUP; +import org.apache.bcel.generic.DUP2; +import org.apache.bcel.generic.DUP_X2; +import org.apache.bcel.generic.FieldInstruction; +import org.apache.bcel.generic.GETFIELD; +import org.apache.bcel.generic.GETSTATIC; +import org.apache.bcel.generic.IADD; +import org.apache.bcel.generic.INVOKEDYNAMIC; +import org.apache.bcel.generic.INVOKEINTERFACE; +import org.apache.bcel.generic.INVOKESPECIAL; +import org.apache.bcel.generic.INVOKEVIRTUAL; +import org.apache.bcel.generic.Instruction; +import org.apache.bcel.generic.InstructionFactory; +import org.apache.bcel.generic.InstructionHandle; +import org.apache.bcel.generic.InstructionList; +import org.apache.bcel.generic.InstructionTargeter; +import org.apache.bcel.generic.InvokeInstruction; +import org.apache.bcel.generic.LDC; +import org.apache.bcel.generic.LDC2_W; +import org.apache.bcel.generic.LineNumberGen; +import org.apache.bcel.generic.LoadInstruction; +import org.apache.bcel.generic.LocalVariableGen; +import org.apache.bcel.generic.LocalVariableInstruction; +import org.apache.bcel.generic.MULTIANEWARRAY; +import org.apache.bcel.generic.MethodGen; +import org.apache.bcel.generic.NOP; +import org.apache.bcel.generic.ObjectType; +import org.apache.bcel.generic.PUTFIELD; +import org.apache.bcel.generic.PUTSTATIC; +import org.apache.bcel.generic.ReferenceType; +import org.apache.bcel.generic.ReturnInstruction; +import org.apache.bcel.generic.SWAP; +import org.apache.bcel.generic.StoreInstruction; +import org.apache.bcel.generic.Type; +import org.apache.bcel.verifier.structurals.OperandStack; +import org.checkerframework.checker.lock.qual.GuardSatisfied; +import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; +import org.checkerframework.checker.nullness.qual.KeyFor; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.checker.signature.qual.BinaryName; +import org.checkerframework.checker.signature.qual.ClassGetName; +import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; +import org.checkerframework.dataflow.qual.Pure; + +/** + * Instruments a class file to perform Dynamic Comparability. + * + *

Starting with JDK 24, Java has added a set of APIs for reading and modifying .class files + * ({@code java.lang.classfile}). + * + *

We are migrating from BCEL to this new set of APIs for two main reasons: + * + *

    + *
  1. The new APIs are more complete and robust - no more fiddling with StackMaps. + *
  2. Since the new APIs are part of the official JDK release, they will always be up to date + * with any .class file changes. + *
+ * + *

The files Instrument24.java and DCInstrument24.java were added to DynComp to use this new set + * of APIs instead of BCEL. (We will need to continue to support Instrument.java and + * DCInstrument.java using BCEL, as we do not anticipate our clients moving from JDK 8, 11, 17 or 21 + * to JDK 24 for quite some time.) + * + *

The DCInstrument24 class is responsible for modifying another class's bytecodes. Specifically, + * its main task is to add calls into the DynComp Runtime to calculate comparability values. These + * added calls are sometimes referred to as "hooks". + */ +@SuppressWarnings("nullness") +public class DCInstrument24 { + + // bogus decls to compile old code + // protected @Nullable ConstantPoolGen pool = null; + protected ConstantPoolGen pool; + + /** A log to which to print debugging information about program instrumentation. */ + protected SimpleLog debugInstrument = new SimpleLog(false); + + /** + * Used when testing to continue processing if an error occurs. Currently, This flag is only used + * by BuildJDK. + */ + @Option("Halt if an instrumentation error occurs") + public static boolean quit_if_error = true; + + /** The index of this method in SharedData.methods. */ + int cur_method_info_index = 0; + + /** The MethodInfo for the current method. */ + @Nullable MethodInfo curMethodInfo; + + // Variables used for the entire class. + + /** Current class name in binary format. */ + @BinaryName String binaryClassName; + + /** The current ClassFile. */ + protected ClassFile classFile; + + /** The current ClassModel. */ + protected ClassModel classModel; + + /** Stores useful information about a class. */ + private ClassInfo classInfo; + + /** ConstantPool builder for entire class. */ + private ConstantPoolBuilder poolBuilder; + + // Variables used for the entire method. + // They are initialized in instrumentCode(). + + /** CodeBuilder for the current method. */ + private CodeBuilder currentCodeBuilder; + + /** Next available slot in localsTable currently always = max locals. */ + private int nextLocalIndex; + + /** Local variable table (stored as an ArrayList). */ + List localsTable; + + /** Mapping from instructions to labels. */ + // Used to associate a label with a location within the codelist + public Map labelMap = new HashMap<>(); + + // Note that the next three items are CodeBuilder Labels. + // These are different from CodeModel Labels. + /** Label for first byte code of method, used to give new locals method scope. */ + private Label startLabel; + + /** Label for last byte code of method, used to give new locals method scope. */ + private Label endLabel; + + /** Label for start of orignal code, post insertion of entry instrumentation. */ + private Label entryLabel; + + /** Label for first byte code of method, as a CodeModel Label. */ + private @Nullable Label oldStartLabel; + + /** Variables used for instrumentation. */ + @Nullable LocalVariable nonceLocal, returnLocal; + + // End of method variables. + + /** ClassGen for the current class. */ + protected ClassGen gen; + + /** MethodGen for the current method. */ + protected MethodGen mgen; + + /** Is the current class a member of the JDK? */ + protected boolean in_jdk; + + /** The BCEL InstructionFactory for generating byte code instructions. */ + protected InstructionFactory ifact; + + /** The loader that loaded the Class to instrument. */ + protected @Nullable ClassLoader loader; + + /** Has an {@code } method completed initialization? */ + protected boolean constructor_is_initialized; + + /** Local that stores the tag frame for the current method. */ + protected LocalVariableGen tag_frame_local; + + // Argument descriptors + /** Type array with two objects. */ + protected static Type[] two_objects = new Type[] {Type.OBJECT, Type.OBJECT}; + + /** Type array with an object and an int. */ + protected static Type[] object_int = new Type[] {Type.OBJECT, Type.INT}; + + /** Type array with a string. */ + protected static Type[] string_arg = new Type[] {Type.STRING}; + + /** Type array with an int. */ + protected static Type[] integer_arg = new Type[] {Type.INT}; + + /** Type array with an object. */ + protected static Type[] object_arg = new Type[] {Type.OBJECT}; + + /** ObjectType for "java.lang.Class". */ + protected static Type javalangClass = new ObjectType("java.lang.Class"); + + // Type descriptors + protected static Type object_arr = new ArrayType(Type.OBJECT, 1); + // private Type int_arr = new ArrayType (Type.INT, 1); + protected static final ClassDesc throwable = ClassDesc.of("java.lang.Throwable"); + protected final ClassDesc dcomp_marker; + protected static final ClassDesc javalangObject = ClassDesc.of("java.lang.Object"); + + // Debug loggers + /** Log file if debug_native is enabled. */ + protected static SimpleLog debug_native = new SimpleLog(false); + + /** Log file if debug_dup is enabled. */ + protected static SimpleLog debug_dup = new SimpleLog(false); + + /** + * Debug information about which classes and/or methods are transformed and why. Use + * debugInstrument for actual instrumentation details. + */ + protected static SimpleLog debug_transform = new SimpleLog(false); + + // Flags to enable additional console output for debugging + /** If true, enable JUnit analysis debugging. */ + protected static final boolean debugJUnitAnalysis = false; + + /** If true, enable {@link #getDefiningInterface} debugging. */ + protected static final boolean debugGetDefiningInterface = false; + + /** If true, enable {@link #handleInvoke} debugging. */ + protected static final boolean debugHandleInvoke = false; + + /** Keeps track of the methods that were not successfully instrumented. */ + protected List skipped_methods = new ArrayList<>(); + + /** Either "java.lang" or "daikon.dcomp". */ + protected @DotSeparatedIdentifiers String dcomp_prefix; + + /** Either "daikon.dcomp.DCRuntime" or "java.lang.DCRuntime". */ + protected @DotSeparatedIdentifiers String dcompRuntimeClassName = "daikon.dcomp.DCRuntime"; + + /** Set of JUnit test classes. */ + protected static Set junitTestClasses = new HashSet<>(); + + /** Possible states of JUnit test discovery. */ + protected enum JUnitState { + NOT_SEEN, + STARTING, + TEST_DISCOVERY, + RUNNING + }; + + /** Current state of JUnit test discovery. */ + protected static JUnitState junit_state = JUnitState.NOT_SEEN; + + /** Have we seen 'JUnitCommandLineParseResult.parse'? */ + protected static boolean junit_parse_seen = false; + + /** + * Map from each static field name to its unique integer id. Note that while it's intuitive to + * think that each static should show up exactly once, that is not the case. A static defined in a + * superclass can be accessed through each of its subclasses. Tag accessor methods must be added + * in each subclass and each should return the same id. We thus will lookup the same name multiple + * times. + */ + static Map static_field_id = new LinkedHashMap<>(); + + /** + * Map from class name to its access_flags. Used to cache the results of the lookup done in {@link + * #getAccessFlags}. If a class is marked ACC_ANNOTATION then it will not have been instrumented. + */ + static Map accessFlags = new HashMap<>(); + + /** Integer constant of access_flag value of ACC_ANNOTATION. */ + static Integer Integer_ACC_ANNOTATION = Integer.valueOf(Const.ACC_ANNOTATION); + + /** + * Array of classes whose fields are not initialized from java. Since the fields are not + * initialized from java, their tag storage is not allocated as part of a store, but rather must + * be allocated as part of a load. We call a special runtime method for this so that we can check + * for this in other cases. + */ + protected static String[] uninit_classes = + new String[] { + "java.lang.String", + "java.lang.Class", + "java.lang.StringBuilder", + "java.lang.AbstractStringBuilder", + }; + + /** + * List of Object methods. Since we can't instrument Object, none of these can be instrumented, + * and most of them don't provide useful comparability information anyway. The equals method and + * the clone method are special-cased in the {@link #handleInvoke} routine. + */ + protected static MethodDef[] obj_methods = + new MethodDef[] { + new MethodDef("finalize", new Type[0]), + new MethodDef("getClass", new Type[0]), + new MethodDef("hashCode", new Type[0]), + new MethodDef("notify", new Type[0]), + new MethodDef("notifyall", new Type[0]), + new MethodDef("toString", new Type[0]), + new MethodDef("wait", new Type[0]), + new MethodDef("wait", new Type[] {Type.LONG}), + new MethodDef("wait", new Type[] {Type.LONG, Type.INT}), + }; + + protected static InstructionList global_catch_il; + protected static CodeExceptionGen global_exception_handler; + private InstructionHandle insertion_placeholder; + + /** Class that defines a method (by its name and argument types) */ + static class MethodDef { + String name; + Type[] arg_types; + + MethodDef(String name, Type[] arg_types) { + this.name = name; + this.arg_types = arg_types; + } + + @EnsuresNonNullIf(result = true, expression = "#1") + boolean equals(@GuardSatisfied MethodDef this, String name, Type[] arg_types) { + if (!name.equals(this.name)) { + return false; + } + if (this.arg_types.length != arg_types.length) { + return false; + } + for (int ii = 0; ii < arg_types.length; ii++) { + if (!arg_types[ii].equals(this.arg_types[ii])) { + return false; + } + } + return true; + } + + @EnsuresNonNullIf(result = true, expression = "#1") + @Pure + @Override + public boolean equals(@GuardSatisfied MethodDef this, @GuardSatisfied @Nullable Object obj) { + if (!(obj instanceof MethodDef)) { + return false; + } + MethodDef md = (MethodDef) obj; + return equals(md.name, md.arg_types); + } + + @Pure + @Override + public int hashCode(@GuardSatisfied MethodDef this) { + int code = name.hashCode(); + for (Type arg : arg_types) { + code += arg.hashCode(); + } + return code; + } + } + + /** Initialize with the original class and whether or not the class is part of the JDK. */ + @SuppressWarnings({ + "nullness:StaticAssignmentInConstructor", // instrumentation_interface + "nullness:initialization" + }) + public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk) { + this.classFile = classFile; + this.classModel = classModel; + this.in_jdk = in_jdk; + constructor_is_initialized = false; + if (Premain.jdk_instrumented) { + dcomp_prefix = "java.lang"; + } else { + dcomp_prefix = "daikon.dcomp"; + } + dcomp_marker = ClassDesc.of(dcomp_prefix + ".DCompMarker"); + if (BcelUtil.javaVersion == 8) { + dcomp_prefix = "daikon.dcomp"; + } + DCRuntime.instrumentation_interface = Signatures.addPackage(dcomp_prefix, "DCompInstrumented"); + + // System.out.printf("DCInstrument %s%n", orig_class.getClassName()); + // Turn on some of the logging based on debug option. + debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; + debug_native.enabled = DynComp.debug; + debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; + } + + /** + * Instruments the original class to perform dynamic comparabilty and returns the new class + * definition. + * + * @return the modified JavaClass + */ + public byte @Nullable [] instrument(ClassInfo classInfo) { + try { + return classFile.build( + classModel.thisClass().asSymbol(), + classBuilder -> instrumentClass(classBuilder, classModel, classInfo)); + } catch (Throwable t) { + System.err.printf("Unexpected error %s in transform of %s%n", t, classInfo.class_name); + t.printStackTrace(); + throw new RuntimeException("Unexpected error", t); + } + } + + /** + * Instrument the current class. + * + * @param classBuilder for the class + * @param classModel for the class + * @param loader the class loader for the class + */ + private void instrumentClass( + ClassBuilder classBuilder, ClassModel classModel, ClassInfo classInfo) { + + debugInstrument.log("Class Attributes:%n"); + for (java.lang.classfile.Attribute a : classModel.attributes()) { + debugInstrument.log(" %s%n", a); + } + + instrument_all_methods(classModel, classBuilder, classInfo); + } + + /** + * Instrument all the methods in a class. For each method, add instrumentation code at the entry + * and at each return from the method. In addition, changes each return statement to first place + * the value being returned into a local and then return. This allows us to work around the JDI + * deficiency of not being able to query return values. + * + * @param classModel for current class + * @param classBuilder for current class + */ + private void instrument_all_methods( + ClassModel classModel, ClassBuilder classBuilder, ClassInfo classInfo) { + + if (classModel.majorVersion() < ClassFile.JAVA_6_VERSION) { + System.out.printf( + "Chicory warning: ClassFile: %s - classfile version (%d) is out of date and may not be" + + " processed correctly.%n", + classInfo.class_name, classModel.majorVersion()); + } + + List method_infos = new ArrayList<>(); + + boolean shouldInclude = false; + + try { + // Loop through each method in the class + for (MethodModel mm : classModel.methods()) { + + // NOT SURE THIS APPLIES ANYMORE + // don't plan to use StackMapUtils + // The class data in StackMapUtils is not thread safe, + // allow only one method at a time to be instrumented. + // DynComp does this by creating a new instrumentation object + // for each class - probably a cleaner solution. + synchronized (this) { + MethodGen24 mgen = new MethodGen24(mm, binaryClassName, classBuilder); + + classBuilder.withMethod( + mm.methodName().stringValue(), + mm.methodTypeSymbol(), + mm.flags().flagsMask(), + methodBuilder -> outputMethod(methodBuilder, mm, mgen)); + continue; + } + } + } catch (Exception e) { + System.err.printf("Unexpected exception encountered: %s", e); + e.printStackTrace(); + } + + // copy all other ClassElements to output class (unchanged) + for (ClassElement ce : classModel) { + debugInstrument.log("ClassElement: %s%n", ce); + switch (ce) { + case MethodModel mm -> {} + // copy all other ClassElements to output class (unchanged) + default -> classBuilder.with(ce); + } + } + + // Add the class and method information to runtime so it is available + // as enter/exit ppts are processed. + // classInfo.set_method_infos(method_infos); + + if (shouldInclude) { + debug_transform.log("Added trace info to class %s%n", classInfo); + } else { // not included + debug_transform.log("Trace info not added to class %s%n", classInfo); + } + classInfo.shouldInclude = shouldInclude; + } + + /** + * Output current method with no changes. + * + * @param methodBuilder for the current method + * @param methodModel for the current method + * @param mgen MethodGen24 for the current method + */ + private void outputMethod( + MethodBuilder methodBuilder, MethodModel methodModel, MethodGen24 mgen) { + + for (MethodElement me : methodModel) { + debugInstrument.log("MethodElement: %s%n", me); + switch (me) { + case CodeModel codeModel -> + methodBuilder.withCode(codeBuilder -> outputCode(codeBuilder, mgen)); + + // copy all other MethodElements to output class (unchanged) + default -> methodBuilder.with(me); + } + } + } + + /** + * Output code for current method with no changes. + * + * @param codeBuilder for the current method's code + * @param mgen MethodGen24 for the current method + */ + private void outputCode(CodeBuilder codeBuilder, MethodGen24 mgen) { + + // Copy the modified instruction list to the output class. + for (CodeElement ce : mgen.getInstructionList()) { + debugInstrument.log("CodeElement: %s%n", ce); + codeBuilder.with(ce); + } + } + + /** + * Instrument the current method. + * + * @param methodBuilder for the current method + * @param methodModel for the current method + * @param mgen MethodGen24 for the current method + */ + private void instrumentMethod( + MethodBuilder methodBuilder, MethodModel methodModel, MethodGen24 mgen) { + + for (MethodElement me : methodModel) { + debugInstrument.log("MethodElement: %s%n", me); + switch (me) { + case CodeModel codeModel -> + methodBuilder.withCode(codeBuilder -> instrumentCode(codeBuilder, codeModel, mgen)); + + // copy all other MethodElements to output class (unchanged) + default -> methodBuilder.with(me); + } + } + } + + /** + * Generate instrumentation code for the current method. + * + * @param codeBuilder for the current method's code + * @param codeModel for the current method's code + * @param mgen MethodGen24 for the current method + */ + private void instrumentCode(CodeBuilder codeBuilder, CodeModel codeModel, MethodGen24 mgen) { + + // ititialize all the items associated with the local variables + nextLocalIndex = mgen.getMaxLocals(); + startLabel = codeBuilder.startLabel(); + endLabel = codeBuilder.endLabel(); + + nonceLocal = null; + returnLocal = null; + currentCodeBuilder = codeBuilder; + oldStartLabel = null; + labelMap.clear(); + + @SuppressWarnings("JdkObsolete") + List codeList = new LinkedList<>(); + + debugInstrument.log("Code Attributes:%n"); + for (java.lang.classfile.Attribute a : codeModel.attributes()) { + debugInstrument.log(" %s%n", a); + } + + /* + * The localsTable was initialized in the MethodGen24 constructor. + * Here we initialize the codeList. We also remove the local variable + * type records. Some instrumentation changes require these to be + * updated, but it should be safe to just delete them since the + * LocalVariableTypeTable is optional and really only of use to a debugger. + * We also save the CodeModel label at the start of the byte codes, + * if there is one. If there isn't, that is okay as it means the original + * code did not reference byte code offset 0 so inserting our instrumentation + * code at that point will not cause a problem. + */ + @SuppressWarnings("nullness:assignment") // can't have gotten here if CodeAttribute is null + @NonNull CodeAttribute ca = mgen.getCodeAttribute(); + for (CodeElement ce : mgen.getInstructionList()) { + debugInstrument.log("CodeElement: %s%n", ce); + switch (ce) { + case LocalVariable lv -> {} // we have alreay processed these + case LocalVariableType lvt -> {} // we can discard local variable types + case LabelTarget l -> { + if (ca.labelToBci(l.label()) == 0) oldStartLabel = l.label(); + codeList.add(ce); + } + default -> codeList.add(ce); // save all other elements + } + } + + // START modify codeList + + // Add nonce local to matchup enter/exits + // add_entry_instrumentation(codeList, mgen); + + // debugInstrument.log("Modified code: %s%n", mgen.getMethod().getCode()); + + assert curMethodInfo != null : "@AssumeAssertion(nullness): can't get here if null"; + // Iterator shouldIncIter = curMethodInfo.is_included.iterator(); + // Iterator exitIter = curMethodInfo.exit_locations.iterator(); + + // instrument return instructions + ListIterator li = codeList.listIterator(); + while (li.hasNext()) { + + CodeElement inst = li.next(); + + // // back up iterator to point to 'inst' + // li.previous(); + // + // // If this is a return instruction, insert method exit instrumentation + // List new_il = + // generate_return_instrumentation(inst, mgen, shouldIncIter, exitIter); + // + // // insert code prior to 'inst' + // for (CodeElement ce : new_il) { + // li.add(ce); + // } + + // skip over 'inst' we just inserted new_il in front of + li.next(); + } + + // END modify codeList + + // Copy the modified local variable table to the output class. + debugInstrument.log("LocalVariableTable:%n"); + for (LocalVariable lv : localsTable) { + codeBuilder.localVariable( + lv.slot(), lv.name().stringValue(), lv.typeSymbol(), lv.startScope(), lv.endScope()); + debugInstrument.log( + " %s : %s%n", lv, convertDescriptorToString(lv.typeSymbol().descriptorString())); + } + + // Copy the modified instruction list to the output class. + for (CodeElement ce : codeList) { + // If there is a new CodeBuilder label associated with this instruction, it needs to be + // defined. + Label l = labelMap.get(ce); + if (l != null) { + debugInstrument.log("Label: %s%n", l); + currentCodeBuilder.labelBinding(l); + // We've defined the label, remove it from the map + labelMap.remove(ce); + } + // If this instruction references a Label, we need to see if it is the oldStartLabel + // and, if so, replace the target with our new entryLabel + // ce = checkTargetLabel(ce); + debugInstrument.log("CodeElement: %s%n", ce); + codeBuilder.with(ce); + } + } + + public JavaClass old_instrument() { + + @BinaryName String classname = gen.getClassName(); + + // Don't know where I got this idea. They are executed. Don't remember why + // adding dcomp marker causes problems. + // Don't instrument annotations. They aren't executed and adding + // the marker argument causes subtle errors + if ((gen.getModifiers() & Const.ACC_ANNOTATION) != 0) { + debug_transform.log("Not instrumenting annotation %s%n", classname); + // WHY NOT RETURN NULL? + return gen.getJavaClass().copy(); + } + + // If a class has an EvoSuite annotation it may be instrumented by Evosuite; + // thus, we should not instrument it before Evosuite does. + // for (final Attribute attribute : orig_class.getAttributes()) { + // if (attribute instanceof RuntimeVisibleAnnotations) { + // for (final AnnotationEntry item : ((Annotations) attribute).getAnnotationEntries()) { + // if (item.toString().startsWith("@Lorg/evosuite/runtime")) { + // debug_transform.log("Not instrumenting possible Evosuite target: %s%n", + // classname); + // // WHY NOT RETURN NULL? + // return gen.getJavaClass().copy(); + // } + // } + // } + // } + + debug_transform.log("Instrumenting class %s%n", classname); + debug_transform.indent(); + + // Create the ClassInfo for this class and its list of methods + ClassInfo class_info = new ClassInfo(classname, loader); + boolean track_class = false; + + // Handle object methods for this class + handle_object(gen); + + // Have all top-level classes implement our interface + if (gen.getSuperclassName().equals("java.lang.Object")) { + // Add equals method if it doesn't already exist. This ensures + // that an instrumented version, equals(Object, DCompMarker), + // will be created in this class. + Method eq = gen.containsMethod("equals", "(Ljava/lang/Object;)Z"); + if (eq == null) { + debugInstrument.log("Added equals method%n"); + add_equals_method(gen); + } + + // Add DCompInstrumented interface and the required + // equals_dcomp_instrumented method. + add_dcomp_interface(gen); + } + + // A very tricky special case: If JUnit is running and the current + // class has been passed to JUnit on the command line, then this + // is a JUnit test class and our normal instrumentation will + // cause JUnit to complain about multiple constructors and + // methods that should have no arguments. To work around these + // restrictions, we replace rather than duplicate each method + // we instrument and we do not add the dcomp marker argument. + // We must also remember the class name so if we see a subsequent + // call to one of its methods we do not add the dcomp argument. + + debugInstrument.log("junit_state: %s%n", junit_state); + + StackTraceElement[] stack_trace; + + switch (junit_state) { + case NOT_SEEN: + if (classname.startsWith("org.junit")) { + junit_state = JUnitState.STARTING; + } + break; + + case STARTING: + // Now check to see if JUnit is looking for test class(es). + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + if (debugJUnitAnalysis) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + junit_parse_seen = true; + junit_state = JUnitState.TEST_DISCOVERY; + break; + } + } + break; + + case TEST_DISCOVERY: + // Now check to see if JUnit is done looking for test class(es). + boolean local_junit_parse_seen = false; + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + if (debugJUnitAnalysis) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + local_junit_parse_seen = true; + break; + } + } + if (junit_parse_seen && !local_junit_parse_seen) { + junit_parse_seen = false; + junit_state = JUnitState.RUNNING; + } else if (!junit_parse_seen && local_junit_parse_seen) { + junit_parse_seen = true; + } + break; + + case RUNNING: + if (debugJUnitAnalysis) { + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + } + // nothing to do + break; + + default: + throw new Error("invalid junit_state"); + } + + debugInstrument.log("junit_state: %s%n", junit_state); + + boolean junit_test_class = false; + if (junit_state == JUnitState.TEST_DISCOVERY) { + // We have a possible JUnit test class. We need to verify by + // one of two methods. Either the class is a subclass of + // junit.framework.TestCase or one of its methods has a + // RuntimeVisibleAnnotation of org/junit/Test. + Deque classnameStack = new ArrayDeque<>(); + String super_class; + String this_class = classname; + while (true) { + super_class = getSuperclassName(this_class); + if (super_class == null) { + // something has gone wrong + break; + } + if (debugJUnitAnalysis) { + System.out.printf("this_class: %s%n", this_class); + System.out.printf("super_class: %s%n", super_class); + } + if (super_class.equals("junit.framework.TestCase")) { + // This is a junit test class and so are the + // elements of classnameStack. + junit_test_class = true; + junitTestClasses.add(this_class); + while (!classnameStack.isEmpty()) { + junitTestClasses.add(classnameStack.pop()); + } + break; + } else if (super_class.equals("java.lang.Object")) { + // We're done; not a junit test class. + // Ignore items on classnameStack. + break; + } + // Recurse and check the super_class. + classnameStack.push(this_class); + this_class = super_class; + } + } + + // Even if we have not detected that JUnit is active, any class that + // contains a method with a RuntimeVisibleAnnotation of org/junit/Test + // needs to be marked as a JUnit test class. (Daikon issue #536) + + if (!junit_test_class) { + // need to check for junit Test annotation on a method + searchloop: + for (Method m : gen.getMethods()) { + for (final Attribute attribute : m.getAttributes()) { + if (attribute instanceof RuntimeVisibleAnnotations) { + if (debugJUnitAnalysis) { + System.out.printf("attribute: %s%n", attribute.toString()); + } + for (final AnnotationEntry item : ((Annotations) attribute).getAnnotationEntries()) { + if (debugJUnitAnalysis) { + System.out.printf("item: %s%n", item.toString()); + } + if (item.toString().endsWith("org/junit/Test;") // JUnit 4 + || item.toString().endsWith("org/junit/jupiter/api/Test;") // JUnit 5 + ) { + junit_test_class = true; + junitTestClasses.add(classname); + break searchloop; + } + } + } + } + } + } + + if (junit_test_class) { + debugInstrument.log("JUnit test class: %s%n", classname); + } else { + debugInstrument.log("Not a JUnit test class: %s%n", classname); + } + + // Process each method + for (Method m : gen.getMethods()) { + + tag_frame_local = null; + try { + // Note whether we want to track the daikon variables in this method + boolean track = should_track(classname, m.getName(), methodEntryName(classname, m)); + + // We do not want to track bridge methods the compiler has synthesized as + // they are overloaded on return type which normal Java does not support. + if ((m.getAccessFlags() & Const.ACC_BRIDGE) != 0) { + track = false; + } + + // If any one method is tracked, then the class is tracked. + if (track) { + track_class = true; + } + + // If we are tracking variables, make sure the class is public + if (track && !gen.isPublic()) { + gen.isPrivate(false); + gen.isProtected(false); + gen.isPublic(true); + } + + debug_transform.log(" Processing method %s, track=%b%n", simplify_method_name(m), track); + debug_transform.indent(); + + MethodGen mg = new MethodGen(m, classname, pool); + mgen = mg; // copy to global + + InstructionList il = mg.getInstructionList(); + boolean has_code = (il != null); + // if (has_code) { + // setCurrentStackMapTable(mg, gen.getMajor()); + // buildUninitializedNewMap(il); + // } + // + // fixLocalVariableTable(mg); + + // If the method is native + if (mg.isNative()) { + + // Create Java code that cleans up the tag stack and calls the real native method. + fix_native(gen, mg); + has_code = true; + // setCurrentStackMapTable(mg, gen.getMajor()); + + // Add the DCompMarker argument to distinguish our version + add_dcomp_arg(mg); + + } else { // normal method + + if (!junit_test_class) { + // Add the DCompMarker argument to distinguish our version + add_dcomp_arg(mg); + } + + // Create a MethodInfo that describes this method's arguments + // and exit line numbers (information not available via reflection) + // and add it to the list for this class. + MethodInfo mi = null; + if (track && has_code) { + mi = create_method_info(class_info, mg); + class_info.method_infos.add(mi); + DCRuntime.methods.add(mi); + } + + // Instrument the method + if (has_code) { + // Create the local to store the tag frame for this method + tag_frame_local = create_tag_frame_local(mg); + build_exception_handler(mg); + instrument_method(mg); + if (track) { + add_enter(mg, mi, DCRuntime.methods.size() - 1); + add_exit(mg, mi, DCRuntime.methods.size() - 1); + } + install_exception_handler(mg); + } + } + + if (has_code) { + // updateUninitializedNewOffsets(mg.getInstructionList()); + // createNewStackMapAttribute(mg); + mg.setMaxLocals(); + mg.setMaxStack(); + } else { + mg.removeCodeAttributes(); + mg.removeLocalVariables(); + } + + // remove_local_variable_type_table(mg); + + // We do not want to copy the @HotSpotIntrinsicCandidate annotations from + // the original method to our instrumented method as the signature will + // not match anything in the JVM's list. This won't cause an execution + // problem but will produce a massive number of warnings. + // JDK 11: @HotSpotIntrinsicCandidate + // JDK 17: @IntrinsicCandidate + AnnotationEntryGen[] aes = mg.getAnnotationEntries(); + for (AnnotationEntryGen item : aes) { + String type = item.getTypeName(); + if (type.endsWith("IntrinsicCandidate;")) { + mg.removeAnnotationEntry(item); + } + } + + // Can't duplicate 'main' or 'clinit' or a JUnit test. + boolean replacingMethod = BcelUtil.isMain(mg) || BcelUtil.isClinit(mg) || junit_test_class; + try { + if (has_code) { + il = mg.getInstructionList(); + InstructionHandle end = il.getEnd(); + int length = end.getPosition() + end.getInstruction().getLength(); + if (length >= Const.MAX_CODE_SIZE) { + throw new ClassGenException( + "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); + } + } + if (replacingMethod) { + gen.replaceMethod(m, mg.getMethod()); + if (BcelUtil.isMain(mg)) { + gen.addMethod(create_dcomp_stub(mg).getMethod()); + } + } else { + gen.addMethod(mg.getMethod()); + } + } catch (Exception e) { + String s = e.getMessage(); + if (s == null) { + throw e; + } + if (s.startsWith("Branch target offset too large") + || s.startsWith("Code array too big")) { + System.err.printf( + "DynComp warning: ClassFile: %s - method %s is too large to instrument and is" + + " being skipped.%n", + classname, mg.getName()); + // Build a dummy instrumented method that has DCompMarker + // argument and no instrumentation. + // first, restore unmodified method + mg = new MethodGen(m, classname, pool); + // restore StackMapTable + // setCurrentStackMapTable(mg, gen.getMajor()); + // Add the DCompMarker argument + add_dcomp_arg(mg); + // remove_local_variable_type_table(mg); + // try again + if (replacingMethod) { + gen.replaceMethod(m, mg.getMethod()); + if (BcelUtil.isMain(mg)) { + gen.addMethod(create_dcomp_stub(mg).getMethod()); + } + } else { + gen.addMethod(mg.getMethod()); + } + } else { + throw e; + } + } + debug_transform.exdent(); + } catch (Throwable t) { + // debug code + // t.printStackTrace(); + if (debugInstrument.enabled) { + t.printStackTrace(); + } + throw new Error("Unexpected error processing " + classname + "." + m.getName(), t); + } + } + + // Add tag accessor methods for each primitive in the class + create_tag_accessors(gen); + + // Keep track of when the class is initialized (so we don't look + // for fields in uninitialized classes) + track_class_init(); + debug_transform.exdent(); + + debug_transform.log("Instrumentation complete: %s%n", classname); + + return gen.getJavaClass().copy(); + } + + /** + * Returns true if the specified classname.method_name is the root of JUnit startup code. + * + * @param classname class to be checked + * @param method_name method to be checked + * @return true if the given method is a JUnit trigger + */ + boolean isJunitTrigger(String classname, String method_name) { + if ((classname.contains("JUnitCommandLineParseResult") + && method_name.equals("parse")) // JUnit 4 + || (classname.contains("EngineDiscoveryRequestResolution") + && method_name.equals("resolve")) // JUnit 5 + ) { + return true; + } + return false; + } + + // General Java Runtime instrumentation strategy: + // + //

It is a bit of a misnomer, but the Daikon code and documentation uses the term JDK to refer + // to the Java Runtime Environment class libraries. In Java 8 and earlier, they were usually found + // in {@code /jre/lib/rt.jar}. For these versions of Java, we + // pre-instrumented the entire rt.jar. + // + //

In Java 9 and later, the Java Runtime classes have been divided into modules that are + // usually found in: {@code /jmods/*.jmod}. + // + //

With the conversion to modules for Java 9 and beyond, we have elected to pre-instrument only + // java.base.jmod and instrument all other Java Runtime (aka JDK) classes dynamically as they are + // loaded. + // + //

Post Java 8 there are increased security checks when loading JDK classes. In particular, the + // core classes contained in the java.base module may not reference anything outside of java.base. + // This means we cannot pre-instrument classes in the same manner as was done for Java 8 as this + // would introduce external references to the DynComp runtime (DCRuntime.java). + // + //

However, we can get around this restriction in the following manner: We create a shadow + // DynComp runtime called java.lang.DCRuntime that contains all the public methods of + // daikon.dcomp.DCRuntime, but with method bodies that contain only a return statement. We + // pre-instrument java.base the same as we would for JDK 8, but change all references to + // daikon.dcomp.DCRuntime to refer to java.lang.DCRuntime instead, and thus pass the security load + // test. During DynComp initialization (in Premain) we use java.lang.instrument.redefineClasses to + // replace the dummy java.lang.DCRuntime with a version where each method calls the corresponding + // method in daikon.dcomp.DCRuntime. The Java runtime does not enforce the security check in this + // case. + + /** + * Instruments a JDK class to perform dynamic comparability and returns the new class definition. + * A second version of each method in the class is created which is instrumented for + * comparability. + * + * @return the modified JavaClass + */ + public JavaClass instrument_jdk() { + + String classname = gen.getClassName(); + + // Don't instrument annotations. They aren't executed and adding + // the marker argument causes subtle errors + if ((gen.getModifiers() & Const.ACC_ANNOTATION) != 0) { + debug_transform.log("Not instrumenting annotation %s%n", classname); + // MUST NOT RETURN NULL + return gen.getJavaClass().copy(); + } + + int i = classname.lastIndexOf('.'); + if (i > 0) { + // Don't instrument problem packages. + // See Premain.java for a list and explainations. + String packageName = classname.substring(0, i); + if (Premain.problem_packages.contains(packageName)) { + debug_transform.log("Skipping problem package %s%n", packageName); + return gen.getJavaClass().copy(); + } + } + + if (BcelUtil.javaVersion > 8) { + // Don't instrument problem classes. + // See Premain.java for a list and explainations. + if (Premain.problem_classes.contains(classname)) { + debug_transform.log("Skipping problem class %s%n", classname); + return gen.getJavaClass().copy(); + } + dcompRuntimeClassName = "java.lang.DCRuntime"; + } + + debug_transform.log("Instrumenting class(JDK) %s%n", classname); + debug_transform.indent(); + + // Handle object methods for this class + handle_object(gen); + + // Have all top-level classes implement our interface + if (gen.getSuperclassName().equals("java.lang.Object")) { + // Add equals method if it doesn't already exist. This ensures + // that an instrumented version, equals(Object, DCompMarker), + // will be created in this class. + Method eq = gen.containsMethod("equals", "(Ljava/lang/Object;)Z"); + if (eq == null) { + debugInstrument.log("Added equals method%n"); + add_equals_method(gen); + } + // Add DCompInstrumented interface and the required + // equals_dcomp_instrumented method. + add_dcomp_interface(gen); + } + + // Process each method + for (Method m : gen.getMethods()) { + + tag_frame_local = null; + try { + // Don't modify class initialization methods. They can't affect + // user comparability and there isn't any way to get a second + // copy of them. + if (BcelUtil.isClinit(m)) { + continue; + } + + debug_transform.log(" Processing method %s%n", simplify_method_name(m)); + debug_transform.indent(); + + MethodGen mg = new MethodGen(m, classname, pool); + mgen = mg; // copy to global + + InstructionList il = mg.getInstructionList(); + boolean has_code = (il != null); + // if (has_code) { + // setCurrentStackMapTable(mg, gen.getMajor()); + // buildUninitializedNewMap(il); + // } + // + // fixLocalVariableTable(mg); + + // If the method is native + if (mg.isNative()) { + + // Create Java code that cleans up the tag stack and calls the real native method. + fix_native(gen, mg); + has_code = true; + // setCurrentStackMapTable(mg, gen.getMajor()); + + // Add the DCompMarker argument to distinguish our version + add_dcomp_arg(mg); + + } else { // normal method + + // Add the DCompMarker argument to distinguish our version + add_dcomp_arg(mg); + + // Instrument the method + if (has_code) { + // Create the local to store the tag frame for this method + tag_frame_local = create_tag_frame_local(mg); + build_exception_handler(mg); + instrument_method(mg); + install_exception_handler(mg); + } + } + + if (has_code) { + // updateUninitializedNewOffsets(mg.getInstructionList()); + // createNewStackMapAttribute(mg); + mg.setMaxLocals(); + mg.setMaxStack(); + } else { + mg.removeCodeAttributes(); + mg.removeLocalVariables(); + } + + // remove_local_variable_type_table(mg); + + // We do not want to copy the @HotSpotIntrinsicCandidate annotations from + // the original method to our instrumented method as the signature will + // not match anything in the JVM's list. This won't cause an execution + // problem but will produce a massive number of warnings. + // JDK 11: @HotSpotIntrinsicCandidate + // JDK 17: @IntrinsicCandidate + AnnotationEntryGen[] aes = mg.getAnnotationEntries(); + for (AnnotationEntryGen item : aes) { + String type = item.getTypeName(); + if (type.endsWith("IntrinsicCandidate;")) { + mg.removeAnnotationEntry(item); + } + } + + try { + if (has_code) { + il = mg.getInstructionList(); + InstructionHandle end = il.getEnd(); + int length = end.getPosition() + end.getInstruction().getLength(); + if (length >= Const.MAX_CODE_SIZE) { + throw new ClassGenException( + "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); + } + } + gen.addMethod(mg.getMethod()); + } catch (Exception e) { + String s = e.getMessage(); + if (s == null) { + throw e; + } + if (s.startsWith("Branch target offset too large") + || s.startsWith("Code array too big")) { + System.err.printf( + "DynComp warning: ClassFile: %s - method %s is too large to instrument and is" + + " being skipped.%n", + classname, mg.getName()); + // Build a dummy instrumented method that has DCompMarker + // argument and no instrumentation. + // first, restore unmodified method + mg = new MethodGen(m, classname, pool); + // restore StackMapTable + // setCurrentStackMapTable(mg, gen.getMajor()); + // Add the DCompMarker argument + add_dcomp_arg(mg); + // remove_local_variable_type_table(mg); + // try again + gen.addMethod(mg.getMethod()); + } else { + throw e; + } + } + + debug_transform.exdent(); + } catch (Throwable t) { + if (debugInstrument.enabled) { + t.printStackTrace(); + } + skip_method(mgen); + if (quit_if_error) { + throw new Error("Unexpected error processing " + classname + "." + m.getName(), t); + } else { + System.err.printf("Unexpected error processing %s.%s: %s%n", classname, m.getName(), t); + System.err.printf("Method is NOT instrumented.%n"); + } + } + } + + // Add tag accessor methods for each primitive in the class + create_tag_accessors(gen); + + // We don't need to track class initialization in the JDK because + // that is only used when printing comparability which is only done + // for client classes + // track_class_init(); + + debug_transform.exdent(); + debug_transform.log("Instrumentation complete: %s%n", classname); + + return gen.getJavaClass().copy(); + } + + /** + * Instrument the specified method for dynamic comparability. + * + * @param mg MethodGen for the method to be instrumented + */ + public void instrument_method(MethodGen mg) { + + // Because the tag_frame_local is active for the entire method + // and its creation will change the state of the locals layout, + // we need to insert the code to initialize it now so that the + // stack anaylsis we are about to do is correct for potential + // code replacements we might make later. + InstructionHandle orig_start = mg.getInstructionList().getStart(); + add_create_tag_frame(mg); + // Calculate the operand stack value(s) for revised code. + mg.setMaxStack(); + // Calculate stack types information + // StackTypes stack_types = bcelCalcStackTypes(mg); + // if (stack_types == null) { + // skip_method(mg); + // return; + // } + + InstructionList il = mg.getInstructionList(); + OperandStack stack = null; + + // Prior to adding support for Stack Maps, the position field + // of each InstructionHandle was not updated until the modified + // method was written out. Hence, it could be used as the + // index into stack_types. To support StackMaps we need to + // update the position field as we modify the code bytes. So + // we need a mapping from InstructionHandle to orignal offset. + // I beleive we always visit the InstructionHandle nodes of + // the method's InstructionList in order - hence, we will use + // a simple array for now. If this turns out to not be the + // case we will need to use a hash map. + + int[] handle_offsets = new int[il.getLength()]; + InstructionHandle ih = orig_start; + int index = 0; + // Loop through each instruction, building up offset map. + while (ih != null) { + handle_offsets[index++] = ih.getPosition(); + + if (debugInstrument.enabled) { + debugInstrument.log("inst: %s %n", ih); + for (InstructionTargeter it : ih.getTargeters()) { + debugInstrument.log("targeter: %s %n", it); + } + } + + ih = ih.getNext(); + } + + index = 0; + // Loop through each instruction, making substitutions + for (ih = orig_start; ih != null; ) { + debugInstrument.log("instrumenting instruction %s%n", ih); + InstructionList new_il = null; + + // Remember the next instruction to process + InstructionHandle next_ih = ih.getNext(); + + // Get the stack information + // stack = stack_types.get(handle_offsets[index++]); + + // Get the translation for this instruction (if any) + new_il = xform_inst(mg, ih, stack); + + // If this instruction was modified, replace it with the new + // instruction list. If this instruction was the target of any + // jumps or line numbers, replace them with the first + // instruction in the new list. + // replaceInstructions(mg, il, ih, new_il); + + // If the modified method is now too large, we quit instrumenting the method + // and will rediscover the problem in the main instrumentation loop above + // and deal with it there. + if (ih.getPosition() >= Const.MAX_CODE_SIZE) { + break; + } + + ih = next_ih; + } + } + + /** + * Adds the method name and containing class name to {@code skip_methods}, the list of + * uninstrumented methods. + * + * @param mg method to add to skipped_methods list + */ + void skip_method(MethodGen mg) { + skipped_methods.add(mg.getClassName() + "." + mg.getName()); + } + + /** + * Returns the list of uninstrumented methods. (Note: instrument_jdk() needs to have been called + * first.) + */ + public List get_skipped_methods() { + return new ArrayList(skipped_methods); + } + + /** + * Adds a try/catch block around the entire method. If an exception occurs, the tag stack is + * cleaned up and the exception is rethrown. + */ + public void build_exception_handler(MethodGen mg) { + + if (mg.getName().equals("main")) { + global_catch_il = null; + global_exception_handler = null; + return; + } + + InstructionList il = new InstructionList(); + il.append(new DUP()); + il.append( + ifact.createInvoke( + dcompRuntimeClassName, "exception_exit", Type.VOID, object_arg, Const.INVOKESTATIC)); + il.append(new ATHROW()); + + add_exception_handler(mg, il); + } + + /** Adds a try/catch block around the entire method. */ + public void add_exception_handler(MethodGen mg, InstructionList catch_il) { + + // methods (constructors) turn out to be problematic + // for adding a whole method exception handler. The start of + // the exception handler should be after the primary object is + // initialized - but this is hard to determine without a full + // analysis of the code. Hence, we just skip these methods. + if (!mg.isStatic()) { + if (BcelUtil.isConstructor(mg)) { + global_catch_il = null; + global_exception_handler = null; + return; + } + } + + InstructionList cur_il = mg.getInstructionList(); + InstructionHandle start = cur_il.getStart(); + InstructionHandle end = cur_il.getEnd(); + + // This is just a temporary handler to get the start and end + // address tracked as we make code modifications. + global_catch_il = catch_il; + // global_exception_handler = new CodeExceptionGen(start, end, null, throwable); + } + + /** Adds a try/catch block around the entire method. */ + public void install_exception_handler(MethodGen mg) { + + if (global_catch_il == null) { + return; + } + + InstructionList cur_il = mg.getInstructionList(); + InstructionHandle start = global_exception_handler.getStartPC(); + InstructionHandle end = global_exception_handler.getEndPC(); + InstructionHandle exc = cur_il.append(global_catch_il); + cur_il.setPositions(); + // mg.addExceptionHandler(start, end, exc, throwable); + // discard temporary handler + global_catch_il = null; + global_exception_handler = null; + + // if (!needStackMap) { + // return; + // } + + int exc_offset = exc.getPosition(); + + debugInstrument.log( + "New ExceptionHandler: %x %x %x %n", start.getPosition(), end.getPosition(), exc_offset); + + // This is a trick to get runningOffset set to + // value of last stack map entry. + // updateStackMapOffset(exc_offset, 0); + // int map_offset = exc_offset - runningOffset - 1; + + // Get the argument types for this method + Type[] arg_types = mg.getArgumentTypes(); + + int arg_index = (mg.isStatic() ? 0 : 1); + StackMapType[] arg_map_types = new StackMapType[arg_types.length + arg_index]; + if (!mg.isStatic()) { + arg_map_types[0] = + new StackMapType( + Const.ITEM_Object, pool.addClass(mg.getClassName()), pool.getConstantPool()); + } + // for (int ii = 0; ii < arg_types.length; ii++) { + // arg_map_types[arg_index++] = generateStackMapTypeFromType(arg_types[ii]); + // } + // + // StackMapEntry map_entry; + // StackMapType stack_map_type = + // new StackMapType( + // Const.ITEM_Object, pool.addClass(throwable.getClassName()), + // pool.getConstantPool()); + // StackMapType[] stack_map_types = {stack_map_type}; + // map_entry = + // new StackMapEntry( + // Const.FULL_FRAME, map_offset, arg_map_types, stack_map_types, + // pool.getConstantPool()); + // + // int orig_size = stackMapTable.length; + // StackMapEntry[] new_stack_map_table = new StackMapEntry[orig_size + 1]; + // System.arraycopy(stackMapTable, 0, new_stack_map_table, 0, orig_size); + // new_stack_map_table[orig_size] = map_entry; + // stackMapTable = new_stack_map_table; + } + + /** + * Adds the code to create the tag frame to the beginning of the method. This needs to be before + * the call to DCRuntime.enter (since it passed to that method). + */ + public void add_create_tag_frame(MethodGen mg) { + + InstructionList nl = create_tag_frame(mg, tag_frame_local); + + // We add a temporary NOP at the end of the create_tag_frame + // code that we will replace with runtime initization code + // later. We do this so that any existing stack map at + // instruction offset 0 is not replaced by the one we are + // about to add for initializing the tag_frame variable. + insertion_placeholder = nl.append(new NOP()); + + byte[] code = nl.getByteCode(); + // -1 because of the NOP we inserted. + int len_code = code.length - 1; + + // insertAtMethodStart(mg, nl); + // + // if (!needStackMap) { + // return; + // } + + // For Java 7 and beyond the StackMapTable is part of the + // verification process. We need to create and or update it to + // account for instrumentation code we have inserted as well as + // adjustments for the new 'tag_frame' local. + + // Get existing StackMapTable (if present) + // if (stackMapTable.length > 0) { + // // Each stack map frame specifies (explicity or implicitly) an + // // offset_delta that is used to calculate the actual bytecode + // // offset at which the frame applies. This is caluclated by + // // by adding offset_delta + 1 to the bytecode offset of the + // // previous frame, unless the previous frame is the initial + // // frame of the method, in which case the bytecode offset is + // // offset_delta. (From the Java Virual Machine Specification, + // // Java SE 7 Edition, section 4.7.4) + // + // // Since we are inserting a new stack map frame at the + // // beginning of the stack map table, we need to adjust the + // // offset_delta of the original first stack map frame due to + // // the fact that it will no longer be the first entry. We + // // must subtract (len_code + 1). + // // (We don't have to worry about the special case of the + // // original first entry having an offset of 0 because of the + // // NOP we inserted above. + // + // stackMapTable[0].updateByteCodeOffset(-(len_code + 1)); + // } + // + // int new_table_length = stackMapTable.length + 1; + // StackMapEntry[] new_stack_map_table = new StackMapEntry[new_table_length]; + // + // // Insert a new StackMapEntry at the beginning of the table + // // that adds the tag_frame variable. + // StackMapType tag_frame_type = generateStackMapTypeFromType(object_arr); + // StackMapType[] stack_map_type_arr = {tag_frame_type}; + // new_stack_map_table[0] = + // new StackMapEntry( + // Const.APPEND_FRAME, len_code, stack_map_type_arr, null, pool.getConstantPool()); + // + // // We can just copy the rest of the stack frames over as the FULL_FRAME + // // ones were already updated when the tag_frame variable was allocated. + // for (int i = 0; i < stackMapTable.length; i++) { + // new_stack_map_table[i + 1] = stackMapTable[i]; + // } + // stackMapTable = new_stack_map_table; + // // print_stackMapTable ("add_create_tag_frame"); + } + + /** + * Adds the call to DCRuntime.enter to the beginning of the method. + * + * @param mg method to modify + * @param mi MethodInfo for method + * @param method_info_index index for MethodInfo + */ + public void add_enter(MethodGen mg, MethodInfo mi, int method_info_index) { + InstructionList il = mg.getInstructionList(); + // replaceInstructions( + // mg, il, insertion_placeholder, call_enter_exit(mg, method_info_index, "enter", -1)); + } + + /** + * Creates the local used to store the tag frame and returns it. + * + * @param mg method to modify + * @return LocalVariableGen for the tag_frame local + */ + LocalVariableGen create_tag_frame_local(MethodGen mg) { + // return create_method_scope_local(mg, "dcomp_tag_frame$5a", object_arr); + return null; + } + + /** + * Creates code to create the tag frame for this method and store it in tag_frame_local. + * + * @param mg method to modify + * @param tag_frame_local LocalVariableGen for the tag_frame local + * @return InstructionList for tag_frame setup code + */ + InstructionList create_tag_frame(MethodGen mg, LocalVariableGen tag_frame_local) { + + Type arg_types[] = mg.getArgumentTypes(); + + // Determine the offset of the first argument in the frame + int offset = 1; + if (mg.isStatic()) { + offset = 0; + } + + // allocate an extra slot to save the tag frame depth for debugging + int frame_size = mg.getMaxLocals() + 1; + + // unsigned byte max = 255. minus the character '0' (decimal 48) + // Largest frame size noted so far is 123. + assert frame_size < 207 : frame_size + " " + mg.getClassName() + "." + mg.getName(); + String params = "" + (char) (frame_size + '0'); + // Character.forDigit (frame_size, Character.MAX_RADIX); + List plist = new ArrayList<>(); + for (Type argType : arg_types) { + if (argType instanceof BasicType) { + plist.add(offset); + } + offset += argType.getSize(); + } + for (int ii = plist.size() - 1; ii >= 0; ii--) { + char tmpChar = (char) (plist.get(ii) + '0'); + params += tmpChar; + // Character.forDigit (plist.get(ii), Character.MAX_RADIX); + } + + // Create code to create/init the tag frame and store in tag_frame_local + InstructionList il = new InstructionList(); + il.append(ifact.createConstant(params)); + il.append( + ifact.createInvoke( + dcompRuntimeClassName, "create_tag_frame", object_arr, string_arg, Const.INVOKESTATIC)); + il.append(InstructionFactory.createStore(object_arr, tag_frame_local.getIndex())); + debugInstrument.log("Store Tag frame local at index %d%n", tag_frame_local.getIndex()); + + return il; + } + + /** + * Pushes the object, method info index, parameters, and return value on the stack and calls the + * specified Method (normally enter or exit) in DCRuntime. The parameters are passed as an array + * of objects. + * + * @param mg method to modify + * @param method_info_index index for MethodInfo + * @param method_name "enter" or "exit" + * @param line source line number if type is exit + * @return InstructionList for the enter or exit code + */ + InstructionList call_enter_exit( + MethodGen mg, int method_info_index, String method_name, int line) { + + InstructionList il = new InstructionList(); + Type[] arg_types = mg.getArgumentTypes(); + + // Push the tag frame + il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); + + // Push the object. Null if this is a static method or a constructor + if (mg.isStatic() || (method_name.equals("enter") && BcelUtil.isConstructor(mg))) { + il.append(new ACONST_NULL()); + } else { // must be an instance method + il.append(InstructionFactory.createLoad(Type.OBJECT, 0)); + } + + // Determine the offset of the first parameter + int param_offset = 1; + if (mg.isStatic()) { + param_offset = 0; + } + + // Push the MethodInfo index + il.append(ifact.createConstant(method_info_index)); + + // Create an array of objects with elements for each parameter + il.append(ifact.createConstant(arg_types.length)); + il.append(ifact.createNewArray(Type.OBJECT, (short) 1)); + + // Put each argument into the array + int param_index = param_offset; + for (int ii = 0; ii < arg_types.length; ii++) { + il.append(InstructionFactory.createDup(object_arr.getSize())); + il.append(ifact.createConstant(ii)); + Type at = arg_types[ii]; + if (at instanceof BasicType) { + il.append(new ACONST_NULL()); + // il.append (create_wrapper (c, at, param_index)); + } else { // must be reference of some sort + il.append(InstructionFactory.createLoad(Type.OBJECT, param_index)); + } + il.append(InstructionFactory.createArrayStore(Type.OBJECT)); + param_index += at.getSize(); + } + + // If this is an exit, push the return value and line number. + // The return value + // is stored in the local "return__$trace2_val" If the return + // value is a primitive, wrap it in the appropriate run-time wrapper + if (method_name.equals("exit")) { + Type returnType = mg.getReturnType(); + if (returnType == Type.VOID) { + il.append(new ACONST_NULL()); + } else { + LocalVariableGen return_local = get_return_local(mg, returnType); + if (returnType instanceof BasicType) { + il.append(new ACONST_NULL()); + // il.append (create_wrapper (c, returnType, return_local.getIndex())); + } else { + il.append(InstructionFactory.createLoad(Type.OBJECT, return_local.getIndex())); + } + } + + // push line number + il.append(ifact.createConstant(line)); + } + + // Call the specified method + Type[] method_args; + if (method_name.equals("exit")) { + method_args = + new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr, Type.OBJECT, Type.INT}; + } else { + method_args = new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr}; + } + il.append( + ifact.createInvoke( + dcompRuntimeClassName, method_name, Type.VOID, method_args, Const.INVOKESTATIC)); + + return il; + } + + /** + * Transforms instructions to track comparability. Returns a list of instructions that replaces + * the specified instruction. Returns null if the instruction should not be replaced. + * + * @param mg method being instrumented + * @param ih handle of Instruction to translate + * @param stack current contents of the stack + */ + @Nullable InstructionList xform_inst(MethodGen mg, InstructionHandle ih, OperandStack stack) { + + Instruction inst = ih.getInstruction(); + + switch (inst.getOpcode()) { + + // Replace the object comparison instructions with a call to + // DCRuntime.object_eq or DCRuntime.object_ne. Those methods + // return a boolean which is used in a ifeq/ifne instruction + case Const.IF_ACMPEQ: + return object_comparison((BranchInstruction) inst, "object_eq", Const.IFNE); + case Const.IF_ACMPNE: + return object_comparison((BranchInstruction) inst, "object_ne", Const.IFNE); + + // These instructions compare the integer on the top of the stack + // to zero. Nothing is made comparable by this, so we need only + // discard the tag on the top of the stack. + case Const.IFEQ: + case Const.IFNE: + case Const.IFLT: + case Const.IFGE: + case Const.IFGT: + case Const.IFLE: + { + return discard_tag_code(inst, 1); + } + + // Instanceof pushes either 0 or 1 on the stack depending on whether + // the object on top of stack is of the specified type. We push a + // tag for a constant, since nothing is made comparable by this. + case Const.INSTANCEOF: + // return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); + + // Duplicates the item on the top of stack. If the value on the + // top of the stack is a primitive, we need to do the same on the + // tag stack. Otherwise, we need do nothing. + case Const.DUP: + { + return dup_tag(inst, stack); + } + + // Duplicates the item on the top of the stack and inserts it 2 + // values down in the stack. If the value at the top of the stack + // is not a primitive, there is nothing to do here. If the second + // value is not a primitive, then we need only to insert the duped + // value down 1 on the tag stack (which contains only primitives) + case Const.DUP_X1: + { + return dup_x1_tag(inst, stack); + } + + // Duplicates either the top 2 category 1 values or a single + // category 2 value and inserts it 2 or 3 values down on the + // stack. + case Const.DUP2_X1: + { + return dup2_x1_tag(inst, stack); + } + + // Duplicate either one category 2 value or two category 1 values. + case Const.DUP2: + { + return dup2_tag(inst, stack); + } + + // Dup the category 1 value on the top of the stack and insert it either + // two or three values down on the stack. + case Const.DUP_X2: + { + return dup_x2(inst, stack); + } + + case Const.DUP2_X2: + { + return dup2_x2(inst, stack); + } + + // Pop instructions discard the top of the stack. We want to discard + // the top of the tag stack iff the item on the top of the stack is a + // primitive. + case Const.POP: + { + return pop_tag(inst, stack); + } + + // Pops either the top 2 category 1 values or a single category 2 value + // from the top of the stack. We must do the same to the tag stack + // if the values are primitives. + case Const.POP2: + { + return pop2_tag(inst, stack); + } + + // Swaps the two category 1 types on the top of the stack. We need + // to swap the top of the tag stack if the two top elements on the + // real stack are primitives. + case Const.SWAP: + { + return swap_tag(inst, stack); + } + + case Const.IF_ICMPEQ: + case Const.IF_ICMPGE: + case Const.IF_ICMPGT: + case Const.IF_ICMPLE: + case Const.IF_ICMPLT: + case Const.IF_ICMPNE: + { + // return build_il(dcr_call("cmp_op", Type.VOID, Type.NO_ARGS), inst); + } + + case Const.GETFIELD: + { + return load_store_field(mg, (GETFIELD) inst); + } + + case Const.PUTFIELD: + { + return load_store_field(mg, (PUTFIELD) inst); + } + + case Const.GETSTATIC: + { + return load_store_field(mg, ((GETSTATIC) inst)); + } + + case Const.PUTSTATIC: + { + return load_store_field(mg, ((PUTSTATIC) inst)); + } + + case Const.DLOAD: + case Const.DLOAD_0: + case Const.DLOAD_1: + case Const.DLOAD_2: + case Const.DLOAD_3: + case Const.FLOAD: + case Const.FLOAD_0: + case Const.FLOAD_1: + case Const.FLOAD_2: + case Const.FLOAD_3: + case Const.ILOAD: + case Const.ILOAD_0: + case Const.ILOAD_1: + case Const.ILOAD_2: + case Const.ILOAD_3: + case Const.LLOAD: + case Const.LLOAD_0: + case Const.LLOAD_1: + case Const.LLOAD_2: + case Const.LLOAD_3: + { + return load_store_local((LoadInstruction) inst, tag_frame_local, "push_local_tag"); + } + + case Const.DSTORE: + case Const.DSTORE_0: + case Const.DSTORE_1: + case Const.DSTORE_2: + case Const.DSTORE_3: + case Const.FSTORE: + case Const.FSTORE_0: + case Const.FSTORE_1: + case Const.FSTORE_2: + case Const.FSTORE_3: + case Const.ISTORE: + case Const.ISTORE_0: + case Const.ISTORE_1: + case Const.ISTORE_2: + case Const.ISTORE_3: + case Const.LSTORE: + case Const.LSTORE_0: + case Const.LSTORE_1: + case Const.LSTORE_2: + case Const.LSTORE_3: + { + return load_store_local((StoreInstruction) inst, tag_frame_local, "pop_local_tag"); + } + + case Const.LDC: + case Const.LDC_W: + case Const.LDC2_W: + { + return ldc_tag(inst, stack); + } + + // Push the tag for the array onto the tag stack. This causes + // anything comparable to the length to be comparable to the array + // as an index. + case Const.ARRAYLENGTH: + { + return array_length(inst); + } + + case Const.BIPUSH: + case Const.SIPUSH: + case Const.DCONST_0: + case Const.DCONST_1: + case Const.FCONST_0: + case Const.FCONST_1: + case Const.FCONST_2: + case Const.ICONST_0: + case Const.ICONST_1: + case Const.ICONST_2: + case Const.ICONST_3: + case Const.ICONST_4: + case Const.ICONST_5: + case Const.ICONST_M1: + case Const.LCONST_0: + case Const.LCONST_1: + { + // return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); + } + + // Primitive Binary operators. Each is augmented with a call to + // DCRuntime.binary_tag_op that merges the tags and updates the tag + // Stack. + case Const.DADD: + case Const.DCMPG: + case Const.DCMPL: + case Const.DDIV: + case Const.DMUL: + case Const.DREM: + case Const.DSUB: + case Const.FADD: + case Const.FCMPG: + case Const.FCMPL: + case Const.FDIV: + case Const.FMUL: + case Const.FREM: + case Const.FSUB: + case Const.IADD: + case Const.IAND: + case Const.IDIV: + case Const.IMUL: + case Const.IOR: + case Const.IREM: + case Const.ISHL: + case Const.ISHR: + case Const.ISUB: + case Const.IUSHR: + case Const.IXOR: + case Const.LADD: + case Const.LAND: + case Const.LCMP: + case Const.LDIV: + case Const.LMUL: + case Const.LOR: + case Const.LREM: + case Const.LSHL: + case Const.LSHR: + case Const.LSUB: + case Const.LUSHR: + case Const.LXOR: + // return build_il(dcr_call("binary_tag_op", Type.VOID, Type.NO_ARGS), inst); + + // Computed jump based on the int on the top of stack. Since that int + // is not made comparable to anything, we just discard its tag. One + // might argue that the key should be made comparable to each value in + // the jump table. But the tags for those values are not available. + // And since they are all constants, its not clear how interesting it + // would be anyway. + case Const.LOOKUPSWITCH: + case Const.TABLESWITCH: + return discard_tag_code(inst, 1); + + // Make the integer argument to ANEWARRAY comparable to the new + // array's index. + case Const.ANEWARRAY: + case Const.NEWARRAY: + { + return new_array(inst); + } + + // If the new array has 2 dimensions, make the integer arguments + // comparable to the corresponding indices of the new array. + // For any other number of dimensions, discard the tags for the + // arguments. + case Const.MULTIANEWARRAY: + { + return multi_newarray_dc(inst); + } + + // Mark the array and its index as comparable. Also for primitives, + // push the tag of the array element on the tag stack + case Const.AALOAD: + case Const.BALOAD: + case Const.CALOAD: + case Const.DALOAD: + case Const.FALOAD: + case Const.IALOAD: + case Const.LALOAD: + case Const.SALOAD: + { + return array_load(inst); + } + + // Mark the array and its index as comparable. For primitives, store + // the tag for the value on the top of the stack in the tag storage + // for the array. + case Const.AASTORE: + return array_store(inst, "aastore", Type.OBJECT); + case Const.BASTORE: + // The JVM uses bastore for both byte and boolean. + // We need to differentiate. + Type arr_type = stack.peek(2); + if (arr_type.getSignature().equals("[Z")) { + return array_store(inst, "zastore", Type.BOOLEAN); + } else { + return array_store(inst, "bastore", Type.BYTE); + } + case Const.CASTORE: + return array_store(inst, "castore", Type.CHAR); + case Const.DASTORE: + return array_store(inst, "dastore", Type.DOUBLE); + case Const.FASTORE: + return array_store(inst, "fastore", Type.FLOAT); + case Const.IASTORE: + return array_store(inst, "iastore", Type.INT); + case Const.LASTORE: + return array_store(inst, "lastore", Type.LONG); + case Const.SASTORE: + return array_store(inst, "sastore", Type.SHORT); + + // Prefix the return with a call to the correct normal_exit method + // to handle the tag stack + case Const.ARETURN: + case Const.DRETURN: + case Const.FRETURN: + case Const.IRETURN: + case Const.LRETURN: + case Const.RETURN: + { + return return_tag(mg, inst); + } + + // Handle subroutine calls. Calls to instrumented code are modified + // to call the instrumented version (with the DCompMarker argument). + // Calls to uninstrumented code (rare) discard primitive arguments + // from the tag stack and produce an arbitrary return tag. + case Const.INVOKESTATIC: + case Const.INVOKEVIRTUAL: + case Const.INVOKESPECIAL: + case Const.INVOKEINTERFACE: + case Const.INVOKEDYNAMIC: + return handleInvoke((InvokeInstruction) inst); + + // Throws an exception. This clears the operand stack of the current + // frame. We need to clear the tag stack as well. + case Const.ATHROW: + // return build_il(dcr_call("throw_op", Type.VOID, Type.NO_ARGS), inst); + + // Opcodes that don't need any modifications. Here for reference + case Const.ACONST_NULL: + case Const.ALOAD: + case Const.ALOAD_0: + case Const.ALOAD_1: + case Const.ALOAD_2: + case Const.ALOAD_3: + case Const.ASTORE: + case Const.ASTORE_0: + case Const.ASTORE_1: + case Const.ASTORE_2: + case Const.ASTORE_3: + case Const.CHECKCAST: + case Const.D2F: // double to float + case Const.D2I: // double to integer + case Const.D2L: // double to long + case Const.DNEG: // Negate double on top of stack + case Const.F2D: // float to double + case Const.F2I: // float to integer + case Const.F2L: // float to long + case Const.FNEG: // Negate float on top of stack + case Const.GOTO: + case Const.GOTO_W: + case Const.I2B: // integer to byte + case Const.I2C: // integer to char + case Const.I2D: // integer to double + case Const.I2F: // integer to float + case Const.I2L: // integer to long + case Const.I2S: // integer to short + case Const.IFNONNULL: + case Const.IFNULL: + case Const.IINC: // increment local variable by a constant + case Const.INEG: // negate integer on top of stack + case Const.JSR: // pushes return address on the stack, but that + // is thought of as an object, so we don't need + // a tag for it. + case Const.JSR_W: + case Const.L2D: // long to double + case Const.L2F: // long to float + case Const.L2I: // long to int + case Const.LNEG: // negate long on top of stack + case Const.MONITORENTER: + case Const.MONITOREXIT: + case Const.NEW: + case Const.NOP: + case Const.RET: // this is the internal JSR return + return null; + + // Make sure we didn't miss anything + default: + throw new Error("instruction " + inst + " unsupported"); + } + } + + /** + * Adds a call to DCruntime.exit() at each return from the method. This call calculates + * comparability on the daikon variables. It is only necessary if we are tracking comparability + * for the variables of this method. + * + * @param mg method to modify + * @param mi MethodInfo for method + * @param method_info_index index for MethodInfo + */ + void add_exit(MethodGen mg, MethodInfo mi, int method_info_index) { + + // Iterator over all of the exit line numbers for this method, in order. + // We will read one element from it each time that we encounter a + // return instruction. + Iterator exit_iter = mi.exit_locations.iterator(); + + // Loop through each instruction, looking for return instructions. + InstructionList il = mg.getInstructionList(); + for (InstructionHandle ih = il.getStart(); ih != null; ) { + + // Remember the next instruction to process + InstructionHandle next_ih = ih.getNext(); + + // If this is a return instruction, Call DCRuntime.exit to calculate + // comparability on Daikon variables + Instruction inst = ih.getInstruction(); + if (inst instanceof ReturnInstruction) { + Type type = mg.getReturnType(); + InstructionList new_il = new InstructionList(); + if (type != Type.VOID) { + LocalVariableGen return_loc = get_return_local(mg, type); + new_il.append(InstructionFactory.createDup(type.getSize())); + new_il.append(InstructionFactory.createStore(type, return_loc.getIndex())); + } + new_il.append(call_enter_exit(mg, method_info_index, "exit", exit_iter.next())); + new_il.append(inst); + // replaceInstructions(mg, il, ih, new_il); + } + + ih = next_ih; + } + } + + /** + * Return the interface class containing the implementation of the given method. The interfaces of + * {@code startClass} are recursively searched. + * + * @param startClass the JavaClass whose interfaces are to be searched + * @param methodName the target method to search for + * @param argTypes the target method's argument types + * @return the name of the interface class containing target method, or null if not found + */ + private @Nullable @ClassGetName String getDefiningInterface( + JavaClass startClass, String methodName, Type[] argTypes) { + + if (debugGetDefiningInterface) { + System.out.println("searching interfaces of: " + startClass.getClassName()); + } + for (@ClassGetName String interfaceName : startClass.getInterfaceNames()) { + if (debugGetDefiningInterface) { + System.out.println("interface: " + interfaceName); + } + JavaClass ji; + try { + ji = getJavaClass(interfaceName); + } catch (Throwable e) { + throw new Error(String.format("Unable to load class: %s", interfaceName), e); + } + for (Method jm : ji.getMethods()) { + if (debugGetDefiningInterface) { + System.out.println(" " + jm.getName() + Arrays.toString(jm.getArgumentTypes())); + } + if (jm.getName().equals(methodName) && Arrays.equals(jm.getArgumentTypes(), argTypes)) { + // We have a match. + return interfaceName; + } + } + // no match found; does this interface extend other interfaces? + @ClassGetName String foundAbove = getDefiningInterface(ji, methodName, argTypes); + if (foundAbove != null) { + // We have a match. + return foundAbove; + } + } + // nothing found + return null; + } + + /** + * Process an Invoke instruction. There are three cases: + * + *

+ * + * @param invoke a method invocation bytecode instruction + * @return instructions to replace the given instruction + */ + private InstructionList handleInvoke(InvokeInstruction invoke) { + + // Get information about the call + String methodName = invoke.getMethodName(pool); + // getClassName does not work properly if invoke is INVOKEDYNAMIC. + // We will deal with this later. + @ClassGetName String classname = invoke.getClassName(pool); + Type returnType = invoke.getReturnType(pool); + Type[] argTypes = invoke.getArgumentTypes(pool); + + if (is_object_equals(methodName, returnType, argTypes)) { + + // Replace calls to Object's equals method with calls to our + // replacement, a static method in DCRuntime. + + // Type[] new_arg_types = new Type[] {javalangObject, javalangObject}; + + InstructionList il = new InstructionList(); + il.append( + ifact.createInvoke( + dcompRuntimeClassName, + (invoke.getOpcode() == Const.INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", + returnType, + null, //// new_arg_types, + Const.INVOKESTATIC)); + return il; + } + + if (is_object_clone(methodName, returnType, argTypes)) { + + // Replace calls to Object's clone method with calls to our + // replacement, a static method in DCRuntime. + + InstructionList il = instrument_clone_call(invoke); + return il; + } + + boolean callee_instrumented = isTargetInstrumented(invoke, classname, methodName, argTypes); + + if (debugHandleInvoke) { + System.out.printf("handleInvoke(%s)%n", invoke); + System.out.printf(" invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); + System.out.printf(" invoke targ: %s%n", classname + "." + methodName); + System.out.printf(" callee_instrumented: %s%n", callee_instrumented); + } + + if (callee_instrumented) { + + InstructionList il = new InstructionList(); + // Add the DCompMarker argument so that it calls the instrumented version. + il.append(new ACONST_NULL()); + // Type[] new_arg_types = BcelUtil.postpendToArray(argTypes, dcomp_marker); + Constant methodref = pool.getConstant(invoke.getIndex()); + il.append( + ifact.createInvoke( + classname, + methodName, + returnType, + null, //// new_arg_types, + invoke.getOpcode(), + methodref instanceof ConstantInterfaceMethodref)); + return il; + + } else { // not instrumented, discard the tags before making the call + + InstructionList il = new InstructionList(); + // JUnit test classes are a bit strange. They are marked as not being callee_instrumented + // because they do not have the dcomp_marker added to the argument list, but + // they actually contain instrumentation code. So we do not want to discard + // the primitive tags prior to the call. + if (!junitTestClasses.contains(classname)) { + il.append(discard_primitive_tags(argTypes)); + } + + // Add a tag for the return type if it is primitive. + if ((returnType instanceof BasicType) && (returnType != Type.VOID)) { + if (debugHandleInvoke) { + System.out.printf("push tag for return type of %s%n", invoke.getReturnType(pool)); + } + il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); + } + il.append(invoke); + return il; + } + } + + /** + * Returns instructions that will discard any primitive tags corresponding to the specified + * arguments. Returns an empty instruction list if there are no primitive arguments to discard. + * + * @param argTypes argument types of target method + * @return an instruction list that discards primitive tags from DCRuntime's per-thread + * comparability data stack + */ + private InstructionList discard_primitive_tags(Type[] argTypes) { + + InstructionList il = new InstructionList(); + int primitive_cnt = 0; + for (Type argType : argTypes) { + if (argType instanceof BasicType) { + primitive_cnt++; + } + } + if (primitive_cnt > 0) { + il.append(discard_tag_code(new NOP(), primitive_cnt)); + } + return il; + } + + /** + * Returns true if the invoke target is instrumented. + * + * @param invoke instruction whose target is to be checked + * @param classname target class of the invoke + * @param methodName target method of the invoke + * @param argTypes argument types of target method + * @return true if the target is instrumented + */ + private boolean isTargetInstrumented( + InvokeInstruction invoke, + @ClassGetName String classname, + String methodName, + Type[] argTypes) { + boolean targetInstrumented; + + if (invoke instanceof INVOKEDYNAMIC) { + // We don't instrument lambda methods. + // BUG: BCEL doesn't know how to get classname from an INVOKEDYNAMIC instruction. + if (debugHandleInvoke) { + System.out.printf("invokedynamic NOT the classname: %s%n", classname); + } + targetInstrumented = false; + } else if (is_object_method(methodName, invoke.getArgumentTypes(pool))) { + targetInstrumented = false; + } else { + targetInstrumented = isClassnameInstrumented(classname, methodName); + + if (debugHandleInvoke) { + System.out.printf("invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); + System.out.printf("invoke targ: %s%n", classname + "." + methodName); + } + + if (Premain.problem_methods.contains(classname + "." + methodName)) { + debugInstrument.log( + "Don't call instrumented version of problem method %s.%n", + classname + "." + methodName); + targetInstrumented = false; + } + + // targetInstrumented (the return value of this method) has been set. + // Now, adjust it for some special cases. + // Every adjustment is from `true` to `false`. + + // There are two special cases we need to detect: + // calls to annotations + // calls to functional interfaces + // + // Annotation classes are never instrumented so we must set + // the targetInstrumented flag to false. + // + // Functional interfaces are a bit more complicated. These are primarily (only?) + // used by Lambda functions. Lambda methods are generated dynamically at + // run time via the InvokeDynamic instruction. They are not seen by our + // ClassFileTransformer so are never instrumented. Thus we must set the + // targetInstrumented flag to false when we see a call to a Lambda method. + // The heuristic we use is to assume that any InvokeInterface or InvokeVirtual + // call to a functional interface is a call to a Lambda method. + // + // The Java compiler detects functional interfaces automatically, but the + // user can declare their intent with the @FunctionInterface annotation. + // The Java runtime is annotated in this manner. Hence, we look for this + // annotation to detect a call to a functional interface. In practice, we + // could detect functional interfaces in a manner similar to the Java + // compiler, but for now we will go with this simpler method. + // + // Note that to simplify our code we set the access flags for a functional + // interface to ANNOTATION in our accessFlags map. + // + if (targetInstrumented == true + && (invoke instanceof INVOKEINTERFACE || invoke instanceof INVOKEVIRTUAL)) { + Integer access = getAccessFlags(classname); + + if ((access.intValue() & Const.ACC_ANNOTATION) != 0) { + targetInstrumented = false; + } + + // UNDONE: New code added above should handle the case below. Need to find a test + // case and verify this code is no longer needed. + // This is a bit of a hack. An invokeinterface instruction with a + // a target of "java.util.stream." might be calling a + // Lambda method in which case we don't want to add the dcomp_marker. + // Might lose something in 'normal' cases, but no easy way to detect. + if (classname.startsWith("java.util.stream")) { + targetInstrumented = false; + } + + // In a similar fashion, when the Java runtime is processing annotations, there might + // be an invoke (via reflection) of a member of the java.lang.annotation package; this + // too should not have the dcomp_marker added. + if (classname.startsWith("java.lang.annotation")) { + targetInstrumented = false; + } + } + + // If we are not using the instrumented JDK, then we need to track down the + // actual target of an INVOKEVIRTUAL to see if it has been instrumented or not. + if (targetInstrumented == true && invoke instanceof INVOKEVIRTUAL) { + if (!Premain.jdk_instrumented && !mgen.getName().equals("equals_dcomp_instrumented")) { + + if (debugHandleInvoke) { + System.out.println("method: " + methodName); + System.out.println("argTypes: " + Arrays.toString(argTypes)); + System.out.printf("invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); + } + + @ClassGetName String targetClassname = classname; + // Search this class for the target method. If not found, set targetClassname to + // its superclass and try again. + mainloop: + while (true) { + // Check that the class exists + JavaClass targetClass; + try { + targetClass = getJavaClass(targetClassname); + } catch (Throwable e) { + targetClass = null; + } + if (targetClass == null) { + // We cannot locate or read the .class file, better assume not instrumented. + if (debugHandleInvoke) { + System.out.printf("Unable to locate class: %s%n%n", targetClassname); + } + targetInstrumented = false; + break; + } + if (debugHandleInvoke) { + System.out.println("target class: " + targetClassname); + } + + for (Method m : targetClass.getMethods()) { + if (debugHandleInvoke) { + System.out.println(" " + m.getName() + Arrays.toString(m.getArgumentTypes())); + } + if (m.getName().equals(methodName) && Arrays.equals(m.getArgumentTypes(), argTypes)) { + // We have a match. + if (debugHandleInvoke) { + System.out.printf("we have a match%n%n"); + } + if (BcelUtil.inJdk(targetClassname)) { + targetInstrumented = false; + } + break mainloop; + } + } + + { + // no methods match - search this class's interfaces + @ClassGetName String found; + try { + found = getDefiningInterface(targetClass, methodName, argTypes); + } catch (Throwable e) { + // We cannot locate or read the .class file, better assume it is not instrumented. + targetInstrumented = false; + break; + } + if (found != null) { + // We have a match. + if (debugHandleInvoke) { + System.out.printf("we have a match%n%n"); + } + if (BcelUtil.inJdk(found)) { + targetInstrumented = false; + } + break; + } + } + + // Method not found; perhaps inherited from superclass. + // Cannot use "targetClass = targetClass.getSuperClass()" because the superclass might + // not have been loaded into BCEL yet. + if (targetClass.getSuperclassNameIndex() == 0) { + // The target class is Object; the search completed without finding a matching method. + if (debugHandleInvoke) { + System.out.printf("Unable to locate method: %s%n%n", methodName); + } + targetInstrumented = false; + break; + } + // Recurse looking in the superclass. + targetClassname = targetClass.getSuperclassName(); + } + } + } + } + + if (invoke instanceof INVOKESPECIAL) { + if (classname.equals(gen.getSuperclassName()) && methodName.equals("")) { + this.constructor_is_initialized = true; + } + } + + return targetInstrumented; + } + + /** + * Returns the access flags for the given class. + * + * @param classname the class whose access flags to return + * @return the access flags for the given class + */ + private Integer getAccessFlags(String classname) { + Integer access = accessFlags.get(classname); + if (access == null) { + // We have not seen this class before. Check to see if the target class is + // an Annotation or a FunctionalInterface. + JavaClass c = getJavaClass(classname); + if (c != null) { + access = c.getAccessFlags(); + + // Now check for FunctionalInterface + for (final AnnotationEntry item : c.getAnnotationEntries()) { + if (item.getAnnotationType().endsWith("FunctionalInterface;")) { + access = Integer_ACC_ANNOTATION; + if (debugHandleInvoke) { + System.out.println(item.getAnnotationType()); + } + break; + } + } + } else { + // We cannot locate or read the .class file, better pretend it is an Annotation. + if (debugHandleInvoke) { + System.out.printf("Unable to locate class: %s%n", classname); + } + access = Integer_ACC_ANNOTATION; + } + accessFlags.put(classname, access); + } + return access; + } + + /** + * Returns true if the specified classname is instrumented. + * + * @param classname class to be checked + * @param methodName method to be checked (currently unused) + * @return true if classname is instrumented + */ + private boolean isClassnameInstrumented(@ClassGetName String classname, String methodName) { + + if (debugHandleInvoke) { + System.out.printf("Checking callee instrumented on %s%n", classname); + } + + // Our copy of daikon.plumelib is not instrumented. It would be odd, though, + // to see calls to this. + if (classname.startsWith("daikon.plumelib")) { + return false; + } + + // Special-case JUnit test classes. + if (junitTestClasses.contains(classname)) { + return false; + } + + if (daikon.dcomp.Instrument24.is_transformer(classname.replace('.', '/'))) { + return false; + } + + // Special case the execution trace tool. + if (classname.startsWith("minst.Minst")) { + return false; + } + + // We should probably change the interface to include method name + // and use "classname.methodname" as arg to pattern matcher. + // If any of the omit patterns match, use the uninstrumented version of the method + for (Pattern p : DynComp.ppt_omit_pattern) { + if (p.matcher(classname).find()) { + if (debugHandleInvoke) { + System.out.printf("callee instrumented = false: %s.%s%n", classname, methodName); + } + return false; + } + } + + // If its not a JDK class, presume its instrumented. + if (!BcelUtil.inJdk(classname)) { + return true; + } + + int i = classname.lastIndexOf('.'); + if (i > 0) { + if (Premain.problem_packages.contains(classname.substring(0, i))) { + debugInstrument.log( + "Don't call instrumented member of problem package %s%n", classname.substring(0, i)); + return false; + } + } + + if (Premain.problem_classes.contains(classname)) { + debugInstrument.log("Don't call instrumented member of problem class %s%n", classname); + return false; + } + + // We have decided not to use the instrumented version of Random as + // the method generates values based on an initial seed value. + // (Typical of random() algorithms.) This has the undesirable side + // effect of putting all the generated values in the same comparison + // set when they should be distinct. + // NOTE: If we find other classes that should not use the instrumented + // versions, we should consider making this a searchable list. + if (classname.equals("java.util.Random")) { + return false; + } + + // If using the instrumented JDK, then everthing but object is instrumented + if (Premain.jdk_instrumented && !classname.equals("java.lang.Object")) { + return true; + } + + return false; + } + + /** + * Given a classname return it's superclass name. Note that BCEL reports that the superclass of + * 'java.lang.Object' is 'java.lang.Object' rather than saying there is no superclass. + * + * @param classname the fully qualified name of the class in binary form. E.g., "java.util.List" + * @return superclass name of classname or null if there is an error + */ + private @ClassGetName String getSuperclassName(String classname) { + JavaClass jc = getJavaClass(classname); + if (jc != null) { + return jc.getSuperclassName(); + } else { + return null; + } + } + + /** Cache for {@link #getJavaClass} method. */ + private static Map javaClasses = new ConcurrentHashMap(); + + /** + * There are times when it is useful to inspect a class file other than the one we are currently + * instrumenting. Note we cannot use classForName to do this as it might trigger a recursive call + * to Instrument which would not work at this point. + * + *

Given a class name, we treat it as a system resource and try to open it as an input stream + * that we can pass to BCEL to read and convert to a JavaClass object. + * + * @param classname the fully qualified name of the class in binary form, e.g., "java.util.List" + * @return the JavaClass of the corresponding classname or null + */ + private @Nullable JavaClass getJavaClass(String classname) { + JavaClass cached = javaClasses.get(classname); + if (cached != null) { + return cached; + } + + URL class_url = ClassLoader.getSystemResource(classname.replace('.', '/') + ".class"); + if (class_url != null) { + try (InputStream inputStream = class_url.openStream()) { + if (inputStream != null) { + // Parse the bytes of the classfile, die on any errors + ClassParser parser = new ClassParser(inputStream, classname + ""); + JavaClass result = parser.parse(); + javaClasses.put(classname, result); + return result; + } + } catch (Throwable t) { + throw new Error("Unexpected error reading " + class_url, t); + } + } + // Do not cache a null result, because a subsequent invocation might return non-null. + return null; + } + + /** + * Returns whether or not the method is Object.equals(). + * + * @param methodName method to check + * @param returnType return type of method + * @param args array of argument types to method + * @return true if method is Object.equals() + */ + @Pure + boolean is_object_equals(String methodName, Type returnType, Type[] args) { + return (methodName.equals("equals") + && returnType == Type.BOOLEAN + && args.length == 1 + && args[0].equals(javalangObject)); + } + + /** + * Returns true if the specified method is Object.clone(). + * + * @param methodName method to check + * @param returnType return type of method + * @param args array of argument types to method + * @return true if method is Object.clone() + */ + @Pure + boolean is_object_clone(String methodName, Type returnType, Type[] args) { + return methodName.equals("clone") && returnType.equals(javalangObject) && (args.length == 0); + } + + /** + * Instrument calls to the Object method clone. An instrumented version is called if it exists, + * the non-instrumented version if it does not. + * + * @param invoke invoke instruction to inspect and replace + * @return InstructionList to call the correct version of clone or toString + */ + InstructionList instrument_clone_call(InvokeInstruction invoke) { + + InstructionList il = new InstructionList(); + Type returnType = invoke.getReturnType(pool); + String classname = invoke.getClassName(pool); + ReferenceType ref_type = invoke.getReferenceType(pool); + if (ref_type instanceof ArrayType) { + // .clone() is never instrumented, return original invoke. + il.append(invoke); + return il; + } + + // push the target class + il.append(new LDC(pool.addClass(classname))); + + // if this is a super call + if (invoke.getOpcode() == Const.INVOKESPECIAL) { + + // Runtime will discover if the object's superclass has an instrumented clone method. + // If so, call it; otherwise call the uninstrumented version. + il.append(dcr_call("dcomp_super_clone", returnType, new Type[] {Type.OBJECT, javalangClass})); + + } else { // a regular (non-super) clone() call + + // Runtime will discover if the object has an instrumented clone method. + // If so, call it; otherwise call the uninstrumented version. + il.append(dcr_call("dcomp_clone", returnType, new Type[] {Type.OBJECT, javalangClass})); + } + + return il; + } + + /** + * Create the instructions that replace the object eq or ne branch instruction. They are replaced + * by a call to the specified compare_method (which returns a boolean) followed by the specified + * boolean ifeq or ifne instruction. + */ + InstructionList object_comparison( + BranchInstruction branch, String compare_method, short boolean_if) { + + InstructionList il = new InstructionList(); + il.append( + ifact.createInvoke( + dcompRuntimeClassName, compare_method, Type.BOOLEAN, two_objects, Const.INVOKESTATIC)); + assert branch.getTarget() != null; + il.append(InstructionFactory.createBranchInstruction(boolean_if, branch.getTarget())); + return il; + } + + /** + * Handles load and store field instructions. The instructions must be augmented to either push + * (load) or pop (store) the tag on the tag stack. This is accomplished by calling the tag get/set + * method for this field. + */ + InstructionList load_store_field(MethodGen mg, FieldInstruction f) { + + Type field_type = f.getFieldType(pool); + if (field_type instanceof ReferenceType) { + return null; + } + ObjectType obj_type = (ObjectType) f.getReferenceType(pool); + InstructionList il = new InstructionList(); + String classname = obj_type.getClassName(); + + // If this class doesn't support tag fields, don't load/store them + if (!tag_fields_ok(mg, classname)) { + if ((f instanceof GETFIELD) || (f instanceof GETSTATIC)) { + il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); + } else { + il.append(ifact.createConstant(1)); + il.append(dcr_call("discard_tag", Type.VOID, integer_arg)); + } + + // Perform the normal field command + il.append(f); + return il; + } + + if (f instanceof GETSTATIC) { + il.append( + ifact.createInvoke( + classname, + Premain.tag_method_name(Premain.GET_TAG, classname, f.getFieldName(pool)), + Type.VOID, + Type.NO_ARGS, + Const.INVOKESTATIC)); + } else if (f instanceof PUTSTATIC) { + il.append( + ifact.createInvoke( + classname, + Premain.tag_method_name(Premain.SET_TAG, classname, f.getFieldName(pool)), + Type.VOID, + Type.NO_ARGS, + Const.INVOKESTATIC)); + } else if (f instanceof GETFIELD) { + il.append(InstructionFactory.createDup(obj_type.getSize())); + il.append( + ifact.createInvoke( + classname, + Premain.tag_method_name(Premain.GET_TAG, classname, f.getFieldName(pool)), + Type.VOID, + Type.NO_ARGS, + Const.INVOKEVIRTUAL)); + } else { // must be put field + if (field_type.getSize() == 2) { + LocalVariableGen lv = get_tmp2_local(mg, field_type); + il.append(InstructionFactory.createStore(field_type, lv.getIndex())); + il.append(InstructionFactory.createDup(obj_type.getSize())); + il.append( + ifact.createInvoke( + classname, + Premain.tag_method_name(Premain.SET_TAG, classname, f.getFieldName(pool)), + Type.VOID, + Type.NO_ARGS, + Const.INVOKEVIRTUAL)); + il.append(InstructionFactory.createLoad(field_type, lv.getIndex())); + } else { + il.append(new SWAP()); + il.append(InstructionFactory.createDup(obj_type.getSize())); + il.append( + ifact.createInvoke( + classname, + Premain.tag_method_name(Premain.SET_TAG, classname, f.getFieldName(pool)), + Type.VOID, + Type.NO_ARGS, + Const.INVOKEVIRTUAL)); + il.append(new SWAP()); + } + } + + // Perform the normal field command + il.append(f); + + return il; + } + + /** + * Handles load and store local instructions. The instructions must be augmented to either push + * (load) or pop (store) the tag on the tag stack. This is accomplished by calling the specified + * method in DCRuntime and passing that method the tag frame and the offset of local/parameter. + */ + InstructionList load_store_local( + LocalVariableInstruction lvi, LocalVariableGen tag_frame_local, String method) { + + // Don't need tags for objects + assert !(lvi instanceof ALOAD) && !(lvi instanceof ASTORE) : "lvi " + lvi; + + InstructionList il = new InstructionList(); + + // Push the tag frame and the index of this local + il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); + debugInstrument.log("CreateLoad %s %d%n", object_arr, tag_frame_local.getIndex()); + il.append(ifact.createConstant(lvi.getIndex())); + + // Call the runtime method to handle loading/storing the local/parameter + il.append( + ifact.createInvoke( + dcompRuntimeClassName, + method, + Type.VOID, + new Type[] {object_arr, Type.INT}, + Const.INVOKESTATIC)); + il.append(lvi); + return il; + } + + /** + * Gets the local variable used to store a category2 temporary. This is used in the PUTFIELD code + * to temporarily store the value being placed in the field. + */ + LocalVariableGen get_tmp2_local(MethodGen mg, Type typ) { + + String name = "dcomp_$tmp_" + typ; + // System.out.printf("local var name = %s%n", name); + + // See if the local has already been created + for (LocalVariableGen lv : mg.getLocalVariables()) { + if (lv.getName().equals(name)) { + assert lv.getType().equals(typ) : lv + " " + typ; + return lv; + } + } + + // Create the variable + return mg.addLocalVariable(name, typ, null, null); + } + + /** + * Returns the local variable used to store the return result. If it is not present, creates it + * with the specified type. If the variable is known to already exist, the type can be null. + */ + LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { + + // Find the local used for the return value + LocalVariableGen return_local = null; + for (LocalVariableGen lv : mg.getLocalVariables()) { + if (lv.getName().equals("return__$trace2_val")) { + return_local = lv; + break; + } + } + + // If a type was specified and the variable was found, they must match + if (return_local == null) { + assert (return_type != null) : " return__$trace2_val doesn't exist"; + } else { + assert return_type.equals(return_local.getType()) + : " return_type = " + return_type + "current type = " + return_local.getType(); + } + + if (return_local == null) { + // log ("Adding return local of type %s%n", return_type); + return_local = mg.addLocalVariable("return__$trace2_val", return_type, null, null); + } + + return return_local; + } + + /** + * Creates a MethodInfo corresponding to the specified method. The exit locations are filled in, + * but the reflection information is not generated. Returns null if there are no instructions. + * + * @param class_info class containing the method + * @param mg method to inspect + * @return MethodInfo for the method + */ + @Nullable MethodInfo create_method_info(ClassInfo class_info, MethodGen mg) { + + // if (mg.getName().equals("")) { + // // This case DOES occur at run time. -MDE 1/22/2010 + // } + + // Get the argument names for this method + String[] argNames = mg.getArgumentNames(); + LocalVariableGen[] lvs = mg.getLocalVariables(); + int param_offset = 1; + if (mg.isStatic()) { + param_offset = 0; + } + if (lvs != null) { + for (int ii = 0; ii < argNames.length; ii++) { + if ((ii + param_offset) < lvs.length) { + argNames[ii] = lvs[ii + param_offset].getName(); + } + } + } + + // Get the argument types for this method + Type[] argTypes = mg.getArgumentTypes(); + @ClassGetName String[] arg_type_strings = new @ClassGetName String[argTypes.length]; + // for (int ii = 0; ii < argTypes.length; ii++) { + // arg_type_strings[ii] = typeToClassGetName(argTypes[ii]); + // // System.out.printf("DCI arg types: %s %s%n", argTypes[ii], arg_type_strings[ii]); + // } + + // Loop through each instruction and find the line number for each + // return opcode + List exit_locs = new ArrayList<>(); + + // Tells whether each exit loc in the method is included or not + // (based on filters) + List isIncluded = new ArrayList<>(); + + // log ("Looking for exit points in %s%n", mg.getName()); + InstructionList il = mg.getInstructionList(); + int line_number = 0; + int last_line_number = 0; + boolean foundLine; + + if (il == null) { + return null; + } + + for (InstructionHandle ih = il.getStart(); ih != null; ih = ih.getNext()) { + foundLine = false; + + if (ih.hasTargeters()) { + for (InstructionTargeter it : ih.getTargeters()) { + if (it instanceof LineNumberGen) { + LineNumberGen lng = (LineNumberGen) it; + // log (" line number at %s: %d%n", ih, lng.getSourceLine()); + // System.out.printf(" line number at %s: %d%n", ih, + // lng.getSourceLine()); + line_number = lng.getSourceLine(); + foundLine = true; + } + } + } + + switch (ih.getInstruction().getOpcode()) { + case Const.ARETURN: + case Const.DRETURN: + case Const.FRETURN: + case Const.IRETURN: + case Const.LRETURN: + case Const.RETURN: + // log ("Exit at line %d%n", line_number); + // only do incremental lines if we don't have the line generator + if (line_number == last_line_number && foundLine == false) { + line_number++; + } + last_line_number = line_number; + + exit_locs.add(line_number); + isIncluded.add(true); + break; + + default: + break; + } + } + + return new MethodInfo( + class_info, mg.getName(), argNames, arg_type_strings, exit_locs, isIncluded); + } + + /** + * Adds a call to DCRuntime.set_class_initialized (String classname) to the class initializer for + * this class. Creates a class initializer if one is not currently present. + */ + void track_class_init() { + + // Look for the class init method. If not found, create an empty one. + Method cinit = null; + for (Method m : gen.getMethods()) { + if (m.getName().equals("")) { + cinit = m; + break; + } + } + if (cinit == null) { + InstructionList il = new InstructionList(); + il.append(InstructionFactory.createReturn(Type.VOID)); + MethodGen cinit_gen = + new MethodGen( + Const.ACC_STATIC, + Type.VOID, + Type.NO_ARGS, + new String[0], + "", + gen.getClassName(), + il, + pool); + cinit_gen.setMaxLocals(); + cinit_gen.setMaxStack(); + cinit_gen.update(); + cinit = cinit_gen.getMethod(); + gen.addMethod(cinit); + } + + try { + MethodGen cinit_gen = new MethodGen(cinit, gen.getClassName(), pool); + // setCurrentStackMapTable(cinit_gen, gen.getMajor()); + + // Add a call to DCRuntime.set_class_initialized to the beginning of the method + InstructionList il = new InstructionList(); + il.append(ifact.createConstant(gen.getClassName())); + il.append( + ifact.createInvoke( + dcompRuntimeClassName, + "set_class_initialized", + Type.VOID, + string_arg, + Const.INVOKESTATIC)); + + // insertAtMethodStart(cinit_gen, il); + // createNewStackMapAttribute(cinit_gen); + cinit_gen.setMaxLocals(); + cinit_gen.setMaxStack(); + gen.replaceMethod(cinit, cinit_gen.getMethod()); + } catch (Throwable t) { + if (debugInstrument.enabled) { + t.printStackTrace(); + } + throw new Error( + "Unexpected error processing " + gen.getClassName() + "." + cinit.getName(), t); + } + } + + /** + * Creates code that makes the index comparable (for indexing purposes) with the array in array + * load instructions. First the arrayref and its index are duplicated on the stack. Then the + * appropriate array load method is called to mark them as comparable and update the tag stack. + * Finally the original load instruction is performed. + * + * @param inst an array load instruction + * @return instruction list that calls the runtime to handle the array load instruction + */ + InstructionList array_load(Instruction inst) { + + InstructionList il = new InstructionList(); + + // Duplicate the array ref and index and pass them to DCRuntime + // which will make the index comparable with the array. In the case + // of primtives it will also get the tag for the primitive and push + // it on the tag stack. + il.append(new DUP2()); + String method = "primitive_array_load"; + if (inst instanceof AALOAD) { + method = "ref_array_load"; + } else if (is_uninit_class(gen.getClassName())) { + method = "primitive_array_load_null_ok"; + } + + il.append(dcr_call(method, Type.VOID, new Type[] {Type.OBJECT, Type.INT})); + + // Perform the original instruction + il.append(inst); + + return il; + } + + /** + * Creates code to make the index comparable (for indexing purposes) with the array in the array + * store instruction. This is accomplished by calling the specified method and passing it the + * array reference, index, and value (of base_type). The method will mark the array and index as + * comparable and perform the array store. + * + * @param inst an array store instruction + * @param method runtime method to call + * @param base_type type of array store + * @return instruction list that calls the runtime to handle the array store instruction + */ + InstructionList array_store(Instruction inst, String method, Type base_type) { + + InstructionList il = new InstructionList(); + Type arr_type = new ArrayType(base_type, 1); + il.append(dcr_call(method, Type.VOID, new Type[] {arr_type, Type.INT, base_type})); + return il; + } + + /** + * Creates code that pushes the array's tag onto the tag stack, so that the index is comparable to + * the array length. First, the arrayref is duplicated on the stack. Then a method is called to + * push the array's tag onto the tag stack. Finally the original arraylength instruction is + * performed. + * + * @param inst an arraylength instruction + * @return instruction list that calls the runtime to handle the arraylength instruction + */ + InstructionList array_length(Instruction inst) { + + InstructionList il = new InstructionList(); + + // Duplicate the array ref and pass it to DCRuntime which will push + // it onto the tag stack. + il.append(new DUP()); + il.append(dcr_call("push_array_tag", Type.VOID, new Type[] {Type.OBJECT})); + + // Perform the original instruction + il.append(inst); + + return il; + } + + /** + * Creates code to make the declared length of a new array comparable to its index. + * + * @param inst a anewarray or newarray instruction + * @return instruction list that calls the runtime to handle the newarray instruction + */ + InstructionList new_array(Instruction inst) { + InstructionList il = new InstructionList(); + + // Perform the original instruction + il.append(inst); + + // Duplicate the array ref from the top of the stack and pass it + // to DCRuntime which will push it onto the tag stack. + il.append(new DUP()); + il.append(dcr_call("push_array_tag", Type.VOID, new Type[] {Type.OBJECT})); + + // Make the array and the count comparable. Also, pop the tags for + // the array and the count off the tag stack. + il.append(dcr_call("cmp_op", Type.VOID, Type.NO_ARGS)); + + return il; + } + + /** + * Creates code to make the declared lengths of a new two-dimensional array comparable to the + * corresponding indices. + * + * @param inst a multianewarray instruction + * @return instruction list that calls the runtime to handle the multianewarray instruction + */ + InstructionList multiarray2(Instruction inst) { + InstructionList il = new InstructionList(); + + // Duplicate both count arguments + il.append(new DUP2()); + + // Perform the original instruction + il.append(inst); + + // Duplicate the new arrayref and put it below the count arguments + // Stack is now: ..., arrayref, count1, count2, arrayref + il.append(new DUP_X2()); + + Type objArray = new ArrayType(Type.OBJECT, 1); + il.append(dcr_call("multianewarray2", Type.VOID, new Type[] {Type.INT, Type.INT, objArray})); + + return il; + } + + /** + * Returns whether or not this ppt should be included. A ppt is included if it matches ones of the + * select patterns and doesn't match any of the omit patterns. + * + * @param className class to test + * @param methodName method to test + * @param pptName ppt to look for + * @return true if this ppt should be included + */ + boolean should_track(@BinaryName String className, String methodName, String pptName) { + + debug_transform.log("Considering tracking ppt: %s, %s, %s%n", className, methodName, pptName); + + // Don't track any JDK classes + if (BcelUtil.inJdk(className)) { + debug_transform.log("ignoring %s, is a JDK class%n", className); + return false; + } + + // Don't track toString methods because we call them in + // our debug statements. + if (pptName.contains("toString")) { + debug_transform.log("ignoring %s, is a toString method%n", pptName); + return false; + } + + // call shouldIgnore to check ppt-omit-pattern(s) and ppt-select-pattern(s) + return !daikon.chicory.Instrument24.shouldIgnore(className, methodName, pptName); + } + + /** + * Constructs a ppt entry name from a Method. + * + * @param fullClassName class name + * @param m method + * @return corresponding ppt name + */ + static String methodEntryName(String fullClassName, Method m) { + + // System.out.printf("classname = %s, method = %s, short_name = %s%n", + // fullClassName, m, m.getName()); + + // Get an array of the type names + Type[] argTypes = m.getArgumentTypes(); + String[] type_names = new String[argTypes.length]; + for (int ii = 0; ii < argTypes.length; ii++) { + type_names[ii] = argTypes[ii].toString(); + } + + // Remove exceptions from the name + String full_name = m.toString(); + full_name = full_name.replaceFirst("\\s*throws.*", ""); + + return fullClassName + + "." + + DaikonWriter.methodEntryName(fullClassName, type_names, full_name, m.getName()); + } + + /** + * Convenience function to construct a call to a static method in DCRuntime. + * + * @param methodName method to call + * @param returnType type of method return + * @param argTypes array of method argument types + * @return InvokeInstruction for the call + */ + InvokeInstruction dcr_call(String methodName, Type returnType, Type[] argTypes) { + + return ifact.createInvoke( + dcompRuntimeClassName, methodName, returnType, argTypes, Const.INVOKESTATIC); + } + + /** + * Create the code to call discard_tag(tag_count) and append inst to the end of that code. + * + * @param inst instruction to be replaced + * @param tag_count number of tags to discard + * @return InstructionList + */ + InstructionList discard_tag_code(Instruction inst, int tag_count) { + InstructionList il = new InstructionList(); + il.append(ifact.createConstant(tag_count)); + il.append(dcr_call("discard_tag", Type.VOID, integer_arg)); + // append_inst(il, inst); + return il; + } + + /** + * Duplicates the item on the top of stack. If the value on the top of the stack is a primitive, + * we need to do the same on the tag stack. Otherwise, we need do nothing. + */ + InstructionList dup_tag(Instruction inst, OperandStack stack) { + Type top = stack.peek(); + if (debug_dup.enabled) { + debug_dup.log("DUP -> %s [... %s]%n", "dup", stack_contents(stack, 2)); + } + if (is_primitive(top)) { + // return build_il(dcr_call("dup", Type.VOID, Type.NO_ARGS), inst); + } + return null; + } + + /** + * Duplicates the item on the top of the stack and inserts it 2 values down in the stack. If the + * value at the top of the stack is not a primitive, there is nothing to do here. If the second + * value is not a primitive, then we need only to insert the duped value down 1 on the tag stack + * (which contains only primitives). + */ + InstructionList dup_x1_tag(Instruction inst, OperandStack stack) { + Type top = stack.peek(); + if (debug_dup.enabled) { + debug_dup.log("DUP -> %s [... %s]%n", "dup_x1", stack_contents(stack, 2)); + } + if (!is_primitive(top)) { + return null; + } + String method = "dup_x1"; + if (!is_primitive(stack.peek(1))) { + method = "dup"; + } + // return build_il(dcr_call(method, Type.VOID, Type.NO_ARGS), inst); + return null; + } + + /** + * Duplicates either the top 2 category 1 values or a single category 2 value and inserts it 2 or + * 3 values down on the stack. + */ + InstructionList dup2_x1_tag(Instruction inst, OperandStack stack) { + String op; + Type top = stack.peek(); + if (is_category2(top)) { + if (is_primitive(stack.peek(1))) { + op = "dup_x1"; + } else { // not a primitive, so just dup + op = "dup"; + } + } else if (is_primitive(top)) { + if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup2_x1"; + else if (is_primitive(stack.peek(1))) op = "dup2"; + else if (is_primitive(stack.peek(2))) op = "dup_x1"; + else { + // neither value 1 nor value 2 is primitive + op = "dup"; + } + } else { // top is not primitive + if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) { + op = "dup_x1"; + } else if (is_primitive(stack.peek(1))) { + op = "dup"; + } else { // neither of the top two values is primitive + op = null; + } + } + if (debug_dup.enabled) { + debug_dup.log("DUP2_X1 -> %s [... %s]%n", op, stack_contents(stack, 3)); + } + + if (op != null) { + // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + } + return null; + } + + /** + * Duplicate either one category 2 value or two category 1 values. The instruction is implemented + * as necessary on the tag stack. + */ + InstructionList dup2_tag(Instruction inst, OperandStack stack) { + Type top = stack.peek(); + String op; + if (is_category2(top)) { + op = "dup"; + } else if (is_primitive(top) && is_primitive(stack.peek(1))) op = "dup2"; + else if (is_primitive(top) || is_primitive(stack.peek(1))) op = "dup"; + else { + // both of the top two items are not primitive, nothing to dup + op = null; + } + if (debug_dup.enabled) { + debug_dup.log("DUP2 -> %s [... %s]%n", op, stack_contents(stack, 2)); + } + if (op != null) { + // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + } + return null; + } + + /** + * Dup the category 1 value on the top of the stack and insert it either two or three values down + * on the stack. + */ + InstructionList dup_x2(Instruction inst, OperandStack stack) { + Type top = stack.peek(); + String op = null; + if (is_primitive(top)) { + if (is_category2(stack.peek(1))) op = "dup_x1"; + else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; + else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; + else { + op = "dup"; + } + } + if (debug_dup.enabled) { + debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); + } + if (op != null) { + // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + } + return null; + } + + /** + * Duplicate the top one or two operand stack values and insert two, three, or four values down. + */ + InstructionList dup2_x2(Instruction inst, OperandStack stack) { + Type top = stack.peek(); + String op; + if (is_category2(top)) { + if (is_category2(stack.peek(1))) op = "dup_x1"; + else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; + else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; + else { + // both values are references + op = "dup"; + } + } else if (is_primitive(top)) { + if (is_category2(stack.peek(1))) { + throw new Error("not supposed to happen " + stack_contents(stack, 3)); + } else if (is_category2(stack.peek(2))) { + if (is_primitive(stack.peek(1))) { + op = "dup2_x1"; + } else { + op = "dup_x1"; + } + } else if (is_primitive(stack.peek(1))) { + if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup2_x2"; + else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup2_x1"; + else { + // both 2 and 3 are references + op = "dup2"; + } + } else { // 1 is a reference + if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup_x2"; + else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup_x1"; + else { + // both 2 and 3 are references + op = "dup"; + } + } + } else { // top is a reference + if (is_category2(stack.peek(1))) { + throw new Error("not supposed to happen " + stack_contents(stack, 3)); + } else if (is_category2(stack.peek(2))) { + if (is_primitive(stack.peek(1))) { + op = "dup_x1"; + } else { + op = null; // nothing to dup + } + } else if (is_primitive(stack.peek(1))) { + if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup_x2"; + else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup_x1"; + else { + // both 2 and 3 are references + op = "dup"; + } + } else { // 1 is a reference + op = null; // nothing to dup + } + } + if (debug_dup.enabled) { + debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); + } + if (op != null) { + // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + } + return null; + } + + /** + * Pop instructions discard the top of the stack. We want to discard the top of the tag stack iff + * the item on the top of the stack is a primitive. + */ + InstructionList pop_tag(Instruction inst, OperandStack stack) { + Type top = stack.peek(); + if (is_primitive(top)) { + return discard_tag_code(inst, 1); + } + return null; + } + + /** + * Pops either the top 2 category 1 values or a single category 2 value from the top of the stack. + * We must do the same to the tag stack if the values are primitives. + */ + InstructionList pop2_tag(Instruction inst, OperandStack stack) { + Type top = stack.peek(); + if (is_category2(top)) { + return discard_tag_code(inst, 1); + } else { + int cnt = 0; + if (is_primitive(top)) { + cnt++; + } + if (is_primitive(stack.peek(1))) { + cnt++; + } + if (cnt > 0) { + return discard_tag_code(inst, cnt); + } + } + return null; + } + + /** + * Swaps the two category 1 types on the top of the stack. We need to swap the top of the tag + * stack if the two top elements on the real stack are primitives. + */ + InstructionList swap_tag(Instruction inst, OperandStack stack) { + Type type1 = stack.peek(); + Type type2 = stack.peek(1); + if (is_primitive(type1) && is_primitive(type2)) { + // return build_il(dcr_call("swap", Type.VOID, Type.NO_ARGS), inst); + } + return null; + } + + /** + * Adjusts the tag stack for load constant opcodes. If the constant is a primitive, pushes its tag + * on the tag stack. If the constant is a reference (string, class), does nothing. + */ + @Nullable InstructionList ldc_tag(Instruction inst, OperandStack stack) { + Type type; + if (inst instanceof LDC) { // LDC_W extends LDC + type = ((LDC) inst).getType(pool); + } else { + type = ((LDC2_W) inst).getType(pool); + } + if (!(type instanceof BasicType)) { + return null; + } + // return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); + return null; + } + + /** + * Handle the instruction that allocates multi-dimensional arrays. If the new array has 2 + * dimensions, make the integer arguments comparable to the corresponding indices of the new + * array. For any other number of dimensions, discard the tags for the arguments. Higher + * dimensions should really be handled as well, but there are very few cases of this and the + * resulting code would be quite complex (see multiarray2 for details). + */ + InstructionList multi_newarray_dc(Instruction inst) { + int dims = ((MULTIANEWARRAY) inst).getDimensions(); + if (dims == 2) { + return multiarray2(inst); + } else { + return discard_tag_code(inst, dims); + } + } + + /** + * Create an instruction list that calls the runtime to handle returns for the tag stack follow by + * the original return instruction. + * + * @param mg method to modify + * @param inst return instruction to be replaced + * @return the instruction list + */ + InstructionList return_tag(MethodGen mg, Instruction inst) { + Type type = mg.getReturnType(); + InstructionList il = new InstructionList(); + + // Push the tag frame + il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); + + if ((type instanceof BasicType) && (type != Type.VOID)) { + il.append(dcr_call("normal_exit_primitive", Type.VOID, new Type[] {object_arr})); + } else { + il.append(dcr_call("normal_exit", Type.VOID, new Type[] {object_arr})); + } + il.append(inst); + return il; + } + + /** + * Returns whether or not the specified type is a primitive (int, float, double, etc). + * + * @param type type to check + * @return true if type is primitive + */ + @Pure + boolean is_primitive(Type type) { + return (type instanceof BasicType) && (type != Type.VOID); + } + + /** + * Returns whether or not the specified type is a category 2 (8 byte) type. + * + * @param type type to check + * @return true if type requires 8 bytes + */ + @Pure + boolean is_category2(Type type) { + return (type == Type.DOUBLE) || (type == Type.LONG); + } + + /** + * Converts a BCEL type to a Class. The class referenced will be loaded but not initialized. The + * specified loader must be able to find it. If load is null, the default loader will be used. + * + * @param t type to get class for + * @param loader to use to locate class + * @return instance of class + */ + static Class type_to_class(Type t, ClassLoader loader) { + + if (loader == null) { + loader = DCInstrument24.class.getClassLoader(); + } + + if (t == Type.BOOLEAN) { + return Boolean.TYPE; + } else if (t == Type.BYTE) { + return Byte.TYPE; + } else if (t == Type.CHAR) { + return Character.TYPE; + } else if (t == Type.DOUBLE) { + return Double.TYPE; + } else if (t == Type.FLOAT) { + return Float.TYPE; + } else if (t == Type.INT) { + return Integer.TYPE; + } else if (t == Type.LONG) { + return Long.TYPE; + } else if (t == Type.SHORT) { + return Short.TYPE; + } else if (t instanceof ObjectType || t instanceof ArrayType) { + // @ClassGetName String sig = typeToClassGetName(t); + try { + // return Class.forName(sig, false, loader); + return null; + } catch (Exception e) { + // throw new Error("can't get class " + sig, e); + } + } else { + throw new Error("unexpected type " + t); + } + return null; + } + + /** + * Modify a doubled native method to call its original method. It pops all of the parameter tags + * off of the tag stack. If there is a primitive return value it puts a new tag value on the stack + * for it. + * + *

TODO: add a way to provide a synopsis for native methods that affect comparability. + * + * @param gen current class + * @param mg the interface method. Must be native. + */ + void fix_native(ClassGen gen, MethodGen mg) { + + InstructionList il = new InstructionList(); + Type[] argTypes = mg.getArgumentTypes(); + String[] argNames = mg.getArgumentNames(); + + debug_native.log("Native call %s%n", mg); + + // Build local variables for each argument to the method + if (!mg.isStatic()) { + mg.addLocalVariable("this", new ObjectType(mg.getClassName()), null, null); + } + for (int ii = 0; ii < argTypes.length; ii++) { + mg.addLocalVariable(argNames[ii], argTypes[ii], null, null); + } + + // Discard the tags for any primitive arguments passed to system + // methods + int primitive_cnt = 0; + for (Type argType : argTypes) { + if (argType instanceof BasicType) { + primitive_cnt++; + } + } + if (primitive_cnt > 0) { + il.append(discard_tag_code(new NOP(), primitive_cnt)); + } + + // push a tag if there is a primitive return value + Type returnType = mg.getReturnType(); + if ((returnType instanceof BasicType) && (returnType != Type.VOID)) { + il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); + } + + // If the method is not static, push the instance on the stack + if (!mg.isStatic()) { + il.append(InstructionFactory.createLoad(new ObjectType(gen.getClassName()), 0)); + } + + // System.out.printf("%s: atc = %d, anc = %d%n", mg.getName(), argTypes.length, + // argNames.length); + + // if call is sun.reflect.Reflection.getCallerClass (realFramesToSkip) + if (mg.getName().equals("getCallerClass") + && (argTypes.length == 1) + && gen.getClassName().equals("sun.reflect.Reflection")) { + + // The call returns the class realFramesToSkip up on the stack. Since we + // have added this call in between, we need to increment that number by 1. + il.append(InstructionFactory.createLoad(Type.INT, 0)); + il.append(ifact.createConstant(1)); + il.append(new IADD()); + // System.out.printf("adding 1 in %s.%s%n", gen.getClassName(), + // mg.getName()); + + } else { // normal call + + // push each argument on the stack + int param_index = 1; + if (mg.isStatic()) { + param_index = 0; + } + for (Type argType : argTypes) { + il.append(InstructionFactory.createLoad(argType, param_index)); + param_index += argType.getSize(); + } + } + + // Call the method + il.append( + ifact.createInvoke( + gen.getClassName(), + mg.getName(), + mg.getReturnType(), + argTypes, + (mg.isStatic() ? Const.INVOKESTATIC : Const.INVOKEVIRTUAL))); + + // If there is a return value, return it + il.append(InstructionFactory.createReturn(mg.getReturnType())); + + // We've created new il; we need to set the instruction handle positions. + il.setPositions(); + + // Add the instructions to the method + mg.setInstructionList(il); + mg.setMaxStack(); + mg.setMaxLocals(); + + // turn off the native flag + mg.setAccessFlags(mg.getAccessFlags() & ~Const.ACC_NATIVE); + } + + /** + * Returns whether or not tag fields are used within the specified method of the specified class. + * We can safely use class fields except in Object, String, and Class. + * + * @param mg method to check + * @param classname class to check + * @return true if tag fields may be used in class for method + */ + boolean tag_fields_ok(MethodGen mg, @ClassGetName String classname) { + + // Prior to Java 8 an interface could not contain any implementations. + if (gen.isInterface()) { + if (gen.getMajor() < Const.MAJOR_1_8) { + return false; + } + } + + if (BcelUtil.isConstructor(mg)) { + if (!this.constructor_is_initialized) { + return false; + } + } + + if (!Premain.jdk_instrumented) { + if (BcelUtil.inJdk(classname)) { + return false; + } + } + + if (!classname.startsWith("java.lang")) { + return true; + } + + if (classname.equals("java.lang.String") + || classname.equals("java.lang.Class") + || classname.equals("java.lang.Object") + || classname.equals("java.lang.ClassLoader")) { + return false; + } + + return true; + } + + /** + * Returns a string describing the top max_items items on the stack. + * + * @param stack OperandStack + * @param max_items number of items to describe + * @return string describing the top max_items on the operand stack + */ + static String stack_contents(OperandStack stack, int max_items) { + String contents = ""; + if (max_items >= stack.size()) { + max_items = stack.size() - 1; + } + for (int ii = max_items; ii >= 0; ii--) { + if (contents.length() != 0) { + contents += ", "; + } + contents += stack.peek(ii); + } + return contents; + } + + /** + * Creates tag get and set accessor methods for each field in gen. An accessor is created for each + * field (including final, static, and private fields). The accessors share the modifiers of their + * field (except that all are final). Accessors are named {@code ___$get_tag} and + * {@code ___$set_tag}. The class name must be included because field names can + * shadow one another. + * + *

If tag_fields_ok is true for the class, then tag fields are created and the accessor uses + * the tag fields. If not, tag storage is created separately and accessed via the field number. + * ISSUE? This flag is not currently tested. (markro) + * + *

Accessors are also created for each visible superclass field that is not hidden by a field + * in this class. These accessors just call the superclasses accessor. + * + *

Any accessors created are added to the class. + * + * @param gen class to check for fields + */ + void create_tag_accessors(ClassGen gen) { + + String classname = gen.getClassName(); + + // If this class doesn't support tag fields, don't create them + if (!tag_fields_ok(mgen, classname)) return; + + Set field_set = new HashSet<>(); + Map field_map = build_field_map(gen.getJavaClass()); + + // Build accessors for all fields declared in this class + for (Field f : gen.getFields()) { + + assert !field_set.contains(f.getName()) : f.getName() + "-" + classname; + field_set.add(f.getName()); + + // skip primitive fields + if (!is_primitive(f.getType())) { + continue; + } + + MethodGen get_method; + MethodGen set_method; + if (f.isStatic()) { + String full_name = null; // // = full_name(orig_class, f); + get_method = create_get_tag(gen, f, static_field_id.get(full_name)); + set_method = create_set_tag(gen, f, static_field_id.get(full_name)); + } else { + get_method = create_get_tag(gen, f, field_map.get(f)); + set_method = create_set_tag(gen, f, field_map.get(f)); + } + gen.addMethod(get_method.getMethod()); + gen.addMethod(set_method.getMethod()); + } + + // Build accessors for each field declared in a superclass that is + // is not shadowed in a subclass + JavaClass[] super_classes; + try { + super_classes = gen.getJavaClass().getSuperClasses(); + } catch (Exception e) { + throw new Error(e); + } + for (JavaClass super_class : super_classes) { + for (Field f : super_class.getFields()) { + if (f.isPrivate()) { + continue; + } + if (field_set.contains(f.getName())) { + continue; + } + if (!is_primitive(f.getType())) { + continue; + } + + field_set.add(f.getName()); + MethodGen get_method; + MethodGen set_method; + if (f.isStatic()) { + String full_name = full_name(super_class, f); + get_method = create_get_tag(gen, f, static_field_id.get(full_name)); + set_method = create_set_tag(gen, f, static_field_id.get(full_name)); + } else { + get_method = create_get_tag(gen, f, field_map.get(f)); + set_method = create_set_tag(gen, f, field_map.get(f)); + } + gen.addMethod(get_method.getMethod()); + gen.addMethod(set_method.getMethod()); + } + } + } + + /** + * Builds a Map that relates each field in jc and each of its superclasses to a unique offset. The + * offset can be used to index into a tag array for this class. Instance fields are placed in the + * returned map and static fields are placed in static map (shared between all classes). + * + * @param jc class to check for fields + * @return field offset map + */ + Map build_field_map(JavaClass jc) { + + // Object doesn't have any primitive fields + if (jc.getClassName().equals("java.lang.Object")) { + return new LinkedHashMap<>(); + } + + // Get the offsets for each field in the superclasses. + JavaClass super_jc; + try { + super_jc = jc.getSuperClass(); + } catch (Exception e) { + throw new Error("can't get superclass for " + jc, e); + } + Map field_map = build_field_map(super_jc); + int offset = field_map.size(); + + // Determine the offset for each primitive field in the class + // Also make sure the static_tags list is large enough for + // of the tags. + for (Field f : jc.getFields()) { + if (!is_primitive(f.getType())) { + continue; + } + if (f.isStatic()) { + if (!in_jdk) { + int min_size = static_field_id.size() + DCRuntime.max_jdk_static; + while (DCRuntime.static_tags.size() <= min_size) DCRuntime.static_tags.add(null); + static_field_id.put(full_name(jc, f), min_size); + } else { // building jdk + String full_name = full_name(jc, f); + if (static_field_id.containsKey(full_name)) { + // System.out.printf("Reusing static field %s value %d%n", + // full_name, static_field_id.get(full_name)); + } else { + // System.out.printf("Allocating new static field %s%n", + // full_name); + static_field_id.put(full_name, static_field_id.size() + 1); + } + } + } else { + field_map.put(f, offset); + offset++; + } + } + + return field_map; + } + + /** + * Creates a get tag method for field f. The tag corresponding to field f will be pushed on the + * tag stack. + * + *

{@code
+   * void ___$get_tag() {
+   *   #if f.isStatic()
+   *     DCRuntime.push_static_tag (tag_offset)
+   *   #else
+   *     DCRuntime.push_field_tag (this, tag_offset);
+   * }
+   * }
+ * + * @param gen class whose accessors are being built. Not necessarily the class declaring f (if f + * is inherited). + * @param f field to build an accessor for + * @param tag_offset offset of f in the tag storage for this field + * @return the get tag method + */ + MethodGen create_get_tag(ClassGen gen, Field f, int tag_offset) { + + // Determine the method to call in DCRuntime. Instance fields and static + // fields are handled separately. Also instance fields in special + // classes that are created by the JVM are handled separately since only + // in those classes can fields be read without being written (in java) + String methodname = "push_field_tag"; + Type[] args = object_int; + if (f.isStatic()) { + methodname = "push_static_tag"; + args = integer_arg; + } else if (is_uninit_class(gen.getClassName())) { + methodname = "push_field_tag_null_ok"; + } + + String classname = gen.getClassName(); + String accessor_name = Premain.tag_method_name(Premain.GET_TAG, classname, f.getName()); + + InstructionList il = new InstructionList(); + + if (!f.isStatic()) { + il.append(InstructionFactory.createThis()); + } + il.append(ifact.createConstant(tag_offset)); + il.append(dcr_call(methodname, Type.VOID, args)); + il.append(InstructionFactory.createReturn(Type.VOID)); + + int access_flags = f.getAccessFlags(); + if (gen.isInterface()) { + // method in interface cannot be final + access_flags &= ~Const.ACC_FINAL; + if (gen.getMajor() < Const.MAJOR_1_8) { + // If class file version is prior to 8 then a method in an interface + // cannot be static (it's implicit) and must be abstract. + access_flags &= ~Const.ACC_STATIC; + access_flags |= Const.ACC_ABSTRACT; + } + } else { + access_flags |= Const.ACC_FINAL; + } + + // Create the get accessor method + MethodGen get_method = + new MethodGen( + access_flags, + Type.VOID, + Type.NO_ARGS, + new String[] {}, + accessor_name, + classname, + il, + pool); + get_method.isPrivate(false); + get_method.isProtected(false); + get_method.isPublic(true); + get_method.setMaxLocals(); + get_method.setMaxStack(); + // add_line_numbers(get_method, il); + + return get_method; + } + + /** + * Creates a set tag method for field f. The tag on the top of the tag stack will be popped off + * and placed in the tag storeage corresponding to field + * + *
{@code
+   * void ___$set_tag() {
+   *   #if f.isStatic()
+   *     DCRuntime.pop_static_tag (tag_offset)
+   *   #else
+   *     DCRuntime.pop_field_tag (this, tag_offset);
+   * }
+   * }
+ * + * @param gen class whose accessors are being built. Not necessarily the class declaring f (if f + * is inherited). + * @param f field to build an accessor for + * @param tag_offset offset of f in the tag storage for this field + * @return the set tag method + */ + MethodGen create_set_tag(ClassGen gen, Field f, int tag_offset) { + + String methodname = "pop_field_tag"; + Type[] args = object_int; + if (f.isStatic()) { + methodname = "pop_static_tag"; + args = integer_arg; + } + + String classname = gen.getClassName(); + String setter_name = Premain.tag_method_name(Premain.SET_TAG, classname, f.getName()); + + InstructionList il = new InstructionList(); + + if (!f.isStatic()) { + il.append(InstructionFactory.createThis()); + } + il.append(ifact.createConstant(tag_offset)); + il.append(dcr_call(methodname, Type.VOID, args)); + il.append(InstructionFactory.createReturn(Type.VOID)); + + int access_flags = f.getAccessFlags(); + if (gen.isInterface()) { + // method in interface cannot be final + access_flags &= ~Const.ACC_FINAL; + if (gen.getMajor() < Const.MAJOR_1_8) { + // If class file version is prior to 8 then a method in an interface + // cannot be static (it's implicit) and must be abstract. + access_flags &= ~Const.ACC_STATIC; + access_flags |= Const.ACC_ABSTRACT; + } + } else { + access_flags |= Const.ACC_FINAL; + } + + // Create the setter method + MethodGen set_method = + new MethodGen( + access_flags, + Type.VOID, + Type.NO_ARGS, + new String[] {}, + setter_name, + classname, + il, + pool); + set_method.setMaxLocals(); + set_method.setMaxStack(); + // add_line_numbers(set_method, il); + + return set_method; + } + + /** + * Adds the DCompInstrumented interface to the given class. Adds the following method to the + * class, so that it implements the DCompInstrumented interface: + * + *
{@code
+   * public boolean equals_dcomp_instrumented(Object o) {
+   *   return this.equals(o, null);
+   * }
+   * }
+ * + * The method does nothing except call the instrumented equals method (boolean equals(Object, + * DCompMarker)). + * + * @param gen class to add interface to + */ + void add_dcomp_interface(ClassGen gen) { + gen.addInterface(DCRuntime.instrumentation_interface); + debugInstrument.log("Added interface DCompInstrumented%n"); + + InstructionList il = new InstructionList(); + int access_flags = Const.ACC_PUBLIC; + if (gen.isInterface()) { + access_flags |= Const.ACC_ABSTRACT; + } + MethodGen method = + new MethodGen( + access_flags, + Type.BOOLEAN, + new Type[] {Type.OBJECT}, + new String[] {"obj"}, + "equals_dcomp_instrumented", + gen.getClassName(), + il, + pool); + + il.append(InstructionFactory.createLoad(Type.OBJECT, 0)); // load this + il.append(InstructionFactory.createLoad(Type.OBJECT, 1)); // load obj + il.append(new ACONST_NULL()); // use null for marker + il.append( + ifact.createInvoke( + gen.getClassName(), + "equals", + Type.BOOLEAN, + new Type[] {Type.OBJECT}, // //, dcomp_marker}, + Const.INVOKEVIRTUAL)); + il.append(InstructionFactory.createReturn(Type.BOOLEAN)); + method.setMaxStack(); + method.setMaxLocals(); + gen.addMethod(method.getMethod()); + il.dispose(); + } + + /** + * Adds the following method to a class: + * + *
{@code
+   * public boolean equals (Object obj) {
+   *   return super.equals(obj);
+   * }
+   * }
+ * + * Must only be called if the Object equals method has not been overridden; if the equals method + * is already defined in the class, a ClassFormatError will result because of the duplicate + * method. + * + * @param gen class to add method to + */ + void add_equals_method(ClassGen gen) { + InstructionList il = new InstructionList(); + int access_flags = Const.ACC_PUBLIC; + if (gen.isInterface()) { + access_flags |= Const.ACC_ABSTRACT; + } + MethodGen method = + new MethodGen( + access_flags, + Type.BOOLEAN, + new Type[] {Type.OBJECT}, + new String[] {"obj"}, + "equals", + gen.getClassName(), + il, + pool); + + il.append(InstructionFactory.createLoad(Type.OBJECT, 0)); // load this + il.append(InstructionFactory.createLoad(Type.OBJECT, 1)); // load obj + il.append( + ifact.createInvoke( + gen.getSuperclassName(), + "equals", + Type.BOOLEAN, + new Type[] {Type.OBJECT}, + Const.INVOKESPECIAL)); + il.append(InstructionFactory.createReturn(Type.BOOLEAN)); + method.setMaxStack(); + method.setMaxLocals(); + gen.addMethod(method.getMethod()); + il.dispose(); + } + + /** + * Marks the class as implementing various object methods (currently clone and toString). Callers + * will call the instrumented version of the method if it exists, otherwise they will call the + * uninstrumented version. + * + * @param gen class to check + */ + void handle_object(ClassGen gen) { + Method cl = gen.containsMethod("clone", "()Ljava/lang/Object;"); + if (cl != null) { + gen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompClone")); + } + + Method ts = gen.containsMethod("toString", "()Ljava/lang/String;"); + if (ts != null) { + gen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompToString")); + } + } + + /** + * Add a dcomp marker argument to indicate this is the instrumented version of the method. + * + * @param mg method to ard dcomp marker to + */ + void add_dcomp_arg(MethodGen mg) { + + // Don't modify main or the JVM won't be able to find it. + if (BcelUtil.isMain(mg)) { + return; + } + + // Don't modify class init methods, they don't take arguments + if (BcelUtil.isClinit(mg)) { + return; + } + + // Add the dcomp marker argument to indicate this is the + // instrumented version of the method. + // addNewParameter(mg, "marker", dcomp_marker); + } + + /** + * Returns whether or not the method is defined in Object. + * + * @param methodName method to check + * @param argTypes array of argument types to method + * @return true if method is member of Object + */ + @Pure + boolean is_object_method(String methodName, Type[] argTypes) { + for (MethodDef md : obj_methods) { + if (md.equals(methodName, argTypes)) { + return true; + } + } + return false; + } + + /** + * Returns whether or not the class is one of those that has values initialized by the JVM or + * native methods. + * + * @param classname class to check + * @return true if classname has members that are uninitialized + */ + @Pure + boolean is_uninit_class(String classname) { + + for (String u_name : uninit_classes) { + if (u_name.equals(classname)) { + return true; + } + } + + return false; + } + + /** + * Creates a method with a DcompMarker argument that does nothing but call the corresponding + * method without the DCompMarker argument. (Currently, only used for ? va main.) + * + * @param mg MethodGen of method to create stub for + * @return the stub + */ + MethodGen create_dcomp_stub(MethodGen mg) { + + InstructionList il = new InstructionList(); + Type returnType = mg.getReturnType(); + + // if mg is dynamic, Push 'this' on the stack + int offset = 0; + if (!mg.isStatic()) { + il.append(InstructionFactory.createThis()); + offset = 1; + } + + // push each argument on the stack + for (Type argType : mg.getArgumentTypes()) { + il.append(InstructionFactory.createLoad(argType, offset)); + offset += argType.getSize(); + } + + // Call the method + short kind = Const.INVOKEVIRTUAL; + if (mg.isStatic()) { + kind = Const.INVOKESTATIC; + } + il.append( + ifact.createInvoke( + mg.getClassName(), mg.getName(), returnType, mg.getArgumentTypes(), kind)); + + il.append(InstructionFactory.createReturn(returnType)); + + // Create the method + // Type[] argTypes = BcelUtil.postpendToArray(mg.getArgumentTypes(), dcomp_marker); + // String[] argNames = addString(mg.getArgumentNames(), "marker"); + MethodGen dcomp_mg = + new MethodGen( + mg.getAccessFlags(), + returnType, + null, // argTypes, + null, // argNames, + mg.getName(), + mg.getClassName(), + il, + pool); + dcomp_mg.setMaxLocals(); + dcomp_mg.setMaxStack(); + + return dcomp_mg; + } + + /** + * Writes the static map from field names to their integer ids to the specified file. Can be read + * with restore_static_field_id. Each line contains a key/value combination with a blank + * separating them. + * + * @param file where to write the static field ids + * @throws IOException if unable to find or open the file + */ + static void save_static_field_id(File file) throws IOException { + + PrintStream ps = new PrintStream(file); + for (Map.Entry<@KeyFor("static_field_id") String, Integer> entry : static_field_id.entrySet()) { + ps.printf("%s %d%n", entry.getKey(), entry.getValue()); + } + ps.close(); + } + + /** + * Restores the static map from the specified file. + * + * @param file where to read the static field ids + * @throws IOException if unable to create an EntryReader + * @see #save_static_field_id(File) + */ + static void restore_static_field_id(File file) throws IOException { + try (EntryReader er = new EntryReader(file, "UTF-8")) { + for (String line : er) { + String[] key_val = line.split(" *"); + assert !static_field_id.containsKey(key_val[0]) : key_val[0] + " " + key_val[1]; + static_field_id.put(key_val[0], Integer.valueOf(key_val[1])); + // System.out.printf("Adding %s %s to static map%n", key_val[0], + // key_val[1]); + } + } + } + + /** + * Return the fully qualified fieldname of the specified field. + * + * @param jc class containing the field + * @param f the field + * @return string containing the fully qualified name + */ + protected String full_name(JavaClass jc, Field f) { + return jc.getClassName() + "." + f.getName(); + } + + /** + * Return simplified name of a method. Both exceptions and annotations are removed. + * + * @param m the method + * @return string containing the simplified method name + */ + protected String simplify_method_name(Method m) { + // Remove exceptions from the full method name + String full_name = m.toString().replaceFirst("\\s*throws.*", ""); + // Remove annotations from full method name + return full_name.replaceAll(" \\[.*\\]", ""); + } + + /** + * Format a field descriptor for output. The main difference between a descriptor and a signature + * is that the later may contain type arguments. This routine was orginaly written for + * descriptors, but some support for type arguments has been added. + * + * @param descriptor the object to format + * @return a formatted string + */ + public static String convertDescriptorToString(String descriptor) { + StringBuilder result = new StringBuilder(); + + int arrayDimensions = 0; + while (descriptor.charAt(0) == '[') { + arrayDimensions++; + descriptor = descriptor.substring(1); + } + + // Convert primitive types + switch (descriptor.charAt(0)) { + case 'B': + result.append("byte"); + break; + case 'C': + result.append("char"); + break; + case 'D': + result.append("double"); + break; + case 'F': + result.append("float"); + break; + case 'I': + result.append("int"); + break; + case 'J': + result.append("long"); + break; + case 'S': + result.append("short"); + break; + case 'Z': + result.append("boolean"); + break; + case 'V': + result.append("void"); + break; + case 'L': // Object type, starts with 'L' and ends with ';' + result.append(parseObjectType(descriptor)); + break; + default: + throw new IllegalArgumentException("Invalid descriptor: " + descriptor); + } + + // Append array brackets if applicable + while (arrayDimensions-- > 0) { + result.append("[]"); + } + + return result.toString(); + } + + /** + * Format an object that may contain generics for output. + * + * @param descriptor the object to format + * @return a formatted string + */ + private static String parseObjectType(String descriptor) { + StringBuilder result = new StringBuilder(); + int genericStart = descriptor.indexOf('<'); + int genericEnd = descriptor.lastIndexOf('>'); + int endOfBaseType = descriptor.indexOf(';'); + + if (genericStart > 0 && genericEnd > genericStart) { + // Base type with generics + String baseType = descriptor.substring(1, genericStart).replace('/', '.'); + result.append(baseType).append('<'); + String genericPart = descriptor.substring(genericStart + 1, genericEnd); + result.append(parseGenericParameters(genericPart)); + result.append('>'); + } else if (endOfBaseType > 0) { + // Regular object type + result.append(descriptor.substring(1, endOfBaseType).replace('/', '.')); + } else { + throw new IllegalArgumentException("Malformed object type descriptor: " + descriptor); + } + + return result.toString(); + } + + /** + * Format a generic parameter for output. + * + * @param genericPart the parameter(s) to format + * @return a formatted string + */ + private static String parseGenericParameters(String genericPart) { + StringBuilder result = new StringBuilder(); + int depth = 0; + StringBuilder current = new StringBuilder(); + List params = new ArrayList<>(); + + for (int i = 0; i < genericPart.length(); i++) { + char c = genericPart.charAt(i); + if (c == '<') { + depth++; + current.append(c); + } else if (c == '>') { + depth--; + current.append(c); + } else if (c == ';' && depth == 0) { + params.add(convertDescriptorToString(current.toString())); + current.setLength(0); // Clear the buffer + } else { + current.append(c); + } + } + + if (current.length() > 0) { + params.add(convertDescriptorToString(current.toString())); + } + + result.append(String.join(", ", params)); + return result.toString(); + } + + /** + * Format a constant value for printing. + * + * @param item the constant to format + * @return a string containing the constant's value + */ + private final String formatConstantDesc(ConstantDesc item) { + String result = ""; + try { + result = item.resolveConstantDesc(MethodHandles.lookup()).toString(); + } catch (Exception e) { + System.err.printf("Unexpected error %s getting constant value for: %s%n", e, item); + } + return result; + } + + /** + * Create a new local with a scope of the full method. + * + * @param localName name of new local + * @param localType type of new local + * @return a LocalVariable for the new local + */ + protected LocalVariable createMethodScopeLocal(String localName, ClassDesc localType) { + LocalVariable newVar = + LocalVariable.of(nextLocalIndex, localName, localType, startLabel, endLabel); + localsTable.add(newVar); + nextLocalIndex += TypeKind.from(localType).slotSize(); + return newVar; + } + + /** + * Build a load constant instruction (LDC). Checks the offset of the constant pool element to be + * loaded and generates a LDC or LDC_W, as needed. + * + * @param entry describes the constant pool element to be loaded + * @return a LDC instruction + */ + protected CodeElement buildLDCInstruction(ConstantValueEntry entry) { + if (entry.index() > 255) { + return ConstantInstruction.ofLoad(Opcode.LDC_W, entry); + } else { + return ConstantInstruction.ofLoad(Opcode.LDC, entry); + } + } + + /** + * Build a load constant instruction for values of type int, short, char, byte + * + * @param value to be pushed + * @return a push instruction + */ + protected CodeElement loadIntegerConstant(final int value) { + return switch (value) { + case -1 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_M1); + case 0 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_0); + case 1 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_1); + case 2 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_2); + case 3 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_3); + case 4 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_4); + case 5 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_5); + default -> + (value >= Byte.MIN_VALUE && value <= Byte.MAX_VALUE) + ? ConstantInstruction.ofArgument(Opcode.BIPUSH, value) + : (value >= Short.MIN_VALUE && value <= Short.MAX_VALUE) + ? ConstantInstruction.ofArgument(Opcode.SIPUSH, value) + : buildLDCInstruction(poolBuilder.intEntry(value)); + }; + } +} diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java new file mode 100644 index 0000000000..bc72260500 --- /dev/null +++ b/java/daikon/dcomp/Instrument24.java @@ -0,0 +1,445 @@ +package daikon.dcomp; + +import daikon.DynComp; +import daikon.chicory.ClassInfo; +import daikon.plumelib.bcelutil.BcelUtil; +import daikon.plumelib.bcelutil.SimpleLog; +import daikon.plumelib.reflection.Signatures; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.lang.classfile.ClassFile; +import java.lang.classfile.ClassHierarchyResolver; +import java.lang.classfile.ClassModel; +import java.lang.classfile.ClassTransform; +import java.lang.instrument.ClassFileTransformer; +import java.lang.instrument.IllegalClassFormatException; +import java.nio.file.Files; +import java.security.ProtectionDomain; +import org.apache.bcel.classfile.ClassParser; +import org.apache.bcel.classfile.JavaClass; +import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.checker.signature.qual.BinaryName; +import org.checkerframework.checker.signature.qual.InternalForm; +import org.checkerframework.dataflow.qual.Pure; + +/** + * This class is responsible for modifying another class's bytecodes. Specifically, its main task is + * to add calls into the DynComp Runtime for instrumentation purposes. These added calls are + * sometimes referred to as "hooks". + * + *

This class is loaded by Premain at startup. It is a ClassFileTransformer which means that its + * {@code transform} method gets called each time the JVM loads a class. + * + *

Instrument24 and DCInstrument24 use Java's ({@code java.lang.classfile}) APIs for reading and + * modifying .class files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more + * complete and robust (no more fiddling with StackMaps) and are always up to date with any .class + * file changes (since they are part of the JDK). (We will need to continue to support + * Instrument.java using BCEL, as we anticipate our clients using JDK 21 or less for quite some + * time.) + * + *

The entry point of {@link ClassFileTransformer} is {@link #transform}. + */ +public class Instrument24 implements ClassFileTransformer { + + /** Directory for debug output. */ + File debug_dir; + + /** Directory into which to dump debug-instrumented classes. */ + File debug_instrumented_dir; + + /** Directory into which to dump original classes. */ + File debug_uninstrumented_dir; + + /** Have we seen a class member of a known transformer? */ + private static boolean transformer_seen = false; + + /** + * Debug information about which classes and/or methods are transformed and why. Use + * debugInstrument for actual instrumentation details. + */ + protected static SimpleLog debug_transform = new SimpleLog(false); + + /** Create an instrumenter. Setup debug directories, if needed. */ + public Instrument24() { + debug_transform.enabled = + DynComp.debug || DynComp.debug_transform || Premain.debug_dcinstrument || DynComp.verbose; + daikon.chicory.Instrument24.debug_ppt_omit.enabled = DynComp.debug; + + debug_dir = DynComp.debug_dir; + debug_instrumented_dir = new File(debug_dir, "instrumented"); + debug_uninstrumented_dir = new File(debug_dir, "uninstrumented"); + + // temporary + daikon.chicory.Instrument.debug_ppt_omit.enabled = DynComp.debug; + // temporary to turn on DCInstrument.debug_transform + daikon.dcomp.Instrument.debug_transform.enabled = debug_transform.enabled; + + if (DynComp.dump) { + debug_instrumented_dir.mkdirs(); + debug_uninstrumented_dir.mkdirs(); + } + } + + /** Debug code for printing the current run-time call stack. */ + public static void print_call_stack() { + StackTraceElement[] stack_trace; + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + // [1] is print_call_stack + for (int i = 2; i < stack_trace.length; i++) { + System.out.printf("call stack: %s%n", stack_trace[i]); + } + System.out.println(); + } + + // TEMPORARY - REMOVE when DCInstrument24 is working + /* + * Output a .oclass file and a .obcel version of the class file. + * + * @param c the Java class to output + * @param directory output location for the files + * @param className the current class + */ + private void outputOldDebugFiles(JavaClass c, File directory, @BinaryName String className) { + try { + debug_transform.log("Dumping .oclass and .obcel for %s to %s%n", className, directory); + // Write the byte array to a .oclass file. + c.dump(new File(directory, className + ".oclass")); + // write .bcel file + BcelUtil.dump(c, directory); + // rename .bcel file to .obcel + File outputFile = new File(directory, className + ".bcel"); + boolean ok = outputFile.renameTo(new File(directory, className + ".obcel")); + if (!ok) { + System.err.printf("Unexpected error renaming %s file for: %s%n", outputFile, className); + // ignore the error, it shouldn't affect the instrumentation + } + } catch (Throwable t) { + System.err.printf("Unexpected error %s dumping out debug files for: %s%n", t, className); + t.printStackTrace(); + // ignore the error, it shouldn't affect the instrumentation + } + } + + /* + * Output a .class file and a .bcel version of the class file. + * + * @param classBytes a byte array of the class file to output + * @param directory output location for the files + * @param className the current class + */ + private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName String className) { + // Convert the classBytes to a BCEL JavaClass + JavaClass c; + try (ByteArrayInputStream bais = new ByteArrayInputStream(classBytes)) { + ClassParser parser = new ClassParser(bais, className); + c = parser.parse(); + } catch (Throwable t) { + System.err.printf("Unexpected error %s while reading %s%n", t, className); + t.printStackTrace(); + // ignore the error, it shouldn't affect the instrumentation + return; + } + + try { + debug_transform.log("Dumping .class and .bcel for %s to %s%n", className, directory); + // Write the byte array to a .class file. + File outputFile = new File(directory, className + ".class"); + Files.write(outputFile.toPath(), classBytes); + // Write a BCEL-like file. + BcelUtil.dump(c, directory); + // TEMPORARY - REMOVE when DCInstrument24 is working + // rename .bcel file to .nbcel + outputFile = new File(directory, className + ".bcel"); + boolean ok = outputFile.renameTo(new File(directory, className + ".nbcel")); + if (!ok) { + System.err.printf("Unexpected error renaming %s file for: %s%n", outputFile, className); + // ignore the error, it shouldn't affect the instrumentation + } + } catch (Throwable t) { + System.err.printf("Unexpected error %s dumping out debug files for: %s%n", t, className); + t.printStackTrace(); + // ignore the error, it shouldn't affect the instrumentation + } + } + + /** + * Given a class, return a transformed version of the class that contains instrumentation code. + * Because DynComp is invoked as a javaagent, the transform method is called by the Java runtime + * each time a new class is loaded. A return value of null leaves the byte codes unchanged. + */ + @Override + public byte @Nullable [] transform( + @Nullable ClassLoader loader, + @InternalForm String className, + @Nullable Class classBeingRedefined, + ProtectionDomain protectionDomain, + byte[] classfileBuffer) + throws IllegalClassFormatException { + + // for debugging + // new Throwable().printStackTrace(); + + debug_transform.log("Entering dcomp.Instrument24.transform(): class = %s%n", className); + + @BinaryName String binaryClassName = Signatures.internalFormToBinaryName(className); + + if (className == null) { + /* + // debug code to display unnamed class + try { + // Parse the bytes of the classfile, die on any errors + ClassParser parser = new ClassParser(new ByteArrayInputStream(classfileBuffer), className); + JavaClass c = parser.parse(); + System.out.println(c.toString()); + } catch (Throwable e) { + System.out.printf("Unexpected Error: %s%n", e); + e.printStackTrace(); + throw new RuntimeException("Unexpected error", e); + } + */ + // most likely a lambda related class + return null; + } + + // See comments in Premain.java about meaning and use of in_shutdown. + if (Premain.in_shutdown) { + debug_transform.log("Skipping in_shutdown class %s%n", binaryClassName); + return null; + } + + // If already instrumented, nothing to do + // (This set will be empty if Premain.jdk_instrumented is false) + if (Premain.pre_instrumented.contains(className)) { + debug_transform.log("Skipping pre_instrumented JDK class %s%n", binaryClassName); + return null; + } + + boolean in_jdk = false; + + // Check if class is in JDK + if (BcelUtil.inJdkInternalform(className)) { + // If we are not using an instrumented JDK, then skip this class. + if (!Premain.jdk_instrumented) { + debug_transform.log("Skipping JDK class %s%n", binaryClassName); + return null; + } + + int lastSlashPos = className.lastIndexOf('/'); + if (lastSlashPos > 0) { + String packageName = className.substring(0, lastSlashPos).replace('/', '.'); + if (Premain.problem_packages.contains(packageName)) { + debug_transform.log("Skipping problem package %s%n", packageName); + return null; + } + } + + if (BcelUtil.javaVersion > 8) { + if (Premain.problem_classes.contains(binaryClassName)) { + debug_transform.log("Skipping problem class %s%n", binaryClassName); + return null; + } + } + + if (className.contains("/$Proxy")) { + debug_transform.log("Skipping proxy class %s%n", binaryClassName); + return null; + } + + if (className.equals("java/lang/DCRuntime")) { + debug_transform.log("Skipping special DynComp runtime class %s%n", binaryClassName); + return null; + } + + in_jdk = true; + debug_transform.log("Instrumenting JDK class %s%n", binaryClassName); + } else { + + // We're not in a JDK class + // Don't instrument our own classes + if (is_dcomp(className)) { + debug_transform.log("Skipping is_dcomp class %s%n", binaryClassName); + return null; + } + + // Don't instrument other byte code transformers + if (is_transformer(className)) { + debug_transform.log("Skipping is_transformer class %s%n", binaryClassName); + if (!transformer_seen) { + transformer_seen = true; + System.err.printf( + "DynComp warning: This program uses a Java byte code transformer: %s%n", + binaryClassName); + System.err.printf( + "This may interfere with the DynComp transformer and cause DynComp to fail.%n"); + } + return null; + } + } + + ClassLoader cfLoader; + if (loader == null) { + cfLoader = ClassLoader.getSystemClassLoader(); + debug_transform.log("Transforming class %s, loader %s - %s%n", className, loader, cfLoader); + } else { + cfLoader = loader; + debug_transform.log( + "Transforming class %s, loader %s - %s%n", className, loader, loader.getParent()); + } + + // Do instrumentation both old and new way during development. + // Following code is old way. + + // Parse the bytes of the classfile, die on any errors. + JavaClass c; + try (ByteArrayInputStream bais = new ByteArrayInputStream(classfileBuffer)) { + ClassParser parser = new ClassParser(bais, className); + c = parser.parse(); + } catch (Throwable t) { + System.err.printf("Unexpected error %s while reading %s%n", t, binaryClassName); + t.printStackTrace(); + // No changes to the bytecodes + return null; + } + + if (DynComp.dump) { + outputOldDebugFiles(c, debug_uninstrumented_dir, binaryClassName); + } + + // End of old code. + + // Start of new code. + + // Parse the bytes of the classfile, die on any errors. + ClassFile classFile = + ClassFile.of( + ClassFile.ClassHierarchyResolverOption.of( + ClassHierarchyResolver.ofResourceParsing(cfLoader))); + + ClassModel classModel; + try { + classModel = classFile.parse(classfileBuffer); + } catch (Throwable t) { + System.err.printf("Unexpected error %s reading in %s%n", t, binaryClassName); + t.printStackTrace(); + // No changes to the bytecodes + return null; + } + + if (DynComp.dump) { + outputDebugFiles( + classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL), + debug_uninstrumented_dir, + binaryClassName); + } + + // Instrument the classfile, die on any errors. + ClassInfo classInfo = new ClassInfo(binaryClassName, cfLoader); + DCInstrument24 dci = new DCInstrument24(classFile, classModel, in_jdk); + byte @Nullable [] newBytes = null; + try { + newBytes = dci.instrument(classInfo); + } catch (Throwable t) { + System.err.printf("Unexpected error %s in transform of %s%n", t, binaryClassName); + t.printStackTrace(); + throw new RuntimeException("Unexpected error", t); + } + + if (newBytes != null) { + if (DynComp.dump) { + outputDebugFiles(newBytes, debug_instrumented_dir, binaryClassName); + } + // return newBytes; + } else { + // debug_transform.log("Didn't instrument %s%n", binaryClassName); + // No changes to the bytecodes + // return null; + } + + // End of new code. + + // Do instrumentation both old and new way during development. + // Following code is old way. + + // Instrument the classfile, die on any errors + JavaClass njc; + try { + DCInstrument dcio = new DCInstrument(c, in_jdk, loader); + njc = dcio.instrument(); + } catch (Throwable t) { + RuntimeException re = + new RuntimeException( + String.format("Unexpected error %s in transform of %s", t, binaryClassName), t); + re.printStackTrace(); + throw re; + } + + if (njc != null) { + if (DynComp.dump) { + outputOldDebugFiles(njc, debug_instrumented_dir, binaryClassName); + } + return njc.getBytes(); + } else { + debug_transform.log("Didn't instrument %s%n", binaryClassName); + // No changes to the bytecodes + return null; + } + + // End of old code. + + } + + /** + * Returns whether or not the specified class is part of dcomp itself (and thus should not be + * instrumented). Some Daikon classes that are used by DynComp are included here as well. + * + * @param classname class to be checked + * @return true if classname is a part of DynComp + */ + @Pure + private static boolean is_dcomp(String classname) { + + if (classname.startsWith("daikon/dcomp/") && !classname.startsWith("daikon/dcomp/DcompTest")) { + return true; + } + if (classname.startsWith("daikon/chicory/") + && !classname.equals("daikon/chicory/ChicoryTest")) { + return true; + } + if (classname.equals("daikon/PptTopLevel$PptType")) { + return true; + } + if (classname.startsWith("daikon/plumelib")) { + return true; + } + return false; + } + + /** + * Returns whether or not the specified class is part of a tool known to do Java byte code + * transformation. We need to warn the user that this may not work correctly. + * + * @param classname class to be checked + * @return true if classname is a known transformer + */ + @Pure + protected static boolean is_transformer(String classname) { + + if (classname.startsWith("org/codehaus/groovy")) { + return true; + } + if (classname.startsWith("groovy/lang")) { + return true; + } + if (classname.startsWith("org/mockito")) { + return true; + } + if (classname.startsWith("org/objenesis")) { + return true; + } + if (classname.contains("ByMockito")) { + return true; + } + return false; + } +} diff --git a/java/daikon/dcomp/Premain.java b/java/daikon/dcomp/Premain.java index 88d44c422a..1faeaadb1f 100644 --- a/java/daikon/dcomp/Premain.java +++ b/java/daikon/dcomp/Premain.java @@ -194,14 +194,12 @@ public static void premain(String agentArgs, Instrumentation inst) throws IOExce Thread shutdown_thread = new ShutdownThread(); java.lang.Runtime.getRuntime().addShutdownHook(shutdown_thread); - // UNDONE: turn on Instrument24 - String instrumenter = "daikon.dcomp.Instrument"; - // String instrumenter; - // if (BcelUtil.javaVersion >= 24) { - // instrumenter = "daikon.dcomp.Instrument24"; - // } else { - // instrumenter = "daikon.dcomp.Instrument"; - // } + String instrumenter; + if (BcelUtil.javaVersion >= 24) { + instrumenter = "daikon.dcomp.Instrument24"; + } else { + instrumenter = "daikon.dcomp.Instrument"; + } // Setup the transformer ClassFileTransformer transformer; From 3f1d74d698d908f9a45fc62f36acc64c39cf8129 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 28 Mar 2025 18:11:52 -0700 Subject: [PATCH 002/211] start to modifiy DCInstrument24 --- java/daikon/chicory/Instrument24.java | 85 +--- java/daikon/chicory/MethodGen24.java | 61 ++- java/daikon/dcomp/DCInstrument24.java | 684 ++++++++++++++++++-------- java/daikon/dcomp/Instrument24.java | 17 +- 4 files changed, 558 insertions(+), 289 deletions(-) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 337e98ab38..9f1be8d164 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -64,18 +64,15 @@ import java.security.ProtectionDomain; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.ListIterator; -import java.util.Map; import java.util.Optional; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.bcel.classfile.ClassParser; import org.apache.bcel.classfile.JavaClass; -import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.signature.qual.BinaryName; @@ -129,60 +126,6 @@ public class Instrument24 implements ClassFileTransformer { /** Directory into which to dump original classes. */ final File debug_uninstrumented_dir; - /** Variables used for processing the current method. */ - private static class MInfo24 { - - /** The index of this method in SharedData.methods. */ - public final int method_info_index; - - /** Next available slot in localsTable, currently always = max locals. */ - public int nextLocalIndex; - - /** - * Mapping from instructions to labels. Used to associate a label with a location within the - * codelist. - */ - public final Map labelMap = new HashMap<>(); - - // Note that the next three items are CodeBuilder Labels. - // These are different from CodeModel Labels. - /** Label for first byte code of method, used to give new locals method scope. */ - public final Label startLabel; - - /** Label for last byte code of method, used to give new locals method scope. */ - public final Label endLabel; - - /** Label for start of orignal code, post insertion of entry instrumentation. */ - public Label entryLabel; - - /** - * Label for first byte code of the current method, prior to instrumenting, as a CodeModel - * Label. - */ - public @MonotonicNonNull Label oldStartLabel; - - /** Used for instrumentation. */ - public @MonotonicNonNull LocalVariable nonceLocal; - - /** Used for instrumentation. */ - public @MonotonicNonNull LocalVariable returnLocal; - - /** - * Creates a MInfo24. - * - * @param method_info_index the index of the method in SharedData.methods - * @param nextLocalIndex next available slot in localsTable, currently always = max locals - * @param codeBuilder a CodeBuilder - */ - public MInfo24(int method_info_index, int nextLocalIndex, CodeBuilder codeBuilder) { - this.method_info_index = method_info_index; - this.nextLocalIndex = nextLocalIndex; - this.startLabel = codeBuilder.startLabel(); - this.endLabel = codeBuilder.endLabel(); - this.entryLabel = codeBuilder.newLabel(); - } - } - /** Create an instrumenter. Setup debug directories, if needed. */ public Instrument24() { debug_transform.enabled = Chicory.debug_transform || Chicory.debug || Chicory.verbose; @@ -781,7 +724,10 @@ private void instrumentMethod( * @param minfo for the given method's code */ private void insertInstrumentationCode( - List instructions, MethodGen24 mgen, MethodInfo curMethodInfo, MInfo24 minfo) { + List instructions, + MethodGen24 mgen, + MethodInfo curMethodInfo, + MethodGen24.MInfo24 minfo) { // Add nonce local to matchup enter/exits addInstrumentationAtEntry(instructions, mgen, minfo); @@ -834,7 +780,8 @@ private void instrumentCode( MethodInfo curMethodInfo, int method_info_index) { - MInfo24 minfo = new MInfo24(method_info_index, mgen.getMaxLocals(), codeBuilder); + MethodGen24.MInfo24 minfo = + new MethodGen24.MInfo24(method_info_index, mgen.getMaxLocals(), codeBuilder); @SuppressWarnings("JdkObsolete") List codeList = new LinkedList<>(); @@ -921,7 +868,7 @@ private void instrumentCode( private List generate_return_instrumentation( CodeElement inst, MethodGen24 mgen, - MInfo24 minfo, + MethodGen24.MInfo24 minfo, Iterator shouldIncludeIter, Iterator exitLocationIter) { @@ -971,7 +918,7 @@ private List generate_return_instrumentation( */ @SuppressWarnings("nullness") private LocalVariable getReturnLocal( - MethodGen24 mgen, @Nullable ClassDesc returnType, MInfo24 minfo) { + MethodGen24 mgen, @Nullable ClassDesc returnType, MethodGen24.MInfo24 minfo) { // If a type was specified and the variable was found, they must match. if (minfo.returnLocal == null) { @@ -996,7 +943,7 @@ private LocalVariable getReturnLocal( * @param mgen describes the given method * @param minfo for the given method's code */ - private List generateIncrementNonce(MethodGen24 mgen, MInfo24 minfo) { + private List generateIncrementNonce(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { String atomic_int_classname = "java.util.concurrent.atomic.AtomicInteger"; ClassDesc atomic_intClassDesc = ClassDesc.of(atomic_int_classname); @@ -1039,7 +986,7 @@ private List generateIncrementNonce(MethodGen24 mgen, MInfo24 minfo * @param minfo for the given method's code */ private void addInstrumentationAtEntry( - List instructions, MethodGen24 mgen, MInfo24 minfo) { + List instructions, MethodGen24 mgen, MethodGen24.MInfo24 minfo) { List newCode = generateIncrementNonce(mgen, minfo); @@ -1093,7 +1040,11 @@ private void addInstrumentationAtEntry( * @param line source line number if this is an exit */ private void callEnterOrExit( - List newCode, MethodGen24 mgen, MInfo24 minfo, String methodToCall, int line) { + List newCode, + MethodGen24 mgen, + MethodGen24.MInfo24 minfo, + String methodToCall, + int line) { ClassDesc[] paramTypes = mgen.getParameterTypes(); @@ -1204,7 +1155,7 @@ public ModifiedSwitchInfo(Label modifiedTarget, List modifiedCaseLis * @param minfo for the given method's code * @return the original instruction or its replacement */ - private CodeElement retargetStartLabel(CodeElement inst, MInfo24 minfo) { + private CodeElement retargetStartLabel(CodeElement inst, MethodGen24.MInfo24 minfo) { ModifiedSwitchInfo info; switch (inst) { case BranchInstruction bi -> { @@ -1246,7 +1197,7 @@ private CodeElement retargetStartLabel(CodeElement inst, MInfo24 minfo) { * @return a ModifiedSwitchInfo with the changed values, or null if no changes */ private @Nullable ModifiedSwitchInfo retargetStartLabel( - Label defaultTarget, List caseList, MInfo24 minfo) { + Label defaultTarget, List caseList, MethodGen24.MInfo24 minfo) { Label modifiedTarget; boolean modified = false; @@ -1738,7 +1689,7 @@ private final String formatConstantDesc(ConstantDesc item) { * @return the new local variable */ protected LocalVariable createLocalWithMethodScope( - MethodGen24 mgen, MInfo24 minfo, String localName, ClassDesc localType) { + MethodGen24 mgen, MethodGen24.MInfo24 minfo, String localName, ClassDesc localType) { LocalVariable newVar = LocalVariable.of( minfo.nextLocalIndex, localName, localType, minfo.startLabel, minfo.endLabel); diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index f8b465f437..cd6f430d57 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -3,9 +3,11 @@ import java.lang.classfile.AccessFlags; import java.lang.classfile.Attributes; import java.lang.classfile.ClassBuilder; +import java.lang.classfile.CodeBuilder; import java.lang.classfile.CodeElement; import java.lang.classfile.CodeModel; import java.lang.classfile.Instruction; +import java.lang.classfile.Label; import java.lang.classfile.MethodModel; import java.lang.classfile.attribute.CodeAttribute; import java.lang.classfile.attribute.SignatureAttribute; @@ -16,10 +18,13 @@ import java.lang.reflect.AccessFlag; import java.util.ArrayList; import java.util.Comparator; +import java.util.HashMap; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Optional; import org.checkerframework.checker.lock.qual.GuardSatisfied; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.signature.qual.BinaryName; import org.checkerframework.checker.signature.qual.Identifier; @@ -123,12 +128,66 @@ public class MethodGen24 { * The method's local variable table. Often modified by clients, normally to add additional local * variables needed for instrumentation. */ - protected List localsTable; + public List localsTable; /** ConstantPool builder for entire class. */ // TODO: Should uses of this be synchronized? private ConstantPoolBuilder poolBuilder; + /** Variables used for processing the current method. */ + public static class MInfo24 { + + /** The index of this method in SharedData.methods. */ + public final int method_info_index; + + /** Next available slot in localsTable, currently always = max locals. */ + public int nextLocalIndex; + + /** + * Mapping from instructions to labels. Used to associate a label with a location within the + * codelist. + */ + public final Map labelMap = new HashMap<>(); + + // Note that the next three items are CodeBuilder Labels. + // These are different from CodeModel Labels. + /** Label for first byte code of method, used to give new locals method scope. */ + public final Label startLabel; + + /** Label for last byte code of method, used to give new locals method scope. */ + public final Label endLabel; + + /** Label for start of orignal code, post insertion of entry instrumentation. */ + public Label entryLabel; + + /** + * Label for first byte code of the current method, prior to instrumenting, as a CodeModel + * Label. + */ + public @MonotonicNonNull Label oldStartLabel; + + /** Used for instrumentation. */ + public @MonotonicNonNull LocalVariable nonceLocal; + + /** Used for instrumentation. */ + public @MonotonicNonNull LocalVariable returnLocal; + + /** + * Creates a MInfo24. + * + * @param method_info_index the index of the method in SharedData.methods + * @param nextLocalIndex next available slot in localsTable, currently always = max locals + * @param codeBuilder a CodeBuilder + */ + public MInfo24(int method_info_index, int nextLocalIndex, CodeBuilder codeBuilder) { + this.method_info_index = method_info_index; + this.nextLocalIndex = nextLocalIndex; + this.startLabel = codeBuilder.startLabel(); + this.endLabel = codeBuilder.endLabel(); + this.entryLabel = codeBuilder.newLabel(); + } + } + /** * Creates a MethodGen24 object. * diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index defa5792ea..98ec696546 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -24,6 +24,7 @@ import java.lang.classfile.instruction.*; import java.lang.constant.*; import java.lang.invoke.MethodHandles; +import java.lang.reflect.AccessFlag; import java.net.URL; import java.util.ArrayDeque; import java.util.ArrayList; @@ -60,7 +61,7 @@ import org.apache.bcel.generic.AnnotationEntryGen; import org.apache.bcel.generic.ArrayType; import org.apache.bcel.generic.BasicType; -import org.apache.bcel.generic.BranchInstruction; +// import org.apache.bcel.generic.BranchInstruction; import org.apache.bcel.generic.ClassGen; import org.apache.bcel.generic.ClassGenException; import org.apache.bcel.generic.CodeExceptionGen; @@ -108,30 +109,23 @@ import org.checkerframework.checker.signature.qual.BinaryName; import org.checkerframework.checker.signature.qual.ClassGetName; import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; +import org.checkerframework.checker.signature.qual.FieldDescriptor; +import org.checkerframework.checker.signature.qual.FqBinaryName; import org.checkerframework.dataflow.qual.Pure; /** * Instruments a class file to perform Dynamic Comparability. * - *

Starting with JDK 24, Java has added a set of APIs for reading and modifying .class files - * ({@code java.lang.classfile}). - * - *

We are migrating from BCEL to this new set of APIs for two main reasons: - * - *

    - *
  1. The new APIs are more complete and robust - no more fiddling with StackMaps. - *
  2. Since the new APIs are part of the official JDK release, they will always be up to date - * with any .class file changes. - *
- * - *

The files Instrument24.java and DCInstrument24.java were added to DynComp to use this new set - * of APIs instead of BCEL. (We will need to continue to support Instrument.java and - * DCInstrument.java using BCEL, as we do not anticipate our clients moving from JDK 8, 11, 17 or 21 - * to JDK 24 for quite some time.) - * *

The DCInstrument24 class is responsible for modifying another class's bytecodes. Specifically, * its main task is to add calls into the DynComp Runtime to calculate comparability values. These * added calls are sometimes referred to as "hooks". + * + *

Instrument24 and DCInstrument24 use Java's ({@code java.lang.classfile}) APIs for reading and + * modifying .class files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more + * complete and robust (no more fiddling with StackMaps) and are always up to date with any .class + * file changes (since they are part of the JDK). (We will need to continue to support + * Instrument.java using BCEL, as we anticipate our clients using JDK 21 or less for quite some + * time.) */ @SuppressWarnings("nullness") public class DCInstrument24 { @@ -173,41 +167,6 @@ public class DCInstrument24 { /** ConstantPool builder for entire class. */ private ConstantPoolBuilder poolBuilder; - // Variables used for the entire method. - // They are initialized in instrumentCode(). - - /** CodeBuilder for the current method. */ - private CodeBuilder currentCodeBuilder; - - /** Next available slot in localsTable currently always = max locals. */ - private int nextLocalIndex; - - /** Local variable table (stored as an ArrayList). */ - List localsTable; - - /** Mapping from instructions to labels. */ - // Used to associate a label with a location within the codelist - public Map labelMap = new HashMap<>(); - - // Note that the next three items are CodeBuilder Labels. - // These are different from CodeModel Labels. - /** Label for first byte code of method, used to give new locals method scope. */ - private Label startLabel; - - /** Label for last byte code of method, used to give new locals method scope. */ - private Label endLabel; - - /** Label for start of orignal code, post insertion of entry instrumentation. */ - private Label entryLabel; - - /** Label for first byte code of method, as a CodeModel Label. */ - private @Nullable Label oldStartLabel; - - /** Variables used for instrumentation. */ - @Nullable LocalVariable nonceLocal, returnLocal; - - // End of method variables. - /** ClassGen for the current class. */ protected ClassGen gen; @@ -354,8 +313,8 @@ protected enum JUnitState { new MethodDef("wait", new Type[] {Type.LONG, Type.INT}), }; - protected static InstructionList global_catch_il; - protected static CodeExceptionGen global_exception_handler; + protected static InstructionList global_catch_il = null; + protected static CodeExceptionGen global_exception_handler = null; private InstructionHandle insertion_placeholder; /** Class that defines a method (by its name and argument types) */ @@ -421,7 +380,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk } else { dcomp_prefix = "daikon.dcomp"; } - dcomp_marker = ClassDesc.of(dcomp_prefix + ".DCompMarker"); + dcomp_marker = ClassDesc.of(Signatures.addPackage(dcomp_prefix, "DCompMarker")); if (BcelUtil.javaVersion == 8) { dcomp_prefix = "daikon.dcomp"; } @@ -430,6 +389,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // System.out.printf("DCInstrument %s%n", orig_class.getClassName()); // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; + debugInstrument.enabled = true; debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; } @@ -441,6 +401,31 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk * @return the modified JavaClass */ public byte @Nullable [] instrument(ClassInfo classInfo) { + + // Don't know where I got this idea. They are executed. Don't remember why + // adding dcomp marker causes problems. + // Don't instrument annotations. They aren't executed and adding + // the marker argument causes subtle errors + if ((classModel.flags().has(AccessFlag.ANNOTATION))) { + debug_transform.log("Not instrumenting annotation %s%n", classInfo.class_name); + return null; + } + + // If a class has an EvoSuite annotation it may be instrumented by Evosuite; + // thus, we should not instrument it before Evosuite does. + for (java.lang.classfile.Attribute attribute : classModel.attributes()) { + if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { + for (final Annotation item : rvaa.annotations()) { + System.out.print("annotation: " + item.className().stringValue()); + if (item.className().stringValue().startsWith("@Lorg/evosuite/runtime")) { + debug_transform.log( + "Not instrumenting possible Evosuite target: %s%n", classInfo.class_name); + return null; + } + } + } + } + try { return classFile.build( classModel.thisClass().asSymbol(), @@ -457,7 +442,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk * * @param classBuilder for the class * @param classModel for the class - * @param loader the class loader for the class + * @param classInfo for the given class */ private void instrumentClass( ClassBuilder classBuilder, ClassModel classModel, ClassInfo classInfo) { @@ -471,13 +456,14 @@ private void instrumentClass( } /** - * Instrument all the methods in a class. For each method, add instrumentation code at the entry + * Instruments all the methods in a class. For each method, adds instrumentation code at the entry * and at each return from the method. In addition, changes each return statement to first place * the value being returned into a local and then return. This allows us to work around the JDI * deficiency of not being able to query return values. * * @param classModel for current class * @param classBuilder for current class + * @param classInfo for the given class */ private void instrument_all_methods( ClassModel classModel, ClassBuilder classBuilder, ClassInfo classInfo) { @@ -504,14 +490,47 @@ private void instrument_all_methods( // DynComp does this by creating a new instrumentation object // for each class - probably a cleaner solution. synchronized (this) { - MethodGen24 mgen = new MethodGen24(mm, binaryClassName, classBuilder); + MethodGen24 mgen = new MethodGen24(mm, classInfo.class_name, classBuilder); + + if (debugInstrument.enabled) { + ClassDesc[] paramTypes = mgen.getParameterTypes(); + String[] paramNames = mgen.getParameterNames(); + LocalVariable[] local_vars = mgen.getLocalVariables(); + String types = "", names = "", locals = ""; + + for (int j = 0; j < paramTypes.length; j++) { + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String paramFD = paramTypes[j].descriptorString(); + types = types + convertDescriptorToFqBinaryName(paramFD) + " "; + } + for (int j = 0; j < paramNames.length; j++) { + names = names + paramNames[j] + " "; + } + for (int j = 0; j < local_vars.length; j++) { + locals = locals + local_vars[j].name().stringValue() + " "; + } + debugInstrument.log("%nMethod = %s%n", mgen); + debugInstrument.log("paramTypes(%d): %s%n", paramTypes.length, types); + debugInstrument.log("paramNames(%d): %s%n", paramNames.length, names); + debugInstrument.log("localvars(%d): %s%n", local_vars.length, locals); + // debugInstrument.log("Original code: %s%n", mgen.getMethod().getCode()); + debugInstrument.log("Method Attributes:%n"); + for (java.lang.classfile.Attribute a : mm.attributes()) { + debugInstrument.log(" %s%n", a); + } + debugInstrument.log("mgen.getSignature: %s%n", mgen.getSignature()); + MethodTypeDesc mtd = mm.methodTypeSymbol(); + debugInstrument.log("mtd.descriptorString: %s%n", mtd.descriptorString()); + debugInstrument.log("mtd.displayDescriptor: %s%n", mtd.displayDescriptor()); + } + int method_info_index = 0; classBuilder.withMethod( mm.methodName().stringValue(), mm.methodTypeSymbol(), mm.flags().flagsMask(), - methodBuilder -> outputMethod(methodBuilder, mm, mgen)); - continue; + methodBuilder -> + instrumentMethod(methodBuilder, mm, mgen, curMethodInfo, method_info_index)); } } } catch (Exception e) { @@ -519,19 +538,19 @@ private void instrument_all_methods( e.printStackTrace(); } - // copy all other ClassElements to output class (unchanged) + // Copy all other ClassElements to output class (unchanged). for (ClassElement ce : classModel) { debugInstrument.log("ClassElement: %s%n", ce); switch (ce) { case MethodModel mm -> {} - // copy all other ClassElements to output class (unchanged) + // Copy all other ClassElements to output class (unchanged). default -> classBuilder.with(ce); } } // Add the class and method information to runtime so it is available // as enter/exit ppts are processed. - // classInfo.set_method_infos(method_infos); + classInfo.set_method_infos(method_infos); if (shouldInclude) { debug_transform.log("Added trace info to class %s%n", classInfo); @@ -542,20 +561,35 @@ private void instrument_all_methods( } /** - * Output current method with no changes. + * Copy the given method from the input class file to the output output class with no changes. + * Uses {@code copyMethod} to perform the actual copy. + * + * @param classBuilder for the output class + * @param mm MethodModel describes the input method + * @param mgen describes the output method + */ + private void outputMethodUnchanged(ClassBuilder classBuilder, MethodModel mm, MethodGen24 mgen) { + classBuilder.withMethod( + mm.methodName().stringValue(), + mm.methodTypeSymbol(), + mm.flags().flagsMask(), + methodBuilder -> copyMethod(methodBuilder, mm, mgen)); + } + + /** + * Copy the given method from the input class file to the output output class with no changes. * - * @param methodBuilder for the current method - * @param methodModel for the current method - * @param mgen MethodGen24 for the current method + * @param methodBuilder for the output class + * @param methodModel describes the input method + * @param mgen describes the output method */ - private void outputMethod( - MethodBuilder methodBuilder, MethodModel methodModel, MethodGen24 mgen) { + private void copyMethod(MethodBuilder methodBuilder, MethodModel methodModel, MethodGen24 mgen) { for (MethodElement me : methodModel) { debugInstrument.log("MethodElement: %s%n", me); switch (me) { case CodeModel codeModel -> - methodBuilder.withCode(codeBuilder -> outputCode(codeBuilder, mgen)); + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, mgen.getInstructionList())); // copy all other MethodElements to output class (unchanged) default -> methodBuilder.with(me); @@ -564,35 +598,42 @@ private void outputMethod( } /** - * Output code for current method with no changes. + * Copy an instruction list into the given method. * - * @param codeBuilder for the current method's code - * @param mgen MethodGen24 for the current method + * @param codeBuilder for the given method's code + * @param instructions instruction list to copy */ - private void outputCode(CodeBuilder codeBuilder, MethodGen24 mgen) { + private void copyCode(CodeBuilder codeBuilder, List instructions) { - // Copy the modified instruction list to the output class. - for (CodeElement ce : mgen.getInstructionList()) { + for (CodeElement ce : instructions) { debugInstrument.log("CodeElement: %s%n", ce); codeBuilder.with(ce); } } /** - * Instrument the current method. + * Instrument the given method using {@link #instrumentCode}. * - * @param methodBuilder for the current method - * @param methodModel for the current method - * @param mgen MethodGen24 for the current method + * @param methodBuilder for the given method + * @param methodModel for the given method + * @param mgen describes the given method + * @param curMethodInfo provides additional information about the method + * @param method_info_index the index of the method in SharedData.methods */ private void instrumentMethod( - MethodBuilder methodBuilder, MethodModel methodModel, MethodGen24 mgen) { + MethodBuilder methodBuilder, + MethodModel methodModel, + MethodGen24 mgen, + MethodInfo curMethodInfo, + int method_info_index) { for (MethodElement me : methodModel) { debugInstrument.log("MethodElement: %s%n", me); switch (me) { case CodeModel codeModel -> - methodBuilder.withCode(codeBuilder -> instrumentCode(codeBuilder, codeModel, mgen)); + methodBuilder.withCode( + codeBuilder -> + instrumentCode(codeBuilder, codeModel, mgen, curMethodInfo, method_info_index)); // copy all other MethodElements to output class (unchanged) default -> methodBuilder.with(me); @@ -601,24 +642,75 @@ private void instrumentMethod( } /** - * Generate instrumentation code for the current method. + * Insert the our instrumentation code into the instruction list for the given method. This + * includes adding instrumentation code at the entry and at each return from the method. In + * addition, it changes each return statement to first place the value being returned into a local + * and then return. * - * @param codeBuilder for the current method's code - * @param codeModel for the current method's code - * @param mgen MethodGen24 for the current method + * @param instructions instruction list for method + * @param mgen describes the given method + * @param curMethodInfo provides additional information about the method + * @param minfo for the given method's code */ - private void instrumentCode(CodeBuilder codeBuilder, CodeModel codeModel, MethodGen24 mgen) { + private void insertInstrumentationCode( + List instructions, + MethodGen24 mgen, + MethodInfo curMethodInfo, + MethodGen24.MInfo24 minfo) { - // ititialize all the items associated with the local variables - nextLocalIndex = mgen.getMaxLocals(); - startLabel = codeBuilder.startLabel(); - endLabel = codeBuilder.endLabel(); + // Add nonce local to matchup enter/exits + // addInstrumentationAtEntry(instructions, mgen, minfo); - nonceLocal = null; - returnLocal = null; - currentCodeBuilder = codeBuilder; - oldStartLabel = null; - labelMap.clear(); + // debugInstrument.log("Modified code: %s%n", mgen.getMethod().getCode()); + + assert curMethodInfo != null : "@AssumeAssertion(nullness): can't get here if null"; + Iterator shouldIncludeIter = curMethodInfo.is_included.iterator(); + Iterator exitLocationIter = curMethodInfo.exit_locations.iterator(); + + // instrument return instructions + ListIterator li = instructions.listIterator(); + while (li.hasNext()) { + + CodeElement inst = li.next(); + + // back up iterator to point to 'inst' + li.previous(); + + // If this is a return instruction, insert method exit instrumentation + // List new_il = + // generate_return_instrumentation(inst, mgen, minfo, shouldIncludeIter, exitLocationIter); + + // insert code prior to 'inst' + // for (CodeElement ce : new_il) { + // li.add(ce); + // } + + // skip over 'inst' we just inserted new_il in front of + li.next(); + } + } + + /** + * Generate instrumentation code for the given method. This includes reading in and processing the + * original instruction list, calling {@code insertInstrumentationCode} to add the instrumentation + * code, and then copying the modified instruction list to the output method while updating the + * code labels, if needed. + * + * @param codeBuilder for the given method's code + * @param codeModel for the input method's code + * @param mgen describes the output method + * @param curMethodInfo provides additional information about the method + * @param method_info_index the index of the method in SharedData.methods + */ + private void instrumentCode( + CodeBuilder codeBuilder, + CodeModel codeModel, + MethodGen24 mgen, + MethodInfo curMethodInfo, + int method_info_index) { + + MethodGen24.MInfo24 minfo = + new MethodGen24.MInfo24(method_info_index, mgen.getMaxLocals(), codeBuilder); @SuppressWarnings("JdkObsolete") List codeList = new LinkedList<>(); @@ -628,17 +720,13 @@ private void instrumentCode(CodeBuilder codeBuilder, CodeModel codeModel, Method debugInstrument.log(" %s%n", a); } - /* - * The localsTable was initialized in the MethodGen24 constructor. - * Here we initialize the codeList. We also remove the local variable - * type records. Some instrumentation changes require these to be - * updated, but it should be safe to just delete them since the - * LocalVariableTypeTable is optional and really only of use to a debugger. - * We also save the CodeModel label at the start of the byte codes, - * if there is one. If there isn't, that is okay as it means the original - * code did not reference byte code offset 0 so inserting our instrumentation - * code at that point will not cause a problem. - */ + // The localsTable was initialized in the MethodGen24 constructor. Here we initialize the + // codeList. We also remove the local variable type records. Some instrumentation changes + // require these to be updated, but it should be safe to just delete them since the + // LocalVariableTypeTable is optional and really only of use to a debugger. We also save the + // CodeModel label at the start of the byte codes, if there is one. If there isn't, that is + // okay as it means the original code did not reference byte code offset 0 so inserting our + // instrumentation code at that point will not cause a problem. @SuppressWarnings("nullness:assignment") // can't have gotten here if CodeAttribute is null @NonNull CodeAttribute ca = mgen.getCodeAttribute(); for (CodeElement ce : mgen.getInstructionList()) { @@ -646,72 +734,74 @@ private void instrumentCode(CodeBuilder codeBuilder, CodeModel codeModel, Method switch (ce) { case LocalVariable lv -> {} // we have alreay processed these case LocalVariableType lvt -> {} // we can discard local variable types + // debuging code + // case LocalVariableType lvt -> { + // @FieldDescriptor String lvFD = lvt.signatureSymbol().signatureString(); + // System.out.printf(" %s : %s%n", lvt, convertDescriptorToFqBinaryName(lvFD)); } case LabelTarget l -> { - if (ca.labelToBci(l.label()) == 0) oldStartLabel = l.label(); + if (ca.labelToBci(l.label()) == 0) { + minfo.oldStartLabel = l.label(); + } codeList.add(ce); } default -> codeList.add(ce); // save all other elements } } - // START modify codeList - - // Add nonce local to matchup enter/exits - // add_entry_instrumentation(codeList, mgen); - - // debugInstrument.log("Modified code: %s%n", mgen.getMethod().getCode()); - - assert curMethodInfo != null : "@AssumeAssertion(nullness): can't get here if null"; - // Iterator shouldIncIter = curMethodInfo.is_included.iterator(); - // Iterator exitIter = curMethodInfo.exit_locations.iterator(); - - // instrument return instructions - ListIterator li = codeList.listIterator(); - while (li.hasNext()) { - - CodeElement inst = li.next(); - - // // back up iterator to point to 'inst' - // li.previous(); - // - // // If this is a return instruction, insert method exit instrumentation - // List new_il = - // generate_return_instrumentation(inst, mgen, shouldIncIter, exitIter); - // - // // insert code prior to 'inst' - // for (CodeElement ce : new_il) { - // li.add(ce); - // } + // Generate and insert our instrumentation code. + // insertInstrumentationCode(codeList, mgen, curMethodInfo, minfo); + // TEMP CODE + // The start of the list of CodeElements looks as follows: + // LocalVariable declarations (if any) + // Label for start of code (if present) + // LineNumber for start of code (if present) + // + // + // We want to insert our instrumentation code after the LocalVariables (if any) and after the + // inital label (if present), but before any LineNumber or Instruction. + CodeElement inst = null; + try { + ListIterator li = codeList.listIterator(); + while (li.hasNext()) { + inst = li.next(); + if ((inst instanceof LineNumber) || (inst instanceof java.lang.classfile.Instruction)) { + break; + } + } - // skip over 'inst' we just inserted new_il in front of - li.next(); + // Label for new location of start of original code. + debugInstrument.log("entryLabel: %s%n", minfo.entryLabel); + assert inst != null : "@AssumeAssertion(nullness): inst will always be set in loop above"; + minfo.labelMap.put(inst, minfo.entryLabel); + } catch (Exception e) { + System.err.printf("Unexpected exception encountered: %s", e); + e.printStackTrace(); } - // END modify codeList - // Copy the modified local variable table to the output class. debugInstrument.log("LocalVariableTable:%n"); - for (LocalVariable lv : localsTable) { + for (LocalVariable lv : mgen.localsTable) { codeBuilder.localVariable( lv.slot(), lv.name().stringValue(), lv.typeSymbol(), lv.startScope(), lv.endScope()); - debugInstrument.log( - " %s : %s%n", lv, convertDescriptorToString(lv.typeSymbol().descriptorString())); + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String lvFD = lv.typeSymbol().descriptorString(); + debugInstrument.log(" %s : %s%n", lv, convertDescriptorToFqBinaryName(lvFD)); } // Copy the modified instruction list to the output class. for (CodeElement ce : codeList) { // If there is a new CodeBuilder label associated with this instruction, it needs to be // defined. - Label l = labelMap.get(ce); + Label l = minfo.labelMap.get(ce); if (l != null) { debugInstrument.log("Label: %s%n", l); - currentCodeBuilder.labelBinding(l); - // We've defined the label, remove it from the map - labelMap.remove(ce); + codeBuilder.labelBinding(l); + // We've defined the label, remove it from the map. + minfo.labelMap.remove(ce); } // If this instruction references a Label, we need to see if it is the oldStartLabel - // and, if so, replace the target with our new entryLabel - // ce = checkTargetLabel(ce); + // and, if so, replace the target with our new entryLabel. + ce = retargetStartLabel(ce, minfo); debugInstrument.log("CodeElement: %s%n", ce); codeBuilder.with(ce); } @@ -1107,6 +1197,15 @@ public JavaClass old_instrument() { track_class_init(); debug_transform.exdent(); + // The code that builds the list of daikon variables for each ppt + // needs to know what classes are instrumented. Its looks in the + // Chicory runtime for this information. + if (track_class) { + debug_transform.log("DCInstrument adding %s to all class list%n", class_info); + synchronized (daikon.chicory.SharedData.all_classes) { + daikon.chicory.SharedData.all_classes.add(class_info); + } + } debug_transform.log("Instrumentation complete: %s%n", classname); return gen.getJavaClass().copy(); @@ -1403,12 +1502,12 @@ public void instrument_method(MethodGen mg) { // a simple array for now. If this turns out to not be the // case we will need to use a hash map. - int[] handle_offsets = new int[il.getLength()]; + // int[] handle_offsets = new int[il.getLength()]; InstructionHandle ih = orig_start; - int index = 0; + // int index = 0; // Loop through each instruction, building up offset map. while (ih != null) { - handle_offsets[index++] = ih.getPosition(); + // handle_offsets[index++] = ih.getPosition(); if (debugInstrument.enabled) { debugInstrument.log("inst: %s %n", ih); @@ -1420,7 +1519,7 @@ public void instrument_method(MethodGen mg) { ih = ih.getNext(); } - index = 0; + // index = 0; // Loop through each instruction, making substitutions for (ih = orig_start; ih != null; ) { debugInstrument.log("instrumenting instruction %s%n", ih); @@ -1508,9 +1607,9 @@ public void add_exception_handler(MethodGen mg, InstructionList catch_il) { } } - InstructionList cur_il = mg.getInstructionList(); - InstructionHandle start = cur_il.getStart(); - InstructionHandle end = cur_il.getEnd(); + // InstructionList cur_il = mg.getInstructionList(); + // InstructionHandle start = cur_il.getStart(); + // InstructionHandle end = cur_il.getEnd(); // This is just a temporary handler to get the start and end // address tracked as we make code modifications. @@ -1598,7 +1697,7 @@ public void add_create_tag_frame(MethodGen mg) { byte[] code = nl.getByteCode(); // -1 because of the NOP we inserted. - int len_code = code.length - 1; + // int len_code = code.length - 1; // insertAtMethodStart(mg, nl); // @@ -1662,7 +1761,7 @@ public void add_create_tag_frame(MethodGen mg) { * @param method_info_index index for MethodInfo */ public void add_enter(MethodGen mg, MethodInfo mi, int method_info_index) { - InstructionList il = mg.getInstructionList(); + // InstructionList il = mg.getInstructionList(); // replaceInstructions( // mg, il, insertion_placeholder, call_enter_exit(mg, method_info_index, "enter", -1)); } @@ -1739,7 +1838,7 @@ InstructionList create_tag_frame(MethodGen mg, LocalVariableGen tag_frame_local) * @param line source line number if type is exit * @return InstructionList for the enter or exit code */ - InstructionList call_enter_exit( + InstructionList callEnterOrExit( MethodGen mg, int method_info_index, String method_name, int line) { InstructionList il = new InstructionList(); @@ -1776,7 +1875,7 @@ InstructionList call_enter_exit( Type at = arg_types[ii]; if (at instanceof BasicType) { il.append(new ACONST_NULL()); - // il.append (create_wrapper (c, at, param_index)); + // il.append (createPrimitiveWrapper (c, at, param_index)); } else { // must be reference of some sort il.append(InstructionFactory.createLoad(Type.OBJECT, param_index)); } @@ -1796,7 +1895,7 @@ InstructionList call_enter_exit( LocalVariableGen return_local = get_return_local(mg, returnType); if (returnType instanceof BasicType) { il.append(new ACONST_NULL()); - // il.append (create_wrapper (c, returnType, return_local.getIndex())); + // il.append (createPrimitiveWrapper (c, returnType, return_local.getIndex())); } else { il.append(InstructionFactory.createLoad(Type.OBJECT, return_local.getIndex())); } @@ -1839,9 +1938,11 @@ InstructionList call_enter_exit( // DCRuntime.object_eq or DCRuntime.object_ne. Those methods // return a boolean which is used in a ifeq/ifne instruction case Const.IF_ACMPEQ: - return object_comparison((BranchInstruction) inst, "object_eq", Const.IFNE); + // return object_comparison((BranchInstruction) inst, "object_eq", Const.IFNE); + return null; case Const.IF_ACMPNE: - return object_comparison((BranchInstruction) inst, "object_ne", Const.IFNE); + // return object_comparison((BranchInstruction) inst, "object_ne", Const.IFNE); + return null; // These instructions compare the integer on the top of the stack // to zero. Nothing is made comparable by this, so we need only @@ -1938,6 +2039,7 @@ InstructionList call_enter_exit( case Const.IF_ICMPNE: { // return build_il(dcr_call("cmp_op", Type.VOID, Type.NO_ARGS), inst); + return null; } case Const.GETFIELD: @@ -2041,6 +2143,7 @@ InstructionList call_enter_exit( case Const.LCONST_1: { // return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); + return null; } // Primitive Binary operators. Each is augmented with a call to @@ -2084,6 +2187,7 @@ InstructionList call_enter_exit( case Const.LUSHR: case Const.LXOR: // return build_il(dcr_call("binary_tag_op", Type.VOID, Type.NO_ARGS), inst); + return null; // Computed jump based on the int on the top of stack. Since that int // is not made comparable to anything, we just discard its tag. One @@ -2180,6 +2284,7 @@ InstructionList call_enter_exit( // frame. We need to clear the tag stack as well. case Const.ATHROW: // return build_il(dcr_call("throw_op", Type.VOID, Type.NO_ARGS), inst); + return null; // Opcodes that don't need any modifications. Here for reference case Const.ACONST_NULL: @@ -2269,7 +2374,7 @@ void add_exit(MethodGen mg, MethodInfo mi, int method_info_index) { new_il.append(InstructionFactory.createDup(type.getSize())); new_il.append(InstructionFactory.createStore(type, return_loc.getIndex())); } - new_il.append(call_enter_exit(mg, method_info_index, "exit", exit_iter.next())); + new_il.append(callEnterOrExit(mg, method_info_index, "exit", exit_iter.next())); new_il.append(inst); // replaceInstructions(mg, il, ih, new_il); } @@ -2892,22 +2997,21 @@ InstructionList instrument_clone_call(InvokeInstruction invoke) { return il; } - /** - * Create the instructions that replace the object eq or ne branch instruction. They are replaced - * by a call to the specified compare_method (which returns a boolean) followed by the specified - * boolean ifeq or ifne instruction. - */ - InstructionList object_comparison( - BranchInstruction branch, String compare_method, short boolean_if) { - - InstructionList il = new InstructionList(); - il.append( - ifact.createInvoke( - dcompRuntimeClassName, compare_method, Type.BOOLEAN, two_objects, Const.INVOKESTATIC)); - assert branch.getTarget() != null; - il.append(InstructionFactory.createBranchInstruction(boolean_if, branch.getTarget())); - return il; - } + // * Create the instructions that replace the object eq or ne branch instruction. They are + // replaced + // * by a call to the specified compare_method (which returns a boolean) followed by the specified + // * boolean ifeq or ifne instruction. + // InstructionList object_comparison( + // BranchInstruction branch, String compare_method, short boolean_if) { + // + // InstructionList il = new InstructionList(); + // il.append( + // ifact.createInvoke( + // dcompRuntimeClassName, compare_method, Type.BOOLEAN, two_objects, Const.INVOKESTATIC)); + // assert branch.getTarget() != null; + // il.append(InstructionFactory.createBranchInstruction(boolean_if, branch.getTarget())); + // return il; + // } /** * Handles load and store field instructions. The instructions must be augmented to either push @@ -3026,6 +3130,45 @@ InstructionList load_store_local( return il; } + /** Returns the number of the specified field in the primitive fields of obj_type. */ + int get_field_num(String name, ObjectType obj_type) { + + // If this is the current class, get the information directly + // if (obj_type.getClassName().equals(orig_class.getClassName())) { + // int fcnt = 0; + // for (Field f : orig_class.getFields()) { + // if (f.getName().equals(name)) { + // return fcnt; + // } + // if (f.getType() instanceof BasicType) { + // fcnt++; + // } + // } + // throw new Error("Can't find " + name + " in " + obj_type); + // } + + // Look up the class using this classes class loader. This may + // not be the best way to accomplish this. + Class obj_class; + try { + obj_class = Class.forName(obj_type.getClassName(), false, loader); + } catch (Exception e) { + throw new Error("can't find class " + obj_type.getClassName(), e); + } + + // Loop through all of the fields, counting the number of primitive fields + int fcnt = 0; + for (java.lang.reflect.Field f : obj_class.getDeclaredFields()) { + if (f.getName().equals(name)) { + return fcnt; + } + if (f.getType().isPrimitive()) { + fcnt++; + } + } + throw new Error("Can't find " + name + " in " + obj_class); + } + /** * Gets the local variable used to store a category2 temporary. This is used in the PUTFIELD code * to temporarily store the value being placed in the field. @@ -3067,7 +3210,7 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { assert (return_type != null) : " return__$trace2_val doesn't exist"; } else { assert return_type.equals(return_local.getType()) - : " return_type = " + return_type + "current type = " + return_local.getType(); + : " return_type = " + return_type + "; current type = " + return_local.getType(); } if (return_local == null) { @@ -3376,7 +3519,7 @@ InstructionList multiarray2(Instruction inst) { */ boolean should_track(@BinaryName String className, String methodName, String pptName) { - debug_transform.log("Considering tracking ppt: %s, %s, %s%n", className, methodName, pptName); + debugInstrument.log("Considering tracking ppt: %s, %s, %s%n", className, methodName, pptName); // Don't track any JDK classes if (BcelUtil.inJdk(className)) { @@ -4571,24 +4714,134 @@ protected String simplify_method_name(Method m) { // Remove exceptions from the full method name String full_name = m.toString().replaceFirst("\\s*throws.*", ""); // Remove annotations from full method name - return full_name.replaceAll(" \\[.*\\]", ""); + return full_name.replaceFirst("(?s) \\[.*", ""); + } + + /** Variables used for processing a switch instruction. */ + private static class ModifiedSwitchInfo { + + /** Possibly modified default switch target. */ + public Label modifiedTarget; + + /** Possibly modified switch case list. */ + public List modifiedCaseList; + + /** + * Creates a ModifiedSwitchInfo. + * + * @param modifiedTarget possibly modified default swith target + * @param modifiedCaseList possibly modified switch case list + */ + public ModifiedSwitchInfo(Label modifiedTarget, List modifiedCaseList) { + this.modifiedTarget = modifiedTarget; + this.modifiedCaseList = modifiedCaseList; + } + } + + /** + * Checks to see if the instruction targets the method's CodeModel startLabel (held in + * oldStartLabel). If so, it replaces the target with the entryLabel. Unfortunately, the classfile + * API does not allow us to simply replace the label, we have to replace the entire instruction. + * Note that oldStartLabel may be null, but that is okay as any comparison to it will fail and we + * will do nothing. + * + * @param inst the instruction to check + * @param minfo for the given method's code + * @return the original instruction or its replacement + */ + private CodeElement retargetStartLabel(CodeElement inst, MethodGen24.MInfo24 minfo) { + ModifiedSwitchInfo info; + switch (inst) { + case BranchInstruction bi -> { + if (bi.target().equals(minfo.oldStartLabel)) { + return BranchInstruction.of(bi.opcode(), minfo.entryLabel); + } + } + case ExceptionCatch ec -> { + if (ec.tryStart().equals(minfo.oldStartLabel)) { + return ExceptionCatch.of(ec.handler(), minfo.entryLabel, ec.tryEnd(), ec.catchType()); + } + } + case LookupSwitchInstruction ls -> { + info = retargetStartLabel(ls.defaultTarget(), ls.cases(), minfo); + if (info != null) { + return LookupSwitchInstruction.of(info.modifiedTarget, info.modifiedCaseList); + } + } + case TableSwitchInstruction ts -> { + info = retargetStartLabel(ts.defaultTarget(), ts.cases(), minfo); + if (info != null) { + return TableSwitchInstruction.of( + ts.lowValue(), ts.highValue(), info.modifiedTarget, info.modifiedCaseList); + } + } + default -> {} + } + return inst; + } + + /** + * Checks to see if a switch instruction's default target or any of the case targets refers to + * {@code minfo.oldStartLabel}. If so, replace those targets with the entryLabel, and return the + * result in a ModifiedSwitchInfo. Otherwise, return null. + * + * @param defaultTarget the default target for the switch instruction + * @param caseList the case list for the switch instruction + * @param minfo for the given method's code + * @return a ModifiedSwitchInfo with the changed values, or null if no changes + */ + private @Nullable ModifiedSwitchInfo retargetStartLabel( + Label defaultTarget, List caseList, MethodGen24.MInfo24 minfo) { + Label modifiedTarget; + boolean modified = false; + + if (defaultTarget.equals(minfo.oldStartLabel)) { + modifiedTarget = minfo.entryLabel; + modified = true; + } else { + modifiedTarget = defaultTarget; + } + + List newCaseList = new ArrayList(); + for (SwitchCase item : caseList) { + if (item.target().equals(minfo.oldStartLabel)) { + newCaseList.add(SwitchCase.of(item.caseValue(), minfo.entryLabel)); + modified = true; + } else { + newCaseList.add(item); + } + } + + if (modified) { + return new ModifiedSwitchInfo(modifiedTarget, newCaseList); + } else { + return null; + } } /** * Format a field descriptor for output. The main difference between a descriptor and a signature - * is that the later may contain type arguments. This routine was orginaly written for + * is that the latter may contain type arguments. This routine was orginaly written for * descriptors, but some support for type arguments has been added. * + *

The output format is an extension of binary name format that includes primitives and arrays. + * It is almost identical to a fully qualified name, but using “$” instead of “.” to separate + * nested classes from their enclosing classes. + * * @param descriptor the object to format - * @return a formatted string + * @return a @FqBinaryName formatted string */ - public static String convertDescriptorToString(String descriptor) { + @SuppressWarnings("signature") // conversion method + public static @FqBinaryName String convertDescriptorToFqBinaryName( + @FieldDescriptor String descriptor) { StringBuilder result = new StringBuilder(); int arrayDimensions = 0; while (descriptor.charAt(0) == '[') { arrayDimensions++; - descriptor = descriptor.substring(1); + @SuppressWarnings("signature") // string manipulation + @FieldDescriptor String descriptorFd = descriptor.substring(1); + descriptor = descriptorFd; } // Convert primitive types @@ -4621,14 +4874,14 @@ public static String convertDescriptorToString(String descriptor) { result.append("void"); break; case 'L': // Object type, starts with 'L' and ends with ';' - result.append(parseObjectType(descriptor)); + result.append(descriptorToFqBinaryName(descriptor)); break; default: throw new IllegalArgumentException("Invalid descriptor: " + descriptor); } // Append array brackets if applicable - while (arrayDimensions-- > 0) { + for (int i = 0; i < arrayDimensions; i++) { result.append("[]"); } @@ -4636,12 +4889,13 @@ public static String convertDescriptorToString(String descriptor) { } /** - * Format an object that may contain generics for output. + * Format a class name that may contain type arguments. * * @param descriptor the object to format - * @return a formatted string + * @return a @FqBinaryName formatted string */ - private static String parseObjectType(String descriptor) { + @SuppressWarnings("signature") // conversion method + private static @FqBinaryName String descriptorToFqBinaryName(String descriptor) { StringBuilder result = new StringBuilder(); int genericStart = descriptor.indexOf('<'); int genericEnd = descriptor.lastIndexOf('>'); @@ -4652,7 +4906,7 @@ private static String parseObjectType(String descriptor) { String baseType = descriptor.substring(1, genericStart).replace('/', '.'); result.append(baseType).append('<'); String genericPart = descriptor.substring(genericStart + 1, genericEnd); - result.append(parseGenericParameters(genericPart)); + result.append(typeArgumentsToBinaryNames(genericPart)); result.append('>'); } else if (endOfBaseType > 0) { // Regular object type @@ -4660,17 +4914,17 @@ private static String parseObjectType(String descriptor) { } else { throw new IllegalArgumentException("Malformed object type descriptor: " + descriptor); } - return result.toString(); } /** - * Format a generic parameter for output. + * Format one or more type parameters. * - * @param genericPart the parameter(s) to format - * @return a formatted string + * @param genericPart the type parameter(s) to format + * @return a string containing a list of types as binary names */ - private static String parseGenericParameters(String genericPart) { + @SuppressWarnings("signature") // string manipulation + private static String typeArgumentsToBinaryNames(String genericPart) { StringBuilder result = new StringBuilder(); int depth = 0; StringBuilder current = new StringBuilder(); @@ -4685,7 +4939,8 @@ private static String parseGenericParameters(String genericPart) { depth--; current.append(c); } else if (c == ';' && depth == 0) { - params.add(convertDescriptorToString(current.toString())); + current.append(c); + params.add(convertDescriptorToFqBinaryName(current.toString())); current.setLength(0); // Clear the buffer } else { current.append(c); @@ -4693,7 +4948,7 @@ private static String parseGenericParameters(String genericPart) { } if (current.length() > 0) { - params.add(convertDescriptorToString(current.toString())); + params.add(convertDescriptorToFqBinaryName(current.toString())); } result.append(String.join(", ", params)); @@ -4707,27 +4962,30 @@ private static String parseGenericParameters(String genericPart) { * @return a string containing the constant's value */ private final String formatConstantDesc(ConstantDesc item) { - String result = ""; try { - result = item.resolveConstantDesc(MethodHandles.lookup()).toString(); + return item.resolveConstantDesc(MethodHandles.lookup()).toString(); } catch (Exception e) { System.err.printf("Unexpected error %s getting constant value for: %s%n", e, item); + return ""; } - return result; } /** - * Create a new local with a scope of the full method. + * Create a new local variable whose scope is the full method. * - * @param localName name of new local - * @param localType type of new local - * @return a LocalVariable for the new local + * @param mgen describes the given method + * @param minfo for the given method's code + * @param localName name of new local variable + * @param localType type of new local variable + * @return the new local variable */ - protected LocalVariable createMethodScopeLocal(String localName, ClassDesc localType) { + protected LocalVariable createLocalWithMethodScope( + MethodGen24 mgen, MethodGen24.MInfo24 minfo, String localName, ClassDesc localType) { LocalVariable newVar = - LocalVariable.of(nextLocalIndex, localName, localType, startLabel, endLabel); - localsTable.add(newVar); - nextLocalIndex += TypeKind.from(localType).slotSize(); + LocalVariable.of( + minfo.nextLocalIndex, localName, localType, minfo.startLabel, minfo.endLabel); + mgen.localsTable.add(newVar); + minfo.nextLocalIndex += TypeKind.from(localType).slotSize(); return newVar; } @@ -4752,7 +5010,7 @@ protected CodeElement buildLDCInstruction(ConstantValueEntry entry) { * @param value to be pushed * @return a push instruction */ - protected CodeElement loadIntegerConstant(final int value) { + protected CodeElement loadIntegerConstant(final int value, MethodGen24 mgen) { return switch (value) { case -1 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_M1); case 0 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_0); @@ -4766,7 +5024,7 @@ protected CodeElement loadIntegerConstant(final int value) { ? ConstantInstruction.ofArgument(Opcode.BIPUSH, value) : (value >= Short.MIN_VALUE && value <= Short.MAX_VALUE) ? ConstantInstruction.ofArgument(Opcode.SIPUSH, value) - : buildLDCInstruction(poolBuilder.intEntry(value)); + : buildLDCInstruction(mgen.getPoolBuilder().intEntry(value)); }; } } diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index bc72260500..1326256dce 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -36,19 +36,17 @@ * file changes (since they are part of the JDK). (We will need to continue to support * Instrument.java using BCEL, as we anticipate our clients using JDK 21 or less for quite some * time.) - * - *

The entry point of {@link ClassFileTransformer} is {@link #transform}. */ public class Instrument24 implements ClassFileTransformer { /** Directory for debug output. */ - File debug_dir; + final File debug_dir; /** Directory into which to dump debug-instrumented classes. */ - File debug_instrumented_dir; + final File debug_instrumented_dir; /** Directory into which to dump original classes. */ - File debug_uninstrumented_dir; + final File debug_uninstrumented_dir; /** Have we seen a class member of a known transformer? */ private static boolean transformer_seen = false; @@ -57,7 +55,7 @@ public class Instrument24 implements ClassFileTransformer { * Debug information about which classes and/or methods are transformed and why. Use * debugInstrument for actual instrumentation details. */ - protected static SimpleLog debug_transform = new SimpleLog(false); + protected static final SimpleLog debug_transform = new SimpleLog(false); /** Create an instrumenter. Setup debug directories, if needed. */ public Instrument24() { @@ -115,7 +113,7 @@ private void outputOldDebugFiles(JavaClass c, File directory, @BinaryName String // ignore the error, it shouldn't affect the instrumentation } } catch (Throwable t) { - System.err.printf("Unexpected error %s dumping out debug files for: %s%n", t, className); + System.err.printf("Unexpected error %s writing debug files for: %s%n", t, className); t.printStackTrace(); // ignore the error, it shouldn't affect the instrumentation } @@ -157,7 +155,7 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str // ignore the error, it shouldn't affect the instrumentation } } catch (Throwable t) { - System.err.printf("Unexpected error %s dumping out debug files for: %s%n", t, className); + System.err.printf("Unexpected error %s writing debug files for: %s%n", t, className); t.printStackTrace(); // ignore the error, it shouldn't affect the instrumentation } @@ -167,6 +165,8 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str * Given a class, return a transformed version of the class that contains instrumentation code. * Because DynComp is invoked as a javaagent, the transform method is called by the Java runtime * each time a new class is loaded. A return value of null leaves the byte codes unchanged. + * + *

{@inheritDoc} */ @Override public byte @Nullable [] transform( @@ -337,6 +337,7 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str ClassInfo classInfo = new ClassInfo(binaryClassName, cfLoader); DCInstrument24 dci = new DCInstrument24(classFile, classModel, in_jdk); byte @Nullable [] newBytes = null; + debug_transform.log("%nTransforming: %s%n", binaryClassName); try { newBytes = dci.instrument(classInfo); } catch (Throwable t) { From b2f7495dcb4754b27e9601bff04938f1a83183f6 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 23 Apr 2025 11:34:00 -0700 Subject: [PATCH 003/211] add more debugging output --- java/daikon/chicory/Instrument24.java | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 7089f1152c..0d9c68ba0a 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -31,6 +31,7 @@ import java.lang.classfile.TypeKind; import java.lang.classfile.attribute.CodeAttribute; import java.lang.classfile.attribute.ConstantValueAttribute; +import java.lang.classfile.constantpool.ClassEntry; import java.lang.classfile.constantpool.ConstantPoolBuilder; import java.lang.classfile.constantpool.ConstantValueEntry; import java.lang.classfile.constantpool.MethodRefEntry; @@ -104,9 +105,6 @@ public class Instrument24 implements ClassFileTransformer { /** The ClassDesc for the Chicory runtime support class. */ private static final ClassDesc runtimeCD = ClassDesc.of(runtime_classname); - /** The ClassDesc for the Java Object class. */ - private static final ClassDesc objectCD = ClassDesc.of("java.lang.Object"); - /** Debug information about which classes and/or methods are transformed and why. */ protected static final SimpleLog debug_transform = new SimpleLog(false); @@ -368,11 +366,21 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str private void instrumentClass( ClassBuilder classBuilder, ClassModel classModel, ClassInfo classInfo) { + debugInstrument.log("Class Name:%n"); + @SuppressWarnings("signature:assignment") // type conversion + @InternalForm String temp = classModel.thisClass().asInternalName(); + debugInstrument.log(" %s%n", Signatures.internalFormToBinaryName(temp)); + debugInstrument.log("Class Attributes:%n"); for (java.lang.classfile.Attribute a : classModel.attributes()) { debugInstrument.log(" %s%n", a); } + debugInstrument.log("Class Interfaces:%n"); + for (ClassEntry ce : classModel.interfaces()) { + debugInstrument.log(" %s%n", ce.asInternalName()); + } + // Modify each non-void method to save its result in a local variable before returning. instrument_all_methods(classModel, classBuilder, classInfo); @@ -561,6 +569,9 @@ private void instrument_all_methods( for (java.lang.classfile.Attribute a : mm.attributes()) { debugInstrument.log(" %s%n", a); } + debugInstrument.log("mm.methodName: %s%n", mm.methodName().stringValue()); + debugInstrument.log("mm.methodType: %s%n", mm.methodType().stringValue()); + debugInstrument.log("mgen.getSignature: %s%n", mgen.getSignature()); MethodTypeDesc mtd = mm.methodTypeSymbol(); debugInstrument.log("mtd.descriptorString: %s%n", mtd.descriptorString()); @@ -1073,8 +1084,8 @@ private void callEnterOrExit( // anewarray // Create an array of objects with elements for each parameter. newCode.add(loadIntegerConstant(paramTypes.length, mgen)); - ClassDesc objectArrayCD = objectCD.arrayType(1); - newCode.add(NewReferenceArrayInstruction.of(mgen.getPoolBuilder().classEntry(objectCD))); + ClassDesc objectArrayCD = CD_Object.arrayType(1); + newCode.add(NewReferenceArrayInstruction.of(mgen.getPoolBuilder().classEntry(CD_Object))); // Put each parameter into the array. int param_index = param_offset; @@ -1316,7 +1327,7 @@ private boolean isConstructor(MethodGen24 mgen) { * @return the class name in ClassGetName format */ @SuppressWarnings("signature") // conversion method - private static @ClassGetName String typeToClassGetName(ClassDesc t) { + public static @ClassGetName String typeToClassGetName(ClassDesc t) { String s = t.descriptorString(); if (s.startsWith("[")) { return s.replace('/', '.'); From 99714549f0304254069d576992d6abab6f7718f9 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 23 Apr 2025 11:36:05 -0700 Subject: [PATCH 004/211] add support for BcelUtils24 --- java/daikon/chicory/MethodGen24.java | 59 +++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index cd6f430d57..87659f1d71 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -1,5 +1,8 @@ package daikon.chicory; +import static java.lang.constant.ConstantDescs.CD_String; +import static java.lang.constant.ConstantDescs.CD_void; + import java.lang.classfile.AccessFlags; import java.lang.classfile.Attributes; import java.lang.classfile.ClassBuilder; @@ -128,7 +131,7 @@ public class MethodGen24 { * The method's local variable table. Often modified by clients, normally to add additional local * variables needed for instrumentation. */ - public List localsTable; + public ArrayList localsTable; /** ConstantPool builder for entire class. */ // TODO: Should uses of this be synchronized? @@ -248,6 +251,10 @@ public MethodGen24( mtd = methodModel.methodTypeSymbol(); paramTypes = mtd.parameterArray(); + // We need a deep copy and ClassDesc does not have a clone() method + for (int i = 0; i < paramTypes.length; i++) { + paramTypes[i] = ClassDesc.ofDescriptor(paramTypes[i].descriptorString()); + } returnType = mtd.returnType(); // Set up the localsTable. @@ -294,6 +301,38 @@ public AccessFlags getAccessFlags() { return accessFlags; } + /** + * Return whether or not the method is a constructor. + * + * @return true iff the method is a constructor + */ + public final boolean isConstructor() { + return methodName.equals(""); + } + + /** + * Return whether or not the method is a class initializer. + * + * @return true iff the method is a class initializer + */ + public final boolean isClinit() { + return methodName.equals(""); + } + + /** + * Returns whether or not this is a standard main method (static, void, name is 'main', and one + * formal parameter: a string array). + * + * @return true iff the method is a main method + */ + public final boolean isMain() { + return isStatic + && returnType.equals(CD_void) + && methodName.equals("main") + && (paramTypes.length == 1) + && paramTypes[0].equals(CD_String.arrayType(1)); + } + /** * Return true if the method is static. * @@ -340,6 +379,15 @@ public String[] getParameterNames() { return paramNames.clone(); } + /** + * Set the parameter names. + * + * @param paramNames the new paramNames array + */ + public void setParameterNames(final String[] paramNames) { + this.paramNames = paramNames; + } + /** * Return the type of the ith parameter. * @@ -359,6 +407,15 @@ public ClassDesc[] getParameterTypes() { return paramTypes.clone(); } + /** + * Set the parameter types. + * + * @param paramTypes the new paramTypes array + */ + public void setParameterTypes(final ClassDesc[] paramTypes) { + this.paramTypes = paramTypes; + } + /** * Return the local variable table. * From 688f5e0a0c992db28bd17ce137d3d1ba8d8490d9 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 23 Apr 2025 11:44:31 -0700 Subject: [PATCH 005/211] add more debuggin output --- java/daikon/dcomp/DCInstrument.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index d054018527..33427b907f 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -3055,22 +3055,29 @@ InstructionList multiarray2(Instruction inst) { boolean should_track(@BinaryName String className, String methodName, String pptName) { debugInstrument.log("Considering tracking ppt: %s, %s, %s%n", className, methodName, pptName); + debug_transform.log("Consider collecting data for ppt: %s%n", pptName); // Don't track any JDK classes if (BcelUtil.inJdk(className)) { - debug_transform.log("ignoring %s, is a JDK class%n", className); + debug_transform.log("not including as %s is a JDK class%n", className); return false; } // Don't track toString methods because we call them in // our debug statements. if (pptName.contains("toString")) { - debug_transform.log("ignoring %s, is a toString method%n", pptName); + debug_transform.log("not including %s, as it is a toString method%n", pptName); return false; } // call shouldIgnore to check ppt-omit-pattern(s) and ppt-select-pattern(s) - return !daikon.chicory.Instrument.shouldIgnore(className, methodName, pptName); + if (daikon.chicory.Instrument.shouldIgnore(className, methodName, pptName)) { + debug_transform.log("ignoring %s, not included in ppt_select patterns%n", pptName); + return false; + } else { + debug_transform.log("including %s%n", pptName); + return true; + } } /** From 6c5ff33caf5fe57f69560bb17fb429a78057fc49 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 23 Apr 2025 11:45:25 -0700 Subject: [PATCH 006/211] minor cleanup --- java/daikon/dcomp/Instrument24.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 1326256dce..b7d4fd07c6 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -67,10 +67,11 @@ public Instrument24() { debug_instrumented_dir = new File(debug_dir, "instrumented"); debug_uninstrumented_dir = new File(debug_dir, "uninstrumented"); - // temporary + // TEMPORARY + debug_transform.enabled = true; daikon.chicory.Instrument.debug_ppt_omit.enabled = DynComp.debug; // temporary to turn on DCInstrument.debug_transform - daikon.dcomp.Instrument.debug_transform.enabled = debug_transform.enabled; + daikon.dcomp.Instrument.debug_transform.enabled = true; if (DynComp.dump) { debug_instrumented_dir.mkdirs(); @@ -180,7 +181,7 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str // for debugging // new Throwable().printStackTrace(); - debug_transform.log("Entering dcomp.Instrument24.transform(): class = %s%n", className); + debug_transform.log("%nEntering dcomp.Instrument24.transform(): class = %s%n", className); @BinaryName String binaryClassName = Signatures.internalFormToBinaryName(className); @@ -337,7 +338,7 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str ClassInfo classInfo = new ClassInfo(binaryClassName, cfLoader); DCInstrument24 dci = new DCInstrument24(classFile, classModel, in_jdk); byte @Nullable [] newBytes = null; - debug_transform.log("%nTransforming: %s%n", binaryClassName); + // debug_transform.log("%nTransforming: %s%n", binaryClassName); try { newBytes = dci.instrument(classInfo); } catch (Throwable t) { From ee753023cd4237d1abd4b03fa5c9a83527002f70 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 23 Apr 2025 12:13:45 -0700 Subject: [PATCH 007/211] checkpoint current work --- java/daikon/chicory/ClassInfo.java | 3 + java/daikon/dcomp/DCInstrument24.java | 1589 ++++++++++++++----------- 2 files changed, 907 insertions(+), 685 deletions(-) diff --git a/java/daikon/chicory/ClassInfo.java b/java/daikon/chicory/ClassInfo.java index f1b0175d9f..1a6be25d63 100644 --- a/java/daikon/chicory/ClassInfo.java +++ b/java/daikon/chicory/ClassInfo.java @@ -25,6 +25,9 @@ public class ClassInfo { /** True if the class has a class initializer. */ public boolean hasClinit; + /** True if the class is a JUnit test class. */ + public boolean isJunitTestClass; + // set by initViaReflection() /** reflection object for this class. */ public @MonotonicNonNull Class clazz; diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 98ec696546..bf1db497d0 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1,11 +1,16 @@ package daikon.dcomp; -import static java.lang.classfile.constantpool.PoolEntry.*; -import static java.lang.constant.ConstantDescs.*; +import static java.lang.constant.ConstantDescs.CD_Object; +import static java.lang.constant.ConstantDescs.CD_String; +import static java.lang.constant.ConstantDescs.CD_boolean; +import static java.lang.constant.ConstantDescs.CD_int; +import static java.lang.constant.ConstantDescs.CD_long; +import static java.lang.constant.ConstantDescs.CD_void; import daikon.DynComp; import daikon.chicory.ClassInfo; import daikon.chicory.DaikonWriter; +import daikon.chicory.Instrument24; import daikon.chicory.MethodGen24; import daikon.chicory.MethodInfo; import daikon.plumelib.bcelutil.BcelUtil; @@ -15,17 +20,48 @@ import daikon.plumelib.util.EntryReader; import java.io.File; import java.io.IOException; -import java.io.InputStream; import java.io.PrintStream; -import java.lang.classfile.*; -import java.lang.classfile.Opcode.*; -import java.lang.classfile.attribute.*; -import java.lang.classfile.constantpool.*; -import java.lang.classfile.instruction.*; -import java.lang.constant.*; +import java.lang.classfile.Annotation; +import java.lang.classfile.ClassBuilder; +import java.lang.classfile.ClassElement; +import java.lang.classfile.ClassFile; +import java.lang.classfile.ClassModel; +import java.lang.classfile.CodeBuilder; +import java.lang.classfile.CodeElement; +import java.lang.classfile.CodeModel; +import java.lang.classfile.FieldModel; +import java.lang.classfile.Label; +import java.lang.classfile.MethodBuilder; +import java.lang.classfile.MethodElement; +import java.lang.classfile.MethodModel; +import java.lang.classfile.Opcode; +import java.lang.classfile.TypeKind; +import java.lang.classfile.attribute.CodeAttribute; +import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import java.lang.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.ConstantPoolBuilder; +import java.lang.classfile.constantpool.ConstantValueEntry; +import java.lang.classfile.constantpool.MethodRefEntry; +import java.lang.classfile.instruction.BranchInstruction; +import java.lang.classfile.instruction.ConstantInstruction; +import java.lang.classfile.instruction.ExceptionCatch; +import java.lang.classfile.instruction.InvokeInstruction; +import java.lang.classfile.instruction.LabelTarget; +import java.lang.classfile.instruction.LineNumber; +import java.lang.classfile.instruction.LoadInstruction; +import java.lang.classfile.instruction.LocalVariable; +import java.lang.classfile.instruction.LocalVariableType; +import java.lang.classfile.instruction.LookupSwitchInstruction; +import java.lang.classfile.instruction.ReturnInstruction; +import java.lang.classfile.instruction.SwitchCase; +import java.lang.classfile.instruction.TableSwitchInstruction; +import java.lang.constant.ClassDesc; +import java.lang.constant.ConstantDesc; +import java.lang.constant.MethodTypeDesc; import java.lang.invoke.MethodHandles; import java.lang.reflect.AccessFlag; import java.net.URL; +import java.nio.file.Paths; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; @@ -38,6 +74,7 @@ import java.util.List; import java.util.ListIterator; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Pattern; @@ -45,10 +82,8 @@ import org.apache.bcel.classfile.AnnotationEntry; import org.apache.bcel.classfile.Annotations; import org.apache.bcel.classfile.Attribute; -import org.apache.bcel.classfile.ClassParser; import org.apache.bcel.classfile.Constant; import org.apache.bcel.classfile.ConstantInterfaceMethodref; -import org.apache.bcel.classfile.Field; import org.apache.bcel.classfile.JavaClass; import org.apache.bcel.classfile.Method; import org.apache.bcel.classfile.RuntimeVisibleAnnotations; @@ -69,7 +104,7 @@ import org.apache.bcel.generic.DUP; import org.apache.bcel.generic.DUP2; import org.apache.bcel.generic.DUP_X2; -import org.apache.bcel.generic.FieldInstruction; +// import org.apache.bcel.generic.FieldInstruction; import org.apache.bcel.generic.GETFIELD; import org.apache.bcel.generic.GETSTATIC; import org.apache.bcel.generic.IADD; @@ -77,16 +112,15 @@ import org.apache.bcel.generic.INVOKEINTERFACE; import org.apache.bcel.generic.INVOKESPECIAL; import org.apache.bcel.generic.INVOKEVIRTUAL; -import org.apache.bcel.generic.Instruction; +// import org.apache.bcel.generic.Instruction; import org.apache.bcel.generic.InstructionFactory; import org.apache.bcel.generic.InstructionHandle; import org.apache.bcel.generic.InstructionList; import org.apache.bcel.generic.InstructionTargeter; -import org.apache.bcel.generic.InvokeInstruction; +// import org.apache.bcel.generic.InvokeInstruction; import org.apache.bcel.generic.LDC; import org.apache.bcel.generic.LDC2_W; -import org.apache.bcel.generic.LineNumberGen; -import org.apache.bcel.generic.LoadInstruction; +// import org.apache.bcel.generic.LoadInstruction; import org.apache.bcel.generic.LocalVariableGen; import org.apache.bcel.generic.LocalVariableInstruction; import org.apache.bcel.generic.MULTIANEWARRAY; @@ -96,9 +130,9 @@ import org.apache.bcel.generic.PUTFIELD; import org.apache.bcel.generic.PUTSTATIC; import org.apache.bcel.generic.ReferenceType; -import org.apache.bcel.generic.ReturnInstruction; +// import org.apache.bcel.generic.ReturnInstruction; import org.apache.bcel.generic.SWAP; -import org.apache.bcel.generic.StoreInstruction; +// import org.apache.bcel.generic.StoreInstruction; import org.apache.bcel.generic.Type; import org.apache.bcel.verifier.structurals.OperandStack; import org.checkerframework.checker.lock.qual.GuardSatisfied; @@ -111,6 +145,7 @@ import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; import org.checkerframework.checker.signature.qual.FieldDescriptor; import org.checkerframework.checker.signature.qual.FqBinaryName; +import org.checkerframework.checker.signature.qual.MethodDescriptor; import org.checkerframework.dataflow.qual.Pure; /** @@ -158,14 +193,17 @@ public class DCInstrument24 { /** The current ClassFile. */ protected ClassFile classFile; + // ** The current ClassGen24. */ + // protected ClassGen24 classGen; + /** The current ClassModel. */ protected ClassModel classModel; /** Stores useful information about a class. */ private ClassInfo classInfo; - /** ConstantPool builder for entire class. */ - private ConstantPoolBuilder poolBuilder; + /** True if we tracking any methods in the current class. */ + private boolean track_class = false; /** ClassGen for the current class. */ protected ClassGen gen; @@ -212,7 +250,8 @@ public class DCInstrument24 { // private Type int_arr = new ArrayType (Type.INT, 1); protected static final ClassDesc throwable = ClassDesc.of("java.lang.Throwable"); protected final ClassDesc dcomp_marker; - protected static final ClassDesc javalangObject = ClassDesc.of("java.lang.Object"); + + protected static ObjectType javalangObject = new ObjectType("java.lang.Object"); // Debug loggers /** Log file if debug_native is enabled. */ @@ -244,7 +283,10 @@ public class DCInstrument24 { protected @DotSeparatedIdentifiers String dcomp_prefix; /** Either "daikon.dcomp.DCRuntime" or "java.lang.DCRuntime". */ - protected @DotSeparatedIdentifiers String dcompRuntimeClassName = "daikon.dcomp.DCRuntime"; + private @DotSeparatedIdentifiers String dcompRuntimeClassname = "daikon.dcomp.DCRuntime"; + + /** The ClassDesc for the DynComp runtime support class. */ + private ClassDesc runtimeCD; /** Set of JUnit test classes. */ protected static Set junitTestClasses = new HashSet<>(); @@ -302,15 +344,15 @@ protected enum JUnitState { */ protected static MethodDef[] obj_methods = new MethodDef[] { - new MethodDef("finalize", new Type[0]), - new MethodDef("getClass", new Type[0]), - new MethodDef("hashCode", new Type[0]), - new MethodDef("notify", new Type[0]), - new MethodDef("notifyall", new Type[0]), - new MethodDef("toString", new Type[0]), - new MethodDef("wait", new Type[0]), - new MethodDef("wait", new Type[] {Type.LONG}), - new MethodDef("wait", new Type[] {Type.LONG, Type.INT}), + new MethodDef("finalize", new ClassDesc[0]), + new MethodDef("getClass", new ClassDesc[0]), + new MethodDef("hashCode", new ClassDesc[0]), + new MethodDef("notify", new ClassDesc[0]), + new MethodDef("notifyall", new ClassDesc[0]), + new MethodDef("toString", new ClassDesc[0]), + new MethodDef("wait", new ClassDesc[0]), + new MethodDef("wait", new ClassDesc[] {CD_long}), + new MethodDef("wait", new ClassDesc[] {CD_long, CD_int}), }; protected static InstructionList global_catch_il = null; @@ -320,15 +362,15 @@ protected enum JUnitState { /** Class that defines a method (by its name and argument types) */ static class MethodDef { String name; - Type[] arg_types; + ClassDesc[] arg_types; - MethodDef(String name, Type[] arg_types) { + MethodDef(String name, ClassDesc[] arg_types) { this.name = name; this.arg_types = arg_types; } @EnsuresNonNullIf(result = true, expression = "#1") - boolean equals(@GuardSatisfied MethodDef this, String name, Type[] arg_types) { + boolean equals(@GuardSatisfied MethodDef this, String name, ClassDesc[] arg_types) { if (!name.equals(this.name)) { return false; } @@ -358,7 +400,7 @@ public boolean equals(@GuardSatisfied MethodDef this, @GuardSatisfied @Nullable @Override public int hashCode(@GuardSatisfied MethodDef this) { int code = name.hashCode(); - for (Type arg : arg_types) { + for (ClassDesc arg : arg_types) { code += arg.hashCode(); } return code; @@ -389,6 +431,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // System.out.printf("DCInstrument %s%n", orig_class.getClassName()); // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; + // TEMPORARY debugInstrument.enabled = true; debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; @@ -417,7 +460,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { for (final Annotation item : rvaa.annotations()) { System.out.print("annotation: " + item.className().stringValue()); - if (item.className().stringValue().startsWith("@Lorg/evosuite/runtime")) { + if (item.className().stringValue().startsWith("Lorg/evosuite/runtime")) { debug_transform.log( "Not instrumenting possible Evosuite target: %s%n", classInfo.class_name); return null; @@ -447,12 +490,141 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk private void instrumentClass( ClassBuilder classBuilder, ClassModel classModel, ClassInfo classInfo) { - debugInstrument.log("Class Attributes:%n"); + ClassGen24 classGen = new ClassGen24(classModel, classInfo.class_name, classBuilder); + runtimeCD = ClassDesc.of(dcompRuntimeClassname); + + debug_transform.log("%nInstrumenting class: %s, Attributes:%n", classInfo.class_name); for (java.lang.classfile.Attribute a : classModel.attributes()) { - debugInstrument.log(" %s%n", a); + debug_transform.log(" %s%n", a); } + debugInstrument.log("Class Interfaces:%n"); + for (ClassEntry ce : classModel.interfaces()) { + debugInstrument.log(" %s%n", ce.asInternalName()); + } + + debug_transform.indent(); + track_class = false; + + // Handle object methods for this class + handle_object(classGen); + + // Have all top-level classes implement our interface + if (classGen.getSuperclassName().equals("java.lang.Object")) { + @SuppressWarnings("signature:assignment") + @MethodDescriptor String objectArgReturnBoolean = "(Ljava/lang/Object;)Z"; + // Add equals method if it doesn't already exist. This ensures + // that an instrumented version, equals(Object, DCompMarker), + // will be created in this class. + MethodModel eq = classGen.containsMethod("equals", objectArgReturnBoolean); + if (eq == null) { + debugInstrument.log("Added equals method%n"); + add_equals_method(classBuilder, classGen); + + // UNDONE: need to add instrumented version of this equals method + + } + + // Add DCompInstrumented interface and the required + // equals_dcomp_instrumented method. + add_dcomp_interface(classBuilder, classGen); + + // UNDONE: need to add instrumented version of this equals_dcomp method + + } + + classInfo.isJunitTestClass = false; + + // MISSING JUNIT CODE! + instrument_all_methods(classModel, classBuilder, classInfo); + + // Add tag accessor methods for each primitive in the class + create_tag_accessors(classGen); + + // If no clinit method, we need to add our own. + if (!classInfo.hasClinit) { + createClinit(classBuilder, classInfo); + } + + debug_transform.exdent(); + + // The code that builds the list of daikon variables for each ppt + // needs to know what classes are instrumented. Its looks in the + // Chicory runtime for this information. + if (track_class) { + debug_transform.log("DCInstrument adding %s to all class list%n", classInfo.class_name); + synchronized (daikon.chicory.SharedData.all_classes) { + daikon.chicory.SharedData.all_classes.add(classInfo); + } + } + + debug_transform.log("Instrumentation complete: %s%n", classInfo.class_name); + } + + /** + * Adds a call to the DynComp Runtime {@code set_class_initialized} method at the begining of the + * given method. Clients pass the class static initializer {@code } as the method. + * + * @param mgen the method to modify, should be the class static initializer {@code } + * @param classInfo for the given class + */ + private void addInvokeToClinit(MethodGen24 mgen, ClassInfo classInfo) { + + try { + List il = mgen.getInstructionList(); + // point to start of list + ListIterator li = il.listIterator(); + + for (CodeElement ce : call_initNotify(mgen.getPoolBuilder(), classInfo)) { + li.add(ce); + } + } catch (Exception e) { + System.err.printf("Unexpected exception encountered: %s", e); + e.printStackTrace(); + } + } + + /** + * Create a class initializer method, if none exists. We need a class initializer to have a place + * to insert a call to the DynComp Runtime {@code set_class_initialized} method. + * + * @param classBuilder for the given class + * @param classInfo for the given class + */ + private void createClinit(ClassBuilder classBuilder, ClassInfo classInfo) { + + List instructions = call_initNotify(classBuilder.constantPool(), classInfo); + instructions.add(ReturnInstruction.of(TypeKind.VOID)); // need to return! + + classBuilder.withMethod( + "", + MethodTypeDesc.of(CD_void), + ClassFile.ACC_STATIC, + methodBuilder -> + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions))); + } + + /** + * Create the list of instructions for a call to {@code set_class_initialized}. This is used to + * keep track of when the class is initialized (so we don't look for fields in uninitialized + * classes). + * + * @param poolBuilder for the given class + * @param classInfo for the given class + * @return the instruction list + */ + private List call_initNotify(ConstantPoolBuilder poolBuilder, ClassInfo classInfo) { + + List instructions = new ArrayList<>(); + + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, "set_class_initialized", MethodTypeDesc.of(CD_void, CD_String)); + instructions.add(buildLDCInstruction(poolBuilder.stringEntry(classInfo.class_name))); + instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + + return instructions; } /** @@ -468,74 +640,135 @@ private void instrumentClass( private void instrument_all_methods( ClassModel classModel, ClassBuilder classBuilder, ClassInfo classInfo) { + @BinaryName String classname = classInfo.class_name; + if (classModel.majorVersion() < ClassFile.JAVA_6_VERSION) { System.out.printf( - "Chicory warning: ClassFile: %s - classfile version (%d) is out of date and may not be" + "DynComp warning: ClassFile: %s - classfile version (%d) is out of date and may not be" + " processed correctly.%n", - classInfo.class_name, classModel.majorVersion()); + classname, classModel.majorVersion()); } - List method_infos = new ArrayList<>(); + // Process each method in the class + for (MethodModel mm : classModel.methods()) { - boolean shouldInclude = false; + tag_frame_local = null; + try { - try { - // Loop through each method in the class - for (MethodModel mm : classModel.methods()) { - - // NOT SURE THIS APPLIES ANYMORE - // don't plan to use StackMapUtils - // The class data in StackMapUtils is not thread safe, - // allow only one method at a time to be instrumented. - // DynComp does this by creating a new instrumentation object - // for each class - probably a cleaner solution. - synchronized (this) { - MethodGen24 mgen = new MethodGen24(mm, classInfo.class_name, classBuilder); - - if (debugInstrument.enabled) { - ClassDesc[] paramTypes = mgen.getParameterTypes(); - String[] paramNames = mgen.getParameterNames(); - LocalVariable[] local_vars = mgen.getLocalVariables(); - String types = "", names = "", locals = ""; - - for (int j = 0; j < paramTypes.length; j++) { - @SuppressWarnings("signature:assignment") // need JDK annotations - @FieldDescriptor String paramFD = paramTypes[j].descriptorString(); - types = types + convertDescriptorToFqBinaryName(paramFD) + " "; - } - for (int j = 0; j < paramNames.length; j++) { - names = names + paramNames[j] + " "; - } - for (int j = 0; j < local_vars.length; j++) { - locals = locals + local_vars[j].name().stringValue() + " "; - } - debugInstrument.log("%nMethod = %s%n", mgen); - debugInstrument.log("paramTypes(%d): %s%n", paramTypes.length, types); - debugInstrument.log("paramNames(%d): %s%n", paramNames.length, names); - debugInstrument.log("localvars(%d): %s%n", local_vars.length, locals); - // debugInstrument.log("Original code: %s%n", mgen.getMethod().getCode()); - debugInstrument.log("Method Attributes:%n"); - for (java.lang.classfile.Attribute a : mm.attributes()) { - debugInstrument.log(" %s%n", a); - } - debugInstrument.log("mgen.getSignature: %s%n", mgen.getSignature()); - MethodTypeDesc mtd = mm.methodTypeSymbol(); - debugInstrument.log("mtd.descriptorString: %s%n", mtd.descriptorString()); - debugInstrument.log("mtd.displayDescriptor: %s%n", mtd.displayDescriptor()); + MethodGen24 mgen = new MethodGen24(mm, classname, classBuilder); + + if (debugInstrument.enabled) { + ClassDesc[] paramTypes = mgen.getParameterTypes(); + String[] paramNames = mgen.getParameterNames(); + LocalVariable[] local_vars = mgen.getLocalVariables(); + String types = "", names = "", locals = ""; + + for (int j = 0; j < paramTypes.length; j++) { + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String paramFD = paramTypes[j].descriptorString(); + types = types + convertDescriptorToFqBinaryName(paramFD) + " "; + } + for (int j = 0; j < paramNames.length; j++) { + names = names + paramNames[j] + " "; + } + for (int j = 0; j < local_vars.length; j++) { + locals = locals + local_vars[j].name().stringValue() + " "; } + debugInstrument.log("%nMethod = %s%n", mgen); + debugInstrument.log("paramTypes(%d): %s%n", paramTypes.length, types); + debugInstrument.log("paramNames(%d): %s%n", paramNames.length, names); + debugInstrument.log("localvars(%d): %s%n", local_vars.length, locals); + // debugInstrument.log("Original code: %s%n", mgen.getMethod().getCode()); + debugInstrument.log("Method Attributes:%n"); + for (java.lang.classfile.Attribute a : mm.attributes()) { + debugInstrument.log(" %s%n", a); + } + debugInstrument.log("mgen.getSignature: %s%n", mgen.getSignature()); + MethodTypeDesc mtd = mm.methodTypeSymbol(); + debugInstrument.log("mtd.descriptorString: %s%n", mtd.descriptorString()); + debugInstrument.log("mtd.displayDescriptor: %s%n", mtd.displayDescriptor()); + } + + // Note whether we want to track the daikon variables in this method + // boolean track = should_track(classname, mgen.getName(), methodEntryName(classname, + // mgen)); + boolean track = should_track(classname, mgen.getName(), classname + mgen); + + // We do not want to track bridge methods the compiler has synthesized as + // they are overloaded on return type which normal Java does not support. + if (mgen.getAccessFlags().has(AccessFlag.BRIDGE)) { + track = false; + } + + // If any one method is tracked, then the class is tracked. + if (track) { + track_class = true; + } + + // If we are tracking variables, make sure the class is public + int access_flags = classModel.flags().flagsMask(); + if (track && (access_flags & ClassFile.ACC_PUBLIC) == 0) { + access_flags |= ClassFile.ACC_PUBLIC; + access_flags &= ~ClassFile.ACC_PROTECTED; + access_flags &= ~ClassFile.ACC_PRIVATE; + } + // reset class access flags in case they have been changed + classBuilder.withFlags(access_flags); + + // debug_transform.log(" Processing method %s, track=%b%n", simplify_method_name(mgen), + // track); + debug_transform.log(" Processing method %s, track=%b%n", mgen, track); + debug_transform.indent(); + + // check for the class static initializer method + if (mgen.getName().equals("")) { + classInfo.hasClinit = true; + addInvokeToClinit(mgen, classInfo); + // We are not going to add any additional instrumentation to this method. + // We need to copy it to the output class. + outputMethodUnchanged(classBuilder, mm, mgen); + continue; + } - int method_info_index = 0; - classBuilder.withMethod( - mm.methodName().stringValue(), - mm.methodTypeSymbol(), - mm.flags().flagsMask(), - methodBuilder -> - instrumentMethod(methodBuilder, mm, mgen, curMethodInfo, method_info_index)); + final boolean trackMethod = track; + + // UNDONE: + // if main, need to add stub main method + + boolean addingDcompArg = !(mgen.isMain() || mgen.isClinit()); + boolean replacingMethod = !addingDcompArg || classInfo.isJunitTestClass; + if (!replacingMethod) { + // make copy of original method + debugInstrument.log("Copying method: %s%n", mgen.getName()); + debugInstrument.indent(); + outputMethodUnchanged(classBuilder, mm, mgen); + debugInstrument.exdent(); + debugInstrument.log("End of copy%n"); + } + + MethodTypeDesc mtd = mm.methodTypeSymbol(); + if (addingDcompArg) { + // The original parameterList is immutable, so we need to make a copy. + List paramList = new ArrayList(mtd.parameterList()); + paramList.add(dcomp_marker); + mtd = MethodTypeDesc.of(mtd.returnType(), paramList); + } + + classBuilder.withMethod( + mm.methodName().stringValue(), + mtd, + mm.flags().flagsMask(), + methodBuilder -> instrumentMethod(methodBuilder, mm, mgen, classInfo, trackMethod)); + + debug_transform.exdent(); + } catch (Throwable t) { + // debug code + // t.printStackTrace(); + if (debugInstrument.enabled) { + t.printStackTrace(); } + throw new Error("Unexpected error processing " + classname + "." + mgen.getName(), t); } - } catch (Exception e) { - System.err.printf("Unexpected exception encountered: %s", e); - e.printStackTrace(); } // Copy all other ClassElements to output class (unchanged). @@ -543,21 +776,10 @@ private void instrument_all_methods( debugInstrument.log("ClassElement: %s%n", ce); switch (ce) { case MethodModel mm -> {} - // Copy all other ClassElements to output class (unchanged). + // Copy all other ClassElements to output class (unchanged). default -> classBuilder.with(ce); } } - - // Add the class and method information to runtime so it is available - // as enter/exit ppts are processed. - classInfo.set_method_infos(method_infos); - - if (shouldInclude) { - debug_transform.log("Added trace info to class %s%n", classInfo); - } else { // not included - debug_transform.log("Trace info not added to class %s%n", classInfo); - } - classInfo.shouldInclude = shouldInclude; } /** @@ -591,7 +813,7 @@ private void copyMethod(MethodBuilder methodBuilder, MethodModel methodModel, Me case CodeModel codeModel -> methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, mgen.getInstructionList())); - // copy all other MethodElements to output class (unchanged) + // copy all other MethodElements to output class (unchanged) default -> methodBuilder.with(me); } } @@ -617,15 +839,15 @@ private void copyCode(CodeBuilder codeBuilder, List instructions) { * @param methodBuilder for the given method * @param methodModel for the given method * @param mgen describes the given method - * @param curMethodInfo provides additional information about the method - * @param method_info_index the index of the method in SharedData.methods + * @param classInfo for the current class + * @param trackMethod true iff we need to track the daikon variables in this method */ private void instrumentMethod( MethodBuilder methodBuilder, MethodModel methodModel, MethodGen24 mgen, - MethodInfo curMethodInfo, - int method_info_index) { + ClassInfo classInfo, + boolean trackMethod) { for (MethodElement me : methodModel) { debugInstrument.log("MethodElement: %s%n", me); @@ -633,9 +855,9 @@ private void instrumentMethod( case CodeModel codeModel -> methodBuilder.withCode( codeBuilder -> - instrumentCode(codeBuilder, codeModel, mgen, curMethodInfo, method_info_index)); + instrumentCode(codeBuilder, codeModel, mgen, classInfo, trackMethod)); - // copy all other MethodElements to output class (unchanged) + // copy all other MethodElements to output class (unchanged) default -> methodBuilder.with(me); } } @@ -699,18 +921,86 @@ private void insertInstrumentationCode( * @param codeBuilder for the given method's code * @param codeModel for the input method's code * @param mgen describes the output method - * @param curMethodInfo provides additional information about the method - * @param method_info_index the index of the method in SharedData.methods + * @param classInfo for the current class + * @param trackMethod true iff we need to track the daikon variables in this method */ private void instrumentCode( CodeBuilder codeBuilder, CodeModel codeModel, MethodGen24 mgen, - MethodInfo curMethodInfo, - int method_info_index) { + ClassInfo classInfo, + boolean trackMethod) { + + // method_info_index is not used at this point in DCInstrument + MethodGen24.MInfo24 minfo = new MethodGen24.MInfo24(0, mgen.getMaxLocals(), codeBuilder); + + boolean has_code = !mgen.getInstructionList().isEmpty(); + + // If the method is native + if (mgen.getAccessFlags().has(AccessFlag.NATIVE)) { + + // Create Java code that cleans up the tag stack and calls the real native method. + // fix_native(gen, mgen); + has_code = true; + + // Add the DCompMarker argument to distinguish our version + // add_dcomp_arg(mgen); + + } else { // normal method + + if (!classInfo.isJunitTestClass) { + // Add the DCompMarker argument to distinguish our version + add_dcomp_arg(mgen, minfo); + } + + // Create a MethodInfo that describes this method's arguments + // and exit line numbers (information not available via reflection) + // and add it to the list for this class. + MethodInfo mi = null; + if (trackMethod && has_code) { + mi = create_method_info(classInfo, mgen); + classInfo.method_infos.add(mi); + DCRuntime.methods.add(mi); + } + + // Instrument the method + if (has_code) { + // Create the local to store the tag frame for this method + // tag_frame_local = create_tag_frame_local(mgen); + // build_exception_handler(mgen); + // instrument_method(mgen); + if (trackMethod) { + // add_enter(mgen, mi, DCRuntime.methods.size() - 1); + // add_exit(mgen, mi, DCRuntime.methods.size() - 1); + } + // install_exception_handler(mgen); + } + } + + // We do not want to copy the @HotSpotIntrinsicCandidate annotations from + // the original method to our instrumented method as the signature will + // not match anything in the JVM's list. This won't cause an execution + // problem but will produce a massive number of warnings. + // JDK 11: @HotSpotIntrinsicCandidate + // JDK 17: @IntrinsicCandidate + // AnnotationEntryGen[] aes = mgen.getAnnotationEntries(); + // for (AnnotationEntryGen item : aes) { + // String type = item.getTypeName(); + // if (type.endsWith("IntrinsicCandidate;")) { + // mgen.removeAnnotationEntry(item); + // } + // } - MethodGen24.MInfo24 minfo = - new MethodGen24.MInfo24(method_info_index, mgen.getMaxLocals(), codeBuilder); + // NEED TO BE MOVED? + if (has_code) { + // il = mg.getInstructionList(); + // InstructionHandle end = il.getEnd(); + // int length = end.getPosition() + end.getInstruction().getLength(); + // if (length >= Const.MAX_CODE_SIZE) { + // throw new ClassGenException( + // "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); + // } + } @SuppressWarnings("JdkObsolete") List codeList = new LinkedList<>(); @@ -733,11 +1023,14 @@ private void instrumentCode( debugInstrument.log("CodeElement: %s%n", ce); switch (ce) { case LocalVariable lv -> {} // we have alreay processed these + // debugging code + // case LocalVariable lv -> { + // System.out.printf("Local start: %s end: %s%n", lv.startScope(), lv.endScope()); } case LocalVariableType lvt -> {} // we can discard local variable types - // debuging code - // case LocalVariableType lvt -> { - // @FieldDescriptor String lvFD = lvt.signatureSymbol().signatureString(); - // System.out.printf(" %s : %s%n", lvt, convertDescriptorToFqBinaryName(lvFD)); } + // debuging code + // case LocalVariableType lvt -> { + // @FieldDescriptor String lvFD = lvt.signatureSymbol().signatureString(); + // System.out.printf(" %s : %s%n", lvt, convertDescriptorToFqBinaryName(lvFD)); } case LabelTarget l -> { if (ca.labelToBci(l.label()) == 0) { minfo.oldStartLabel = l.label(); @@ -844,7 +1137,7 @@ public JavaClass old_instrument() { boolean track_class = false; // Handle object methods for this class - handle_object(gen); + // handle_object(classGen); // Have all top-level classes implement our interface if (gen.getSuperclassName().equals("java.lang.Object")) { @@ -854,12 +1147,12 @@ public JavaClass old_instrument() { Method eq = gen.containsMethod("equals", "(Ljava/lang/Object;)Z"); if (eq == null) { debugInstrument.log("Added equals method%n"); - add_equals_method(gen); + // add_equals_method(gen); } // Add DCompInstrumented interface and the required // equals_dcomp_instrumented method. - add_dcomp_interface(gen); + // add_dcomp_interface(gen); } // A very tricky special case: If JUnit is running and the current @@ -1066,13 +1359,13 @@ public JavaClass old_instrument() { // setCurrentStackMapTable(mg, gen.getMajor()); // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mg); + // add_dcomp_arg(mg); } else { // normal method if (!junit_test_class) { // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mg); + // add_dcomp_arg(mg); } // Create a MethodInfo that describes this method's arguments @@ -1080,7 +1373,7 @@ public JavaClass old_instrument() { // and add it to the list for this class. MethodInfo mi = null; if (track && has_code) { - mi = create_method_info(class_info, mg); + // mi = create_method_info(class_info, mg); class_info.method_infos.add(mi); DCRuntime.methods.add(mi); } @@ -1163,7 +1456,7 @@ public JavaClass old_instrument() { // restore StackMapTable // setCurrentStackMapTable(mg, gen.getMajor()); // Add the DCompMarker argument - add_dcomp_arg(mg); + // add_dcomp_arg(mg); // remove_local_variable_type_table(mg); // try again if (replacingMethod) { @@ -1190,11 +1483,11 @@ public JavaClass old_instrument() { } // Add tag accessor methods for each primitive in the class - create_tag_accessors(gen); + // create_tag_accessors(gen); // Keep track of when the class is initialized (so we don't look // for fields in uninitialized classes) - track_class_init(); + // track_class_init(); debug_transform.exdent(); // The code that builds the list of daikon variables for each ppt @@ -1295,14 +1588,14 @@ public JavaClass instrument_jdk() { debug_transform.log("Skipping problem class %s%n", classname); return gen.getJavaClass().copy(); } - dcompRuntimeClassName = "java.lang.DCRuntime"; + dcompRuntimeClassname = "java.lang.DCRuntime"; } debug_transform.log("Instrumenting class(JDK) %s%n", classname); debug_transform.indent(); // Handle object methods for this class - handle_object(gen); + // handle_object(classGen); // Have all top-level classes implement our interface if (gen.getSuperclassName().equals("java.lang.Object")) { @@ -1312,11 +1605,11 @@ public JavaClass instrument_jdk() { Method eq = gen.containsMethod("equals", "(Ljava/lang/Object;)Z"); if (eq == null) { debugInstrument.log("Added equals method%n"); - add_equals_method(gen); + // add_equals_method(gen); } // Add DCompInstrumented interface and the required // equals_dcomp_instrumented method. - add_dcomp_interface(gen); + // add_dcomp_interface(gen); } // Process each method @@ -1355,12 +1648,12 @@ public JavaClass instrument_jdk() { // setCurrentStackMapTable(mg, gen.getMajor()); // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mg); + // add_dcomp_arg(mg); } else { // normal method // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mg); + // add_dcomp_arg(mg); // Instrument the method if (has_code) { @@ -1427,7 +1720,7 @@ public JavaClass instrument_jdk() { // restore StackMapTable // setCurrentStackMapTable(mg, gen.getMajor()); // Add the DCompMarker argument - add_dcomp_arg(mg); + // add_dcomp_arg(mg); // remove_local_variable_type_table(mg); // try again gen.addMethod(mg.getMethod()); @@ -1452,7 +1745,7 @@ public JavaClass instrument_jdk() { } // Add tag accessor methods for each primitive in the class - create_tag_accessors(gen); + // create_tag_accessors(gen); // We don't need to track class initialization in the JDK because // that is only used when printing comparability which is only done @@ -1585,7 +1878,7 @@ public void build_exception_handler(MethodGen mg) { il.append(new DUP()); il.append( ifact.createInvoke( - dcompRuntimeClassName, "exception_exit", Type.VOID, object_arg, Const.INVOKESTATIC)); + dcompRuntimeClassname, "exception_exit", Type.VOID, object_arg, Const.INVOKESTATIC)); il.append(new ATHROW()); add_exception_handler(mg, il); @@ -1820,7 +2113,7 @@ InstructionList create_tag_frame(MethodGen mg, LocalVariableGen tag_frame_local) il.append(ifact.createConstant(params)); il.append( ifact.createInvoke( - dcompRuntimeClassName, "create_tag_frame", object_arr, string_arg, Const.INVOKESTATIC)); + dcompRuntimeClassname, "create_tag_frame", object_arr, string_arg, Const.INVOKESTATIC)); il.append(InstructionFactory.createStore(object_arr, tag_frame_local.getIndex())); debugInstrument.log("Store Tag frame local at index %d%n", tag_frame_local.getIndex()); @@ -1915,7 +2208,7 @@ InstructionList callEnterOrExit( } il.append( ifact.createInvoke( - dcompRuntimeClassName, method_name, Type.VOID, method_args, Const.INVOKESTATIC)); + dcompRuntimeClassname, method_name, Type.VOID, method_args, Const.INVOKESTATIC)); return il; } @@ -1930,13 +2223,13 @@ InstructionList callEnterOrExit( */ @Nullable InstructionList xform_inst(MethodGen mg, InstructionHandle ih, OperandStack stack) { - Instruction inst = ih.getInstruction(); + org.apache.bcel.generic.Instruction inst = ih.getInstruction(); switch (inst.getOpcode()) { - // Replace the object comparison instructions with a call to - // DCRuntime.object_eq or DCRuntime.object_ne. Those methods - // return a boolean which is used in a ifeq/ifne instruction + // Replace the object comparison instructions with a call to + // DCRuntime.object_eq or DCRuntime.object_ne. Those methods + // return a boolean which is used in a ifeq/ifne instruction case Const.IF_ACMPEQ: // return object_comparison((BranchInstruction) inst, "object_eq", Const.IFNE); return null; @@ -1944,9 +2237,9 @@ InstructionList callEnterOrExit( // return object_comparison((BranchInstruction) inst, "object_ne", Const.IFNE); return null; - // These instructions compare the integer on the top of the stack - // to zero. Nothing is made comparable by this, so we need only - // discard the tag on the top of the stack. + // These instructions compare the integer on the top of the stack + // to zero. Nothing is made comparable by this, so we need only + // discard the tag on the top of the stack. case Const.IFEQ: case Const.IFNE: case Const.IFLT: @@ -1957,46 +2250,46 @@ InstructionList callEnterOrExit( return discard_tag_code(inst, 1); } - // Instanceof pushes either 0 or 1 on the stack depending on whether - // the object on top of stack is of the specified type. We push a - // tag for a constant, since nothing is made comparable by this. + // Instanceof pushes either 0 or 1 on the stack depending on whether + // the object on top of stack is of the specified type. We push a + // tag for a constant, since nothing is made comparable by this. case Const.INSTANCEOF: - // return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); + // return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); - // Duplicates the item on the top of stack. If the value on the - // top of the stack is a primitive, we need to do the same on the - // tag stack. Otherwise, we need do nothing. + // Duplicates the item on the top of stack. If the value on the + // top of the stack is a primitive, we need to do the same on the + // tag stack. Otherwise, we need do nothing. case Const.DUP: { return dup_tag(inst, stack); } - // Duplicates the item on the top of the stack and inserts it 2 - // values down in the stack. If the value at the top of the stack - // is not a primitive, there is nothing to do here. If the second - // value is not a primitive, then we need only to insert the duped - // value down 1 on the tag stack (which contains only primitives) + // Duplicates the item on the top of the stack and inserts it 2 + // values down in the stack. If the value at the top of the stack + // is not a primitive, there is nothing to do here. If the second + // value is not a primitive, then we need only to insert the duped + // value down 1 on the tag stack (which contains only primitives) case Const.DUP_X1: { return dup_x1_tag(inst, stack); } - // Duplicates either the top 2 category 1 values or a single - // category 2 value and inserts it 2 or 3 values down on the - // stack. + // Duplicates either the top 2 category 1 values or a single + // category 2 value and inserts it 2 or 3 values down on the + // stack. case Const.DUP2_X1: { return dup2_x1_tag(inst, stack); } - // Duplicate either one category 2 value or two category 1 values. + // Duplicate either one category 2 value or two category 1 values. case Const.DUP2: { return dup2_tag(inst, stack); } - // Dup the category 1 value on the top of the stack and insert it either - // two or three values down on the stack. + // Dup the category 1 value on the top of the stack and insert it either + // two or three values down on the stack. case Const.DUP_X2: { return dup_x2(inst, stack); @@ -2007,25 +2300,25 @@ InstructionList callEnterOrExit( return dup2_x2(inst, stack); } - // Pop instructions discard the top of the stack. We want to discard - // the top of the tag stack iff the item on the top of the stack is a - // primitive. + // Pop instructions discard the top of the stack. We want to discard + // the top of the tag stack iff the item on the top of the stack is a + // primitive. case Const.POP: { return pop_tag(inst, stack); } - // Pops either the top 2 category 1 values or a single category 2 value - // from the top of the stack. We must do the same to the tag stack - // if the values are primitives. + // Pops either the top 2 category 1 values or a single category 2 value + // from the top of the stack. We must do the same to the tag stack + // if the values are primitives. case Const.POP2: { return pop2_tag(inst, stack); } - // Swaps the two category 1 types on the top of the stack. We need - // to swap the top of the tag stack if the two top elements on the - // real stack are primitives. + // Swaps the two category 1 types on the top of the stack. We need + // to swap the top of the tag stack if the two top elements on the + // real stack are primitives. case Const.SWAP: { return swap_tag(inst, stack); @@ -2083,7 +2376,8 @@ InstructionList callEnterOrExit( case Const.LLOAD_2: case Const.LLOAD_3: { - return load_store_local((LoadInstruction) inst, tag_frame_local, "push_local_tag"); + return load_store_local( + (org.apache.bcel.generic.LoadInstruction) inst, tag_frame_local, "push_local_tag"); } case Const.DSTORE: @@ -2107,7 +2401,8 @@ InstructionList callEnterOrExit( case Const.LSTORE_2: case Const.LSTORE_3: { - return load_store_local((StoreInstruction) inst, tag_frame_local, "pop_local_tag"); + return load_store_local( + (org.apache.bcel.generic.StoreInstruction) inst, tag_frame_local, "pop_local_tag"); } case Const.LDC: @@ -2117,9 +2412,9 @@ InstructionList callEnterOrExit( return ldc_tag(inst, stack); } - // Push the tag for the array onto the tag stack. This causes - // anything comparable to the length to be comparable to the array - // as an index. + // Push the tag for the array onto the tag stack. This causes + // anything comparable to the length to be comparable to the array + // as an index. case Const.ARRAYLENGTH: { return array_length(inst); @@ -2146,9 +2441,9 @@ InstructionList callEnterOrExit( return null; } - // Primitive Binary operators. Each is augmented with a call to - // DCRuntime.binary_tag_op that merges the tags and updates the tag - // Stack. + // Primitive Binary operators. Each is augmented with a call to + // DCRuntime.binary_tag_op that merges the tags and updates the tag + // Stack. case Const.DADD: case Const.DCMPG: case Const.DCMPL: @@ -2189,35 +2484,35 @@ InstructionList callEnterOrExit( // return build_il(dcr_call("binary_tag_op", Type.VOID, Type.NO_ARGS), inst); return null; - // Computed jump based on the int on the top of stack. Since that int - // is not made comparable to anything, we just discard its tag. One - // might argue that the key should be made comparable to each value in - // the jump table. But the tags for those values are not available. - // And since they are all constants, its not clear how interesting it - // would be anyway. + // Computed jump based on the int on the top of stack. Since that int + // is not made comparable to anything, we just discard its tag. One + // might argue that the key should be made comparable to each value in + // the jump table. But the tags for those values are not available. + // And since they are all constants, its not clear how interesting it + // would be anyway. case Const.LOOKUPSWITCH: case Const.TABLESWITCH: return discard_tag_code(inst, 1); - // Make the integer argument to ANEWARRAY comparable to the new - // array's index. + // Make the integer argument to ANEWARRAY comparable to the new + // array's index. case Const.ANEWARRAY: case Const.NEWARRAY: { return new_array(inst); } - // If the new array has 2 dimensions, make the integer arguments - // comparable to the corresponding indices of the new array. - // For any other number of dimensions, discard the tags for the - // arguments. + // If the new array has 2 dimensions, make the integer arguments + // comparable to the corresponding indices of the new array. + // For any other number of dimensions, discard the tags for the + // arguments. case Const.MULTIANEWARRAY: { return multi_newarray_dc(inst); } - // Mark the array and its index as comparable. Also for primitives, - // push the tag of the array element on the tag stack + // Mark the array and its index as comparable. Also for primitives, + // push the tag of the array element on the tag stack case Const.AALOAD: case Const.BALOAD: case Const.CALOAD: @@ -2230,9 +2525,9 @@ InstructionList callEnterOrExit( return array_load(inst); } - // Mark the array and its index as comparable. For primitives, store - // the tag for the value on the top of the stack in the tag storage - // for the array. + // Mark the array and its index as comparable. For primitives, store + // the tag for the value on the top of the stack in the tag storage + // for the array. case Const.AASTORE: return array_store(inst, "aastore", Type.OBJECT); case Const.BASTORE: @@ -2257,8 +2552,8 @@ InstructionList callEnterOrExit( case Const.SASTORE: return array_store(inst, "sastore", Type.SHORT); - // Prefix the return with a call to the correct normal_exit method - // to handle the tag stack + // Prefix the return with a call to the correct normal_exit method + // to handle the tag stack case Const.ARETURN: case Const.DRETURN: case Const.FRETURN: @@ -2269,24 +2564,24 @@ InstructionList callEnterOrExit( return return_tag(mg, inst); } - // Handle subroutine calls. Calls to instrumented code are modified - // to call the instrumented version (with the DCompMarker argument). - // Calls to uninstrumented code (rare) discard primitive arguments - // from the tag stack and produce an arbitrary return tag. + // Handle subroutine calls. Calls to instrumented code are modified + // to call the instrumented version (with the DCompMarker argument). + // Calls to uninstrumented code (rare) discard primitive arguments + // from the tag stack and produce an arbitrary return tag. case Const.INVOKESTATIC: case Const.INVOKEVIRTUAL: case Const.INVOKESPECIAL: case Const.INVOKEINTERFACE: case Const.INVOKEDYNAMIC: - return handleInvoke((InvokeInstruction) inst); + return handleInvoke((org.apache.bcel.generic.InvokeInstruction) inst); - // Throws an exception. This clears the operand stack of the current - // frame. We need to clear the tag stack as well. + // Throws an exception. This clears the operand stack of the current + // frame. We need to clear the tag stack as well. case Const.ATHROW: // return build_il(dcr_call("throw_op", Type.VOID, Type.NO_ARGS), inst); return null; - // Opcodes that don't need any modifications. Here for reference + // Opcodes that don't need any modifications. Here for reference case Const.ACONST_NULL: case Const.ALOAD: case Const.ALOAD_0: @@ -2320,8 +2615,8 @@ InstructionList callEnterOrExit( case Const.IINC: // increment local variable by a constant case Const.INEG: // negate integer on top of stack case Const.JSR: // pushes return address on the stack, but that - // is thought of as an object, so we don't need - // a tag for it. + // is thought of as an object, so we don't need + // a tag for it. case Const.JSR_W: case Const.L2D: // long to double case Const.L2F: // long to float @@ -2334,7 +2629,7 @@ InstructionList callEnterOrExit( case Const.RET: // this is the internal JSR return return null; - // Make sure we didn't miss anything + // Make sure we didn't miss anything default: throw new Error("instruction " + inst + " unsupported"); } @@ -2365,8 +2660,8 @@ void add_exit(MethodGen mg, MethodInfo mi, int method_info_index) { // If this is a return instruction, Call DCRuntime.exit to calculate // comparability on Daikon variables - Instruction inst = ih.getInstruction(); - if (inst instanceof ReturnInstruction) { + org.apache.bcel.generic.Instruction inst = ih.getInstruction(); + if (inst instanceof org.apache.bcel.generic.ReturnInstruction) { Type type = mg.getReturnType(); InstructionList new_il = new InstructionList(); if (type != Type.VOID) { @@ -2387,43 +2682,44 @@ void add_exit(MethodGen mg, MethodInfo mi, int method_info_index) { * Return the interface class containing the implementation of the given method. The interfaces of * {@code startClass} are recursively searched. * - * @param startClass the JavaClass whose interfaces are to be searched + * @param startClass the ClassModel whose interfaces are to be searched * @param methodName the target method to search for * @param argTypes the target method's argument types * @return the name of the interface class containing target method, or null if not found */ private @Nullable @ClassGetName String getDefiningInterface( - JavaClass startClass, String methodName, Type[] argTypes) { + ClassModel startClass, String methodName, Type[] argTypes) { if (debugGetDefiningInterface) { - System.out.println("searching interfaces of: " + startClass.getClassName()); - } - for (@ClassGetName String interfaceName : startClass.getInterfaceNames()) { - if (debugGetDefiningInterface) { - System.out.println("interface: " + interfaceName); - } - JavaClass ji; - try { - ji = getJavaClass(interfaceName); - } catch (Throwable e) { - throw new Error(String.format("Unable to load class: %s", interfaceName), e); - } - for (Method jm : ji.getMethods()) { - if (debugGetDefiningInterface) { - System.out.println(" " + jm.getName() + Arrays.toString(jm.getArgumentTypes())); - } - if (jm.getName().equals(methodName) && Arrays.equals(jm.getArgumentTypes(), argTypes)) { - // We have a match. - return interfaceName; - } - } - // no match found; does this interface extend other interfaces? - @ClassGetName String foundAbove = getDefiningInterface(ji, methodName, argTypes); - if (foundAbove != null) { - // We have a match. - return foundAbove; - } + System.out.println("searching interfaces of: " + ClassGen24.getClassName(startClass)); } + // for (@ClassGetName String interfaceName : startClass.getInterfaceNames()) { + // if (debugGetDefiningInterface) { + // System.out.println("interface: " + interfaceName); + // } + // ClassModel cm; + // try { + // cm = getClassModel(interfaceName); + // } catch (Throwable e) { + // throw new Error(String.format("Unable to load class: %s", interfaceName), e); + // } + // for (Method jm : cm.getMethods()) { + // if (debugGetDefiningInterface) { + // System.out.println(" " + jm.getName() + Arrays.toString(jm.getArgumentTypes())); + // } + // if (jm.getName().equals(methodName) && Arrays.equals(jm.getArgumentTypes(), argTypes)) + // { + // // We have a match. + // return interfaceName; + // } + // } + // // no match found; does this interface extend other interfaces? + // @ClassGetName String foundAbove = getDefiningInterface(cm, methodName, argTypes); + // if (foundAbove != null) { + // // We have a match. + // return foundAbove; + // } + // } // nothing found return null; } @@ -2451,7 +2747,7 @@ void add_exit(MethodGen mg, MethodInfo mi, int method_info_index) { * @param invoke a method invocation bytecode instruction * @return instructions to replace the given instruction */ - private InstructionList handleInvoke(InvokeInstruction invoke) { + private InstructionList handleInvoke(org.apache.bcel.generic.InvokeInstruction invoke) { // Get information about the call String methodName = invoke.getMethodName(pool); @@ -2471,7 +2767,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { InstructionList il = new InstructionList(); il.append( ifact.createInvoke( - dcompRuntimeClassName, + dcompRuntimeClassname, (invoke.getOpcode() == Const.INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", returnType, null, //// new_arg_types, @@ -2570,7 +2866,7 @@ private InstructionList discard_primitive_tags(Type[] argTypes) { * @return true if the target is instrumented */ private boolean isTargetInstrumented( - InvokeInstruction invoke, + org.apache.bcel.generic.InvokeInstruction invoke, @ClassGetName String classname, String methodName, Type[] argTypes) { @@ -2583,7 +2879,8 @@ private boolean isTargetInstrumented( System.out.printf("invokedynamic NOT the classname: %s%n", classname); } targetInstrumented = false; - } else if (is_object_method(methodName, invoke.getArgumentTypes(pool))) { + // else if (is_object_method(methodName, invoke.getArgumentTypes(pool))) { + } else if (is_object_method(methodName, new ClassDesc[] {CD_long, CD_int})) { targetInstrumented = false; } else { targetInstrumented = isClassnameInstrumented(classname, methodName); @@ -2672,9 +2969,10 @@ private boolean isTargetInstrumented( mainloop: while (true) { // Check that the class exists - JavaClass targetClass; + // JavaClass targetClass; + JavaClass targetClass = null; try { - targetClass = getJavaClass(targetClassname); + // targetClass = getJavaClass(targetClassname); } catch (Throwable e) { targetClass = null; } @@ -2710,7 +3008,7 @@ private boolean isTargetInstrumented( // no methods match - search this class's interfaces @ClassGetName String found; try { - found = getDefiningInterface(targetClass, methodName, argTypes); + found = null; // // getDefiningInterface(targetClass, methodName, argTypes); } catch (Throwable e) { // We cannot locate or read the .class file, better assume it is not instrumented. targetInstrumented = false; @@ -2766,28 +3064,28 @@ private Integer getAccessFlags(String classname) { if (access == null) { // We have not seen this class before. Check to see if the target class is // an Annotation or a FunctionalInterface. - JavaClass c = getJavaClass(classname); - if (c != null) { - access = c.getAccessFlags(); - - // Now check for FunctionalInterface - for (final AnnotationEntry item : c.getAnnotationEntries()) { - if (item.getAnnotationType().endsWith("FunctionalInterface;")) { - access = Integer_ACC_ANNOTATION; - if (debugHandleInvoke) { - System.out.println(item.getAnnotationType()); - } - break; - } - } - } else { - // We cannot locate or read the .class file, better pretend it is an Annotation. - if (debugHandleInvoke) { - System.out.printf("Unable to locate class: %s%n", classname); - } - access = Integer_ACC_ANNOTATION; - } - accessFlags.put(classname, access); + // JavaClass c ; // = getJavaClass(classname); + // if (c != null) { + // access = c.getAccessFlags(); + // + // // Now check for FunctionalInterface + // for (final AnnotationEntry item : c.getAnnotationEntries()) { + // if (item.getAnnotationType().endsWith("FunctionalInterface;")) { + // access = Integer_ACC_ANNOTATION; + // if (debugHandleInvoke) { + // System.out.println(item.getAnnotationType()); + // } + // break; + // } + // } + // } else { + // // We cannot locate or read the .class file, better pretend it is an Annotation. + // if (debugHandleInvoke) { + // System.out.printf("Unable to locate class: %s%n", classname); + // } + // access = Integer_ACC_ANNOTATION; + // } + // accessFlags.put(classname, access); } return access; } @@ -2883,46 +3181,43 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m * @return superclass name of classname or null if there is an error */ private @ClassGetName String getSuperclassName(String classname) { - JavaClass jc = getJavaClass(classname); - if (jc != null) { - return jc.getSuperclassName(); - } else { - return null; - } + // JavaClass jc ; // = getJavaClass(classname); + // if (jc != null) { + // return jc.getSuperclassName(); + // } else { + return null; + // } } /** Cache for {@link #getJavaClass} method. */ - private static Map javaClasses = new ConcurrentHashMap(); + private static Map classModelCache = + new ConcurrentHashMap(); /** * There are times when it is useful to inspect a class file other than the one we are currently * instrumenting. Note we cannot use classForName to do this as it might trigger a recursive call * to Instrument which would not work at this point. * - *

Given a class name, we treat it as a system resource and try to open it as an input stream - * that we can pass to BCEL to read and convert to a JavaClass object. + *

Given a class name, we treat it as a system resource, create a {@code Path} to it and have + * {@code java.lang.classfile} read and create a {@code ClassModel} object. * * @param classname the fully qualified name of the class in binary form, e.g., "java.util.List" - * @return the JavaClass of the corresponding classname or null + * @return the ClassModel of the corresponding classname or null */ - private @Nullable JavaClass getJavaClass(String classname) { - JavaClass cached = javaClasses.get(classname); + private @Nullable ClassModel getClassModel(String classname) { + ClassModel cached = classModelCache.get(classname); if (cached != null) { return cached; } URL class_url = ClassLoader.getSystemResource(classname.replace('.', '/') + ".class"); if (class_url != null) { - try (InputStream inputStream = class_url.openStream()) { - if (inputStream != null) { - // Parse the bytes of the classfile, die on any errors - ClassParser parser = new ClassParser(inputStream, classname + ""); - JavaClass result = parser.parse(); - javaClasses.put(classname, result); - return result; - } + try { + ClassModel result = classFile.parse(Paths.get(class_url.toURI())); + classModelCache.put(classname, result); + return result; } catch (Throwable t) { - throw new Error("Unexpected error reading " + class_url, t); + throw new Error(String.format("Unexpected error while reading %s%n", classname), t); } } // Do not cache a null result, because a subsequent invocation might return non-null. @@ -2965,7 +3260,7 @@ boolean is_object_clone(String methodName, Type returnType, Type[] args) { * @param invoke invoke instruction to inspect and replace * @return InstructionList to call the correct version of clone or toString */ - InstructionList instrument_clone_call(InvokeInstruction invoke) { + InstructionList instrument_clone_call(org.apache.bcel.generic.InvokeInstruction invoke) { InstructionList il = new InstructionList(); Type returnType = invoke.getReturnType(pool); @@ -2998,7 +3293,7 @@ InstructionList instrument_clone_call(InvokeInstruction invoke) { } // * Create the instructions that replace the object eq or ne branch instruction. They are - // replaced + // * replaced // * by a call to the specified compare_method (which returns a boolean) followed by the specified // * boolean ifeq or ifne instruction. // InstructionList object_comparison( @@ -3007,7 +3302,7 @@ InstructionList instrument_clone_call(InvokeInstruction invoke) { // InstructionList il = new InstructionList(); // il.append( // ifact.createInvoke( - // dcompRuntimeClassName, compare_method, Type.BOOLEAN, two_objects, Const.INVOKESTATIC)); + // dcompRuntimeClassname, compare_method, Type.BOOLEAN, two_objects, Const.INVOKESTATIC)); // assert branch.getTarget() != null; // il.append(InstructionFactory.createBranchInstruction(boolean_if, branch.getTarget())); // return il; @@ -3018,7 +3313,7 @@ InstructionList instrument_clone_call(InvokeInstruction invoke) { * (load) or pop (store) the tag on the tag stack. This is accomplished by calling the tag get/set * method for this field. */ - InstructionList load_store_field(MethodGen mg, FieldInstruction f) { + InstructionList load_store_field(MethodGen mg, org.apache.bcel.generic.FieldInstruction f) { Type field_type = f.getFieldType(pool); if (field_type instanceof ReferenceType) { @@ -3029,7 +3324,8 @@ InstructionList load_store_field(MethodGen mg, FieldInstruction f) { String classname = obj_type.getClassName(); // If this class doesn't support tag fields, don't load/store them - if (!tag_fields_ok(mg, classname)) { + // if (!tag_fields_ok(mg, classname)) { + { if ((f instanceof GETFIELD) || (f instanceof GETSTATIC)) { il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); } else { @@ -3039,7 +3335,7 @@ InstructionList load_store_field(MethodGen mg, FieldInstruction f) { // Perform the normal field command il.append(f); - return il; + // return il; } if (f instanceof GETSTATIC) { @@ -3121,7 +3417,7 @@ InstructionList load_store_local( // Call the runtime method to handle loading/storing the local/parameter il.append( ifact.createInvoke( - dcompRuntimeClassName, + dcompRuntimeClassname, method, Type.VOID, new Type[] {object_arr, Type.INT}, @@ -3229,157 +3525,70 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { * @param mg method to inspect * @return MethodInfo for the method */ - @Nullable MethodInfo create_method_info(ClassInfo class_info, MethodGen mg) { - - // if (mg.getName().equals("")) { - // // This case DOES occur at run time. -MDE 1/22/2010 - // } + private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen24 mgen) { // Get the argument names for this method - String[] argNames = mg.getArgumentNames(); - LocalVariableGen[] lvs = mg.getLocalVariables(); + String[] paramNames = mgen.getParameterNames(); + LocalVariable[] lvs = mgen.getLocalVariables(); int param_offset = 1; - if (mg.isStatic()) { + if (mgen.isStatic()) { param_offset = 0; } - if (lvs != null) { - for (int ii = 0; ii < argNames.length; ii++) { - if ((ii + param_offset) < lvs.length) { - argNames[ii] = lvs[ii + param_offset].getName(); - } + + if (debugInstrument.enabled) { + debugInstrument.log("create_method_info: %s%n", paramNames.length); + for (int i = 0; i < paramNames.length; i++) { + debugInstrument.log("param: %s%n", paramNames[i]); } } - // Get the argument types for this method - Type[] argTypes = mg.getArgumentTypes(); - @ClassGetName String[] arg_type_strings = new @ClassGetName String[argTypes.length]; - // for (int ii = 0; ii < argTypes.length; ii++) { - // arg_type_strings[ii] = typeToClassGetName(argTypes[ii]); - // // System.out.printf("DCI arg types: %s %s%n", argTypes[ii], arg_type_strings[ii]); - // } + // Get the parameter types for this method. + ClassDesc[] paramTypes = mgen.getParameterTypes(); + @ClassGetName String[] arg_type_strings = new @ClassGetName String[paramTypes.length]; + for (int i = 0; i < paramTypes.length; i++) { + arg_type_strings[i] = Instrument24.typeToClassGetName(paramTypes[i]); + } - // Loop through each instruction and find the line number for each - // return opcode + // Loop through each instruction and find the line number for each return opcode. List exit_locs = new ArrayList<>(); - // Tells whether each exit loc in the method is included or not - // (based on filters) + // Tells whether each exit loc in the method is included or not (based on filters). List isIncluded = new ArrayList<>(); - // log ("Looking for exit points in %s%n", mg.getName()); - InstructionList il = mg.getInstructionList(); - int line_number = 0; - int last_line_number = 0; - boolean foundLine; - - if (il == null) { + debugInstrument.log("Looking for exit points in %s%n", mgen.getName()); + List il = mgen.getInstructionList(); + if (il.isEmpty()) { return null; } - for (InstructionHandle ih = il.getStart(); ih != null; ih = ih.getNext()) { - foundLine = false; - - if (ih.hasTargeters()) { - for (InstructionTargeter it : ih.getTargeters()) { - if (it instanceof LineNumberGen) { - LineNumberGen lng = (LineNumberGen) it; - // log (" line number at %s: %d%n", ih, lng.getSourceLine()); - // System.out.printf(" line number at %s: %d%n", ih, - // lng.getSourceLine()); - line_number = lng.getSourceLine(); - foundLine = true; - } - } - } - - switch (ih.getInstruction().getOpcode()) { - case Const.ARETURN: - case Const.DRETURN: - case Const.FRETURN: - case Const.IRETURN: - case Const.LRETURN: - case Const.RETURN: - // log ("Exit at line %d%n", line_number); - // only do incremental lines if we don't have the line generator - if (line_number == last_line_number && foundLine == false) { - line_number++; - } - last_line_number = line_number; + int line_number = 0; + int last_line_number = 0; - exit_locs.add(line_number); - isIncluded.add(true); - break; + for (CodeElement inst : il) { + boolean foundLine = false; - default: - break; + if (inst instanceof LineNumber ln) { + line_number = ln.line(); + foundLine = true; } - } - return new MethodInfo( - class_info, mg.getName(), argNames, arg_type_strings, exit_locs, isIncluded); - } + if (inst instanceof ReturnInstruction) { + debugInstrument.log("Exit at line %d%n", line_number); - /** - * Adds a call to DCRuntime.set_class_initialized (String classname) to the class initializer for - * this class. Creates a class initializer if one is not currently present. - */ - void track_class_init() { + // Only do incremental lines if we don't have the line generator. + if (line_number == last_line_number && foundLine == false) { + debugInstrument.log("Could not find line %d%n", line_number); + line_number++; + } + last_line_number = line_number; - // Look for the class init method. If not found, create an empty one. - Method cinit = null; - for (Method m : gen.getMethods()) { - if (m.getName().equals("")) { - cinit = m; - break; + exit_locs.add(line_number); + isIncluded.add(true); } } - if (cinit == null) { - InstructionList il = new InstructionList(); - il.append(InstructionFactory.createReturn(Type.VOID)); - MethodGen cinit_gen = - new MethodGen( - Const.ACC_STATIC, - Type.VOID, - Type.NO_ARGS, - new String[0], - "", - gen.getClassName(), - il, - pool); - cinit_gen.setMaxLocals(); - cinit_gen.setMaxStack(); - cinit_gen.update(); - cinit = cinit_gen.getMethod(); - gen.addMethod(cinit); - } - - try { - MethodGen cinit_gen = new MethodGen(cinit, gen.getClassName(), pool); - // setCurrentStackMapTable(cinit_gen, gen.getMajor()); - - // Add a call to DCRuntime.set_class_initialized to the beginning of the method - InstructionList il = new InstructionList(); - il.append(ifact.createConstant(gen.getClassName())); - il.append( - ifact.createInvoke( - dcompRuntimeClassName, - "set_class_initialized", - Type.VOID, - string_arg, - Const.INVOKESTATIC)); - // insertAtMethodStart(cinit_gen, il); - // createNewStackMapAttribute(cinit_gen); - cinit_gen.setMaxLocals(); - cinit_gen.setMaxStack(); - gen.replaceMethod(cinit, cinit_gen.getMethod()); - } catch (Throwable t) { - if (debugInstrument.enabled) { - t.printStackTrace(); - } - throw new Error( - "Unexpected error processing " + gen.getClassName() + "." + cinit.getName(), t); - } + return new MethodInfo( + classInfo, mgen.getName(), paramNames, arg_type_strings, exit_locs, isIncluded); } /** @@ -3391,7 +3600,7 @@ void track_class_init() { * @param inst an array load instruction * @return instruction list that calls the runtime to handle the array load instruction */ - InstructionList array_load(Instruction inst) { + InstructionList array_load(org.apache.bcel.generic.Instruction inst) { InstructionList il = new InstructionList(); @@ -3426,7 +3635,8 @@ InstructionList array_load(Instruction inst) { * @param base_type type of array store * @return instruction list that calls the runtime to handle the array store instruction */ - InstructionList array_store(Instruction inst, String method, Type base_type) { + InstructionList array_store( + org.apache.bcel.generic.Instruction inst, String method, Type base_type) { InstructionList il = new InstructionList(); Type arr_type = new ArrayType(base_type, 1); @@ -3443,7 +3653,7 @@ InstructionList array_store(Instruction inst, String method, Type base_type) { * @param inst an arraylength instruction * @return instruction list that calls the runtime to handle the arraylength instruction */ - InstructionList array_length(Instruction inst) { + InstructionList array_length(org.apache.bcel.generic.Instruction inst) { InstructionList il = new InstructionList(); @@ -3464,7 +3674,7 @@ InstructionList array_length(Instruction inst) { * @param inst a anewarray or newarray instruction * @return instruction list that calls the runtime to handle the newarray instruction */ - InstructionList new_array(Instruction inst) { + InstructionList new_array(org.apache.bcel.generic.Instruction inst) { InstructionList il = new InstructionList(); // Perform the original instruction @@ -3489,7 +3699,7 @@ InstructionList new_array(Instruction inst) { * @param inst a multianewarray instruction * @return instruction list that calls the runtime to handle the multianewarray instruction */ - InstructionList multiarray2(Instruction inst) { + InstructionList multiarray2(org.apache.bcel.generic.Instruction inst) { InstructionList il = new InstructionList(); // Duplicate both count arguments @@ -3574,10 +3784,29 @@ static String methodEntryName(String fullClassName, Method m) { * @param argTypes array of method argument types * @return InvokeInstruction for the call */ - InvokeInstruction dcr_call(String methodName, Type returnType, Type[] argTypes) { + InvokeInstruction dcr_call(String methodName, ClassDesc returnType, ClassDesc[] argTypes) { + MethodRefEntry mre = + ClassGen24.getPoolBuilder() + .methodRefEntry( + ClassDesc.of(dcompRuntimeClassname), + methodName, + MethodTypeDesc.of(returnType, argTypes)); + return InvokeInstruction.of(Opcode.INVOKESTATIC, mre); + } + + /** + * Convenience function to construct a call to a static method in DCRuntime. + * + * @param methodName method to call + * @param returnType type of method return + * @param argTypes array of method argument types + * @return InvokeInstruction for the call + */ + org.apache.bcel.generic.InvokeInstruction dcr_call( + String methodName, Type returnType, Type[] argTypes) { return ifact.createInvoke( - dcompRuntimeClassName, methodName, returnType, argTypes, Const.INVOKESTATIC); + dcompRuntimeClassname, methodName, returnType, argTypes, Const.INVOKESTATIC); } /** @@ -3587,7 +3816,7 @@ InvokeInstruction dcr_call(String methodName, Type returnType, Type[] argTypes) * @param tag_count number of tags to discard * @return InstructionList */ - InstructionList discard_tag_code(Instruction inst, int tag_count) { + InstructionList discard_tag_code(org.apache.bcel.generic.Instruction inst, int tag_count) { InstructionList il = new InstructionList(); il.append(ifact.createConstant(tag_count)); il.append(dcr_call("discard_tag", Type.VOID, integer_arg)); @@ -3599,7 +3828,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { * Duplicates the item on the top of stack. If the value on the top of the stack is a primitive, * we need to do the same on the tag stack. Otherwise, we need do nothing. */ - InstructionList dup_tag(Instruction inst, OperandStack stack) { + InstructionList dup_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { Type top = stack.peek(); if (debug_dup.enabled) { debug_dup.log("DUP -> %s [... %s]%n", "dup", stack_contents(stack, 2)); @@ -3616,7 +3845,7 @@ InstructionList dup_tag(Instruction inst, OperandStack stack) { * value is not a primitive, then we need only to insert the duped value down 1 on the tag stack * (which contains only primitives). */ - InstructionList dup_x1_tag(Instruction inst, OperandStack stack) { + InstructionList dup_x1_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { Type top = stack.peek(); if (debug_dup.enabled) { debug_dup.log("DUP -> %s [... %s]%n", "dup_x1", stack_contents(stack, 2)); @@ -3636,7 +3865,7 @@ InstructionList dup_x1_tag(Instruction inst, OperandStack stack) { * Duplicates either the top 2 category 1 values or a single category 2 value and inserts it 2 or * 3 values down on the stack. */ - InstructionList dup2_x1_tag(Instruction inst, OperandStack stack) { + InstructionList dup2_x1_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { String op; Type top = stack.peek(); if (is_category2(top)) { @@ -3676,7 +3905,7 @@ InstructionList dup2_x1_tag(Instruction inst, OperandStack stack) { * Duplicate either one category 2 value or two category 1 values. The instruction is implemented * as necessary on the tag stack. */ - InstructionList dup2_tag(Instruction inst, OperandStack stack) { + InstructionList dup2_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { Type top = stack.peek(); String op; if (is_category2(top)) { @@ -3700,7 +3929,7 @@ InstructionList dup2_tag(Instruction inst, OperandStack stack) { * Dup the category 1 value on the top of the stack and insert it either two or three values down * on the stack. */ - InstructionList dup_x2(Instruction inst, OperandStack stack) { + InstructionList dup_x2(org.apache.bcel.generic.Instruction inst, OperandStack stack) { Type top = stack.peek(); String op = null; if (is_primitive(top)) { @@ -3723,7 +3952,7 @@ InstructionList dup_x2(Instruction inst, OperandStack stack) { /** * Duplicate the top one or two operand stack values and insert two, three, or four values down. */ - InstructionList dup2_x2(Instruction inst, OperandStack stack) { + InstructionList dup2_x2(org.apache.bcel.generic.Instruction inst, OperandStack stack) { Type top = stack.peek(); String op; if (is_category2(top)) { @@ -3791,7 +4020,7 @@ InstructionList dup2_x2(Instruction inst, OperandStack stack) { * Pop instructions discard the top of the stack. We want to discard the top of the tag stack iff * the item on the top of the stack is a primitive. */ - InstructionList pop_tag(Instruction inst, OperandStack stack) { + InstructionList pop_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { Type top = stack.peek(); if (is_primitive(top)) { return discard_tag_code(inst, 1); @@ -3803,7 +4032,7 @@ InstructionList pop_tag(Instruction inst, OperandStack stack) { * Pops either the top 2 category 1 values or a single category 2 value from the top of the stack. * We must do the same to the tag stack if the values are primitives. */ - InstructionList pop2_tag(Instruction inst, OperandStack stack) { + InstructionList pop2_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { Type top = stack.peek(); if (is_category2(top)) { return discard_tag_code(inst, 1); @@ -3826,7 +4055,7 @@ InstructionList pop2_tag(Instruction inst, OperandStack stack) { * Swaps the two category 1 types on the top of the stack. We need to swap the top of the tag * stack if the two top elements on the real stack are primitives. */ - InstructionList swap_tag(Instruction inst, OperandStack stack) { + InstructionList swap_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { Type type1 = stack.peek(); Type type2 = stack.peek(1); if (is_primitive(type1) && is_primitive(type2)) { @@ -3839,7 +4068,7 @@ InstructionList swap_tag(Instruction inst, OperandStack stack) { * Adjusts the tag stack for load constant opcodes. If the constant is a primitive, pushes its tag * on the tag stack. If the constant is a reference (string, class), does nothing. */ - @Nullable InstructionList ldc_tag(Instruction inst, OperandStack stack) { + @Nullable InstructionList ldc_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { Type type; if (inst instanceof LDC) { // LDC_W extends LDC type = ((LDC) inst).getType(pool); @@ -3860,7 +4089,7 @@ InstructionList swap_tag(Instruction inst, OperandStack stack) { * dimensions should really be handled as well, but there are very few cases of this and the * resulting code would be quite complex (see multiarray2 for details). */ - InstructionList multi_newarray_dc(Instruction inst) { + InstructionList multi_newarray_dc(org.apache.bcel.generic.Instruction inst) { int dims = ((MULTIANEWARRAY) inst).getDimensions(); if (dims == 2) { return multiarray2(inst); @@ -3877,7 +4106,7 @@ InstructionList multi_newarray_dc(Instruction inst) { * @param inst return instruction to be replaced * @return the instruction list */ - InstructionList return_tag(MethodGen mg, Instruction inst) { + InstructionList return_tag(MethodGen mg, org.apache.bcel.generic.Instruction inst) { Type type = mg.getReturnType(); InstructionList il = new InstructionList(); @@ -4063,27 +4292,32 @@ void fix_native(ClassGen gen, MethodGen mg) { /** * Returns whether or not tag fields are used within the specified method of the specified class. - * We can safely use class fields except in Object, String, and Class. + * We can safely use class fields except in Object, String, and Class. If checking a class, mgen + * is null. * - * @param mg method to check - * @param classname class to check + * @param mgen method to check + * @param classGen class to check * @return true if tag fields may be used in class for method */ - boolean tag_fields_ok(MethodGen mg, @ClassGetName String classname) { + boolean tag_fields_ok(@Nullable MethodGen24 mgen, ClassGen24 classGen) { // Prior to Java 8 an interface could not contain any implementations. - if (gen.isInterface()) { - if (gen.getMajor() < Const.MAJOR_1_8) { + if (classGen.isInterface()) { + if (classModel.majorVersion() < ClassFile.JAVA_8_VERSION) { return false; } } - if (BcelUtil.isConstructor(mg)) { - if (!this.constructor_is_initialized) { - return false; + if (mgen != null) { + if (mgen.getName().equals("")) { + if (!this.constructor_is_initialized) { + return false; + } } } + String classname = classGen.getClassName(); + if (!Premain.jdk_instrumented) { if (BcelUtil.inJdk(classname)) { return false; @@ -4134,85 +4368,80 @@ static String stack_contents(OperandStack stack, int max_items) { * *

If tag_fields_ok is true for the class, then tag fields are created and the accessor uses * the tag fields. If not, tag storage is created separately and accessed via the field number. - * ISSUE? This flag is not currently tested. (markro) * *

Accessors are also created for each visible superclass field that is not hidden by a field * in this class. These accessors just call the superclasses accessor. * *

Any accessors created are added to the class. * - * @param gen class to check for fields + * @param classGen class to check for fields */ - void create_tag_accessors(ClassGen gen) { - - String classname = gen.getClassName(); + void create_tag_accessors(ClassGen24 classGen) { // If this class doesn't support tag fields, don't create them - if (!tag_fields_ok(mgen, classname)) return; + if (!tag_fields_ok(null, classGen)) return; Set field_set = new HashSet<>(); - Map field_map = build_field_map(gen.getJavaClass()); + Map field_map = build_field_map(classModel); // Build accessors for all fields declared in this class - for (Field f : gen.getFields()) { + for (FieldModel fm : classModel.fields()) { - assert !field_set.contains(f.getName()) : f.getName() + "-" + classname; - field_set.add(f.getName()); + String fieldName = fm.fieldName().stringValue(); + assert !field_set.contains(fieldName) : fieldName + "-" + classGen.getClassName(); + field_set.add(fieldName); // skip primitive fields - if (!is_primitive(f.getType())) { + // MLR: skip non primitive fields? + if (!fm.fieldTypeSymbol().isPrimitive()) { continue; } - MethodGen get_method; - MethodGen set_method; - if (f.isStatic()) { - String full_name = null; // // = full_name(orig_class, f); - get_method = create_get_tag(gen, f, static_field_id.get(full_name)); - set_method = create_set_tag(gen, f, static_field_id.get(full_name)); + if (fm.flags().has(AccessFlag.STATIC)) { + String full_name = full_name(classModel, fm); + create_get_tag(classGen, fm, static_field_id.get(full_name)); + create_set_tag(classGen, fm, static_field_id.get(full_name)); } else { - get_method = create_get_tag(gen, f, field_map.get(f)); - set_method = create_set_tag(gen, f, field_map.get(f)); + create_get_tag(classGen, fm, field_map.get(fm)); + create_set_tag(classGen, fm, field_map.get(fm)); } - gen.addMethod(get_method.getMethod()); - gen.addMethod(set_method.getMethod()); } // Build accessors for each field declared in a superclass that is // is not shadowed in a subclass JavaClass[] super_classes; try { - super_classes = gen.getJavaClass().getSuperClasses(); + // super_classes = gen.getJavaClass().getSuperClasses(); } catch (Exception e) { throw new Error(e); } - for (JavaClass super_class : super_classes) { - for (Field f : super_class.getFields()) { - if (f.isPrivate()) { - continue; - } - if (field_set.contains(f.getName())) { - continue; - } - if (!is_primitive(f.getType())) { - continue; - } - - field_set.add(f.getName()); - MethodGen get_method; - MethodGen set_method; - if (f.isStatic()) { - String full_name = full_name(super_class, f); - get_method = create_get_tag(gen, f, static_field_id.get(full_name)); - set_method = create_set_tag(gen, f, static_field_id.get(full_name)); - } else { - get_method = create_get_tag(gen, f, field_map.get(f)); - set_method = create_set_tag(gen, f, field_map.get(f)); - } - gen.addMethod(get_method.getMethod()); - gen.addMethod(set_method.getMethod()); - } - } + // for (JavaClass super_class : super_classes) { + // for (Field f : super_class.getFields()) { + // if (f.isPrivate()) { + // continue; + // } + // if (field_set.contains(f.getName())) { + // continue; + // } + // if (!is_primitive(f.getType())) { + // continue; + // } + // + // field_set.add(f.getName()); + // MethodGen get_method; + // MethodGen set_method; + // if (f.isStatic()) { + // String full_name = full_name(super_class, fm); + // get_method = create_get_tag(classGen, fm, static_field_id.get(full_name)); + // set_method = create_set_tag(classGen, fm, static_field_id.get(full_name)); + // } else { + // get_method = create_get_tag(classGen, fm, field_map.get(f)); + // set_method = create_set_tag(classGen, fm, field_map.get(f)); + // } + // gen.addMethod(get_method.getMethod()); + // gen.addMethod(set_method.getMethod()); + // } + // } } /** @@ -4223,37 +4452,38 @@ void create_tag_accessors(ClassGen gen) { * @param jc class to check for fields * @return field offset map */ - Map build_field_map(JavaClass jc) { + Map build_field_map(ClassModel classModel) { - // Object doesn't have any primitive fields - if (jc.getClassName().equals("java.lang.Object")) { + Optional ce = classModel.superclass(); + if (!ce.isPresent()) { + // class is java.lang.Object, no primitive fields return new LinkedHashMap<>(); } - // Get the offsets for each field in the superclasses. - JavaClass super_jc; - try { - super_jc = jc.getSuperClass(); - } catch (Exception e) { - throw new Error("can't get superclass for " + jc, e); + // Get the offsets for each field in the superclass. + String superclassName = ce.get().asInternalName().replace('/', '.'); + ClassModel super_cm = getClassModel(superclassName); + if (super_cm == null) { + throw new Error("Can't get superclass for " + superclassName); } - Map field_map = build_field_map(super_jc); + + Map field_map = build_field_map(super_cm); int offset = field_map.size(); // Determine the offset for each primitive field in the class - // Also make sure the static_tags list is large enough for + // Also make sure the static_tags list is large enough for all // of the tags. - for (Field f : jc.getFields()) { - if (!is_primitive(f.getType())) { + for (FieldModel fm : classModel.fields()) { + if (!fm.fieldTypeSymbol().isPrimitive()) { continue; } - if (f.isStatic()) { + if (fm.flags().has(AccessFlag.STATIC)) { if (!in_jdk) { int min_size = static_field_id.size() + DCRuntime.max_jdk_static; while (DCRuntime.static_tags.size() <= min_size) DCRuntime.static_tags.add(null); - static_field_id.put(full_name(jc, f), min_size); + static_field_id.put(full_name(classModel, fm), min_size); } else { // building jdk - String full_name = full_name(jc, f); + String full_name = full_name(classModel, fm); if (static_field_id.containsKey(full_name)) { // System.out.printf("Reusing static field %s value %d%n", // full_name, static_field_id.get(full_name)); @@ -4264,7 +4494,7 @@ Map build_field_map(JavaClass jc) { } } } else { - field_map.put(f, offset); + field_map.put(fm, offset); offset++; } } @@ -4273,156 +4503,148 @@ Map build_field_map(JavaClass jc) { } /** - * Creates a get tag method for field f. The tag corresponding to field f will be pushed on the + * Creates a get tag method for field fm. The tag corresponding to field fm will be pushed on the * tag stack. * *

{@code
    * void ___$get_tag() {
-   *   #if f.isStatic()
+   *   #if fm.isStatic()
    *     DCRuntime.push_static_tag (tag_offset)
    *   #else
    *     DCRuntime.push_field_tag (this, tag_offset);
    * }
    * }
* - * @param gen class whose accessors are being built. Not necessarily the class declaring f (if f + * @param gen class whose accessors are being built. Not necessarily the class declaring fm (if fm * is inherited). - * @param f field to build an accessor for - * @param tag_offset offset of f in the tag storage for this field + * @param fm field to build an accessor for + * @param tag_offset offset of fm in the tag storage for this field * @return the get tag method */ - MethodGen create_get_tag(ClassGen gen, Field f, int tag_offset) { + void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { // Determine the method to call in DCRuntime. Instance fields and static // fields are handled separately. Also instance fields in special // classes that are created by the JVM are handled separately since only // in those classes can fields be read without being written (in java) String methodname = "push_field_tag"; - Type[] args = object_int; - if (f.isStatic()) { + String classname = classGen.getClassName(); + ClassDesc[] args = {CD_Object, CD_int}; + if (fm.flags().has(AccessFlag.STATIC)) { methodname = "push_static_tag"; - args = integer_arg; - } else if (is_uninit_class(gen.getClassName())) { + args = new ClassDesc[] {CD_int}; + } else if (is_uninit_class(classname)) { methodname = "push_field_tag_null_ok"; } - String classname = gen.getClassName(); - String accessor_name = Premain.tag_method_name(Premain.GET_TAG, classname, f.getName()); + String accessor_name = + Premain.tag_method_name(Premain.GET_TAG, classname, fm.fieldName().stringValue()); - InstructionList il = new InstructionList(); + List newCode = new ArrayList<>(); - if (!f.isStatic()) { - il.append(InstructionFactory.createThis()); + if (!fm.flags().has(AccessFlag.STATIC)) { + newCode.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // aload_0 (load this) } - il.append(ifact.createConstant(tag_offset)); - il.append(dcr_call(methodname, Type.VOID, args)); - il.append(InstructionFactory.createReturn(Type.VOID)); + newCode.add(loadIntegerConstant(tag_offset)); + newCode.add(dcr_call(methodname, CD_void, args)); + newCode.add(ReturnInstruction.of(TypeKind.VOID)); - int access_flags = f.getAccessFlags(); - if (gen.isInterface()) { + int access_flags = fm.flags().flagsMask(); + if (classGen.isInterface()) { // method in interface cannot be final - access_flags &= ~Const.ACC_FINAL; - if (gen.getMajor() < Const.MAJOR_1_8) { + access_flags &= ~AccessFlag.FINAL.ordinal(); + if (classModel.majorVersion() < ClassFile.JAVA_8_VERSION) { // If class file version is prior to 8 then a method in an interface // cannot be static (it's implicit) and must be abstract. - access_flags &= ~Const.ACC_STATIC; - access_flags |= Const.ACC_ABSTRACT; + access_flags &= ~AccessFlag.STATIC.ordinal(); + access_flags |= AccessFlag.ABSTRACT.ordinal(); } } else { - access_flags |= Const.ACC_FINAL; + access_flags |= AccessFlag.FINAL.ordinal(); } + access_flags |= ClassFile.ACC_PUBLIC; + access_flags &= ~ClassFile.ACC_PROTECTED; + access_flags &= ~ClassFile.ACC_PRIVATE; + // Create the get accessor method - MethodGen get_method = - new MethodGen( - access_flags, - Type.VOID, - Type.NO_ARGS, - new String[] {}, + classGen + .getClassBuilder() + .withMethod( accessor_name, - classname, - il, - pool); - get_method.isPrivate(false); - get_method.isProtected(false); - get_method.isPublic(true); - get_method.setMaxLocals(); - get_method.setMaxStack(); - // add_line_numbers(get_method, il); - - return get_method; + MethodTypeDesc.of(CD_void), + access_flags, + methodBuilder -> methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, newCode))); } /** - * Creates a set tag method for field f. The tag on the top of the tag stack will be popped off + * Creates a set tag method for field fm. The tag on the top of the tag stack will be popped off * and placed in the tag storeage corresponding to field * *
{@code
    * void ___$set_tag() {
-   *   #if f.isStatic()
+   *   #if fm.isStatic()
    *     DCRuntime.pop_static_tag (tag_offset)
    *   #else
    *     DCRuntime.pop_field_tag (this, tag_offset);
    * }
    * }
* - * @param gen class whose accessors are being built. Not necessarily the class declaring f (if f - * is inherited). - * @param f field to build an accessor for - * @param tag_offset offset of f in the tag storage for this field + * @param classGen class whose accessors are being built. Not necessarily the class declaring fm + * (if fm is inherited). + * @param fm field to build an accessor for + * @param tag_offset offset of fm in the tag storage for this field * @return the set tag method */ - MethodGen create_set_tag(ClassGen gen, Field f, int tag_offset) { + void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { String methodname = "pop_field_tag"; - Type[] args = object_int; - if (f.isStatic()) { + String classname = classGen.getClassName(); + ClassDesc[] args = {CD_Object, CD_int}; + if (fm.flags().has(AccessFlag.STATIC)) { methodname = "pop_static_tag"; - args = integer_arg; + args = new ClassDesc[] {CD_int}; } - String classname = gen.getClassName(); - String setter_name = Premain.tag_method_name(Premain.SET_TAG, classname, f.getName()); + String setter_name = + Premain.tag_method_name(Premain.SET_TAG, classname, fm.fieldName().stringValue()); - InstructionList il = new InstructionList(); + List newCode = new ArrayList<>(); - if (!f.isStatic()) { - il.append(InstructionFactory.createThis()); + if (!fm.flags().has(AccessFlag.STATIC)) { + newCode.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // aload_0 (load this) } - il.append(ifact.createConstant(tag_offset)); - il.append(dcr_call(methodname, Type.VOID, args)); - il.append(InstructionFactory.createReturn(Type.VOID)); + newCode.add(loadIntegerConstant(tag_offset)); + newCode.add(dcr_call(methodname, CD_void, args)); + newCode.add(ReturnInstruction.of(TypeKind.VOID)); - int access_flags = f.getAccessFlags(); - if (gen.isInterface()) { + int access_flags = fm.flags().flagsMask(); + if (classGen.isInterface()) { // method in interface cannot be final - access_flags &= ~Const.ACC_FINAL; - if (gen.getMajor() < Const.MAJOR_1_8) { + access_flags &= ~AccessFlag.FINAL.ordinal(); + if (classModel.majorVersion() < ClassFile.JAVA_8_VERSION) { // If class file version is prior to 8 then a method in an interface // cannot be static (it's implicit) and must be abstract. - access_flags &= ~Const.ACC_STATIC; - access_flags |= Const.ACC_ABSTRACT; + access_flags &= ~AccessFlag.STATIC.ordinal(); + access_flags |= AccessFlag.ABSTRACT.ordinal(); } } else { - access_flags |= Const.ACC_FINAL; + access_flags |= AccessFlag.FINAL.ordinal(); } + // make field public + access_flags |= ClassFile.ACC_PUBLIC; + access_flags &= ~ClassFile.ACC_PROTECTED; + access_flags &= ~ClassFile.ACC_PRIVATE; + // Create the setter method - MethodGen set_method = - new MethodGen( - access_flags, - Type.VOID, - Type.NO_ARGS, - new String[] {}, + classGen + .getClassBuilder() + .withMethod( setter_name, - classname, - il, - pool); - set_method.setMaxLocals(); - set_method.setMaxStack(); - // add_line_numbers(set_method, il); - - return set_method; + MethodTypeDesc.of(CD_void), + access_flags, + methodBuilder -> methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, newCode))); } /** @@ -4438,43 +4660,38 @@ MethodGen create_set_tag(ClassGen gen, Field f, int tag_offset) { * The method does nothing except call the instrumented equals method (boolean equals(Object, * DCompMarker)). * - * @param gen class to add interface to + * @param classBuilder for the class + * @param classGen class to add method to */ - void add_dcomp_interface(ClassGen gen) { - gen.addInterface(DCRuntime.instrumentation_interface); + void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen) { + classGen.addInterface(DCRuntime.instrumentation_interface); debugInstrument.log("Added interface DCompInstrumented%n"); - InstructionList il = new InstructionList(); - int access_flags = Const.ACC_PUBLIC; - if (gen.isInterface()) { - access_flags |= Const.ACC_ABSTRACT; + List instructions = new ArrayList<>(); + + int access_flags = ClassFile.ACC_PUBLIC; + if (classGen.isInterface()) { + access_flags |= ClassFile.ACC_ABSTRACT; } - MethodGen method = - new MethodGen( - access_flags, - Type.BOOLEAN, - new Type[] {Type.OBJECT}, - new String[] {"obj"}, - "equals_dcomp_instrumented", - gen.getClassName(), - il, - pool); - il.append(InstructionFactory.createLoad(Type.OBJECT, 0)); // load this - il.append(InstructionFactory.createLoad(Type.OBJECT, 1)); // load obj - il.append(new ACONST_NULL()); // use null for marker - il.append( - ifact.createInvoke( - gen.getClassName(), - "equals", - Type.BOOLEAN, - new Type[] {Type.OBJECT}, // //, dcomp_marker}, - Const.INVOKEVIRTUAL)); - il.append(InstructionFactory.createReturn(Type.BOOLEAN)); - method.setMaxStack(); - method.setMaxLocals(); - gen.addMethod(method.getMethod()); - il.dispose(); + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj + instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); // use null for marker + MethodRefEntry mre = + ClassGen24.getPoolBuilder() + .methodRefEntry( + ClassDesc.of(classGen.getClassName()), + "equals", + MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker)); + instructions.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); + + classBuilder.withMethod( + "equals_dcomp_instrumented", + MethodTypeDesc.of(CD_boolean, CD_Object), + access_flags, + methodBuilder -> + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions))); } /** @@ -4490,39 +4707,34 @@ void add_dcomp_interface(ClassGen gen) { * is already defined in the class, a ClassFormatError will result because of the duplicate * method. * - * @param gen class to add method to + * @param classBuilder for the class + * @param classGen class to add method to */ - void add_equals_method(ClassGen gen) { - InstructionList il = new InstructionList(); - int access_flags = Const.ACC_PUBLIC; - if (gen.isInterface()) { - access_flags |= Const.ACC_ABSTRACT; + void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen) { + List instructions = new ArrayList<>(); + + int access_flags = ClassFile.ACC_PUBLIC; + if (classGen.isInterface()) { + access_flags |= ClassFile.ACC_ABSTRACT; } - MethodGen method = - new MethodGen( - access_flags, - Type.BOOLEAN, - new Type[] {Type.OBJECT}, - new String[] {"obj"}, - "equals", - gen.getClassName(), - il, - pool); - il.append(InstructionFactory.createLoad(Type.OBJECT, 0)); // load this - il.append(InstructionFactory.createLoad(Type.OBJECT, 1)); // load obj - il.append( - ifact.createInvoke( - gen.getSuperclassName(), - "equals", - Type.BOOLEAN, - new Type[] {Type.OBJECT}, - Const.INVOKESPECIAL)); - il.append(InstructionFactory.createReturn(Type.BOOLEAN)); - method.setMaxStack(); - method.setMaxLocals(); - gen.addMethod(method.getMethod()); - il.dispose(); + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj + MethodRefEntry mre = + ClassGen24.getPoolBuilder() + .methodRefEntry( + ClassDesc.of(classGen.getSuperclassName()), + "equals", + MethodTypeDesc.of(CD_boolean, CD_Object)); + instructions.add(InvokeInstruction.of(Opcode.INVOKESPECIAL, mre)); + instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); + + classBuilder.withMethod( + "equals", + MethodTypeDesc.of(CD_boolean, CD_Object), + access_flags, + methodBuilder -> + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions))); } /** @@ -4532,38 +4744,44 @@ void add_equals_method(ClassGen gen) { * * @param gen class to check */ - void handle_object(ClassGen gen) { - Method cl = gen.containsMethod("clone", "()Ljava/lang/Object;"); + void handle_object(ClassGen24 classGen) { + + @SuppressWarnings("signature:assignment") + @MethodDescriptor String noArgsReturnObject = "()Ljava/lang/Object;"; + MethodModel cl = classGen.containsMethod("clone", noArgsReturnObject); if (cl != null) { - gen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompClone")); + classGen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompClone")); } - Method ts = gen.containsMethod("toString", "()Ljava/lang/String;"); + @SuppressWarnings("signature:assignment") + @MethodDescriptor String noArgsReturnString = "()Ljava/lang/String;"; + MethodModel ts = classGen.containsMethod("toString", noArgsReturnString); if (ts != null) { - gen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompToString")); + classGen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompToString")); } } /** * Add a dcomp marker argument to indicate this is the instrumented version of the method. * - * @param mg method to ard dcomp marker to + * @param mgen method to add dcomp marker to + * @param minfo for the given method's code */ - void add_dcomp_arg(MethodGen mg) { + void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { // Don't modify main or the JVM won't be able to find it. - if (BcelUtil.isMain(mg)) { + if (mgen.isMain()) { return; } // Don't modify class init methods, they don't take arguments - if (BcelUtil.isClinit(mg)) { + if (mgen.isClinit()) { return; } // Add the dcomp marker argument to indicate this is the // instrumented version of the method. - // addNewParameter(mg, "marker", dcomp_marker); + BcelUtils24.addNewParameter(mgen, "marker", dcomp_marker, minfo); } /** @@ -4574,7 +4792,7 @@ void add_dcomp_arg(MethodGen mg) { * @return true if method is member of Object */ @Pure - boolean is_object_method(String methodName, Type[] argTypes) { + boolean is_object_method(String methodName, ClassDesc[] argTypes) { for (MethodDef md : obj_methods) { if (md.equals(methodName, argTypes)) { return true; @@ -4696,12 +4914,13 @@ static void restore_static_field_id(File file) throws IOException { /** * Return the fully qualified fieldname of the specified field. * - * @param jc class containing the field - * @param f the field + * @param cm class containing the field + * @param fm the field * @return string containing the fully qualified name */ - protected String full_name(JavaClass jc, Field f) { - return jc.getClassName() + "." + f.getName(); + protected String full_name(ClassModel cm, FieldModel fm) { + String temp = ClassGen24.getClassName(cm) + "." + fm.fieldName().stringValue(); + return temp; } /** @@ -5010,7 +5229,7 @@ protected CodeElement buildLDCInstruction(ConstantValueEntry entry) { * @param value to be pushed * @return a push instruction */ - protected CodeElement loadIntegerConstant(final int value, MethodGen24 mgen) { + protected CodeElement loadIntegerConstant(final int value) { return switch (value) { case -1 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_M1); case 0 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_0); @@ -5024,7 +5243,7 @@ protected CodeElement loadIntegerConstant(final int value, MethodGen24 mgen) { ? ConstantInstruction.ofArgument(Opcode.BIPUSH, value) : (value >= Short.MIN_VALUE && value <= Short.MAX_VALUE) ? ConstantInstruction.ofArgument(Opcode.SIPUSH, value) - : buildLDCInstruction(mgen.getPoolBuilder().intEntry(value)); + : buildLDCInstruction(ClassGen24.getPoolBuilder().intEntry(value)); }; } } From 7af6dc694c14f8322f7e215720e87930055af891 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 23 Apr 2025 12:16:50 -0700 Subject: [PATCH 008/211] checkpoint current work --- java/daikon/dcomp/BcelUtils24.java | 223 ++++++++++++++++++++++++++++ java/daikon/dcomp/ClassGen24.java | 230 +++++++++++++++++++++++++++++ 2 files changed, 453 insertions(+) create mode 100644 java/daikon/dcomp/BcelUtils24.java create mode 100644 java/daikon/dcomp/ClassGen24.java diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java new file mode 100644 index 0000000000..2f62c6e835 --- /dev/null +++ b/java/daikon/dcomp/BcelUtils24.java @@ -0,0 +1,223 @@ +package daikon.dcomp; + +import daikon.chicory.MethodGen24; +import daikon.plumelib.bcelutil.SimpleLog; +import java.lang.classfile.CodeElement; +import java.lang.classfile.TypeKind; +import java.lang.classfile.instruction.DiscontinuedInstruction; +import java.lang.classfile.instruction.IncrementInstruction; +import java.lang.classfile.instruction.LoadInstruction; +import java.lang.classfile.instruction.LocalVariable; +import java.lang.classfile.instruction.StoreInstruction; +import java.lang.constant.ClassDesc; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.ListIterator; + +/** This class provides utility methods to ...??? */ +@SuppressWarnings("nullness") +public class BcelUtils24 { + + /** Create a new BcelUtils24 object. */ + public BcelUtils24() { + // Nothing to do. + } + + /* + * NOMENCLATURE + * + * 'index' is an item's subscript into a data structure. + * + * 'offset' is used to describe two different address types: + * * the offset of a byte code from the start of a method's byte codes + * * the offset of a variable from the start of a method's stack frame + * + * The Java Virtual Machine Specification uses + * 'index into the local variable array of the current frame' + * or 'slot number' to describe this second case. + * + * Unfortunately, BCEL uses the method names getIndex and setIndex + * to refer to 'offset's into the local stack frame. + * It uses getPosition and setPosition to refer to 'offset's into + * the byte codes. + */ + + /** A log to which to print debugging information about program instrumentation. */ + protected static SimpleLog debugInstrument = new SimpleLog(true); + + /** The number of local variables in the current method prior to any modifications. */ + protected static int initialLocalsCount; + + /** + * The index of the first 'true' local in the local variable table. That is, after 'this' and any + * parameters. + */ + protected static int firstLocalIndex; + + /** + * Returns a copy of the given type array, with newType added to the end. + * + * @param types the array to extend + * @param newType the element to add to the end of the array + * @return a new array, with newType at the end + */ + public static ClassDesc[] postpendToArray(ClassDesc[] types, ClassDesc newType) { + if (types.length == Integer.MAX_VALUE) { + throw new Error("array " + Arrays.toString(types) + " is too large to extend"); + } + ClassDesc[] newTypes = new ClassDesc[types.length + 1]; + System.arraycopy(types, 0, newTypes, 0, types.length); + newTypes[types.length] = newType; + return newTypes; + } + + /** + * Returns a String array with newString added to the end of arr. + * + * @param arr original string array + * @param newString string to be added + * @return the new string array + */ + protected static String[] addString(String[] arr, String newString) { + String[] newArr = new String[arr.length + 1]; + for (int ii = 0; ii < arr.length; ii++) { + newArr[ii] = arr[ii]; + } + newArr[arr.length] = newString; + return newArr; + } + + /** + * Process the instruction list, adding size (1 or 2) to the index of each Instruction that + * references a local that is equal or higher in the local map than offsetFirstMovedlocal. Size + * should be the size of the new local that was just inserted at offsetFirstMovedlocal. + * + * @param mgen MethodGen to be modified + * @param offsetFirstMovedlocal original offset of first local moved "up" + * @param size size of new local added (1 or 2) + */ + protected static void adjust_code_for_locals_change( + MethodGen24 mgen, int offsetFirstMovedLocal, int size) { + + try { + List il = mgen.getInstructionList(); + ListIterator iter = il.listIterator(); + while (iter.hasNext()) { + + CodeElement inst = iter.next(); + switch (inst) { + case DiscontinuedInstruction.RetInstruction ret -> { + if (ret.slot() >= offsetFirstMovedLocal) { + iter.set(DiscontinuedInstruction.RetInstruction.of(ret.slot() + size)); + } + } + case IncrementInstruction inc -> { + if (inc.slot() >= offsetFirstMovedLocal) { + iter.set(IncrementInstruction.of(inc.slot() + size, inc.constant())); + } + } + case LoadInstruction load -> { + if (load.slot() >= offsetFirstMovedLocal) { + iter.set(LoadInstruction.of(load.typeKind(), load.slot() + size)); + } + } + case StoreInstruction store -> { + if (store.slot() >= offsetFirstMovedLocal) { + iter.set(StoreInstruction.of(store.typeKind(), store.slot() + size)); + } + } + default -> {} // ignore all other instructions + } + } + } catch (Exception e) { + System.err.printf("Unexpected exception encountered: %s", e); + e.printStackTrace(); + } + } + + /** + * Add a new parameter to the method. This will be added after last current parameter and before + * the first local variable. This might have the side effect of causing us to rewrite the method + * byte codes to adjust the offsets for the local variables - see below for details. + * + *

Must call fixLocalVariableTable (just once per method) before calling this routine. + * + * @param mgen MethodGen to be modified + * @param argName name of new parameter + * @param argType type of new parameter + * @param minfo for the given method's code + * @return a LocalVariableGen for the new parameter + */ + public static final LocalVariable addNewParameter( + MethodGen24 mgen, String argName, ClassDesc argType, MethodGen24.MInfo24 minfo) { + // We add a new parameter, after any current ones, and then + // we need to make a pass over the byte codes to update the local + // offset values of all the locals we just shifted up. + + LocalVariable argNew = null; + // get a copy of the locals before modification + ArrayList locals = mgen.localsTable; + ClassDesc[] argTypes = mgen.getParameterTypes(); + int newIndex = 0; + int newOffset = 0; + + boolean hasCode = !mgen.getInstructionList().isEmpty(); + + if (hasCode) { + if (!mgen.isStatic()) { + // Skip the 'this' pointer. + newIndex++; + newOffset++; // size of 'this' is 1 + } + + if (argTypes.length > 0) { + LocalVariable lastArg; + newIndex = newIndex + argTypes.length; + // newIndex is now positive, because argTypes.length is + lastArg = locals.get(newIndex - 1); + newOffset = lastArg.slot() + TypeKind.from(lastArg.typeSymbol()).slotSize(); + } + + // Insert our new local variable into existing table at 'newOffset'. + argNew = LocalVariable.of(newOffset, argName, argType, minfo.startLabel, minfo.endLabel); + mgen.localsTable.add(newIndex, argNew); + + // Update the index of the first 'true' local in the local variable table. + // NOT USED? + firstLocalIndex++; + } + // NOT USED? + initialLocalsCount++; + + // Update the method's parameter information. + argTypes = postpendToArray(argTypes, argType); + String[] argNames = addString(mgen.getParameterNames(), argName); + mgen.setParameterTypes(argTypes); + mgen.setParameterNames(argNames); + + if (hasCode) { + int size = TypeKind.from(argType).slotSize(); + // we need to adjust the offset of any locals after our insertion + for (int i = newIndex + 1; i < locals.size(); i++) { + LocalVariable lv = locals.get(i); + locals.set( + i, + LocalVariable.of( + lv.slot() + size, lv.name(), lv.type(), lv.startScope(), lv.endScope())); + } + + debugInstrument.log( + "Added arg %s%n", argNew.slot() + ": " + argNew.name() + ", " + argNew.type()); + + // Now process the instruction list, adding one to the offset + // within each LocalVariableInstruction that references a + // local that is 'higher' in the local map than new local + // we just inserted. + adjust_code_for_locals_change(mgen, newOffset, size); + + // debugInstrument.log("New LocalVariableTable:%n%s%n", mgen.localsTable); + } + return argNew; + } +} diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java new file mode 100644 index 0000000000..c4d483d905 --- /dev/null +++ b/java/daikon/dcomp/ClassGen24.java @@ -0,0 +1,230 @@ +package daikon.dcomp; + +import daikon.plumelib.reflection.Signatures; +import java.lang.classfile.AccessFlags; +import java.lang.classfile.ClassBuilder; +import java.lang.classfile.ClassModel; +import java.lang.classfile.MethodModel; +import java.lang.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.ConstantPoolBuilder; +import java.lang.constant.ClassDesc; +import java.lang.reflect.AccessFlag; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import org.checkerframework.checker.lock.qual.GuardSatisfied; +import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.checker.signature.qual.BinaryName; +import org.checkerframework.checker.signature.qual.InternalForm; +import org.checkerframework.checker.signature.qual.MethodDescriptor; + +/** + * ClassGen24 collects and stores all the relevant information about a class that DCInstrument24 + * might need. ClassGen24 is analogous to the BCEL ClassGen class. The similarity makes it easier to + * keep DCInstrument.java and DCInstrument24.java in sync. + * + *

ClassGen24 uses Java's ({@code java.lang.classfile}) APIs for reading and modifying .class + * files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more complete and robust + * (no more fiddling with StackMaps) and are always up to date with any .class file changes (since + * they are part of the JDK). (We will need to continue to support Instrument.java using BCEL, as we + * anticipate our clients using JDK 21 or less for quite some time.) + */ +public class ClassGen24 { + + /** + * Models the body of the class. + * + *

Several fields of ClassModel are declared as fields of ClassGen24 to better correspond to + * BCEL's version of ClassGen and to reduce re-computation. Currently we set these fields in the + * constructor, but they could be calculated lazily on first reference. + */ + private ClassModel classModel; + + /** The class's access flags. */ + private AccessFlags accessFlags; + + /** The class's name. */ + private @BinaryName String className; + + /** The ClassBuilder for this class. */ + private ClassBuilder classBuilder; + + /** True if the class is an interface. */ + private boolean isInterface; + + /** True if the class is static. */ + private boolean isStatic; + + /** The name of the class's enclosing class, in binary name format. */ + private @BinaryName String superclassName; + + /** The list of interfaces this class implements. */ + private List interfaceList; + + /** ConstantPool builder for entire class. */ + private static ConstantPoolBuilder poolBuilder; + + /** + * Creates a ClassGen24 object. + * + * @param classModel the class + * @param className the containing class, in binary name format + * @param classBuilder for the class + */ + public ClassGen24( + final ClassModel classModel, + final @BinaryName String className, + final ClassBuilder classBuilder) { + + this.classModel = classModel; + this.className = className; + this.classBuilder = classBuilder; + poolBuilder = classBuilder.constantPool(); + + accessFlags = classModel.flags(); + isInterface = accessFlags.has(AccessFlag.INTERFACE); + isStatic = accessFlags.has(AccessFlag.STATIC); + + superclassName = getSuperclassName(classModel); + + // The original interface list is immutable, so we need to make a copy. + // @SuppressWarnings("JdkObsolete") + interfaceList = new ArrayList(classModel.interfaces()); + } + + /** + * Add an interface to this class. + * + * @param name the interface name (binary format) + */ + public void addInterface(@BinaryName String name) { + ClassDesc ue = ClassDesc.of(name); + ClassEntry ce = poolBuilder.classEntry(ue); + if (interfaceList.contains(ce)) { + return; + } + interfaceList.add(ce); + classBuilder.withInterfaces(interfaceList); + } + + /** + * Determine if this class contains the indicatated method. + * + * @param name the method's name + * @param descriptor the method's type descriptor + * @return the MethodModel if found, null otherwise + */ + public @Nullable MethodModel containsMethod(String name, @MethodDescriptor String descriptor) { + for (MethodModel mm : classModel.methods()) { + if (mm.methodName().stringValue().equals(name) + && mm.methodType().stringValue().equals(descriptor)) { + return mm; + } + } + return null; + } + + /** + * Return the class's access flags. + * + * @return the access flags + */ + public AccessFlags getAccessFlags() { + return accessFlags; + } + + /** + * Return true if the class is an interface. + * + * @return interface flag + */ + public final boolean isInterface() { + return isInterface; + } + + /** + * Return true if the class is static. + * + * @return static flag + */ + public final boolean isStatic() { + return isStatic; + } + + /** + * Return the class's name. + * + * @return the class's name + */ + public @BinaryName String getClassName() { + return className; + } + + /** + * Returns a {@code ClassModel}'s class name. + * + * @return the class's name + */ + public static @BinaryName String getClassName(ClassModel classModel) { + @SuppressWarnings("signature:assignment") // type conversion + @InternalForm String temp = classModel.thisClass().asInternalName(); + return Signatures.internalFormToBinaryName(temp); + } + + /** + * Returns the name of the super class of this class. In the case that this class is {@link + * Object}, it will return itself ({@link Object}). This is probably incorrect but is consistant + * with the BCEL version of getSuperclassName. + * + * @return the binary name of the class that contains this class + */ + public @BinaryName String getSuperclassName() { + return superclassName; + } + + /** + * Returns the name of the super class of the argument. In the case that the argument class is + * {@link Object}, it will return itself ({@link Object}). This is probably incorrect but is + * consistant with the BCEL version of getSuperclassName. + * + * @param classModel the class to check + * @return the binary name of the superclass of classModel or "java.lang.Object" if it has no + * superclass + */ + public static @BinaryName String getSuperclassName(ClassModel classModel) { + Optional ce = classModel.superclass(); + if (ce.isPresent()) { + @SuppressWarnings("signature:assignment") // type conversion + @BinaryName String scn = ce.get().asInternalName().replace('/', '.'); + return scn; + } else { + // This is probably incorrect but is consistant with the BCEL version of superclassName. + // What about if this is module-info.class? + return "java.lang.Object"; + } + } + + /** + * Return the class builder. + * + * @return the class builder + */ + public ClassBuilder getClassBuilder() { + return classBuilder; + } + + /** + * Return the constant pool builder. + * + * @return the constant pool builder + */ + public static ConstantPoolBuilder getPoolBuilder() { + return poolBuilder; + } + + // need to fancy up! + @Override + public final String toString(@GuardSatisfied ClassGen24 this) { + return className; + } +} From f0106519332b31b346356137e42923ae91a14487 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 24 Apr 2025 14:20:19 -0700 Subject: [PATCH 009/211] fix errorprone warning --- java/daikon/dcomp/BcelUtils24.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 2f62c6e835..7233a49bc3 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -94,7 +94,7 @@ protected static String[] addString(String[] arr, String newString) { * should be the size of the new local that was just inserted at offsetFirstMovedlocal. * * @param mgen MethodGen to be modified - * @param offsetFirstMovedlocal original offset of first local moved "up" + * @param offsetFirstMovedLocal original offset of first local moved "up" * @param size size of new local added (1 or 2) */ protected static void adjust_code_for_locals_change( From f3c747defc774becffc8d61de84aacde064c6ba9 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 24 Apr 2025 14:26:30 -0700 Subject: [PATCH 010/211] fix problem in getClassModel --- java/daikon/dcomp/DCInstrument24.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index bf1db497d0..b1964fc445 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -20,6 +20,7 @@ import daikon.plumelib.util.EntryReader; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.io.PrintStream; import java.lang.classfile.Annotation; import java.lang.classfile.ClassBuilder; @@ -61,7 +62,6 @@ import java.lang.invoke.MethodHandles; import java.lang.reflect.AccessFlag; import java.net.URL; -import java.nio.file.Paths; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; @@ -135,6 +135,7 @@ // import org.apache.bcel.generic.StoreInstruction; import org.apache.bcel.generic.Type; import org.apache.bcel.verifier.structurals.OperandStack; +import org.apache.commons.io.IOUtils; import org.checkerframework.checker.lock.qual.GuardSatisfied; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; import org.checkerframework.checker.nullness.qual.KeyFor; @@ -3212,11 +3213,14 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m URL class_url = ClassLoader.getSystemResource(classname.replace('.', '/') + ".class"); if (class_url != null) { - try { - ClassModel result = classFile.parse(Paths.get(class_url.toURI())); - classModelCache.put(classname, result); - return result; + try (InputStream inputStream = class_url.openStream()) { + if (inputStream != null) { + ClassModel result = classFile.parse(IOUtils.toByteArray(inputStream)); + classModelCache.put(classname, result); + return result; + } } catch (Throwable t) { + t.printStackTrace(); throw new Error(String.format("Unexpected error while reading %s%n", classname), t); } } From c247599148202f8df71fd67aefe6c02d8e4a1aca Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 24 Apr 2025 14:27:59 -0700 Subject: [PATCH 011/211] fix Mullness Checker issue --- java/daikon/dcomp/ClassGen24.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index c4d483d905..7a89ecba50 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -61,8 +61,11 @@ public class ClassGen24 { /** The list of interfaces this class implements. */ private List interfaceList; - /** ConstantPool builder for entire class. */ - private static ConstantPoolBuilder poolBuilder; + /** + * ConstantPool builder for entire class. Initialized with unused value to keep the Checker + * Framework Nullness Checker happy. + */ + private static ConstantPoolBuilder poolBuilder = ConstantPoolBuilder.of(); /** * Creates a ClassGen24 object. From eb25fa55d2b90346379b1f9e57f79421dafadeed Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 24 Apr 2025 14:28:58 -0700 Subject: [PATCH 012/211] need IOUtils from Apache commons.io --- java/lib/commons-io-2.19.0.jar | Bin 0 -> 556073 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 java/lib/commons-io-2.19.0.jar diff --git a/java/lib/commons-io-2.19.0.jar b/java/lib/commons-io-2.19.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..38e7fd20a44016c2b8d3556212a8b44974248057 GIT binary patch literal 556073 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�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ΜOG)&bk;bP9l_C43minX@M+`&T%|-hjS`WP?QOI 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%0AHpkKnI;FK<_gUC5#qD&b)XX)39LStKndzjjjc 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%0A1NaPGFjd1QAO=$4KdHF;<6-l4{(f@H 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%0Dg_+6KxU2914%q$TO*Xh2$M#MX+h__>w$vin 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 c9Dp?qJJJ_+p_U5Qy%qgXgdlpr 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

#mr!mQp=&W~;2+GeyTlN+1n38 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 Zg@vhy&v?AmN~@LpH{v~~2bfRr{s*?EQ5gUL literal 0 HcmV?d00001 From 6c3af631a35273944339da99d2c83eceeb86b9a5 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 26 Apr 2025 10:22:46 -0700 Subject: [PATCH 013/211] improve debug output --- java/daikon/chicory/Instrument24.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 0d9c68ba0a..8052aa657a 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -1372,10 +1372,12 @@ private boolean isConstructor(MethodGen24 mgen) { if (mgen.isStatic()) { param_offset = 0; } + + debugInstrument.log("create_method_info for: %s%n", classInfo.class_name); if (debugInstrument.enabled) { debugInstrument.log("create_method_info1 %s%n", paramNames.length); for (int i = 0; i < paramNames.length; i++) { - debugInstrument.log("param: %s%n", paramNames[i]); + debugInstrument.log("param name: %s%n", paramNames[i]); } } @@ -1415,7 +1417,7 @@ private boolean isConstructor(MethodGen24 mgen) { if (debugInstrument.enabled) { debugInstrument.log("create_method_info2 %s%n", paramNames.length); for (int i = 0; i < paramNames.length; i++) { - debugInstrument.log("param: %s%n", paramNames[i]); + debugInstrument.log("param name: %s%n", paramNames[i]); } } @@ -1440,6 +1442,13 @@ private boolean isConstructor(MethodGen24 mgen) { arg_type_strings[i] = typeToClassGetName(paramTypes[i]); } + if (debugInstrument.enabled) { + debugInstrument.log("create_method_info3 %s%n", paramTypes.length); + for (int ii = 0; ii < paramTypes.length; ii++) { + debugInstrument.log("param type: %s%n", arg_type_strings[ii]); + } + } + // Loop through each instruction and find the line number for each return opcode. List exit_locs = new ArrayList<>(); From 25eb42931ebe34771b0491b1a2a6768a5a0323cc Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 26 Apr 2025 10:23:48 -0700 Subject: [PATCH 014/211] adjust for compiler bug; improve signature checker annotations --- java/daikon/chicory/MethodGen24.java | 52 +++++++++++++++++++++------- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 87659f1d71..49684f3f2a 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -20,6 +20,7 @@ import java.lang.constant.MethodTypeDesc; import java.lang.reflect.AccessFlag; import java.util.ArrayList; +// import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.LinkedList; @@ -30,6 +31,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.signature.qual.BinaryName; +import org.checkerframework.checker.signature.qual.FieldDescriptor; import org.checkerframework.checker.signature.qual.Identifier; import org.checkerframework.checker.signature.qual.MethodDescriptor; @@ -249,14 +251,6 @@ public MethodGen24( signature = descriptor; } - mtd = methodModel.methodTypeSymbol(); - paramTypes = mtd.parameterArray(); - // We need a deep copy and ClassDesc does not have a clone() method - for (int i = 0; i < paramTypes.length; i++) { - paramTypes[i] = ClassDesc.ofDescriptor(paramTypes[i].descriptorString()); - } - returnType = mtd.returnType(); - // Set up the localsTable. localsTable = new ArrayList<>(); @@ -274,10 +268,42 @@ public MethodGen24( // Not necessarily sorted, so sort to make searching/insertion easier. localsTable.sort(Comparator.comparing(LocalVariable::slot)); origLocalVariables = localsTable.toArray(new LocalVariable[localsTable.size()]); + // System.out.println("orig locals: " + Arrays.toString(origLocalVariables)); - // System.out.println("locals:" + Arrays.toString(origLocalVariables)); - // System.out.println("types:" + Arrays.toString(paramTypes)); - // System.out.println("length: " + paramTypes.length + ", offset: " + offset); + // Set up the parameter types and names. + mtd = methodModel.methodTypeSymbol(); + paramTypes = mtd.parameterArray(); + + // java.lang.classfile seems to be inconsistent with the parameter types + // of an inner class constructor. It may optimize away the hidden 'this$0' + // parameter, but it does not remove the corresponding entry from the + // parameterArray(). In order to correctly derive the names of the + // parameters I need to detect this special case and remove the + // incorrect entry from the parameterArray(). This check is ugly. + if (methodName.equals("") && paramTypes.length > 0 && origLocalVariables.length > 1) { + int dollarPos = className.lastIndexOf("$"); + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String arg0Fd = paramTypes[0].descriptorString(); + String arg0Type = Instrument24.convertDescriptorToFqBinaryName(arg0Fd); + if (dollarPos >= 0 + && + // see if type of first parameter is classname up to the "$" + className.substring(0, dollarPos).equals(arg0Type) + && + // don't change paramTypes if 'this$0' is present + !origLocalVariables[1].name().stringValue().equals("this$0")) { + // remove first param type so consistent with other methods + ClassDesc[] newArray = new ClassDesc[paramTypes.length - 1]; + System.arraycopy(paramTypes, 1, newArray, 0, paramTypes.length - 1); + paramTypes = newArray; + } + } + + // We need a deep copy and ClassDesc does not have a clone() method + for (int i = 0; i < paramTypes.length; i++) { + paramTypes[i] = ClassDesc.ofDescriptor(paramTypes[i].descriptorString()); + } + returnType = mtd.returnType(); paramNames = new String[paramTypes.length]; int offset = isStatic ? 0 : 1; @@ -375,7 +401,7 @@ public String getParameterName(final int i) { * * @return the parameter names */ - public String[] getParameterNames() { + public @Identifier String[] getParameterNames() { return paramNames.clone(); } @@ -384,7 +410,7 @@ public String[] getParameterNames() { * * @param paramNames the new paramNames array */ - public void setParameterNames(final String[] paramNames) { + public void setParameterNames(final @Identifier String[] paramNames) { this.paramNames = paramNames; } From 517b4cce6588d6de06256fc9e24880252fe7135c Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 26 Apr 2025 10:24:39 -0700 Subject: [PATCH 015/211] improve signature checker annotations --- java/daikon/dcomp/BcelUtils24.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 7233a49bc3..f5a4bf2f3b 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -14,6 +14,7 @@ import java.util.Arrays; import java.util.List; import java.util.ListIterator; +import org.checkerframework.checker.signature.qual.Identifier; /** This class provides utility methods to ...??? */ @SuppressWarnings("nullness") @@ -192,7 +193,8 @@ public static final LocalVariable addNewParameter( // Update the method's parameter information. argTypes = postpendToArray(argTypes, argType); - String[] argNames = addString(mgen.getParameterNames(), argName); + @SuppressWarnings("signature:assignment") // string manipulation + @Identifier String[] argNames = addString(mgen.getParameterNames(), argName); mgen.setParameterTypes(argTypes); mgen.setParameterNames(argNames); From 2359ad0836120b1f0a8ba54acf074005c421ed92 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 26 Apr 2025 10:25:18 -0700 Subject: [PATCH 016/211] rearrange constantPoolBuilder --- java/daikon/dcomp/ClassGen24.java | 19 +------------- java/daikon/dcomp/DCInstrument24.java | 37 ++++++++++++++------------- 2 files changed, 20 insertions(+), 36 deletions(-) diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 7a89ecba50..9885ea92e4 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -6,7 +6,6 @@ import java.lang.classfile.ClassModel; import java.lang.classfile.MethodModel; import java.lang.classfile.constantpool.ClassEntry; -import java.lang.classfile.constantpool.ConstantPoolBuilder; import java.lang.constant.ClassDesc; import java.lang.reflect.AccessFlag; import java.util.ArrayList; @@ -61,12 +60,6 @@ public class ClassGen24 { /** The list of interfaces this class implements. */ private List interfaceList; - /** - * ConstantPool builder for entire class. Initialized with unused value to keep the Checker - * Framework Nullness Checker happy. - */ - private static ConstantPoolBuilder poolBuilder = ConstantPoolBuilder.of(); - /** * Creates a ClassGen24 object. * @@ -82,7 +75,6 @@ public ClassGen24( this.classModel = classModel; this.className = className; this.classBuilder = classBuilder; - poolBuilder = classBuilder.constantPool(); accessFlags = classModel.flags(); isInterface = accessFlags.has(AccessFlag.INTERFACE); @@ -102,7 +94,7 @@ public ClassGen24( */ public void addInterface(@BinaryName String name) { ClassDesc ue = ClassDesc.of(name); - ClassEntry ce = poolBuilder.classEntry(ue); + ClassEntry ce = classBuilder.constantPool().classEntry(ue); if (interfaceList.contains(ce)) { return; } @@ -216,15 +208,6 @@ public ClassBuilder getClassBuilder() { return classBuilder; } - /** - * Return the constant pool builder. - * - * @return the constant pool builder - */ - public static ConstantPoolBuilder getPoolBuilder() { - return poolBuilder; - } - // need to fancy up! @Override public final String toString(@GuardSatisfied ClassGen24 this) { diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index b1964fc445..a690271a2f 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -200,6 +200,9 @@ public class DCInstrument24 { /** The current ClassModel. */ protected ClassModel classModel; + /** ConstantPool builder for current class. */ + private ConstantPoolBuilder poolBuilder; + /** Stores useful information about a class. */ private ClassInfo classInfo; @@ -493,6 +496,7 @@ private void instrumentClass( ClassGen24 classGen = new ClassGen24(classModel, classInfo.class_name, classBuilder); runtimeCD = ClassDesc.of(dcompRuntimeClassname); + poolBuilder = classBuilder.constantPool(); debug_transform.log("%nInstrumenting class: %s, Attributes:%n", classInfo.class_name); for (java.lang.classfile.Attribute a : classModel.attributes()) { @@ -577,7 +581,7 @@ private void addInvokeToClinit(MethodGen24 mgen, ClassInfo classInfo) { // point to start of list ListIterator li = il.listIterator(); - for (CodeElement ce : call_initNotify(mgen.getPoolBuilder(), classInfo)) { + for (CodeElement ce : call_initNotify(poolBuilder, classInfo)) { li.add(ce); } } catch (Exception e) { @@ -595,7 +599,7 @@ private void addInvokeToClinit(MethodGen24 mgen, ClassInfo classInfo) { */ private void createClinit(ClassBuilder classBuilder, ClassInfo classInfo) { - List instructions = call_initNotify(classBuilder.constantPool(), classInfo); + List instructions = call_initNotify(poolBuilder, classInfo); instructions.add(ReturnInstruction.of(TypeKind.VOID)); // need to return! classBuilder.withMethod( @@ -3790,11 +3794,10 @@ static String methodEntryName(String fullClassName, Method m) { */ InvokeInstruction dcr_call(String methodName, ClassDesc returnType, ClassDesc[] argTypes) { MethodRefEntry mre = - ClassGen24.getPoolBuilder() - .methodRefEntry( - ClassDesc.of(dcompRuntimeClassname), - methodName, - MethodTypeDesc.of(returnType, argTypes)); + poolBuilder.methodRefEntry( + ClassDesc.of(dcompRuntimeClassname), + methodName, + MethodTypeDesc.of(returnType, argTypes)); return InvokeInstruction.of(Opcode.INVOKESTATIC, mre); } @@ -4682,11 +4685,10 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen) { instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); // use null for marker MethodRefEntry mre = - ClassGen24.getPoolBuilder() - .methodRefEntry( - ClassDesc.of(classGen.getClassName()), - "equals", - MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker)); + poolBuilder.methodRefEntry( + ClassDesc.of(classGen.getClassName()), + "equals", + MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker)); instructions.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); @@ -4725,11 +4727,10 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen) { instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj MethodRefEntry mre = - ClassGen24.getPoolBuilder() - .methodRefEntry( - ClassDesc.of(classGen.getSuperclassName()), - "equals", - MethodTypeDesc.of(CD_boolean, CD_Object)); + poolBuilder.methodRefEntry( + ClassDesc.of(classGen.getSuperclassName()), + "equals", + MethodTypeDesc.of(CD_boolean, CD_Object)); instructions.add(InvokeInstruction.of(Opcode.INVOKESPECIAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); @@ -5247,7 +5248,7 @@ protected CodeElement loadIntegerConstant(final int value) { ? ConstantInstruction.ofArgument(Opcode.BIPUSH, value) : (value >= Short.MIN_VALUE && value <= Short.MAX_VALUE) ? ConstantInstruction.ofArgument(Opcode.SIPUSH, value) - : buildLDCInstruction(ClassGen24.getPoolBuilder().intEntry(value)); + : buildLDCInstruction(poolBuilder.intEntry(value)); }; } } From 05b972e72eb39aa2e7656d081c8f3089dce1f64f Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sun, 27 Apr 2025 12:43:52 -0700 Subject: [PATCH 017/211] fix errorprone issues; turn off some debug output --- java/daikon/dcomp/DCInstrument24.java | 300 +++++++++++++------------- 1 file changed, 153 insertions(+), 147 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index a690271a2f..3060c5aede 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -57,9 +57,7 @@ import java.lang.classfile.instruction.SwitchCase; import java.lang.classfile.instruction.TableSwitchInstruction; import java.lang.constant.ClassDesc; -import java.lang.constant.ConstantDesc; import java.lang.constant.MethodTypeDesc; -import java.lang.invoke.MethodHandles; import java.lang.reflect.AccessFlag; import java.net.URL; import java.util.ArrayDeque; @@ -203,8 +201,8 @@ public class DCInstrument24 { /** ConstantPool builder for current class. */ private ConstantPoolBuilder poolBuilder; - /** Stores useful information about a class. */ - private ClassInfo classInfo; + // /** Stores useful information about a class. */ + // private ClassInfo classInfo; /** True if we tracking any methods in the current class. */ private boolean track_class = false; @@ -274,8 +272,8 @@ public class DCInstrument24 { /** If true, enable JUnit analysis debugging. */ protected static final boolean debugJUnitAnalysis = false; - /** If true, enable {@link #getDefiningInterface} debugging. */ - protected static final boolean debugGetDefiningInterface = false; + // /** If true, enable {@link #getDefiningInterface} debugging. */ + // protected static final boolean debugGetDefiningInterface = false; /** If true, enable {@link #handleInvoke} debugging. */ protected static final boolean debugHandleInvoke = false; @@ -361,7 +359,8 @@ protected enum JUnitState { protected static InstructionList global_catch_il = null; protected static CodeExceptionGen global_exception_handler = null; - private InstructionHandle insertion_placeholder; + + // private InstructionHandle insertion_placeholder; /** Class that defines a method (by its name and argument types) */ static class MethodDef { @@ -414,7 +413,8 @@ public int hashCode(@GuardSatisfied MethodDef this) { /** Initialize with the original class and whether or not the class is part of the JDK. */ @SuppressWarnings({ "nullness:StaticAssignmentInConstructor", // instrumentation_interface - "nullness:initialization" + "nullness:initialization", + "StaticAssignmentInConstructor" // ErrorProne: instrumentation_interface }) public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk) { this.classFile = classFile; @@ -436,7 +436,8 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; // TEMPORARY - debugInstrument.enabled = true; + // debugInstrument.enabled = true; + debugInstrument.enabled = false; debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; } @@ -453,7 +454,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // adding dcomp marker causes problems. // Don't instrument annotations. They aren't executed and adding // the marker argument causes subtle errors - if ((classModel.flags().has(AccessFlag.ANNOTATION))) { + if (classModel.flags().has(AccessFlag.ANNOTATION)) { debug_transform.log("Not instrumenting annotation %s%n", classInfo.class_name); return null; } @@ -868,54 +869,56 @@ private void instrumentMethod( } } - /** - * Insert the our instrumentation code into the instruction list for the given method. This - * includes adding instrumentation code at the entry and at each return from the method. In - * addition, it changes each return statement to first place the value being returned into a local - * and then return. - * - * @param instructions instruction list for method - * @param mgen describes the given method - * @param curMethodInfo provides additional information about the method - * @param minfo for the given method's code - */ - private void insertInstrumentationCode( - List instructions, - MethodGen24 mgen, - MethodInfo curMethodInfo, - MethodGen24.MInfo24 minfo) { - - // Add nonce local to matchup enter/exits - // addInstrumentationAtEntry(instructions, mgen, minfo); - - // debugInstrument.log("Modified code: %s%n", mgen.getMethod().getCode()); - - assert curMethodInfo != null : "@AssumeAssertion(nullness): can't get here if null"; - Iterator shouldIncludeIter = curMethodInfo.is_included.iterator(); - Iterator exitLocationIter = curMethodInfo.exit_locations.iterator(); - - // instrument return instructions - ListIterator li = instructions.listIterator(); - while (li.hasNext()) { - - CodeElement inst = li.next(); - - // back up iterator to point to 'inst' - li.previous(); - - // If this is a return instruction, insert method exit instrumentation - // List new_il = - // generate_return_instrumentation(inst, mgen, minfo, shouldIncludeIter, exitLocationIter); - - // insert code prior to 'inst' - // for (CodeElement ce : new_il) { - // li.add(ce); - // } - - // skip over 'inst' we just inserted new_il in front of - li.next(); - } - } + // /** + // * Insert the our instrumentation code into the instruction list for the given method. This + // * includes adding instrumentation code at the entry and at each return from the method. In + // * addition, it changes each return statement to first place the value being returned into a + // local + // * and then return. + // * + // * @param instructions instruction list for method + // * @param mgen describes the given method + // * @param curMethodInfo provides additional information about the method + // * @param minfo for the given method's code + // */ + // private void insertInstrumentationCode( + // List instructions, + // MethodGen24 mgen, + // MethodInfo curMethodInfo, + // MethodGen24.MInfo24 minfo) { + // + // // Add nonce local to matchup enter/exits + // // addInstrumentationAtEntry(instructions, mgen, minfo); + // + // // debugInstrument.log("Modified code: %s%n", mgen.getMethod().getCode()); + // + // assert curMethodInfo != null : "@AssumeAssertion(nullness): can't get here if null"; + // Iterator shouldIncludeIter = curMethodInfo.is_included.iterator(); + // Iterator exitLocationIter = curMethodInfo.exit_locations.iterator(); + // + // // instrument return instructions + // ListIterator li = instructions.listIterator(); + // while (li.hasNext()) { + // + // CodeElement inst = li.next(); + // + // // back up iterator to point to 'inst' + // li.previous(); + // + // // If this is a return instruction, insert method exit instrumentation + // // List new_il = + // // generate_return_instrumentation(inst, mgen, minfo, shouldIncludeIter, + // exitLocationIter); + // + // // insert code prior to 'inst' + // // for (CodeElement ce : new_il) { + // // li.add(ce); + // // } + // + // // skip over 'inst' we just inserted new_il in front of + // li.next(); + // } + // } /** * Generate instrumentation code for the given method. This includes reading in and processing the @@ -1249,7 +1252,7 @@ public JavaClass old_instrument() { String super_class; String this_class = classname; while (true) { - super_class = getSuperclassName(this_class); + super_class = getSuperclassName(); // (this_class) if (super_class == null) { // something has gone wrong break; @@ -1786,8 +1789,8 @@ public void instrument_method(MethodGen mg) { // return; // } - InstructionList il = mg.getInstructionList(); - OperandStack stack = null; + // InstructionList il = mg.getInstructionList(); + // OperandStack stack = null; // Prior to adding support for Stack Maps, the position field // of each InstructionHandle was not updated until the modified @@ -1821,7 +1824,7 @@ public void instrument_method(MethodGen mg) { // Loop through each instruction, making substitutions for (ih = orig_start; ih != null; ) { debugInstrument.log("instrumenting instruction %s%n", ih); - InstructionList new_il = null; + // InstructionList new_il = null; // Remember the next instruction to process InstructionHandle next_ih = ih.getNext(); @@ -1830,7 +1833,7 @@ public void instrument_method(MethodGen mg) { // stack = stack_types.get(handle_offsets[index++]); // Get the translation for this instruction (if any) - new_il = xform_inst(mg, ih, stack); + // new_il = xform_inst(mg, ih, stack); // If this instruction was modified, replace it with the new // instruction list. If this instruction was the target of any @@ -1984,16 +1987,17 @@ public void install_exception_handler(MethodGen mg) { */ public void add_create_tag_frame(MethodGen mg) { - InstructionList nl = create_tag_frame(mg, tag_frame_local); + // InstructionList nl = create_tag_frame(mg, tag_frame_local); + create_tag_frame(mg, tag_frame_local); // We add a temporary NOP at the end of the create_tag_frame // code that we will replace with runtime initization code // later. We do this so that any existing stack map at // instruction offset 0 is not replaced by the one we are // about to add for initializing the tag_frame variable. - insertion_placeholder = nl.append(new NOP()); + // insertion_placeholder = nl.append(new NOP()); - byte[] code = nl.getByteCode(); + // byte[] code = nl.getByteCode(); // -1 because of the NOP we inserted. // int len_code = code.length - 1; @@ -2683,51 +2687,52 @@ void add_exit(MethodGen mg, MethodInfo mi, int method_info_index) { } } - /** - * Return the interface class containing the implementation of the given method. The interfaces of - * {@code startClass} are recursively searched. - * - * @param startClass the ClassModel whose interfaces are to be searched - * @param methodName the target method to search for - * @param argTypes the target method's argument types - * @return the name of the interface class containing target method, or null if not found - */ - private @Nullable @ClassGetName String getDefiningInterface( - ClassModel startClass, String methodName, Type[] argTypes) { - - if (debugGetDefiningInterface) { - System.out.println("searching interfaces of: " + ClassGen24.getClassName(startClass)); - } - // for (@ClassGetName String interfaceName : startClass.getInterfaceNames()) { - // if (debugGetDefiningInterface) { - // System.out.println("interface: " + interfaceName); - // } - // ClassModel cm; - // try { - // cm = getClassModel(interfaceName); - // } catch (Throwable e) { - // throw new Error(String.format("Unable to load class: %s", interfaceName), e); - // } - // for (Method jm : cm.getMethods()) { - // if (debugGetDefiningInterface) { - // System.out.println(" " + jm.getName() + Arrays.toString(jm.getArgumentTypes())); - // } - // if (jm.getName().equals(methodName) && Arrays.equals(jm.getArgumentTypes(), argTypes)) - // { - // // We have a match. - // return interfaceName; - // } - // } - // // no match found; does this interface extend other interfaces? - // @ClassGetName String foundAbove = getDefiningInterface(cm, methodName, argTypes); - // if (foundAbove != null) { - // // We have a match. - // return foundAbove; - // } - // } - // nothing found - return null; - } + // /** + // * Return the interface class containing the implementation of the given method. The + // interfaces of + // * {@code startClass} are recursively searched. + // * + // * @param startClass the ClassModel whose interfaces are to be searched + // * @param methodName the target method to search for + // * @param argTypes the target method's argument types + // * @return the name of the interface class containing target method, or null if not found + // */ + // private @Nullable @ClassGetName String getDefiningInterface( + // ClassModel startClass, String methodName, Type[] argTypes) { + // + // if (debugGetDefiningInterface) { + // System.out.println("searching interfaces of: " + ClassGen24.getClassName(startClass)); + // } + // for (@ClassGetName String interfaceName : startClass.getInterfaceNames()) { + // if (debugGetDefiningInterface) { + // System.out.println("interface: " + interfaceName); + // } + // ClassModel cm; + // try { + // cm = getClassModel(interfaceName); + // } catch (Throwable e) { + // throw new Error(String.format("Unable to load class: %s", interfaceName), e); + // } + // for (Method jm : cm.getMethods()) { + // if (debugGetDefiningInterface) { + // System.out.println(" " + jm.getName() + Arrays.toString(jm.getArgumentTypes())); + // } + // if (jm.getName().equals(methodName) && Arrays.equals(jm.getArgumentTypes(), argTypes)) + // { + // // We have a match. + // return interfaceName; + // } + // } + // // no match found; does this interface extend other interfaces? + // @ClassGetName String foundAbove = getDefiningInterface(cm, methodName, argTypes); + // if (foundAbove != null) { + // // We have a match. + // return foundAbove; + // } + // } + // nothing found + // return null; + // } /** * Process an Invoke instruction. There are three cases: @@ -3182,10 +3187,11 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m * Given a classname return it's superclass name. Note that BCEL reports that the superclass of * 'java.lang.Object' is 'java.lang.Object' rather than saying there is no superclass. * - * @param classname the fully qualified name of the class in binary form. E.g., "java.util.List" * @return superclass name of classname or null if there is an error */ - private @ClassGetName String getSuperclassName(String classname) { + // * @param classname the fully qualified name of the class in binary form. E.g., + // "java.util.List" + private @ClassGetName String getSuperclassName() { // (String classname) { // JavaClass jc ; // = getJavaClass(classname); // if (jc != null) { // return jc.getSuperclassName(); @@ -3194,7 +3200,7 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m // } } - /** Cache for {@link #getJavaClass} method. */ + /** Cache for {@link #getClassModel} method. */ private static Map classModelCache = new ConcurrentHashMap(); @@ -3529,18 +3535,18 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { * Creates a MethodInfo corresponding to the specified method. The exit locations are filled in, * but the reflection information is not generated. Returns null if there are no instructions. * - * @param class_info class containing the method - * @param mg method to inspect + * @param classInfo class containing the method + * @param mgen method to inspect * @return MethodInfo for the method */ private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen24 mgen) { // Get the argument names for this method String[] paramNames = mgen.getParameterNames(); - LocalVariable[] lvs = mgen.getLocalVariables(); - int param_offset = 1; + // LocalVariable[] lvs = mgen.getLocalVariables(); + // int param_offset = 1; if (mgen.isStatic()) { - param_offset = 0; + // param_offset = 0; } if (debugInstrument.enabled) { @@ -3860,9 +3866,9 @@ InstructionList dup_x1_tag(org.apache.bcel.generic.Instruction inst, OperandStac if (!is_primitive(top)) { return null; } - String method = "dup_x1"; + // String method = "dup_x1"; if (!is_primitive(stack.peek(1))) { - method = "dup"; + // method = "dup"; } // return build_il(dcr_call(method, Type.VOID, Type.NO_ARGS), inst); return null; @@ -4416,12 +4422,12 @@ void create_tag_accessors(ClassGen24 classGen) { // Build accessors for each field declared in a superclass that is // is not shadowed in a subclass - JavaClass[] super_classes; - try { - // super_classes = gen.getJavaClass().getSuperClasses(); - } catch (Exception e) { - throw new Error(e); - } + // JavaClass[] super_classes; + // try { + // // super_classes = gen.getJavaClass().getSuperClasses(); + // } catch (Exception e) { + // throw new Error(e); + // } // for (JavaClass super_class : super_classes) { // for (Field f : super_class.getFields()) { // if (f.isPrivate()) { @@ -4456,7 +4462,7 @@ void create_tag_accessors(ClassGen24 classGen) { * offset can be used to index into a tag array for this class. Instance fields are placed in the * returned map and static fields are placed in static map (shared between all classes). * - * @param jc class to check for fields + * @param classModel class to check for fields * @return field offset map */ Map build_field_map(ClassModel classModel) { @@ -4522,12 +4528,12 @@ Map build_field_map(ClassModel classModel) { * } * } * - * @param gen class whose accessors are being built. Not necessarily the class declaring fm (if fm - * is inherited). + * @param classGen class whose accessors are being built. Not necessarily the class declaring fm + * (if fm is inherited). * @param fm field to build an accessor for * @param tag_offset offset of fm in the tag storage for this field - * @return the get tag method */ + @SuppressWarnings("EnumOrdinal") void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { // Determine the method to call in DCRuntime. Instance fields and static @@ -4601,8 +4607,8 @@ void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { * (if fm is inherited). * @param fm field to build an accessor for * @param tag_offset offset of fm in the tag storage for this field - * @return the set tag method */ + @SuppressWarnings("EnumOrdinal") void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { String methodname = "pop_field_tag"; @@ -4747,7 +4753,7 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen) { * will call the instrumented version of the method if it exists, otherwise they will call the * uninstrumented version. * - * @param gen class to check + * @param classGen class to check */ void handle_object(ClassGen24 classGen) { @@ -5179,20 +5185,20 @@ private static String typeArgumentsToBinaryNames(String genericPart) { return result.toString(); } - /** - * Format a constant value for printing. - * - * @param item the constant to format - * @return a string containing the constant's value - */ - private final String formatConstantDesc(ConstantDesc item) { - try { - return item.resolveConstantDesc(MethodHandles.lookup()).toString(); - } catch (Exception e) { - System.err.printf("Unexpected error %s getting constant value for: %s%n", e, item); - return ""; - } - } + // /** + // * Format a constant value for printing. + // * + // * @param item the constant to format + // * @return a string containing the constant's value + // */ + // private final String formatConstantDesc(ConstantDesc item) { + // try { + // return item.resolveConstantDesc(MethodHandles.lookup()).toString(); + // } catch (Exception e) { + // System.err.printf("Unexpected error %s getting constant value for: %s%n", e, item); + // return ""; + // } + // } /** * Create a new local variable whose scope is the full method. From f83a061bf612e4548c6b5942bdf2bb0c9d760f47 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 28 Apr 2025 14:40:36 -0700 Subject: [PATCH 018/211] fix local variables table --- java/daikon/chicory/Instrument24.java | 4 +-- java/daikon/chicory/MethodGen24.java | 49 +++++++++++++++++++++++---- java/daikon/dcomp/BcelUtils24.java | 15 -------- java/daikon/dcomp/DCInstrument24.java | 17 +++++++--- 4 files changed, 57 insertions(+), 28 deletions(-) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 8052aa657a..dba472324e 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -546,7 +546,7 @@ private void instrument_all_methods( if (debugInstrument.enabled) { ClassDesc[] paramTypes = mgen.getParameterTypes(); String[] paramNames = mgen.getParameterNames(); - LocalVariable[] local_vars = mgen.getLocalVariables(); + LocalVariable[] local_vars = mgen.getOriginalLocalVariables(); String types = "", names = "", locals = ""; for (int j = 0; j < paramTypes.length; j++) { @@ -1367,7 +1367,7 @@ private boolean isConstructor(MethodGen24 mgen) { // Get the parameter names for this method. String[] paramNames = mgen.getParameterNames(); - LocalVariable[] lvs = mgen.getLocalVariables(); + LocalVariable[] lvs = mgen.getOriginalLocalVariables(); int param_offset = 1; if (mgen.isStatic()) { param_offset = 0; diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 49684f3f2a..4f642dcea4 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -12,6 +12,7 @@ import java.lang.classfile.Instruction; import java.lang.classfile.Label; import java.lang.classfile.MethodModel; +import java.lang.classfile.TypeKind; import java.lang.classfile.attribute.CodeAttribute; import java.lang.classfile.attribute.SignatureAttribute; import java.lang.classfile.constantpool.ConstantPoolBuilder; @@ -305,19 +306,54 @@ public MethodGen24( } returnType = mtd.returnType(); + // These initial values for {@code paramNames} may be incorrect. They could + // be altered in {@code fixLocals}. paramNames = new String[paramTypes.length]; - int offset = isStatic ? 0 : 1; + int index = isStatic ? 0 : 1; for (int i = 0; i < paramTypes.length; i++) { - if ((offset + i) < origLocalVariables.length) { + if ((index + i) < origLocalVariables.length) { @SuppressWarnings("signature:assignment") // need JDK annotations - @Identifier String paramName = origLocalVariables[offset + i].name().stringValue(); + @Identifier String paramName = origLocalVariables[index + i].name().stringValue(); paramNames[i] = paramName; + } else { + paramNames[i] = "param" + i; } } poolBuilder = classBuilder.constantPool(); } + /** + * Due to a Java compiler optimization, unused parameters may not be included in the local + * variables. Some of DynComp's instrumentation requires their presence. This routine makes these + * changes, if neccesary. + * + * @param minfo MInfo24 object for current method + * @return true if modified localsTable, false otherwise + */ + public boolean fixLocals(MInfo24 minfo) { + boolean modified = false; + int lBase = isStatic ? 0 : 1; + int slot = isStatic ? 0 : 1; + for (int pIndex = 0; pIndex < paramTypes.length; pIndex++) { + int lIndex = lBase + pIndex; + if ((lIndex >= origLocalVariables.length) || (slot != origLocalVariables[lIndex].slot())) { + // need to add a LocalVariable for this parameter + LocalVariable newVar = + LocalVariable.of( + slot, paramNames[pIndex], paramTypes[pIndex], minfo.startLabel, minfo.endLabel); + localsTable.add(newVar); + modified = true; + } + slot += TypeKind.from(paramTypes[pIndex]).slotSize(); + } + // If we added params, then table is no longer sorted by slot + if (modified) { + localsTable.sort(Comparator.comparing(LocalVariable::slot)); + } + return modified; + } + /** * Return the method's access flags. * @@ -443,11 +479,12 @@ public void setParameterTypes(final ClassDesc[] paramTypes) { } /** - * Return the local variable table. + * Return the original local variable table. In most cases, instrumentation code should use the + * {@code localsTable} instead. * - * @return the local variable table + * @return the original local variable table */ - public LocalVariable[] getLocalVariables() { + public LocalVariable[] getOriginalLocalVariables() { return origLocalVariables.clone(); } diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index f5a4bf2f3b..e75b33dedf 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -47,15 +47,6 @@ public BcelUtils24() { /** A log to which to print debugging information about program instrumentation. */ protected static SimpleLog debugInstrument = new SimpleLog(true); - /** The number of local variables in the current method prior to any modifications. */ - protected static int initialLocalsCount; - - /** - * The index of the first 'true' local in the local variable table. That is, after 'this' and any - * parameters. - */ - protected static int firstLocalIndex; - /** * Returns a copy of the given type array, with newType added to the end. * @@ -183,13 +174,7 @@ public static final LocalVariable addNewParameter( // Insert our new local variable into existing table at 'newOffset'. argNew = LocalVariable.of(newOffset, argName, argType, minfo.startLabel, minfo.endLabel); mgen.localsTable.add(newIndex, argNew); - - // Update the index of the first 'true' local in the local variable table. - // NOT USED? - firstLocalIndex++; } - // NOT USED? - initialLocalsCount++; // Update the method's parameter information. argTypes = postpendToArray(argTypes, argType); diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 3060c5aede..11b83c4498 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -436,7 +436,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; // TEMPORARY - // debugInstrument.enabled = true; + debugInstrument.enabled = true; debugInstrument.enabled = false; debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; @@ -666,7 +666,7 @@ private void instrument_all_methods( if (debugInstrument.enabled) { ClassDesc[] paramTypes = mgen.getParameterTypes(); String[] paramNames = mgen.getParameterNames(); - LocalVariable[] local_vars = mgen.getLocalVariables(); + LocalVariable[] local_vars = mgen.getOriginalLocalVariables(); String types = "", names = "", locals = ""; for (int j = 0; j < paramTypes.length; j++) { @@ -941,6 +941,13 @@ private void instrumentCode( // method_info_index is not used at this point in DCInstrument MethodGen24.MInfo24 minfo = new MethodGen24.MInfo24(0, mgen.getMaxLocals(), codeBuilder); + if (mgen.fixLocals(minfo)) { + // localsTable was changed + debugInstrument.log("Revised LocalVariableTable:%n"); + for (LocalVariable lv : mgen.localsTable) { + debugInstrument.log(" %s%n", lv); + } + } boolean has_code = !mgen.getInstructionList().isEmpty(); @@ -3489,7 +3496,7 @@ LocalVariableGen get_tmp2_local(MethodGen mg, Type typ) { // System.out.printf("local var name = %s%n", name); // See if the local has already been created - for (LocalVariableGen lv : mg.getLocalVariables()) { + for (LocalVariableGen lv : mg.getLocalVariables()) { // should be localsTable? if (lv.getName().equals(name)) { assert lv.getType().equals(typ) : lv + " " + typ; return lv; @@ -3508,7 +3515,7 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { // Find the local used for the return value LocalVariableGen return_local = null; - for (LocalVariableGen lv : mg.getLocalVariables()) { + for (LocalVariableGen lv : mg.getLocalVariables()) { // should be localsTable? if (lv.getName().equals("return__$trace2_val")) { return_local = lv; break; @@ -3543,7 +3550,7 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { // Get the argument names for this method String[] paramNames = mgen.getParameterNames(); - // LocalVariable[] lvs = mgen.getLocalVariables(); + // LocalVariable[] lvs = mgen.getLocalVariables(); //should be localsTable? // int param_offset = 1; if (mgen.isStatic()) { // param_offset = 0; From d892d4d0f8d13405752a1cb132b0a5b0e7e83fe7 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sun, 4 May 2025 13:22:19 -0700 Subject: [PATCH 019/211] checkpoint current work --- java/daikon/chicory/Instrument24.java | 3 +- java/daikon/chicory/MethodGen24.java | 94 ++++++++++++++++++++---- java/daikon/dcomp/DCInstrument24.java | 102 +++++++++++++++++++------- 3 files changed, 156 insertions(+), 43 deletions(-) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index dba472324e..be11738700 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -60,7 +60,6 @@ import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.IllegalClassFormatException; import java.lang.invoke.MethodHandles; -import java.lang.reflect.AccessFlag; import java.nio.file.Files; import java.security.ProtectionDomain; import java.util.ArrayList; @@ -528,7 +527,7 @@ private void instrument_all_methods( } // If method is synthetic... (default constructors and are not synthetic). - if (mgen.getAccessFlags().has(AccessFlag.SYNTHETIC)) { + if ((mgen.getAccessFlagsMask() & ClassFile.ACC_SYNTHETIC) != 0) { // We are not going to instrument this method. // We need to copy it to the output class. outputMethodUnchanged(classBuilder, mm, mgen); diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 4f642dcea4..a7f414f961 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -1,11 +1,12 @@ package daikon.chicory; +import static java.lang.constant.ConstantDescs.CD_Object; import static java.lang.constant.ConstantDescs.CD_String; import static java.lang.constant.ConstantDescs.CD_void; -import java.lang.classfile.AccessFlags; import java.lang.classfile.Attributes; import java.lang.classfile.ClassBuilder; +import java.lang.classfile.ClassFile; import java.lang.classfile.CodeBuilder; import java.lang.classfile.CodeElement; import java.lang.classfile.CodeModel; @@ -19,7 +20,6 @@ import java.lang.classfile.instruction.LocalVariable; import java.lang.constant.ClassDesc; import java.lang.constant.MethodTypeDesc; -import java.lang.reflect.AccessFlag; import java.util.ArrayList; // import java.util.Arrays; import java.util.Comparator; @@ -60,8 +60,8 @@ public class MethodGen24 { */ private @Nullable CodeModel code; - /** The method's access flags. */ - private AccessFlags accessFlags; + /** The method's access flags as a bit mask. */ + private int accessFlagsMask; /** The method's name. */ private String methodName; @@ -75,6 +75,9 @@ public class MethodGen24 { /** True if the method is static. */ private boolean isStatic; + /** True if the method was created in DCInstrument24. */ + private boolean isNewMethod; + /** * The method's CodeAttribute. This contains information about the bytecodes (instructions) of * this method. May be null if the method has no code. @@ -201,18 +204,20 @@ public MInfo24(int method_info_index, int nextLocalIndex, CodeBuilder codeBuilde * @param className the containing class, in binary name format * @param classBuilder for the class */ + @SuppressWarnings({"nullness:initialization", "nullness:method.invocation"}) public MethodGen24( final MethodModel methodModel, final @BinaryName String className, ClassBuilder classBuilder) { - accessFlags = methodModel.flags(); + accessFlagsMask = methodModel.flags().flagsMask(); methodName = methodModel.methodName().stringValue(); @SuppressWarnings("signature") // JDK 24 is not annotated as yet @MethodDescriptor String descriptor1 = methodModel.methodType().stringValue(); descriptor = descriptor1; this.className = className; - isStatic = accessFlags.has(AccessFlag.STATIC); + isStatic = (accessFlagsMask & ClassFile.ACC_STATIC) != 0; + isNewMethod = false; Optional code = methodModel.code(); if (code.isPresent()) { @@ -271,9 +276,65 @@ public MethodGen24( origLocalVariables = localsTable.toArray(new LocalVariable[localsTable.size()]); // System.out.println("orig locals: " + Arrays.toString(origLocalVariables)); + poolBuilder = classBuilder.constantPool(); + // Set up the parameter types and names. mtd = methodModel.methodTypeSymbol(); + getParamInfo(); + } + + /** + * Creates a MethodGen24 object for a new method created by DCInstrument24. + * + * @param className the containing class, in binary name format + * @param classBuilder for the class + * @param methodName for the method + * @param accessFlagsMask for the method + * @param mtd MethodTypeDescriptor for the method + * @param maxStack for the method + * @param maxLocals for the method + */ + @SuppressWarnings({"nullness:initialization", "nullness:method.invocation"}) + public MethodGen24( + final @BinaryName String className, + ClassBuilder classBuilder, + final String methodName, + final int accessFlagsMask, + final MethodTypeDesc mtd, + List instructions, + int maxStack, + int maxLocals) { + + this.className = className; + this.accessFlagsMask = accessFlagsMask; + this.methodName = methodName; + this.mtd = mtd; + @SuppressWarnings("signature") // JDK 24 is not annotated as yet + @MethodDescriptor String descriptor1 = mtd.descriptorString(); + descriptor = descriptor1; + signature = descriptor; + code = null; + codeList = instructions; + codeAttribute = null; + this.maxStack = maxStack; + this.maxLocals = maxLocals; + isStatic = (accessFlagsMask & ClassFile.ACC_STATIC) != 0; + isNewMethod = true; + + // Create an empty localsTable. This will be filled in when InstrumentCode calls fixLocals. + localsTable = new ArrayList<>(); + origLocalVariables = localsTable.toArray(new LocalVariable[localsTable.size()]); + + poolBuilder = classBuilder.constantPool(); + + // Set up the parameter types and names. + getParamInfo(); + } + + /** Setup the paramTypes and paramNames arrays. */ + private void getParamInfo() { paramTypes = mtd.parameterArray(); + returnType = mtd.returnType(); // java.lang.classfile seems to be inconsistent with the parameter types // of an inner class constructor. It may optimize away the hidden 'this$0' @@ -300,12 +361,6 @@ public MethodGen24( } } - // We need a deep copy and ClassDesc does not have a clone() method - for (int i = 0; i < paramTypes.length; i++) { - paramTypes[i] = ClassDesc.ofDescriptor(paramTypes[i].descriptorString()); - } - returnType = mtd.returnType(); - // These initial values for {@code paramNames} may be incorrect. They could // be altered in {@code fixLocals}. paramNames = new String[paramTypes.length]; @@ -319,8 +374,6 @@ public MethodGen24( paramNames[i] = "param" + i; } } - - poolBuilder = classBuilder.constantPool(); } /** @@ -333,6 +386,15 @@ public MethodGen24( */ public boolean fixLocals(MInfo24 minfo) { boolean modified = false; + // If this is a new method from DCInstrument24, the localsTable is + // completely empty. We may need to add a 'this' pointer. + if (isNewMethod && !isStatic) { + LocalVariable newVar = + LocalVariable.of(0, "this", CD_Object, minfo.startLabel, minfo.endLabel); + localsTable.add(newVar); + modified = true; + } + int lBase = isStatic ? 0 : 1; int slot = isStatic ? 0 : 1; for (int pIndex = 0; pIndex < paramTypes.length; pIndex++) { @@ -359,8 +421,8 @@ public boolean fixLocals(MInfo24 minfo) { * * @return the access flags */ - public AccessFlags getAccessFlags() { - return accessFlags; + public int getAccessFlagsMask() { + return accessFlagsMask; } /** diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 11b83c4498..5feb27c66d 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -515,6 +515,10 @@ private void instrumentClass( // Handle object methods for this class handle_object(classGen); + classInfo.isJunitTestClass = false; + + // UNDONE MISSING JUNIT CODE! need isJunitTestClass to be calculated + // Have all top-level classes implement our interface if (classGen.getSuperclassName().equals("java.lang.Object")) { @SuppressWarnings("signature:assignment") @@ -525,24 +529,14 @@ private void instrumentClass( MethodModel eq = classGen.containsMethod("equals", objectArgReturnBoolean); if (eq == null) { debugInstrument.log("Added equals method%n"); - add_equals_method(classBuilder, classGen); - - // UNDONE: need to add instrumented version of this equals method - + add_equals_method(classBuilder, classGen, classInfo); } // Add DCompInstrumented interface and the required // equals_dcomp_instrumented method. - add_dcomp_interface(classBuilder, classGen); - - // UNDONE: need to add instrumented version of this equals_dcomp method - + add_dcomp_interface(classBuilder, classGen, classInfo); } - classInfo.isJunitTestClass = false; - - // MISSING JUNIT CODE! - instrument_all_methods(classModel, classBuilder, classInfo); // Add tag accessor methods for each primitive in the class @@ -702,7 +696,7 @@ private void instrument_all_methods( // We do not want to track bridge methods the compiler has synthesized as // they are overloaded on return type which normal Java does not support. - if (mgen.getAccessFlags().has(AccessFlag.BRIDGE)) { + if ((mgen.getAccessFlagsMask() & ClassFile.ACC_BRIDGE) != 0) { track = false; } @@ -740,6 +734,23 @@ private void instrument_all_methods( // UNDONE: // if main, need to add stub main method + // name_index: 193 (main) + // access_flags: Const.ACC_PUBLIC | Const.ACC_STATIC + // descriptor_index: 291 (([Ljava/lang/String;Ldaikon/dcomp/DCompMarker;)V) + // attribute count: 1 + // attribute_name_index: 188 (Code) + // Code(maxStack = 1, maxLocals = 2, code_length = 5) + // 0: aload_0 + // 1: invokestatic daikon.dcomp.DcompTest.main ([Ljava/lang/String;)V (290) + // 4: return + // LocalVariable(startPc = 0, length = 5, index = 0:java.lang.String[] arg0) + // LocalVariable(startPc = 0, length = 5, index = 1:daikon.dcomp.DCompMarker marker) + // public final boolean isMain() { + // return isStatic + // && returnType.equals(CD_void) + // && methodName.equals("main") + // && (paramTypes.length == 1) + // && paramTypes[0].equals(CD_String.arrayType(1)); boolean addingDcompArg = !(mgen.isMain() || mgen.isClinit()); boolean replacingMethod = !addingDcompArg || classInfo.isJunitTestClass; @@ -952,7 +963,7 @@ private void instrumentCode( boolean has_code = !mgen.getInstructionList().isEmpty(); // If the method is native - if (mgen.getAccessFlags().has(AccessFlag.NATIVE)) { + if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { // Create Java code that cleans up the tag stack and calls the real native method. // fix_native(gen, mgen); @@ -1020,9 +1031,12 @@ private void instrumentCode( @SuppressWarnings("JdkObsolete") List codeList = new LinkedList<>(); - debugInstrument.log("Code Attributes:%n"); - for (java.lang.classfile.Attribute a : codeModel.attributes()) { - debugInstrument.log(" %s%n", a); + // no codeModel if DCInstrument24 generated the method + if (codeModel != null) { + debugInstrument.log("Code Attributes:%n"); + for (java.lang.classfile.Attribute a : codeModel.attributes()) { + debugInstrument.log(" %s%n", a); + } } // The localsTable was initialized in the MethodGen24 constructor. Here we initialize the @@ -4683,7 +4697,7 @@ void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { * @param classBuilder for the class * @param classGen class to add method to */ - void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen) { + void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo classInfo) { classGen.addInterface(DCRuntime.instrumentation_interface); debugInstrument.log("Added interface DCompInstrumented%n"); @@ -4694,9 +4708,11 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen) { access_flags |= ClassFile.ACC_ABSTRACT; } + MethodTypeDesc mtd = MethodTypeDesc.of(CD_boolean, CD_Object); instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); // use null for marker + MethodRefEntry mre = poolBuilder.methodRefEntry( ClassDesc.of(classGen.getClassName()), @@ -4705,12 +4721,35 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen) { instructions.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); + // build the equals_dcomp_instrumented method classBuilder.withMethod( "equals_dcomp_instrumented", - MethodTypeDesc.of(CD_boolean, CD_Object), + mtd, access_flags, methodBuilder -> methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions))); + + // now build the instrumented version of the equals_dcomp_instrumented method + @BinaryName String classname = classInfo.class_name; + // create pseudo MethodGen24 + MethodGen24 mgen = + new MethodGen24( + classname, + classBuilder, + "equals_dcomp_instrumented", + access_flags, + mtd, + instructions, + 3, // maxStack + 2); // maxLocals + boolean track = should_track(classname, mgen.getName(), classname + mgen); + classBuilder.withMethod( + "equals_dcomp_instrumented", + MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), + access_flags, + methodBuilder -> + methodBuilder.withCode( + codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, track))); } /** @@ -4729,7 +4768,7 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen) { * @param classBuilder for the class * @param classGen class to add method to */ - void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen) { + void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo classInfo) { List instructions = new ArrayList<>(); int access_flags = ClassFile.ACC_PUBLIC; @@ -4737,22 +4776,35 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen) { access_flags |= ClassFile.ACC_ABSTRACT; } + MethodTypeDesc mtd = MethodTypeDesc.of(CD_boolean, CD_Object); instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj MethodRefEntry mre = - poolBuilder.methodRefEntry( - ClassDesc.of(classGen.getSuperclassName()), - "equals", - MethodTypeDesc.of(CD_boolean, CD_Object)); + poolBuilder.methodRefEntry(ClassDesc.of(classGen.getSuperclassName()), "equals", mtd); instructions.add(InvokeInstruction.of(Opcode.INVOKESPECIAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); + // build the equals method classBuilder.withMethod( "equals", - MethodTypeDesc.of(CD_boolean, CD_Object), + mtd, access_flags, methodBuilder -> methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions))); + + // now build the instrumented version of the equals method + @BinaryName String classname = classInfo.class_name; + // create pseudo MethodGen24 + MethodGen24 mgen = + new MethodGen24(classname, classBuilder, "equals", access_flags, mtd, instructions, 2, 2); + boolean track = should_track(classname, mgen.getName(), classname + mgen); + classBuilder.withMethod( + "equals", + MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), + access_flags, + methodBuilder -> + methodBuilder.withCode( + codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, track))); } /** From b8df504e389e712237309914060752fbfe03f092 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 6 May 2025 12:39:46 -0700 Subject: [PATCH 020/211] latest updates --- java/daikon/dcomp/DCInstrument24.java | 365 +++++++++----------------- 1 file changed, 121 insertions(+), 244 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 5feb27c66d..a4f1b1cd77 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -54,8 +54,10 @@ import java.lang.classfile.instruction.LocalVariableType; import java.lang.classfile.instruction.LookupSwitchInstruction; import java.lang.classfile.instruction.ReturnInstruction; +import java.lang.classfile.instruction.StackInstruction; import java.lang.classfile.instruction.SwitchCase; import java.lang.classfile.instruction.TableSwitchInstruction; +import java.lang.classfile.instruction.ThrowInstruction; import java.lang.constant.ClassDesc; import java.lang.constant.MethodTypeDesc; import java.lang.reflect.AccessFlag; @@ -85,19 +87,16 @@ import org.apache.bcel.classfile.JavaClass; import org.apache.bcel.classfile.Method; import org.apache.bcel.classfile.RuntimeVisibleAnnotations; -import org.apache.bcel.classfile.StackMapType; import org.apache.bcel.generic.AALOAD; import org.apache.bcel.generic.ACONST_NULL; import org.apache.bcel.generic.ALOAD; import org.apache.bcel.generic.ASTORE; -import org.apache.bcel.generic.ATHROW; import org.apache.bcel.generic.AnnotationEntryGen; import org.apache.bcel.generic.ArrayType; import org.apache.bcel.generic.BasicType; // import org.apache.bcel.generic.BranchInstruction; import org.apache.bcel.generic.ClassGen; import org.apache.bcel.generic.ClassGenException; -import org.apache.bcel.generic.CodeExceptionGen; import org.apache.bcel.generic.ConstantPoolGen; import org.apache.bcel.generic.DUP; import org.apache.bcel.generic.DUP2; @@ -186,15 +185,9 @@ public class DCInstrument24 { // Variables used for the entire class. - /** Current class name in binary format. */ - @BinaryName String binaryClassName; - /** The current ClassFile. */ protected ClassFile classFile; - // ** The current ClassGen24. */ - // protected ClassGen24 classGen; - /** The current ClassModel. */ protected ClassModel classModel; @@ -226,7 +219,7 @@ public class DCInstrument24 { protected boolean constructor_is_initialized; /** Local that stores the tag frame for the current method. */ - protected LocalVariableGen tag_frame_local; + protected LocalVariable tagFrameLocal; // Argument descriptors /** Type array with two objects. */ @@ -248,12 +241,10 @@ public class DCInstrument24 { protected static Type javalangClass = new ObjectType("java.lang.Class"); // Type descriptors - protected static Type object_arr = new ArrayType(Type.OBJECT, 1); - // private Type int_arr = new ArrayType (Type.INT, 1); protected static final ClassDesc throwable = ClassDesc.of("java.lang.Throwable"); protected final ClassDesc dcomp_marker; - - protected static ObjectType javalangObject = new ObjectType("java.lang.Object"); + protected static final ClassDesc javalangObject = ClassDesc.of("java.lang.Object"); + protected static final ClassDesc objectArray = javalangObject.arrayType(1); // Debug loggers /** Log file if debug_native is enabled. */ @@ -357,11 +348,6 @@ protected enum JUnitState { new MethodDef("wait", new ClassDesc[] {CD_long, CD_int}), }; - protected static InstructionList global_catch_il = null; - protected static CodeExceptionGen global_exception_handler = null; - - // private InstructionHandle insertion_placeholder; - /** Class that defines a method (by its name and argument types) */ static class MethodDef { String name; @@ -436,8 +422,8 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; // TEMPORARY - debugInstrument.enabled = true; debugInstrument.enabled = false; + debugInstrument.enabled = true; debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; } @@ -652,7 +638,7 @@ private void instrument_all_methods( // Process each method in the class for (MethodModel mm : classModel.methods()) { - tag_frame_local = null; + tagFrameLocal = null; try { MethodGen24 mgen = new MethodGen24(mm, classname, classBuilder); @@ -721,7 +707,7 @@ private void instrument_all_methods( debug_transform.indent(); // check for the class static initializer method - if (mgen.getName().equals("")) { + if (mgen.isClinit()) { classInfo.hasClinit = true; addInvokeToClinit(mgen, classInfo); // We are not going to add any additional instrumentation to this method. @@ -731,28 +717,12 @@ private void instrument_all_methods( } final boolean trackMethod = track; + boolean addingDcompArg = true; + if (mgen.isMain()) { + addingDcompArg = false; + createMainStub(mgen, classBuilder, classInfo); + } - // UNDONE: - // if main, need to add stub main method - // name_index: 193 (main) - // access_flags: Const.ACC_PUBLIC | Const.ACC_STATIC - // descriptor_index: 291 (([Ljava/lang/String;Ldaikon/dcomp/DCompMarker;)V) - // attribute count: 1 - // attribute_name_index: 188 (Code) - // Code(maxStack = 1, maxLocals = 2, code_length = 5) - // 0: aload_0 - // 1: invokestatic daikon.dcomp.DcompTest.main ([Ljava/lang/String;)V (290) - // 4: return - // LocalVariable(startPc = 0, length = 5, index = 0:java.lang.String[] arg0) - // LocalVariable(startPc = 0, length = 5, index = 1:daikon.dcomp.DCompMarker marker) - // public final boolean isMain() { - // return isStatic - // && returnType.equals(CD_void) - // && methodName.equals("main") - // && (paramTypes.length == 1) - // && paramTypes[0].equals(CD_String.arrayType(1)); - - boolean addingDcompArg = !(mgen.isMain() || mgen.isClinit()); boolean replacingMethod = !addingDcompArg || classInfo.isJunitTestClass; if (!replacingMethod) { // make copy of original method @@ -992,7 +962,7 @@ private void instrumentCode( // Instrument the method if (has_code) { // Create the local to store the tag frame for this method - // tag_frame_local = create_tag_frame_local(mgen); + tagFrameLocal = createTagFrameLocal(mgen, minfo); // build_exception_handler(mgen); // instrument_method(mgen); if (trackMethod) { @@ -1127,6 +1097,17 @@ private void instrumentCode( debugInstrument.log("CodeElement: %s%n", ce); codeBuilder.with(ce); } + // build_exception_handler returns null if there isn't one. + List handlerCode = build_exception_handler(mgen); + if (handlerCode != null) { + Label handlerLabel = codeBuilder.newBoundLabel(); + for (CodeElement ce : handlerCode) { + codeBuilder.with(ce); + } + // Using handlerLabel for the end of the try region is technically one instruction + // too many, but it shouldn't matter and is easily available. + codeBuilder.exceptionCatch(minfo.entryLabel, handlerLabel, handlerLabel, throwable); + } } public JavaClass old_instrument() { @@ -1341,7 +1322,7 @@ public JavaClass old_instrument() { // Process each method for (Method m : gen.getMethods()) { - tag_frame_local = null; + // tag_frame_local = null; try { // Note whether we want to track the daikon variables in this method boolean track = should_track(classname, m.getName(), methodEntryName(classname, m)); @@ -1410,14 +1391,14 @@ public JavaClass old_instrument() { // Instrument the method if (has_code) { // Create the local to store the tag frame for this method - tag_frame_local = create_tag_frame_local(mg); - build_exception_handler(mg); + // tag_frame_local = create_tag_frame_local(mg); + // build_exception_handler(mg); instrument_method(mg); if (track) { add_enter(mg, mi, DCRuntime.methods.size() - 1); add_exit(mg, mi, DCRuntime.methods.size() - 1); } - install_exception_handler(mg); + // install_exception_handler(mg); } } @@ -1462,7 +1443,7 @@ public JavaClass old_instrument() { if (replacingMethod) { gen.replaceMethod(m, mg.getMethod()); if (BcelUtil.isMain(mg)) { - gen.addMethod(create_dcomp_stub(mg).getMethod()); + // gen.addMethod(create_dcomp_stub(mg).getMethod()); } } else { gen.addMethod(mg.getMethod()); @@ -1491,7 +1472,7 @@ public JavaClass old_instrument() { if (replacingMethod) { gen.replaceMethod(m, mg.getMethod()); if (BcelUtil.isMain(mg)) { - gen.addMethod(create_dcomp_stub(mg).getMethod()); + // gen.addMethod(create_dcomp_stub(mg).getMethod()); } } else { gen.addMethod(mg.getMethod()); @@ -1644,7 +1625,7 @@ public JavaClass instrument_jdk() { // Process each method for (Method m : gen.getMethods()) { - tag_frame_local = null; + // tag_frame_local = null; try { // Don't modify class initialization methods. They can't affect // user comparability and there isn't any way to get a second @@ -1687,10 +1668,10 @@ public JavaClass instrument_jdk() { // Instrument the method if (has_code) { // Create the local to store the tag frame for this method - tag_frame_local = create_tag_frame_local(mg); - build_exception_handler(mg); + // tag_frame_local = create_tag_frame_local(mg); + // build_exception_handler(mg); instrument_method(mg); - install_exception_handler(mg); + // install_exception_handler(mg); } } @@ -1894,112 +1875,35 @@ public List get_skipped_methods() { /** * Adds a try/catch block around the entire method. If an exception occurs, the tag stack is * cleaned up and the exception is rethrown. + * + * @param mgen method to add exception handler + * @return code list for handler, or null if method should not have a handler */ - public void build_exception_handler(MethodGen mg) { + public List build_exception_handler(MethodGen24 mgen) { - if (mg.getName().equals("main")) { - global_catch_il = null; - global_exception_handler = null; - return; + if (mgen.getName().equals("main")) { + return null; } - - InstructionList il = new InstructionList(); - il.append(new DUP()); - il.append( - ifact.createInvoke( - dcompRuntimeClassname, "exception_exit", Type.VOID, object_arg, Const.INVOKESTATIC)); - il.append(new ATHROW()); - - add_exception_handler(mg, il); - } - - /** Adds a try/catch block around the entire method. */ - public void add_exception_handler(MethodGen mg, InstructionList catch_il) { - // methods (constructors) turn out to be problematic // for adding a whole method exception handler. The start of // the exception handler should be after the primary object is // initialized - but this is hard to determine without a full // analysis of the code. Hence, we just skip these methods. - if (!mg.isStatic()) { - if (BcelUtil.isConstructor(mg)) { - global_catch_il = null; - global_exception_handler = null; - return; + if (!mgen.isStatic()) { + if (mgen.isConstructor()) { + return null; } } - // InstructionList cur_il = mg.getInstructionList(); - // InstructionHandle start = cur_il.getStart(); - // InstructionHandle end = cur_il.getEnd(); - - // This is just a temporary handler to get the start and end - // address tracked as we make code modifications. - global_catch_il = catch_il; - // global_exception_handler = new CodeExceptionGen(start, end, null, throwable); - } - - /** Adds a try/catch block around the entire method. */ - public void install_exception_handler(MethodGen mg) { - - if (global_catch_il == null) { - return; - } - - InstructionList cur_il = mg.getInstructionList(); - InstructionHandle start = global_exception_handler.getStartPC(); - InstructionHandle end = global_exception_handler.getEndPC(); - InstructionHandle exc = cur_il.append(global_catch_il); - cur_il.setPositions(); - // mg.addExceptionHandler(start, end, exc, throwable); - // discard temporary handler - global_catch_il = null; - global_exception_handler = null; - - // if (!needStackMap) { - // return; - // } - - int exc_offset = exc.getPosition(); - - debugInstrument.log( - "New ExceptionHandler: %x %x %x %n", start.getPosition(), end.getPosition(), exc_offset); - - // This is a trick to get runningOffset set to - // value of last stack map entry. - // updateStackMapOffset(exc_offset, 0); - // int map_offset = exc_offset - runningOffset - 1; - - // Get the argument types for this method - Type[] arg_types = mg.getArgumentTypes(); + List instructions = new ArrayList<>(); - int arg_index = (mg.isStatic() ? 0 : 1); - StackMapType[] arg_map_types = new StackMapType[arg_types.length + arg_index]; - if (!mg.isStatic()) { - arg_map_types[0] = - new StackMapType( - Const.ITEM_Object, pool.addClass(mg.getClassName()), pool.getConstantPool()); - } - // for (int ii = 0; ii < arg_types.length; ii++) { - // arg_map_types[arg_index++] = generateStackMapTypeFromType(arg_types[ii]); - // } - // - // StackMapEntry map_entry; - // StackMapType stack_map_type = - // new StackMapType( - // Const.ITEM_Object, pool.addClass(throwable.getClassName()), - // pool.getConstantPool()); - // StackMapType[] stack_map_types = {stack_map_type}; - // map_entry = - // new StackMapEntry( - // Const.FULL_FRAME, map_offset, arg_map_types, stack_map_types, - // pool.getConstantPool()); - // - // int orig_size = stackMapTable.length; - // StackMapEntry[] new_stack_map_table = new StackMapEntry[orig_size + 1]; - // System.arraycopy(stackMapTable, 0, new_stack_map_table, 0, orig_size); - // new_stack_map_table[orig_size] = map_entry; - // stackMapTable = new_stack_map_table; + instructions.add(StackInstruction.of(Opcode.DUP)); + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, "exception_exit", MethodTypeDesc.of(CD_void, CD_Object)); + instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + instructions.add(ThrowInstruction.of()); + return instructions; } /** @@ -2009,7 +1913,7 @@ public void install_exception_handler(MethodGen mg) { public void add_create_tag_frame(MethodGen mg) { // InstructionList nl = create_tag_frame(mg, tag_frame_local); - create_tag_frame(mg, tag_frame_local); + // create_tag_frame(mg, tag_frame_local); // We add a temporary NOP at the end of the create_tag_frame // code that we will replace with runtime initization code @@ -2092,12 +1996,12 @@ public void add_enter(MethodGen mg, MethodInfo mi, int method_info_index) { /** * Creates the local used to store the tag frame and returns it. * - * @param mg method to modify - * @return LocalVariableGen for the tag_frame local + * @param mgen method to modify + * @param minfo for the given method's code + * @return LocalVariable for the tag_frame local */ - LocalVariableGen create_tag_frame_local(MethodGen mg) { - // return create_method_scope_local(mg, "dcomp_tag_frame$5a", object_arr); - return null; + LocalVariable createTagFrameLocal(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { + return createLocalWithMethodScope(mgen, minfo, "dcomp_tag_frame$5a", objectArray); } /** @@ -2141,10 +2045,10 @@ InstructionList create_tag_frame(MethodGen mg, LocalVariableGen tag_frame_local) // Create code to create/init the tag frame and store in tag_frame_local InstructionList il = new InstructionList(); il.append(ifact.createConstant(params)); - il.append( - ifact.createInvoke( - dcompRuntimeClassname, "create_tag_frame", object_arr, string_arg, Const.INVOKESTATIC)); - il.append(InstructionFactory.createStore(object_arr, tag_frame_local.getIndex())); + // il.append( + // ifact.createInvoke( + // dcompRuntimeClassname, "create_tag_frame", object_arr, string_arg, Const.INVOKESTATIC)); + // il.append(InstructionFactory.createStore(object_arr, tag_frame_local.getIndex())); debugInstrument.log("Store Tag frame local at index %d%n", tag_frame_local.getIndex()); return il; @@ -2168,7 +2072,7 @@ InstructionList callEnterOrExit( Type[] arg_types = mg.getArgumentTypes(); // Push the tag frame - il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); + // il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); // Push the object. Null if this is a static method or a constructor if (mg.isStatic() || (method_name.equals("enter") && BcelUtil.isConstructor(mg))) { @@ -2193,7 +2097,7 @@ InstructionList callEnterOrExit( // Put each argument into the array int param_index = param_offset; for (int ii = 0; ii < arg_types.length; ii++) { - il.append(InstructionFactory.createDup(object_arr.getSize())); + // il.append(InstructionFactory.createDup(object_arr.getSize())); il.append(ifact.createConstant(ii)); Type at = arg_types[ii]; if (at instanceof BasicType) { @@ -2229,16 +2133,16 @@ InstructionList callEnterOrExit( } // Call the specified method - Type[] method_args; - if (method_name.equals("exit")) { - method_args = - new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr, Type.OBJECT, Type.INT}; - } else { - method_args = new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr}; - } - il.append( - ifact.createInvoke( - dcompRuntimeClassname, method_name, Type.VOID, method_args, Const.INVOKESTATIC)); + // Type[] method_args; + // if (method_name.equals("exit")) { + // method_args = + // new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr, Type.OBJECT, Type.INT}; + // } else { + // method_args = new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr}; + // } + // il.append( + // ifact.createInvoke( + // dcompRuntimeClassname, method_name, Type.VOID, method_args, Const.INVOKESTATIC)); return il; } @@ -2406,8 +2310,9 @@ InstructionList callEnterOrExit( case Const.LLOAD_2: case Const.LLOAD_3: { - return load_store_local( - (org.apache.bcel.generic.LoadInstruction) inst, tag_frame_local, "push_local_tag"); + // return load_store_local( + // (org.apache.bcel.generic.LoadInstruction) inst, tag_frame_local, "push_local_tag"); + return null; } case Const.DSTORE: @@ -2431,8 +2336,9 @@ InstructionList callEnterOrExit( case Const.LSTORE_2: case Const.LSTORE_3: { - return load_store_local( - (org.apache.bcel.generic.StoreInstruction) inst, tag_frame_local, "pop_local_tag"); + // return load_store_local( + // (org.apache.bcel.generic.StoreInstruction) inst, tag_frame_local, "pop_local_tag"); + return null; } case Const.LDC: @@ -3269,10 +3175,8 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m */ @Pure boolean is_object_equals(String methodName, Type returnType, Type[] args) { - return (methodName.equals("equals") - && returnType == Type.BOOLEAN - && args.length == 1 - && args[0].equals(javalangObject)); + return (methodName.equals("equals") && returnType == Type.BOOLEAN && args.length == 1); + // && args[0].equals(javalangObject)); } /** @@ -3285,7 +3189,9 @@ boolean is_object_equals(String methodName, Type returnType, Type[] args) { */ @Pure boolean is_object_clone(String methodName, Type returnType, Type[] args) { - return methodName.equals("clone") && returnType.equals(javalangObject) && (args.length == 0); + return methodName.equals("clone") + // && returnType.equals(javalangObject) + && (args.length == 0); } /** @@ -3445,18 +3351,18 @@ InstructionList load_store_local( InstructionList il = new InstructionList(); // Push the tag frame and the index of this local - il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); - debugInstrument.log("CreateLoad %s %d%n", object_arr, tag_frame_local.getIndex()); - il.append(ifact.createConstant(lvi.getIndex())); + // il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); + // debugInstrument.log("CreateLoad %s %d%n", object_arr, tag_frame_local.getIndex()); + // il.append(ifact.createConstant(lvi.getIndex())); // Call the runtime method to handle loading/storing the local/parameter - il.append( - ifact.createInvoke( - dcompRuntimeClassname, - method, - Type.VOID, - new Type[] {object_arr, Type.INT}, - Const.INVOKESTATIC)); + // il.append( + // ifact.createInvoke( + // dcompRuntimeClassname, + // method, + // Type.VOID, + // new Type[] {object_arr, Type.INT}, + // Const.INVOKESTATIC)); il.append(lvi); return il; } @@ -4141,17 +4047,17 @@ InstructionList multi_newarray_dc(org.apache.bcel.generic.Instruction inst) { * @return the instruction list */ InstructionList return_tag(MethodGen mg, org.apache.bcel.generic.Instruction inst) { - Type type = mg.getReturnType(); + // Type type = mg.getReturnType(); InstructionList il = new InstructionList(); // Push the tag frame - il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); + // il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); - if ((type instanceof BasicType) && (type != Type.VOID)) { - il.append(dcr_call("normal_exit_primitive", Type.VOID, new Type[] {object_arr})); - } else { - il.append(dcr_call("normal_exit", Type.VOID, new Type[] {object_arr})); - } + // if ((type instanceof BasicType) && (type != Type.VOID)) { + // il.append(dcr_call("normal_exit_primitive", Type.VOID, new Type[] {object_arr})); + // } else { + // il.append(dcr_call("normal_exit", Type.VOID, new Type[] {object_arr})); + // } il.append(inst); return il; } @@ -4891,58 +4797,29 @@ boolean is_uninit_class(String classname) { } /** - * Creates a method with a DcompMarker argument that does nothing but call the corresponding - * method without the DCompMarker argument. (Currently, only used for ? va main.) + * Creates a pseudo 'main' method with a DcompMarker argument that does nothing but call the + * original 'main' method without the DCompMarker argument. * - * @param mg MethodGen of method to create stub for - * @return the stub + * @param mgen describes the 'main' method + * @param classBuilder for current class + * @param classInfo for the given class */ - MethodGen create_dcomp_stub(MethodGen mg) { - - InstructionList il = new InstructionList(); - Type returnType = mg.getReturnType(); - - // if mg is dynamic, Push 'this' on the stack - int offset = 0; - if (!mg.isStatic()) { - il.append(InstructionFactory.createThis()); - offset = 1; - } - - // push each argument on the stack - for (Type argType : mg.getArgumentTypes()) { - il.append(InstructionFactory.createLoad(argType, offset)); - offset += argType.getSize(); - } + void createMainStub(MethodGen24 mgen, ClassBuilder classBuilder, ClassInfo classInfo) { + List instructions = new ArrayList<>(); + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load arg0 - // Call the method - short kind = Const.INVOKEVIRTUAL; - if (mg.isStatic()) { - kind = Const.INVOKESTATIC; - } - il.append( - ifact.createInvoke( - mg.getClassName(), mg.getName(), returnType, mg.getArgumentTypes(), kind)); - - il.append(InstructionFactory.createReturn(returnType)); - - // Create the method - // Type[] argTypes = BcelUtil.postpendToArray(mg.getArgumentTypes(), dcomp_marker); - // String[] argNames = addString(mg.getArgumentNames(), "marker"); - MethodGen dcomp_mg = - new MethodGen( - mg.getAccessFlags(), - returnType, - null, // argTypes, - null, // argNames, - mg.getName(), - mg.getClassName(), - il, - pool); - dcomp_mg.setMaxLocals(); - dcomp_mg.setMaxStack(); + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ClassDesc.of(classInfo.class_name), "main", MethodTypeDesc.of(CD_void, CD_String)); + instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); // call real main + instructions.add(ReturnInstruction.of(TypeKind.VOID)); - return dcomp_mg; + classBuilder.withMethod( + "main", + MethodTypeDesc.of(CD_void, CD_Object, dcomp_marker), + mgen.getAccessFlagsMask(), + methodBuilder -> + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions))); } /** From eda6c924402a84ace137d0c9732a417caf3796e3 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 14 May 2025 12:17:34 -0700 Subject: [PATCH 021/211] code cleanup --- java/daikon/chicory/Instrument.java | 3 ++- java/daikon/chicory/Instrument24.java | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 4d4d1d3601..4c61fbfc11 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -974,9 +974,10 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int // anewarray // Create an array of objects with elements for each parameter. newCode.append(instFactory.createConstant(paramTypes.length)); - Type object_arr_typ = new ArrayType("java.lang.Object", 1); newCode.append(instFactory.createNewArray(Type.OBJECT, (short) 1)); + Type object_arr_typ = new ArrayType("java.lang.Object", 1); + // Put each parameter into the array. int param_index = param_offset; for (int ii = 0; ii < paramTypes.length; ii++) { diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index be11738700..c178379175 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -825,6 +825,11 @@ private void instrumentCode( } codeList.add(ce); } + // debug code + // case BranchInstruction bi -> { + // System.out.printf(" %s : %s%n", bi, bi.target()); + // codeList.add(ce); + // } default -> codeList.add(ce); // save all other elements } } @@ -1083,7 +1088,6 @@ private void callEnterOrExit( // anewarray // Create an array of objects with elements for each parameter. newCode.add(loadIntegerConstant(paramTypes.length, mgen)); - ClassDesc objectArrayCD = CD_Object.arrayType(1); newCode.add(NewReferenceArrayInstruction.of(mgen.getPoolBuilder().classEntry(CD_Object))); // Put each parameter into the array. @@ -1121,6 +1125,7 @@ private void callEnterOrExit( newCode.add(loadIntegerConstant(line, mgen)); } + ClassDesc objectArrayCD = CD_Object.arrayType(1); MethodTypeDesc methodArgs; // Call the specified method. if (methodToCall.equals("exit")) { @@ -1714,6 +1719,7 @@ protected LocalVariable createLocalWithMethodScope( minfo.nextLocalIndex, localName, localType, minfo.startLabel, minfo.endLabel); mgen.localsTable.add(newVar); minfo.nextLocalIndex += TypeKind.from(localType).slotSize(); + mgen.setMaxLocals(minfo.nextLocalIndex); return newVar; } From be109c6a9556ce112c53dccc5b41812e165a7cfe Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 14 May 2025 12:18:36 -0700 Subject: [PATCH 022/211] add setMaxLocals --- java/daikon/chicory/MethodGen24.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index a7f414f961..953be49d14 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -88,7 +88,7 @@ public class MethodGen24 { */ private @Nullable CodeAttribute codeAttribute; - /** The method's maximum number of locals. */ + /** The method's maximum number of local slots. */ private int maxLocals; /** The method's maximum stack size. */ @@ -149,7 +149,10 @@ public static class MInfo24 { /** The index of this method in SharedData.methods. */ public final int method_info_index; - /** Next available slot in localsTable, currently always = max locals. */ + /** + * Next available slot in localsTable, user is expected to maintain and update maxLocals as + * needed. + */ public int nextLocalIndex; /** @@ -185,7 +188,7 @@ public static class MInfo24 { * Creates a MInfo24. * * @param method_info_index the index of the method in SharedData.methods - * @param nextLocalIndex next available slot in localsTable, currently always = max locals + * @param nextLocalIndex next available slot in localsTable, user should set to maxLocals * @param codeBuilder a CodeBuilder */ public MInfo24(int method_info_index, int nextLocalIndex, CodeBuilder codeBuilder) { @@ -578,6 +581,15 @@ public int getMaxLocals() { return maxLocals; } + /** + * Set the current size of the locals table. + * + * @param size the current size of the locals table + */ + public void setMaxLocals(int size) { + maxLocals = size; + } + /** * Return the maximum stack size. * From 74bf7bc07cab28c777de71a68dc35c75e6b1373f Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 14 May 2025 12:22:19 -0700 Subject: [PATCH 023/211] code cleanup --- java/daikon/dcomp/BcelUtils24.java | 8 +++++--- java/daikon/dcomp/Instrument24.java | 8 ++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index e75b33dedf..afb47ef022 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -155,6 +155,7 @@ public static final LocalVariable addNewParameter( int newOffset = 0; boolean hasCode = !mgen.getInstructionList().isEmpty(); + int argSize = TypeKind.from(argType).slotSize(); if (hasCode) { if (!mgen.isStatic()) { @@ -174,6 +175,8 @@ public static final LocalVariable addNewParameter( // Insert our new local variable into existing table at 'newOffset'. argNew = LocalVariable.of(newOffset, argName, argType, minfo.startLabel, minfo.endLabel); mgen.localsTable.add(newIndex, argNew); + minfo.nextLocalIndex += argSize; + mgen.setMaxLocals(minfo.nextLocalIndex); } // Update the method's parameter information. @@ -184,14 +187,13 @@ public static final LocalVariable addNewParameter( mgen.setParameterNames(argNames); if (hasCode) { - int size = TypeKind.from(argType).slotSize(); // we need to adjust the offset of any locals after our insertion for (int i = newIndex + 1; i < locals.size(); i++) { LocalVariable lv = locals.get(i); locals.set( i, LocalVariable.of( - lv.slot() + size, lv.name(), lv.type(), lv.startScope(), lv.endScope())); + lv.slot() + argSize, lv.name(), lv.type(), lv.startScope(), lv.endScope())); } debugInstrument.log( @@ -201,7 +203,7 @@ public static final LocalVariable addNewParameter( // within each LocalVariableInstruction that references a // local that is 'higher' in the local map than new local // we just inserted. - adjust_code_for_locals_change(mgen, newOffset, size); + adjust_code_for_locals_change(mgen, newOffset, argSize); // debugInstrument.log("New LocalVariableTable:%n%s%n", mgen.localsTable); } diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index b7d4fd07c6..8cec9fadd2 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -67,12 +67,6 @@ public Instrument24() { debug_instrumented_dir = new File(debug_dir, "instrumented"); debug_uninstrumented_dir = new File(debug_dir, "uninstrumented"); - // TEMPORARY - debug_transform.enabled = true; - daikon.chicory.Instrument.debug_ppt_omit.enabled = DynComp.debug; - // temporary to turn on DCInstrument.debug_transform - daikon.dcomp.Instrument.debug_transform.enabled = true; - if (DynComp.dump) { debug_instrumented_dir.mkdirs(); debug_uninstrumented_dir.mkdirs(); @@ -362,6 +356,8 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str // Do instrumentation both old and new way during development. // Following code is old way. + // TEMPORARY + DynComp.debug = false; // Instrument the classfile, die on any errors JavaClass njc; From 6ac1b324fd813f2d0fc4f44f75c5adfe192bed72 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 14 May 2025 12:24:28 -0700 Subject: [PATCH 024/211] checkpoint progress; many changes to instrumentation code --- java/daikon/dcomp/DCInstrument24.java | 862 +++++++++++++------------- 1 file changed, 439 insertions(+), 423 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index a4f1b1cd77..9de831fcdb 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -31,6 +31,7 @@ import java.lang.classfile.CodeElement; import java.lang.classfile.CodeModel; import java.lang.classfile.FieldModel; +import java.lang.classfile.Instruction; import java.lang.classfile.Label; import java.lang.classfile.MethodBuilder; import java.lang.classfile.MethodElement; @@ -43,6 +44,7 @@ import java.lang.classfile.constantpool.ConstantPoolBuilder; import java.lang.classfile.constantpool.ConstantValueEntry; import java.lang.classfile.constantpool.MethodRefEntry; +import java.lang.classfile.instruction.ArrayStoreInstruction; import java.lang.classfile.instruction.BranchInstruction; import java.lang.classfile.instruction.ConstantInstruction; import java.lang.classfile.instruction.ExceptionCatch; @@ -53,8 +55,11 @@ import java.lang.classfile.instruction.LocalVariable; import java.lang.classfile.instruction.LocalVariableType; import java.lang.classfile.instruction.LookupSwitchInstruction; +import java.lang.classfile.instruction.NewReferenceArrayInstruction; +import java.lang.classfile.instruction.NopInstruction; import java.lang.classfile.instruction.ReturnInstruction; import java.lang.classfile.instruction.StackInstruction; +import java.lang.classfile.instruction.StoreInstruction; import java.lang.classfile.instruction.SwitchCase; import java.lang.classfile.instruction.TableSwitchInstruction; import java.lang.classfile.instruction.ThrowInstruction; @@ -113,7 +118,6 @@ import org.apache.bcel.generic.InstructionFactory; import org.apache.bcel.generic.InstructionHandle; import org.apache.bcel.generic.InstructionList; -import org.apache.bcel.generic.InstructionTargeter; // import org.apache.bcel.generic.InvokeInstruction; import org.apache.bcel.generic.LDC; import org.apache.bcel.generic.LDC2_W; @@ -122,7 +126,6 @@ import org.apache.bcel.generic.LocalVariableInstruction; import org.apache.bcel.generic.MULTIANEWARRAY; import org.apache.bcel.generic.MethodGen; -import org.apache.bcel.generic.NOP; import org.apache.bcel.generic.ObjectType; import org.apache.bcel.generic.PUTFIELD; import org.apache.bcel.generic.PUTSTATIC; @@ -198,7 +201,7 @@ public class DCInstrument24 { // private ClassInfo classInfo; /** True if we tracking any methods in the current class. */ - private boolean track_class = false; + private boolean trackClass = false; /** ClassGen for the current class. */ protected ClassGen gen; @@ -232,7 +235,7 @@ public class DCInstrument24 { protected static Type[] string_arg = new Type[] {Type.STRING}; /** Type array with an int. */ - protected static Type[] integer_arg = new Type[] {Type.INT}; + protected static ClassDesc[] integer_arg = new ClassDesc[] {CD_int}; /** Type array with an object. */ protected static Type[] object_arg = new Type[] {Type.OBJECT}; @@ -241,10 +244,10 @@ public class DCInstrument24 { protected static Type javalangClass = new ObjectType("java.lang.Class"); // Type descriptors - protected static final ClassDesc throwable = ClassDesc.of("java.lang.Throwable"); + protected static final ClassDesc throwableCD = ClassDesc.of("java.lang.Throwable"); protected final ClassDesc dcomp_marker; - protected static final ClassDesc javalangObject = ClassDesc.of("java.lang.Object"); - protected static final ClassDesc objectArray = javalangObject.arrayType(1); + protected static final ClassDesc javalangObjectCD = ClassDesc.of("java.lang.Object"); + protected static final ClassDesc objectArrayCD = javalangObjectCD.arrayType(1); // Debug loggers /** Log file if debug_native is enabled. */ @@ -348,6 +351,12 @@ protected enum JUnitState { new MethodDef("wait", new ClassDesc[] {CD_long, CD_int}), }; + /** + * Index into current method's instruction list that points to where a call to the DynComp runtime + * enter routine should be inserted, if we are tracking the method. + */ + private int entryInsertionIndex; + /** Class that defines a method (by its name and argument types) */ static class MethodDef { String name; @@ -422,8 +431,8 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; // TEMPORARY - debugInstrument.enabled = false; debugInstrument.enabled = true; + debugInstrument.enabled = false; debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; } @@ -496,7 +505,7 @@ private void instrumentClass( } debug_transform.indent(); - track_class = false; + trackClass = false; // Handle object methods for this class handle_object(classGen); @@ -538,7 +547,7 @@ private void instrumentClass( // The code that builds the list of daikon variables for each ppt // needs to know what classes are instrumented. Its looks in the // Chicory runtime for this information. - if (track_class) { + if (trackClass) { debug_transform.log("DCInstrument adding %s to all class list%n", classInfo.class_name); synchronized (daikon.chicory.SharedData.all_classes) { daikon.chicory.SharedData.all_classes.add(classInfo); @@ -638,7 +647,6 @@ private void instrument_all_methods( // Process each method in the class for (MethodModel mm : classModel.methods()) { - tagFrameLocal = null; try { MethodGen24 mgen = new MethodGen24(mm, classname, classBuilder); @@ -688,7 +696,7 @@ private void instrument_all_methods( // If any one method is tracked, then the class is tracked. if (track) { - track_class = true; + trackClass = true; } // If we are tracking variables, make sure the class is public @@ -716,6 +724,7 @@ private void instrument_all_methods( continue; } + // local variables referenced from a lambda expression must be final or effectively final final boolean trackMethod = track; boolean addingDcompArg = true; if (mgen.isMain()) { @@ -740,7 +749,6 @@ private void instrument_all_methods( paramList.add(dcomp_marker); mtd = MethodTypeDesc.of(mtd.returnType(), paramList); } - classBuilder.withMethod( mm.methodName().stringValue(), mtd, @@ -922,6 +930,7 @@ private void instrumentCode( // method_info_index is not used at this point in DCInstrument MethodGen24.MInfo24 minfo = new MethodGen24.MInfo24(0, mgen.getMaxLocals(), codeBuilder); + // Add back in any unused parameters that the Java compiler has optimized out. if (mgen.fixLocals(minfo)) { // localsTable was changed debugInstrument.log("Revised LocalVariableTable:%n"); @@ -930,14 +939,11 @@ private void instrumentCode( } } - boolean has_code = !mgen.getInstructionList().isEmpty(); - // If the method is native if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { // Create Java code that cleans up the tag stack and calls the real native method. // fix_native(gen, mgen); - has_code = true; // Add the DCompMarker argument to distinguish our version // add_dcomp_arg(mgen); @@ -953,26 +959,105 @@ private void instrumentCode( // and exit line numbers (information not available via reflection) // and add it to the list for this class. MethodInfo mi = null; - if (trackMethod && has_code) { + if (trackMethod) { mi = create_method_info(classInfo, mgen); classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); } + @SuppressWarnings("JdkObsolete") + List codeList = new LinkedList<>(); + + // no codeModel if DCInstrument24 generated the method + if (codeModel != null) { + debugInstrument.log("Code Attributes:%n"); + for (java.lang.classfile.Attribute a : codeModel.attributes()) { + debugInstrument.log(" %s%n", a); + } + } + + // The localsTable was initialized in the MethodGen24 constructor. Here we initialize the + // codeList. We also remove the local variable type records. Some instrumentation changes + // require these to be updated, but it should be safe to just delete them since the + // LocalVariableTypeTable is optional and really only of use to a debugger. We also save the + // CodeModel label at the start of the byte codes, if there is one. If there isn't, that is + // okay as it means the original code did not reference byte code offset 0 so inserting our + // instrumentation code at that point will not cause a problem. + @SuppressWarnings("nullness:assignment") // can't have gotten here if CodeAttribute is null + @NonNull CodeAttribute ca = mgen.getCodeAttribute(); + for (CodeElement ce : mgen.getInstructionList()) { + debugInstrument.log("CodeElement: %s%n", ce); + switch (ce) { + case LocalVariable lv -> {} // we have alreay processed these + // debugging code + // case LocalVariable lv -> { + // System.out.printf("Local start: %s end: %s%n", lv.startScope(), lv.endScope()); } + case LocalVariableType lvt -> {} // we can discard local variable types + // debuging code + // case LocalVariableType lvt -> { + // @FieldDescriptor String lvFD = lvt.signatureSymbol().signatureString(); + // System.out.printf(" %s : %s%n", lvt, convertDescriptorToFqBinaryName(lvFD)); } + case LabelTarget l -> { + if (ca.labelToBci(l.label()) == 0) { + minfo.oldStartLabel = l.label(); + } + codeList.add(ce); + } + default -> codeList.add(ce); // save all other elements + } + } + + // Create the local to store the tag frame for this method + tagFrameLocal = createTagFrameLocal(mgen, minfo); // Instrument the method - if (has_code) { - // Create the local to store the tag frame for this method - tagFrameLocal = createTagFrameLocal(mgen, minfo); - // build_exception_handler(mgen); - // instrument_method(mgen); - if (trackMethod) { - // add_enter(mgen, mi, DCRuntime.methods.size() - 1); - // add_exit(mgen, mi, DCRuntime.methods.size() - 1); + instrumentCodeList(codeList, mgen, minfo); + if (trackMethod) { + add_enter(mgen, minfo, codeList, DCRuntime.methods.size() - 1); + add_exit(mgen, mi, minfo, codeList, DCRuntime.methods.size() - 1); + } + + // Copy the modified local variable table to the output class. + debugInstrument.log("LocalVariableTable:%n"); + for (LocalVariable lv : mgen.localsTable) { + codeBuilder.localVariable( + lv.slot(), lv.name().stringValue(), lv.typeSymbol(), lv.startScope(), lv.endScope()); + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String lvFD = lv.typeSymbol().descriptorString(); + debugInstrument.log(" %s : %s%n", lv, convertDescriptorToFqBinaryName(lvFD)); + } + + // Copy the modified instruction list to the output class. + for (CodeElement ce : codeList) { + // If there is a new CodeBuilder label associated with this instruction, it needs to be + // defined. + Label l = minfo.labelMap.get(ce); + if (l != null) { + debugInstrument.log("Label: %s%n", l); + codeBuilder.labelBinding(l); + // We've defined the label, remove it from the map. + minfo.labelMap.remove(ce); } - // install_exception_handler(mgen); + // If this instruction references a Label, we need to see if it is the oldStartLabel + // and, if so, replace the target with our new entryLabel. + ce = retargetStartLabel(ce, minfo); + debugInstrument.log("CodeElement: %s%n", ce); + codeBuilder.with(ce); + } + + // build_exception_handler returns null if there isn't one. + List handlerCode = build_exception_handler(mgen); + if (handlerCode != null) { + Label handlerLabel = codeBuilder.newBoundLabel(); + for (CodeElement ce : handlerCode) { + codeBuilder.with(ce); + } + // Using handlerLabel for the end of the try region is technically one instruction + // too many, but it shouldn't matter and is easily available. + codeBuilder.exceptionCatch(minfo.entryLabel, handlerLabel, handlerLabel, throwableCD); } } + // UNDONE needs to be moved? // We do not want to copy the @HotSpotIntrinsicCandidate annotations from // the original method to our instrumented method as the signature will // not match anything in the JVM's list. This won't cause an execution @@ -987,127 +1072,16 @@ private void instrumentCode( // } // } - // NEED TO BE MOVED? - if (has_code) { - // il = mg.getInstructionList(); - // InstructionHandle end = il.getEnd(); - // int length = end.getPosition() + end.getInstruction().getLength(); - // if (length >= Const.MAX_CODE_SIZE) { - // throw new ClassGenException( - // "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); - // } - } - - @SuppressWarnings("JdkObsolete") - List codeList = new LinkedList<>(); - - // no codeModel if DCInstrument24 generated the method - if (codeModel != null) { - debugInstrument.log("Code Attributes:%n"); - for (java.lang.classfile.Attribute a : codeModel.attributes()) { - debugInstrument.log(" %s%n", a); - } - } - - // The localsTable was initialized in the MethodGen24 constructor. Here we initialize the - // codeList. We also remove the local variable type records. Some instrumentation changes - // require these to be updated, but it should be safe to just delete them since the - // LocalVariableTypeTable is optional and really only of use to a debugger. We also save the - // CodeModel label at the start of the byte codes, if there is one. If there isn't, that is - // okay as it means the original code did not reference byte code offset 0 so inserting our - // instrumentation code at that point will not cause a problem. - @SuppressWarnings("nullness:assignment") // can't have gotten here if CodeAttribute is null - @NonNull CodeAttribute ca = mgen.getCodeAttribute(); - for (CodeElement ce : mgen.getInstructionList()) { - debugInstrument.log("CodeElement: %s%n", ce); - switch (ce) { - case LocalVariable lv -> {} // we have alreay processed these - // debugging code - // case LocalVariable lv -> { - // System.out.printf("Local start: %s end: %s%n", lv.startScope(), lv.endScope()); } - case LocalVariableType lvt -> {} // we can discard local variable types - // debuging code - // case LocalVariableType lvt -> { - // @FieldDescriptor String lvFD = lvt.signatureSymbol().signatureString(); - // System.out.printf(" %s : %s%n", lvt, convertDescriptorToFqBinaryName(lvFD)); } - case LabelTarget l -> { - if (ca.labelToBci(l.label()) == 0) { - minfo.oldStartLabel = l.label(); - } - codeList.add(ce); - } - default -> codeList.add(ce); // save all other elements - } - } - - // Generate and insert our instrumentation code. - // insertInstrumentationCode(codeList, mgen, curMethodInfo, minfo); - // TEMP CODE - // The start of the list of CodeElements looks as follows: - // LocalVariable declarations (if any) - // Label for start of code (if present) - // LineNumber for start of code (if present) - // - // - // We want to insert our instrumentation code after the LocalVariables (if any) and after the - // inital label (if present), but before any LineNumber or Instruction. - CodeElement inst = null; - try { - ListIterator li = codeList.listIterator(); - while (li.hasNext()) { - inst = li.next(); - if ((inst instanceof LineNumber) || (inst instanceof java.lang.classfile.Instruction)) { - break; - } - } - - // Label for new location of start of original code. - debugInstrument.log("entryLabel: %s%n", minfo.entryLabel); - assert inst != null : "@AssumeAssertion(nullness): inst will always be set in loop above"; - minfo.labelMap.put(inst, minfo.entryLabel); - } catch (Exception e) { - System.err.printf("Unexpected exception encountered: %s", e); - e.printStackTrace(); - } - - // Copy the modified local variable table to the output class. - debugInstrument.log("LocalVariableTable:%n"); - for (LocalVariable lv : mgen.localsTable) { - codeBuilder.localVariable( - lv.slot(), lv.name().stringValue(), lv.typeSymbol(), lv.startScope(), lv.endScope()); - @SuppressWarnings("signature:assignment") // need JDK annotations - @FieldDescriptor String lvFD = lv.typeSymbol().descriptorString(); - debugInstrument.log(" %s : %s%n", lv, convertDescriptorToFqBinaryName(lvFD)); - } - - // Copy the modified instruction list to the output class. - for (CodeElement ce : codeList) { - // If there is a new CodeBuilder label associated with this instruction, it needs to be - // defined. - Label l = minfo.labelMap.get(ce); - if (l != null) { - debugInstrument.log("Label: %s%n", l); - codeBuilder.labelBinding(l); - // We've defined the label, remove it from the map. - minfo.labelMap.remove(ce); - } - // If this instruction references a Label, we need to see if it is the oldStartLabel - // and, if so, replace the target with our new entryLabel. - ce = retargetStartLabel(ce, minfo); - debugInstrument.log("CodeElement: %s%n", ce); - codeBuilder.with(ce); - } - // build_exception_handler returns null if there isn't one. - List handlerCode = build_exception_handler(mgen); - if (handlerCode != null) { - Label handlerLabel = codeBuilder.newBoundLabel(); - for (CodeElement ce : handlerCode) { - codeBuilder.with(ce); - } - // Using handlerLabel for the end of the try region is technically one instruction - // too many, but it shouldn't matter and is easily available. - codeBuilder.exceptionCatch(minfo.entryLabel, handlerLabel, handlerLabel, throwable); - } + // UNDONE + // can we do this with java.lang.classfile? + // needs to be moved? + // il = mg.getInstructionList(); + // InstructionHandle end = il.getEnd(); + // int length = end.getPosition() + end.getInstruction().getLength(); + // if (length >= Const.MAX_CODE_SIZE) { + // throw new ClassGenException( + // "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); + // } } public JavaClass old_instrument() { @@ -1393,10 +1367,10 @@ public JavaClass old_instrument() { // Create the local to store the tag frame for this method // tag_frame_local = create_tag_frame_local(mg); // build_exception_handler(mg); - instrument_method(mg); + // instrument_method(mg); if (track) { - add_enter(mg, mi, DCRuntime.methods.size() - 1); - add_exit(mg, mi, DCRuntime.methods.size() - 1); + // add_enter(mg, mi, DCRuntime.methods.size() - 1); + // add_exit(mg, mi, DCRuntime.methods.size() - 1); } // install_exception_handler(mg); } @@ -1670,7 +1644,7 @@ public JavaClass instrument_jdk() { // Create the local to store the tag frame for this method // tag_frame_local = create_tag_frame_local(mg); // build_exception_handler(mg); - instrument_method(mg); + // instrument_method(mg); // install_exception_handler(mg); } } @@ -1771,19 +1745,57 @@ public JavaClass instrument_jdk() { /** * Instrument the specified method for dynamic comparability. * - * @param mg MethodGen for the method to be instrumented + * @param instructions instruction list for method + * @param mgen describes the given method + * @param minfo for the given method's code */ - public void instrument_method(MethodGen mg) { - - // Because the tag_frame_local is active for the entire method - // and its creation will change the state of the locals layout, - // we need to insert the code to initialize it now so that the - // stack anaylsis we are about to do is correct for potential - // code replacements we might make later. - InstructionHandle orig_start = mg.getInstructionList().getStart(); - add_create_tag_frame(mg); + private void instrumentCodeList( + List instructions, MethodGen24 mgen, MethodGen24.MInfo24 minfo) { + + List newCode = createTagFrame(mgen); + + // The start of the list of CodeElements looks as follows: + // LocalVariable declarations (if any) + // Label for start of code (if present) + // LineNumber for start of code (if present) + // + // + // We want to insert the tag_frame setup code after the LocalVariables (if any) and after the + // inital label (if present), but before any LineNumber or Instruction. + ListIterator li = instructions.listIterator(); + CodeElement inst = null; + try { + while (li.hasNext()) { + inst = li.next(); + if ((inst instanceof LineNumber) || (inst instanceof Instruction)) { + break; + } + } + + // Label for new location of start of original code. + debugInstrument.log("entryLabel: %s%n", minfo.entryLabel); + assert inst != null : "@AssumeAssertion(nullness): inst will always be set in loop above"; + minfo.labelMap.put(inst, minfo.entryLabel); + + // Insert code before this LineNumber or Instruction. + + // Back up iterator to point to 'inst'. + li.previous(); + + // Insert newCode prior to 'inst'. + for (CodeElement ce : newCode) { + li.add(ce); + } + + // Save index into instruction list that points to where a call to the + // DynComp runtime enter routine should be inserted, if we are tracking the method. + entryInsertionIndex = li.nextIndex(); + } catch (Exception e) { + System.err.printf("Unexpected exception encountered: %s", e); + e.printStackTrace(); + } + // Calculate the operand stack value(s) for revised code. - mg.setMaxStack(); // Calculate stack types information // StackTypes stack_types = bcelCalcStackTypes(mg); // if (stack_types == null) { @@ -1794,63 +1806,29 @@ public void instrument_method(MethodGen mg) { // InstructionList il = mg.getInstructionList(); // OperandStack stack = null; - // Prior to adding support for Stack Maps, the position field - // of each InstructionHandle was not updated until the modified - // method was written out. Hence, it could be used as the - // index into stack_types. To support StackMaps we need to - // update the position field as we modify the code bytes. So - // we need a mapping from InstructionHandle to orignal offset. - // I beleive we always visit the InstructionHandle nodes of - // the method's InstructionList in order - hence, we will use - // a simple array for now. If this turns out to not be the - // case we will need to use a hash map. - - // int[] handle_offsets = new int[il.getLength()]; - InstructionHandle ih = orig_start; - // int index = 0; - // Loop through each instruction, building up offset map. - while (ih != null) { - // handle_offsets[index++] = ih.getPosition(); - - if (debugInstrument.enabled) { - debugInstrument.log("inst: %s %n", ih); - for (InstructionTargeter it : ih.getTargeters()) { - debugInstrument.log("targeter: %s %n", it); - } - } - - ih = ih.getNext(); - } - - // index = 0; - // Loop through each instruction, making substitutions - for (ih = orig_start; ih != null; ) { - debugInstrument.log("instrumenting instruction %s%n", ih); - // InstructionList new_il = null; - - // Remember the next instruction to process - InstructionHandle next_ih = ih.getNext(); + while (li.hasNext()) { + inst = li.next(); // Get the stack information // stack = stack_types.get(handle_offsets[index++]); - // Get the translation for this instruction (if any) // new_il = xform_inst(mg, ih, stack); - - // If this instruction was modified, replace it with the new - // instruction list. If this instruction was the target of any - // jumps or line numbers, replace them with the first - // instruction in the new list. - // replaceInstructions(mg, il, ih, new_il); + // Get the translation for this instruction (if any) + List new_il = instrumentInstruction(mgen, minfo, inst); + if (new_il != null) { + li.remove(); // remove the instruction we instrumented + for (CodeElement ce : new_il) { + li.add(ce); + } + } // If the modified method is now too large, we quit instrumenting the method // and will rediscover the problem in the main instrumentation loop above // and deal with it there. - if (ih.getPosition() >= Const.MAX_CODE_SIZE) { - break; - } + // if (ih.getPosition() >= Const.MAX_CODE_SIZE) { + // break; + // } - ih = next_ih; } } @@ -1906,91 +1884,21 @@ public List build_exception_handler(MethodGen24 mgen) { return instructions; } - /** - * Adds the code to create the tag frame to the beginning of the method. This needs to be before - * the call to DCRuntime.enter (since it passed to that method). - */ - public void add_create_tag_frame(MethodGen mg) { - - // InstructionList nl = create_tag_frame(mg, tag_frame_local); - // create_tag_frame(mg, tag_frame_local); - - // We add a temporary NOP at the end of the create_tag_frame - // code that we will replace with runtime initization code - // later. We do this so that any existing stack map at - // instruction offset 0 is not replaced by the one we are - // about to add for initializing the tag_frame variable. - // insertion_placeholder = nl.append(new NOP()); - - // byte[] code = nl.getByteCode(); - // -1 because of the NOP we inserted. - // int len_code = code.length - 1; - - // insertAtMethodStart(mg, nl); - // - // if (!needStackMap) { - // return; - // } - - // For Java 7 and beyond the StackMapTable is part of the - // verification process. We need to create and or update it to - // account for instrumentation code we have inserted as well as - // adjustments for the new 'tag_frame' local. - - // Get existing StackMapTable (if present) - // if (stackMapTable.length > 0) { - // // Each stack map frame specifies (explicity or implicitly) an - // // offset_delta that is used to calculate the actual bytecode - // // offset at which the frame applies. This is caluclated by - // // by adding offset_delta + 1 to the bytecode offset of the - // // previous frame, unless the previous frame is the initial - // // frame of the method, in which case the bytecode offset is - // // offset_delta. (From the Java Virual Machine Specification, - // // Java SE 7 Edition, section 4.7.4) - // - // // Since we are inserting a new stack map frame at the - // // beginning of the stack map table, we need to adjust the - // // offset_delta of the original first stack map frame due to - // // the fact that it will no longer be the first entry. We - // // must subtract (len_code + 1). - // // (We don't have to worry about the special case of the - // // original first entry having an offset of 0 because of the - // // NOP we inserted above. - // - // stackMapTable[0].updateByteCodeOffset(-(len_code + 1)); - // } - // - // int new_table_length = stackMapTable.length + 1; - // StackMapEntry[] new_stack_map_table = new StackMapEntry[new_table_length]; - // - // // Insert a new StackMapEntry at the beginning of the table - // // that adds the tag_frame variable. - // StackMapType tag_frame_type = generateStackMapTypeFromType(object_arr); - // StackMapType[] stack_map_type_arr = {tag_frame_type}; - // new_stack_map_table[0] = - // new StackMapEntry( - // Const.APPEND_FRAME, len_code, stack_map_type_arr, null, pool.getConstantPool()); - // - // // We can just copy the rest of the stack frames over as the FULL_FRAME - // // ones were already updated when the tag_frame variable was allocated. - // for (int i = 0; i < stackMapTable.length; i++) { - // new_stack_map_table[i + 1] = stackMapTable[i]; - // } - // stackMapTable = new_stack_map_table; - // // print_stackMapTable ("add_create_tag_frame"); - } - /** * Adds the call to DCRuntime.enter to the beginning of the method. * - * @param mg method to modify - * @param mi MethodInfo for method + * @param mgen method to modify + * @param minfo for the given method's code + * @param instructions instruction list for method * @param method_info_index index for MethodInfo */ - public void add_enter(MethodGen mg, MethodInfo mi, int method_info_index) { - // InstructionList il = mg.getInstructionList(); - // replaceInstructions( - // mg, il, insertion_placeholder, call_enter_exit(mg, method_info_index, "enter", -1)); + private void add_enter( + MethodGen24 mgen, + MethodGen24.MInfo24 minfo, + List instructions, + int method_info_index) { + instructions.addAll( + entryInsertionIndex, callEnterOrExit(mgen, minfo, method_info_index, "enter", -1)); } /** @@ -2001,40 +1909,40 @@ public void add_enter(MethodGen mg, MethodInfo mi, int method_info_index) { * @return LocalVariable for the tag_frame local */ LocalVariable createTagFrameLocal(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { - return createLocalWithMethodScope(mgen, minfo, "dcomp_tag_frame$5a", objectArray); + return createLocalWithMethodScope(mgen, minfo, "dcomp_tag_frame$5a", objectArrayCD); } /** - * Creates code to create the tag frame for this method and store it in tag_frame_local. + * Generates the code to create the tag frame for this method and store it in tag_frame_local. + * This needs to be before the call to DCRuntime.enter (since it passed to that method). * - * @param mg method to modify - * @param tag_frame_local LocalVariableGen for the tag_frame local + * @param mgen describes the given method * @return InstructionList for tag_frame setup code */ - InstructionList create_tag_frame(MethodGen mg, LocalVariableGen tag_frame_local) { + private List createTagFrame(MethodGen24 mgen) { - Type arg_types[] = mg.getArgumentTypes(); + ClassDesc arg_types[] = mgen.getParameterTypes(); // Determine the offset of the first argument in the frame int offset = 1; - if (mg.isStatic()) { + if (mgen.isStatic()) { offset = 0; } // allocate an extra slot to save the tag frame depth for debugging - int frame_size = mg.getMaxLocals() + 1; + int frame_size = mgen.getMaxLocals() + 1; // unsigned byte max = 255. minus the character '0' (decimal 48) // Largest frame size noted so far is 123. - assert frame_size < 207 : frame_size + " " + mg.getClassName() + "." + mg.getName(); + assert frame_size < 207 : frame_size + " " + mgen.getClassName() + "." + mgen.getName(); String params = "" + (char) (frame_size + '0'); // Character.forDigit (frame_size, Character.MAX_RADIX); List plist = new ArrayList<>(); - for (Type argType : arg_types) { - if (argType instanceof BasicType) { + for (ClassDesc argType : arg_types) { + if (argType.isPrimitive()) { plist.add(offset); } - offset += argType.getSize(); + offset += TypeKind.from(argType).slotSize(); } for (int ii = plist.size() - 1; ii >= 0; ii--) { char tmpChar = (char) (plist.get(ii) + '0'); @@ -2042,16 +1950,19 @@ InstructionList create_tag_frame(MethodGen mg, LocalVariableGen tag_frame_local) // Character.forDigit (plist.get(ii), Character.MAX_RADIX); } - // Create code to create/init the tag frame and store in tag_frame_local - InstructionList il = new InstructionList(); - il.append(ifact.createConstant(params)); - // il.append( - // ifact.createInvoke( - // dcompRuntimeClassname, "create_tag_frame", object_arr, string_arg, Const.INVOKESTATIC)); - // il.append(InstructionFactory.createStore(object_arr, tag_frame_local.getIndex())); - debugInstrument.log("Store Tag frame local at index %d%n", tag_frame_local.getIndex()); + // Create code to create and init the tag_frame and store the result in tag_frame_local + List instructions = new ArrayList<>(); - return il; + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, "create_atg_frame", MethodTypeDesc.of(objectArrayCD, CD_String)); + instructions.add(buildLDCInstruction(poolBuilder.stringEntry(params))); + instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + instructions.add(StoreInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); + + debugInstrument.log("Store Tag frame local at index %d%n", tagFrameLocal.slot()); + + return instructions; } /** @@ -2059,92 +1970,149 @@ InstructionList create_tag_frame(MethodGen mg, LocalVariableGen tag_frame_local) * specified Method (normally enter or exit) in DCRuntime. The parameters are passed as an array * of objects. * - * @param mg method to modify + * @param mgen method to modify + * @param minfo for the given method's code * @param method_info_index index for MethodInfo - * @param method_name "enter" or "exit" + * @param methodToCall "enter" or "exit" * @param line source line number if type is exit - * @return InstructionList for the enter or exit code + * @return instruction list for the enter or exit code */ - InstructionList callEnterOrExit( - MethodGen mg, int method_info_index, String method_name, int line) { + private List callEnterOrExit( + MethodGen24 mgen, + MethodGen24.MInfo24 minfo, + int method_info_index, + String methodToCall, + int line) { - InstructionList il = new InstructionList(); - Type[] arg_types = mg.getArgumentTypes(); + List instructions = new ArrayList<>(); + ClassDesc paramTypes[] = mgen.getParameterTypes(); // Push the tag frame - // il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); - // Push the object. Null if this is a static method or a constructor - if (mg.isStatic() || (method_name.equals("enter") && BcelUtil.isConstructor(mg))) { - il.append(new ACONST_NULL()); + // Push the object. Push null if this is a static method or a constructor. + if (mgen.isStatic() || (methodToCall.equals("enter") && mgen.isConstructor())) { + instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); } else { // must be an instance method - il.append(InstructionFactory.createLoad(Type.OBJECT, 0)); + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); } - // Determine the offset of the first parameter - int param_offset = 1; - if (mg.isStatic()) { - param_offset = 0; - } + // The offset of the first parameter. + int param_offset = mgen.isStatic() ? 0 : 1; // Push the MethodInfo index - il.append(ifact.createConstant(method_info_index)); + instructions.add(loadIntegerConstant(method_info_index)); - // Create an array of objects with elements for each parameter - il.append(ifact.createConstant(arg_types.length)); - il.append(ifact.createNewArray(Type.OBJECT, (short) 1)); + // Create an array of objects with elements for each parameter. + instructions.add(loadIntegerConstant(paramTypes.length)); + instructions.add(NewReferenceArrayInstruction.of(poolBuilder.classEntry(CD_Object))); - // Put each argument into the array + // Put each parameter into the array. int param_index = param_offset; - for (int ii = 0; ii < arg_types.length; ii++) { - // il.append(InstructionFactory.createDup(object_arr.getSize())); - il.append(ifact.createConstant(ii)); - Type at = arg_types[ii]; - if (at instanceof BasicType) { - il.append(new ACONST_NULL()); - // il.append (createPrimitiveWrapper (c, at, param_index)); - } else { // must be reference of some sort - il.append(InstructionFactory.createLoad(Type.OBJECT, param_index)); + for (int ii = 0; ii < paramTypes.length; ii++) { + instructions.add(StackInstruction.of(Opcode.DUP)); + instructions.add(loadIntegerConstant(ii)); + ClassDesc at = paramTypes[ii]; + if (at.isPrimitive()) { + instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + } else { // it's a reference of some sort + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, param_index)); } - il.append(InstructionFactory.createArrayStore(Type.OBJECT)); - param_index += at.getSize(); + instructions.add(ArrayStoreInstruction.of(Opcode.AASTORE)); + param_index += TypeKind.from(at).slotSize(); } // If this is an exit, push the return value and line number. - // The return value - // is stored in the local "return__$trace2_val" If the return - // value is a primitive, wrap it in the appropriate run-time wrapper - if (method_name.equals("exit")) { - Type returnType = mg.getReturnType(); - if (returnType == Type.VOID) { - il.append(new ACONST_NULL()); + // The return value is stored in the local "return__$trace2_val". + // If the return value is a primitive, push a NULL. + if (methodToCall.equals("exit")) { + ClassDesc returnType = mgen.getReturnType(); + if (returnType.equals(CD_void)) { + instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); } else { - LocalVariableGen return_local = get_return_local(mg, returnType); - if (returnType instanceof BasicType) { - il.append(new ACONST_NULL()); - // il.append (createPrimitiveWrapper (c, returnType, return_local.getIndex())); + LocalVariable return_local = getReturnLocal(mgen, returnType, minfo); + if (returnType.isPrimitive()) { + instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); } else { - il.append(InstructionFactory.createLoad(Type.OBJECT, return_local.getIndex())); + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, return_local.slot())); } } - // push line number - il.append(ifact.createConstant(line)); + instructions.add(loadIntegerConstant(line)); } - // Call the specified method - // Type[] method_args; - // if (method_name.equals("exit")) { - // method_args = - // new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr, Type.OBJECT, Type.INT}; - // } else { - // method_args = new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr}; - // } - // il.append( - // ifact.createInvoke( - // dcompRuntimeClassname, method_name, Type.VOID, method_args, Const.INVOKESTATIC)); + ClassDesc objectArrayCD = CD_Object.arrayType(1); + MethodTypeDesc methodArgs; + // Call the specified method. + if (methodToCall.equals("exit")) { + methodArgs = + MethodTypeDesc.of( + CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD, CD_Object, CD_int); + } else { + methodArgs = MethodTypeDesc.of(CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD); + } + MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, methodToCall, methodArgs); + instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); - return il; + return instructions; + } + + // @param stack current contents of the stack + /** + * Transforms instructions to track comparability. Returns a list of instructions that replaces + * the specified instruction. Returns null if the instruction should not be replaced. + * + * @param mgen method to modify + * @param minfo for the given method's code + * @param ce instruction to be instrumented + * @return instrumentation for inst, or null is none + */ + @Nullable List instrumentInstruction( + MethodGen24 mgen, MethodGen24.MInfo24 minfo, CodeElement ce) { + if (ce instanceof Instruction inst) { + switch (inst.opcode()) { + + // These instructions compare the integer on the top of the stack + // to zero. Nothing is made comparable by this, so we need only + // discard the tag on the top of the stack. + case Opcode.IFEQ: + case Opcode.IFNE: + case Opcode.IFLT: + case Opcode.IFGE: + case Opcode.IFGT: + case Opcode.IFLE: + { + return discard_tag_code(inst, 1); + } + + // Computed jump based on the int on the top of stack. Since that int + // is not made comparable to anything, we just discard its tag. One + // might argue that the key should be made comparable to each value in + // the jump table. But the tags for those values are not available. + // And since they are all constants, its not clear how interesting it + // would be anyway. + case Opcode.LOOKUPSWITCH: + case Opcode.TABLESWITCH: + return discard_tag_code(inst, 1); + + // case LocalVariable lv -> {} // we have alreay processed these + // debugging code + // case LocalVariable lv -> { + // System.out.printf("Local start: %s end: %s%n", lv.startScope(), lv.endScope()); } + // case LocalVariableType lvt -> {} // we can discard local variable types + // debuging code + // case LocalVariableType lvt -> { + // @FieldDescriptor String lvFD = lvt.signatureSymbol().signatureString(); + // System.out.printf(" %s : %s%n", lvt, convertDescriptorToFqBinaryName(lvFD)); } + // case LabelTarget l -> { + // } + // default -> throw exception when done? + default: + } + } + // CodeElement is not an Instruction so just ignore it + // UNDONE: what about labels? + return null; } /** @@ -2181,7 +2149,8 @@ InstructionList callEnterOrExit( case Const.IFGT: case Const.IFLE: { - return discard_tag_code(inst, 1); + // return discard_tag_code(inst, 1); + return null; } // Instanceof pushes either 0 or 1 on the stack depending on whether @@ -2428,7 +2397,8 @@ InstructionList callEnterOrExit( // would be anyway. case Const.LOOKUPSWITCH: case Const.TABLESWITCH: - return discard_tag_code(inst, 1); + // return discard_tag_code(inst, 1); + return null; // Make the integer argument to ANEWARRAY comparable to the new // array's index. @@ -2576,41 +2546,59 @@ InstructionList callEnterOrExit( * comparability on the daikon variables. It is only necessary if we are tracking comparability * for the variables of this method. * - * @param mg method to modify - * @param mi MethodInfo for method + * @param mgen method to modify + * @param mi MethodInfo for the given method's code + * @param minfo MInfo24 for the given method's code + * @param instructions instruction list for method * @param method_info_index index for MethodInfo */ - void add_exit(MethodGen mg, MethodInfo mi, int method_info_index) { + private void add_exit( + MethodGen24 mgen, + MethodInfo mi, + MethodGen24.MInfo24 minfo, + List instructions, + int method_info_index) { // Iterator over all of the exit line numbers for this method, in order. // We will read one element from it each time that we encounter a // return instruction. - Iterator exit_iter = mi.exit_locations.iterator(); + Iterator exitLocationIter = mi.exit_locations.iterator(); // Loop through each instruction, looking for return instructions. - InstructionList il = mg.getInstructionList(); - for (InstructionHandle ih = il.getStart(); ih != null; ) { - - // Remember the next instruction to process - InstructionHandle next_ih = ih.getNext(); + ListIterator li = instructions.listIterator(); + while (li.hasNext()) { + CodeElement inst = li.next(); // If this is a return instruction, Call DCRuntime.exit to calculate // comparability on Daikon variables - org.apache.bcel.generic.Instruction inst = ih.getInstruction(); - if (inst instanceof org.apache.bcel.generic.ReturnInstruction) { - Type type = mg.getReturnType(); - InstructionList new_il = new InstructionList(); - if (type != Type.VOID) { - LocalVariableGen return_loc = get_return_local(mg, type); - new_il.append(InstructionFactory.createDup(type.getSize())); - new_il.append(InstructionFactory.createStore(type, return_loc.getIndex())); + if (inst instanceof ReturnInstruction) { + List newCode = new ArrayList<>(); + ClassDesc type = mgen.getReturnType(); + if (!type.equals(CD_void)) { + TypeKind typeKind = TypeKind.from(type); + LocalVariable returnLocal = getReturnLocal(mgen, type, minfo); + if (typeKind.slotSize() == 1) { + newCode.add(StackInstruction.of(Opcode.DUP)); + } else { + newCode.add(StackInstruction.of(Opcode.DUP2)); + } + newCode.add(StoreInstruction.of(typeKind, returnLocal.slot())); + } + if (!exitLocationIter.hasNext()) { + throw new RuntimeException("Not enough exit locations in the exitLocationIter"); } - new_il.append(callEnterOrExit(mg, method_info_index, "exit", exit_iter.next())); - new_il.append(inst); - // replaceInstructions(mg, il, ih, new_il); + newCode.addAll( + callEnterOrExit(mgen, minfo, method_info_index, "exit", exitLocationIter.next())); + + // back up iterator to point to 'inst', the return instruction, and insert the + // instrumentation + li.previous(); + for (CodeElement ce : newCode) { + li.add(ce); + } + // skip over the return instruction + li.next(); } - - ih = next_ih; } } @@ -2699,7 +2687,7 @@ private InstructionList handleInvoke(org.apache.bcel.generic.InvokeInstruction i // Replace calls to Object's equals method with calls to our // replacement, a static method in DCRuntime. - // Type[] new_arg_types = new Type[] {javalangObject, javalangObject}; + // Type[] new_arg_types = new Type[] {javalangObjectCD, javalangObjectCD}; InstructionList il = new InstructionList(); il.append( @@ -2755,7 +2743,9 @@ private InstructionList handleInvoke(org.apache.bcel.generic.InvokeInstruction i // they actually contain instrumentation code. So we do not want to discard // the primitive tags prior to the call. if (!junitTestClasses.contains(classname)) { - il.append(discard_primitive_tags(argTypes)); + // il.append(discard_primitive_tags(argTypes)); + // dummy line for errorprone for now + discard_primitive_tags(integer_arg); } // Add a tag for the return type if it is primitive. @@ -2778,17 +2768,17 @@ private InstructionList handleInvoke(org.apache.bcel.generic.InvokeInstruction i * @return an instruction list that discards primitive tags from DCRuntime's per-thread * comparability data stack */ - private InstructionList discard_primitive_tags(Type[] argTypes) { + private List discard_primitive_tags(ClassDesc[] argTypes) { + List il = new ArrayList<>(); - InstructionList il = new InstructionList(); int primitive_cnt = 0; - for (Type argType : argTypes) { - if (argType instanceof BasicType) { + for (ClassDesc argType : argTypes) { + if (argType.isPrimitive()) { primitive_cnt++; } } if (primitive_cnt > 0) { - il.append(discard_tag_code(new NOP(), primitive_cnt)); + il.addAll(discard_tag_code(NopInstruction.of(), primitive_cnt)); } return il; } @@ -3176,7 +3166,7 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m @Pure boolean is_object_equals(String methodName, Type returnType, Type[] args) { return (methodName.equals("equals") && returnType == Type.BOOLEAN && args.length == 1); - // && args[0].equals(javalangObject)); + // && args[0].equals(javalangObjectCD)); } /** @@ -3190,7 +3180,7 @@ boolean is_object_equals(String methodName, Type returnType, Type[] args) { @Pure boolean is_object_clone(String methodName, Type returnType, Type[] args) { return methodName.equals("clone") - // && returnType.equals(javalangObject) + // && returnType.equals(javalangObjectCD) && (args.length == 0); } @@ -3271,7 +3261,7 @@ InstructionList load_store_field(MethodGen mg, org.apache.bcel.generic.FieldInst il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); } else { il.append(ifact.createConstant(1)); - il.append(dcr_call("discard_tag", Type.VOID, integer_arg)); + // il.append(dcr_call("discard_tag", Type.VOID, integer_arg)); } // Perform the normal field command @@ -3427,6 +3417,36 @@ LocalVariableGen get_tmp2_local(MethodGen mg, Type typ) { return mg.addLocalVariable(name, typ, null, null); } + /** + * Returns the local variable used to store the return result. If it is not present, creates it + * with the specified type. If the variable is known to already exist, the type can be null. + * + * @param mgen describes the given method + * @param returnType the type of the return; may be null if the variable is known to already exist + * @param minfo for the given method's code + * @return a local variable to save the return value + */ + @SuppressWarnings("nullness") + private LocalVariable getReturnLocal( + MethodGen24 mgen, @Nullable ClassDesc returnType, MethodGen24.MInfo24 minfo) { + + // If a type was specified and the variable was found, they must match. + if (minfo.returnLocal == null) { + assert returnType != null : " return__$trace2_val doesn't exist"; + } else { + assert minfo.returnLocal.typeSymbol().equals((Object) returnType) + : " returnType = " + returnType + "; current type = " + minfo.returnLocal.typeSymbol(); + } + + if (minfo.returnLocal == null) { + debugInstrument.log("Adding return local of type %s%n", returnType); + minfo.returnLocal = + createLocalWithMethodScope(mgen, minfo, "return__$trace2_val", returnType); + } + + return minfo.returnLocal; + } + /** * Returns the local variable used to store the return result. If it is not present, creates it * with the specified type. If the variable is known to already exist, the type can be null. @@ -3470,11 +3490,6 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { // Get the argument names for this method String[] paramNames = mgen.getParameterNames(); - // LocalVariable[] lvs = mgen.getLocalVariables(); //should be localsTable? - // int param_offset = 1; - if (mgen.isStatic()) { - // param_offset = 0; - } if (debugInstrument.enabled) { debugInstrument.log("create_method_info: %s%n", paramNames.length); @@ -3727,10 +3742,7 @@ static String methodEntryName(String fullClassName, Method m) { */ InvokeInstruction dcr_call(String methodName, ClassDesc returnType, ClassDesc[] argTypes) { MethodRefEntry mre = - poolBuilder.methodRefEntry( - ClassDesc.of(dcompRuntimeClassname), - methodName, - MethodTypeDesc.of(returnType, argTypes)); + poolBuilder.methodRefEntry(runtimeCD, methodName, MethodTypeDesc.of(returnType, argTypes)); return InvokeInstruction.of(Opcode.INVOKESTATIC, mre); } @@ -3754,13 +3766,13 @@ org.apache.bcel.generic.InvokeInstruction dcr_call( * * @param inst instruction to be replaced * @param tag_count number of tags to discard - * @return InstructionList + * @return instruction list */ - InstructionList discard_tag_code(org.apache.bcel.generic.Instruction inst, int tag_count) { - InstructionList il = new InstructionList(); - il.append(ifact.createConstant(tag_count)); - il.append(dcr_call("discard_tag", Type.VOID, integer_arg)); - // append_inst(il, inst); + List discard_tag_code(CodeElement inst, int tag_count) { + List il = new ArrayList<>(); + il.add(loadIntegerConstant(tag_count)); + il.add(dcr_call("discard_tag", CD_void, integer_arg)); + il.add(inst); return il; } @@ -3963,7 +3975,7 @@ InstructionList dup2_x2(org.apache.bcel.generic.Instruction inst, OperandStack s InstructionList pop_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { Type top = stack.peek(); if (is_primitive(top)) { - return discard_tag_code(inst, 1); + // return discard_tag_code(inst, 1); } return null; } @@ -3975,7 +3987,7 @@ InstructionList pop_tag(org.apache.bcel.generic.Instruction inst, OperandStack s InstructionList pop2_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { Type top = stack.peek(); if (is_category2(top)) { - return discard_tag_code(inst, 1); + // return discard_tag_code(inst, 1); } else { int cnt = 0; if (is_primitive(top)) { @@ -3985,7 +3997,7 @@ InstructionList pop2_tag(org.apache.bcel.generic.Instruction inst, OperandStack cnt++; } if (cnt > 0) { - return discard_tag_code(inst, cnt); + // return discard_tag_code(inst, cnt); } } return null; @@ -4034,7 +4046,8 @@ InstructionList multi_newarray_dc(org.apache.bcel.generic.Instruction inst) { if (dims == 2) { return multiarray2(inst); } else { - return discard_tag_code(inst, dims); + // return discard_tag_code(inst, dims); + return null; } } @@ -4163,7 +4176,7 @@ void fix_native(ClassGen gen, MethodGen mg) { } } if (primitive_cnt > 0) { - il.append(discard_tag_code(new NOP(), primitive_cnt)); + // il.append(discard_tag_code(new NOP(), primitive_cnt)); } // push a tag if there is a primitive return value @@ -5136,6 +5149,8 @@ private static String typeArgumentsToBinaryNames(String genericPart) { // } // } + // UNDONE - this routine should probably be moved to MethodGen24. + /** * Create a new local variable whose scope is the full method. * @@ -5152,6 +5167,7 @@ protected LocalVariable createLocalWithMethodScope( minfo.nextLocalIndex, localName, localType, minfo.startLabel, minfo.endLabel); mgen.localsTable.add(newVar); minfo.nextLocalIndex += TypeKind.from(localType).slotSize(); + mgen.setMaxLocals(minfo.nextLocalIndex); return newVar; } From 66a5d5262c18acccd683f63d109807d3823458ab Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 21 May 2025 10:46:28 -0700 Subject: [PATCH 025/211] checkpoint current work; many changes to instrumentation code --- java/daikon/dcomp/DCInstrument24.java | 1078 ++++++++++++------------- 1 file changed, 535 insertions(+), 543 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 9de831fcdb..e3d95f6fec 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -2,6 +2,7 @@ import static java.lang.constant.ConstantDescs.CD_Object; import static java.lang.constant.ConstantDescs.CD_String; +import static java.lang.constant.ConstantDescs.CD_Throwable; import static java.lang.constant.ConstantDescs.CD_boolean; import static java.lang.constant.ConstantDescs.CD_int; import static java.lang.constant.ConstantDescs.CD_long; @@ -44,10 +45,12 @@ import java.lang.classfile.constantpool.ConstantPoolBuilder; import java.lang.classfile.constantpool.ConstantValueEntry; import java.lang.classfile.constantpool.MethodRefEntry; +import java.lang.classfile.instruction.ArrayLoadInstruction; import java.lang.classfile.instruction.ArrayStoreInstruction; import java.lang.classfile.instruction.BranchInstruction; import java.lang.classfile.instruction.ConstantInstruction; import java.lang.classfile.instruction.ExceptionCatch; +import java.lang.classfile.instruction.FieldInstruction; import java.lang.classfile.instruction.InvokeInstruction; import java.lang.classfile.instruction.LabelTarget; import java.lang.classfile.instruction.LineNumber; @@ -55,6 +58,7 @@ import java.lang.classfile.instruction.LocalVariable; import java.lang.classfile.instruction.LocalVariableType; import java.lang.classfile.instruction.LookupSwitchInstruction; +import java.lang.classfile.instruction.NewMultiArrayInstruction; import java.lang.classfile.instruction.NewReferenceArrayInstruction; import java.lang.classfile.instruction.NopInstruction; import java.lang.classfile.instruction.ReturnInstruction; @@ -92,10 +96,7 @@ import org.apache.bcel.classfile.JavaClass; import org.apache.bcel.classfile.Method; import org.apache.bcel.classfile.RuntimeVisibleAnnotations; -import org.apache.bcel.generic.AALOAD; import org.apache.bcel.generic.ACONST_NULL; -import org.apache.bcel.generic.ALOAD; -import org.apache.bcel.generic.ASTORE; import org.apache.bcel.generic.AnnotationEntryGen; import org.apache.bcel.generic.ArrayType; import org.apache.bcel.generic.BasicType; @@ -103,12 +104,7 @@ import org.apache.bcel.generic.ClassGen; import org.apache.bcel.generic.ClassGenException; import org.apache.bcel.generic.ConstantPoolGen; -import org.apache.bcel.generic.DUP; -import org.apache.bcel.generic.DUP2; -import org.apache.bcel.generic.DUP_X2; // import org.apache.bcel.generic.FieldInstruction; -import org.apache.bcel.generic.GETFIELD; -import org.apache.bcel.generic.GETSTATIC; import org.apache.bcel.generic.IADD; import org.apache.bcel.generic.INVOKEDYNAMIC; import org.apache.bcel.generic.INVOKEINTERFACE; @@ -120,18 +116,12 @@ import org.apache.bcel.generic.InstructionList; // import org.apache.bcel.generic.InvokeInstruction; import org.apache.bcel.generic.LDC; -import org.apache.bcel.generic.LDC2_W; // import org.apache.bcel.generic.LoadInstruction; import org.apache.bcel.generic.LocalVariableGen; -import org.apache.bcel.generic.LocalVariableInstruction; -import org.apache.bcel.generic.MULTIANEWARRAY; import org.apache.bcel.generic.MethodGen; import org.apache.bcel.generic.ObjectType; -import org.apache.bcel.generic.PUTFIELD; -import org.apache.bcel.generic.PUTSTATIC; import org.apache.bcel.generic.ReferenceType; // import org.apache.bcel.generic.ReturnInstruction; -import org.apache.bcel.generic.SWAP; // import org.apache.bcel.generic.StoreInstruction; import org.apache.bcel.generic.Type; import org.apache.bcel.verifier.structurals.OperandStack; @@ -197,15 +187,15 @@ public class DCInstrument24 { /** ConstantPool builder for current class. */ private ConstantPoolBuilder poolBuilder; - // /** Stores useful information about a class. */ - // private ClassInfo classInfo; - /** True if we tracking any methods in the current class. */ private boolean trackClass = false; /** ClassGen for the current class. */ protected ClassGen gen; + /** ClassGen for the current class. */ + protected ClassGen24 classGen; + /** MethodGen for the current method. */ protected MethodGen mgen; @@ -226,28 +216,18 @@ public class DCInstrument24 { // Argument descriptors /** Type array with two objects. */ - protected static Type[] two_objects = new Type[] {Type.OBJECT, Type.OBJECT}; - - /** Type array with an object and an int. */ - protected static Type[] object_int = new Type[] {Type.OBJECT, Type.INT}; - - /** Type array with a string. */ - protected static Type[] string_arg = new Type[] {Type.STRING}; + protected static ClassDesc[] two_objects_arg = new ClassDesc[] {CD_Object, CD_Object}; /** Type array with an int. */ protected static ClassDesc[] integer_arg = new ClassDesc[] {CD_int}; /** Type array with an object. */ - protected static Type[] object_arg = new Type[] {Type.OBJECT}; - - /** ObjectType for "java.lang.Class". */ - protected static Type javalangClass = new ObjectType("java.lang.Class"); + protected static ClassDesc[] object_arg = new ClassDesc[] {CD_Object}; // Type descriptors - protected static final ClassDesc throwableCD = ClassDesc.of("java.lang.Throwable"); protected final ClassDesc dcomp_marker; - protected static final ClassDesc javalangObjectCD = ClassDesc.of("java.lang.Object"); - protected static final ClassDesc objectArrayCD = javalangObjectCD.arrayType(1); + protected static final ClassDesc objectArrayCD = CD_Object.arrayType(1); + protected static final ClassDesc[] noArgsCD = new ClassDesc[0]; // Debug loggers /** Log file if debug_native is enabled. */ @@ -490,7 +470,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk private void instrumentClass( ClassBuilder classBuilder, ClassModel classModel, ClassInfo classInfo) { - ClassGen24 classGen = new ClassGen24(classModel, classInfo.class_name, classBuilder); + classGen = new ClassGen24(classModel, classInfo.class_name, classBuilder); runtimeCD = ClassDesc.of(dcompRuntimeClassname); poolBuilder = classBuilder.constantPool(); @@ -1053,7 +1033,7 @@ private void instrumentCode( } // Using handlerLabel for the end of the try region is technically one instruction // too many, but it shouldn't matter and is easily available. - codeBuilder.exceptionCatch(minfo.entryLabel, handlerLabel, handlerLabel, throwableCD); + codeBuilder.exceptionCatch(minfo.entryLabel, handlerLabel, handlerLabel, CD_Throwable); } } @@ -1296,7 +1276,6 @@ public JavaClass old_instrument() { // Process each method for (Method m : gen.getMethods()) { - // tag_frame_local = null; try { // Note whether we want to track the daikon variables in this method boolean track = should_track(classname, m.getName(), methodEntryName(classname, m)); @@ -1955,7 +1934,7 @@ private List createTagFrame(MethodGen24 mgen) { MethodRefEntry mre = poolBuilder.methodRefEntry( - runtimeCD, "create_atg_frame", MethodTypeDesc.of(objectArrayCD, CD_String)); + runtimeCD, "create_tag_frame", MethodTypeDesc.of(objectArrayCD, CD_String)); instructions.add(buildLDCInstruction(poolBuilder.stringEntry(params))); instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); instructions.add(StoreInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); @@ -2041,7 +2020,6 @@ private List callEnterOrExit( instructions.add(loadIntegerConstant(line)); } - ClassDesc objectArrayCD = CD_Object.arrayType(1); MethodTypeDesc methodArgs; // Call the specified method. if (methodToCall.equals("exit")) { @@ -2069,50 +2047,316 @@ private List callEnterOrExit( */ @Nullable List instrumentInstruction( MethodGen24 mgen, MethodGen24.MInfo24 minfo, CodeElement ce) { - if (ce instanceof Instruction inst) { - switch (inst.opcode()) { - - // These instructions compare the integer on the top of the stack - // to zero. Nothing is made comparable by this, so we need only - // discard the tag on the top of the stack. - case Opcode.IFEQ: - case Opcode.IFNE: - case Opcode.IFLT: - case Opcode.IFGE: - case Opcode.IFGT: - case Opcode.IFLE: - { + switch (ce) { + case Instruction inst -> { + switch (inst.opcode()) { + + // Replace the object comparison instructions with a call to + // DCRuntime.object_eq or DCRuntime.object_ne. Those methods + // return a boolean which is used in a ifeq/ifne instruction + case Opcode.IF_ACMPEQ: + return object_comparison((BranchInstruction) inst, "object_eq", Opcode.IFNE); + case Opcode.IF_ACMPNE: + return object_comparison((BranchInstruction) inst, "object_ne", Opcode.IFNE); + + // These instructions compare the integer on the top of the stack + // to zero. Nothing is made comparable by this, so we need only + // discard the tag on the top of the stack. + case Opcode.IFEQ: + case Opcode.IFNE: + case Opcode.IFLT: + case Opcode.IFGE: + case Opcode.IFGT: + case Opcode.IFLE: + { + return discard_tag_code(inst, 1); + } + + // Instanceof pushes either 0 or 1 on the stack depending on whether + // the object on top of stack is of the specified type. We push a + // tag for a constant, since nothing is made comparable by this. + case Opcode.INSTANCEOF: + return build_il(dcr_call("push_const", CD_void, noArgsCD), inst); + + // all the DUP opcodes go here + + case Opcode.IF_ICMPEQ: + case Opcode.IF_ICMPGE: + case Opcode.IF_ICMPGT: + case Opcode.IF_ICMPLE: + case Opcode.IF_ICMPLT: + case Opcode.IF_ICMPNE: + { + return build_il(dcr_call("cmp_op", CD_void, noArgsCD), inst); + } + + case Opcode.GETFIELD: + case Opcode.PUTFIELD: + case Opcode.GETSTATIC: + case Opcode.PUTSTATIC: + { + return load_store_field(mgen, ((FieldInstruction) inst)); + } + + case Opcode.DLOAD: + case Opcode.DLOAD_0: + case Opcode.DLOAD_1: + case Opcode.DLOAD_2: + case Opcode.DLOAD_3: + case Opcode.FLOAD: + case Opcode.FLOAD_0: + case Opcode.FLOAD_1: + case Opcode.FLOAD_2: + case Opcode.FLOAD_3: + case Opcode.ILOAD: + case Opcode.ILOAD_0: + case Opcode.ILOAD_1: + case Opcode.ILOAD_2: + case Opcode.ILOAD_3: + case Opcode.LLOAD: + case Opcode.LLOAD_0: + case Opcode.LLOAD_1: + case Opcode.LLOAD_2: + case Opcode.LLOAD_3: + { + return load_local((LoadInstruction) inst, tagFrameLocal, "push_local_tag"); + } + + case Opcode.DSTORE: + case Opcode.DSTORE_0: + case Opcode.DSTORE_1: + case Opcode.DSTORE_2: + case Opcode.DSTORE_3: + case Opcode.FSTORE: + case Opcode.FSTORE_0: + case Opcode.FSTORE_1: + case Opcode.FSTORE_2: + case Opcode.FSTORE_3: + case Opcode.ISTORE: + case Opcode.ISTORE_0: + case Opcode.ISTORE_1: + case Opcode.ISTORE_2: + case Opcode.ISTORE_3: + case Opcode.LSTORE: + case Opcode.LSTORE_0: + case Opcode.LSTORE_1: + case Opcode.LSTORE_2: + case Opcode.LSTORE_3: + { + return store_local((StoreInstruction) inst, tagFrameLocal, "pop_local_tag"); + } + + // Adjusts the tag stack for load constant opcodes. If the constant is a primitive, pushes + // its tag + // on the tag stack. If the constant is a reference (string, class), does nothing. + case Opcode.LDC: + case Opcode.LDC_W: + case Opcode.LDC2_W: + { + if (((ConstantInstruction) inst).typeKind().equals(TypeKind.REFERENCE)) { + return null; + } + return build_il(dcr_call("push_const", CD_void, noArgsCD), inst); + } + + // Push the tag for the array onto the tag stack. This causes + // anything comparable to the length to be comparable to the array + // as an index. + case Opcode.ARRAYLENGTH: + { + return array_length(inst); + } + + case Opcode.BIPUSH: + case Opcode.SIPUSH: + case Opcode.DCONST_0: + case Opcode.DCONST_1: + case Opcode.FCONST_0: + case Opcode.FCONST_1: + case Opcode.FCONST_2: + case Opcode.ICONST_0: + case Opcode.ICONST_1: + case Opcode.ICONST_2: + case Opcode.ICONST_3: + case Opcode.ICONST_4: + case Opcode.ICONST_5: + case Opcode.ICONST_M1: + case Opcode.LCONST_0: + case Opcode.LCONST_1: + { + return build_il(dcr_call("push_const", CD_void, noArgsCD), inst); + } + + // Primitive Binary operators. Each is augmented with a call to + // DCRuntime.binary_tag_op that merges the tags and updates the tag + // Stack. + case Opcode.DADD: + case Opcode.DCMPG: + case Opcode.DCMPL: + case Opcode.DDIV: + case Opcode.DMUL: + case Opcode.DREM: + case Opcode.DSUB: + case Opcode.FADD: + case Opcode.FCMPG: + case Opcode.FCMPL: + case Opcode.FDIV: + case Opcode.FMUL: + case Opcode.FREM: + case Opcode.FSUB: + case Opcode.IADD: + case Opcode.IAND: + case Opcode.IDIV: + case Opcode.IMUL: + case Opcode.IOR: + case Opcode.IREM: + case Opcode.ISHL: + case Opcode.ISHR: + case Opcode.ISUB: + case Opcode.IUSHR: + case Opcode.IXOR: + case Opcode.LADD: + case Opcode.LAND: + case Opcode.LCMP: + case Opcode.LDIV: + case Opcode.LMUL: + case Opcode.LOR: + case Opcode.LREM: + case Opcode.LSHL: + case Opcode.LSHR: + case Opcode.LSUB: + case Opcode.LUSHR: + case Opcode.LXOR: + return build_il(dcr_call("binary_tag_op", CD_void, noArgsCD), inst); + + // Computed jump based on the int on the top of stack. Since that int + // is not made comparable to anything, we just discard its tag. One + // might argue that the key should be made comparable to each value in + // the jump table. But the tags for those values are not available. + // And since they are all constants, its not clear how interesting it + // would be anyway. + case Opcode.LOOKUPSWITCH: + case Opcode.TABLESWITCH: return discard_tag_code(inst, 1); - } - // Computed jump based on the int on the top of stack. Since that int - // is not made comparable to anything, we just discard its tag. One - // might argue that the key should be made comparable to each value in - // the jump table. But the tags for those values are not available. - // And since they are all constants, its not clear how interesting it - // would be anyway. - case Opcode.LOOKUPSWITCH: - case Opcode.TABLESWITCH: - return discard_tag_code(inst, 1); - - // case LocalVariable lv -> {} // we have alreay processed these - // debugging code - // case LocalVariable lv -> { - // System.out.printf("Local start: %s end: %s%n", lv.startScope(), lv.endScope()); } - // case LocalVariableType lvt -> {} // we can discard local variable types - // debuging code - // case LocalVariableType lvt -> { - // @FieldDescriptor String lvFD = lvt.signatureSymbol().signatureString(); - // System.out.printf(" %s : %s%n", lvt, convertDescriptorToFqBinaryName(lvFD)); } - // case LabelTarget l -> { - // } - // default -> throw exception when done? - default: + // Make the integer argument to ANEWARRAY comparable to the new + // array's index. + case Opcode.ANEWARRAY: + case Opcode.NEWARRAY: + { + return new_array(inst); + } + + // If the new array has 2 dimensions, make the integer arguments + // comparable to the corresponding indices of the new array. + // For any other number of dimensions, discard the tags for the + // arguments. + case Opcode.MULTIANEWARRAY: + { + return multi_newarray_dc((NewMultiArrayInstruction) inst); + } + + // Mark the array and its index as comparable. Also for primitives, + // push the tag of the array element on the tag stack + case Opcode.AALOAD: + case Opcode.BALOAD: + case Opcode.CALOAD: + case Opcode.DALOAD: + case Opcode.FALOAD: + case Opcode.IALOAD: + case Opcode.LALOAD: + case Opcode.SALOAD: + { + return array_load(mgen, (ArrayLoadInstruction) inst); + } + + // Prefix the return with a call to the correct normal_exit method + // to handle the tag stack + case Opcode.ARETURN: + case Opcode.DRETURN: + case Opcode.FRETURN: + case Opcode.IRETURN: + case Opcode.LRETURN: + case Opcode.RETURN: + { + return return_tag(mgen, inst); + } + + // Throws an exception. This clears the operand stack of the current + // frame. We need to clear the tag stack as well. + case Opcode.ATHROW: + return build_il(dcr_call("throw_op", CD_void, noArgsCD), inst); + + // Opcodes that don't need any modifications. Here for reference + case Opcode.ACONST_NULL: + case Opcode.ALOAD: + case Opcode.ALOAD_0: + case Opcode.ALOAD_1: + case Opcode.ALOAD_2: + case Opcode.ALOAD_3: + case Opcode.ASTORE: + case Opcode.ASTORE_0: + case Opcode.ASTORE_1: + case Opcode.ASTORE_2: + case Opcode.ASTORE_3: + case Opcode.CHECKCAST: + case Opcode.D2F: // double to float + case Opcode.D2I: // double to integer + case Opcode.D2L: // double to long + case Opcode.DNEG: // Negate double on top of stack + case Opcode.F2D: // float to double + case Opcode.F2I: // float to integer + case Opcode.F2L: // float to long + case Opcode.FNEG: // Negate float on top of stack + case Opcode.GOTO: + case Opcode.GOTO_W: + case Opcode.I2B: // integer to byte + case Opcode.I2C: // integer to char + case Opcode.I2D: // integer to double + case Opcode.I2F: // integer to float + case Opcode.I2L: // integer to long + case Opcode.I2S: // integer to short + case Opcode.IFNONNULL: + case Opcode.IFNULL: + case Opcode.IINC: // increment local variable by a constant + case Opcode.INEG: // negate integer on top of stack + case Opcode.JSR: // pushes return address on the stack, but that + // is thought of as an object, so we don't need a tag for it. + case Opcode.JSR_W: + case Opcode.L2D: // long to double + case Opcode.L2F: // long to float + case Opcode.L2I: // long to int + case Opcode.LNEG: // negate long on top of stack + case Opcode.MONITORENTER: + case Opcode.MONITOREXIT: + case Opcode.NEW: + case Opcode.NOP: + case Opcode.RET: // this is the internal JSR return + return null; + + // UNDONE default -> throw exception when done? + default: + // System.out.println("Unexpected instruction opcode: " + ce); + return null; + } + } + + case Label l -> { + // UNDONE do anything? + return null; + } + + case LineNumber ln -> { + // UNDONE do anything? + return null; + } + + // UNDONE default -> throw exception when done? + default -> { + System.out.println("Unexpected CodeElement: " + ce); + return null; } } - // CodeElement is not an Instruction so just ignore it - // UNDONE: what about labels? - return null; } /** @@ -2129,36 +2373,6 @@ private List callEnterOrExit( switch (inst.getOpcode()) { - // Replace the object comparison instructions with a call to - // DCRuntime.object_eq or DCRuntime.object_ne. Those methods - // return a boolean which is used in a ifeq/ifne instruction - case Const.IF_ACMPEQ: - // return object_comparison((BranchInstruction) inst, "object_eq", Const.IFNE); - return null; - case Const.IF_ACMPNE: - // return object_comparison((BranchInstruction) inst, "object_ne", Const.IFNE); - return null; - - // These instructions compare the integer on the top of the stack - // to zero. Nothing is made comparable by this, so we need only - // discard the tag on the top of the stack. - case Const.IFEQ: - case Const.IFNE: - case Const.IFLT: - case Const.IFGE: - case Const.IFGT: - case Const.IFLE: - { - // return discard_tag_code(inst, 1); - return null; - } - - // Instanceof pushes either 0 or 1 on the stack depending on whether - // the object on top of stack is of the specified type. We push a - // tag for a constant, since nothing is made comparable by this. - case Const.INSTANCEOF: - // return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); - // Duplicates the item on the top of stack. If the value on the // top of the stack is a primitive, we need to do the same on the // tag stack. Otherwise, we need do nothing. @@ -2227,209 +2441,7 @@ private List callEnterOrExit( return swap_tag(inst, stack); } - case Const.IF_ICMPEQ: - case Const.IF_ICMPGE: - case Const.IF_ICMPGT: - case Const.IF_ICMPLE: - case Const.IF_ICMPLT: - case Const.IF_ICMPNE: - { - // return build_il(dcr_call("cmp_op", Type.VOID, Type.NO_ARGS), inst); - return null; - } - - case Const.GETFIELD: - { - return load_store_field(mg, (GETFIELD) inst); - } - - case Const.PUTFIELD: - { - return load_store_field(mg, (PUTFIELD) inst); - } - - case Const.GETSTATIC: - { - return load_store_field(mg, ((GETSTATIC) inst)); - } - - case Const.PUTSTATIC: - { - return load_store_field(mg, ((PUTSTATIC) inst)); - } - - case Const.DLOAD: - case Const.DLOAD_0: - case Const.DLOAD_1: - case Const.DLOAD_2: - case Const.DLOAD_3: - case Const.FLOAD: - case Const.FLOAD_0: - case Const.FLOAD_1: - case Const.FLOAD_2: - case Const.FLOAD_3: - case Const.ILOAD: - case Const.ILOAD_0: - case Const.ILOAD_1: - case Const.ILOAD_2: - case Const.ILOAD_3: - case Const.LLOAD: - case Const.LLOAD_0: - case Const.LLOAD_1: - case Const.LLOAD_2: - case Const.LLOAD_3: - { - // return load_store_local( - // (org.apache.bcel.generic.LoadInstruction) inst, tag_frame_local, "push_local_tag"); - return null; - } - - case Const.DSTORE: - case Const.DSTORE_0: - case Const.DSTORE_1: - case Const.DSTORE_2: - case Const.DSTORE_3: - case Const.FSTORE: - case Const.FSTORE_0: - case Const.FSTORE_1: - case Const.FSTORE_2: - case Const.FSTORE_3: - case Const.ISTORE: - case Const.ISTORE_0: - case Const.ISTORE_1: - case Const.ISTORE_2: - case Const.ISTORE_3: - case Const.LSTORE: - case Const.LSTORE_0: - case Const.LSTORE_1: - case Const.LSTORE_2: - case Const.LSTORE_3: - { - // return load_store_local( - // (org.apache.bcel.generic.StoreInstruction) inst, tag_frame_local, "pop_local_tag"); - return null; - } - - case Const.LDC: - case Const.LDC_W: - case Const.LDC2_W: - { - return ldc_tag(inst, stack); - } - - // Push the tag for the array onto the tag stack. This causes - // anything comparable to the length to be comparable to the array - // as an index. - case Const.ARRAYLENGTH: - { - return array_length(inst); - } - - case Const.BIPUSH: - case Const.SIPUSH: - case Const.DCONST_0: - case Const.DCONST_1: - case Const.FCONST_0: - case Const.FCONST_1: - case Const.FCONST_2: - case Const.ICONST_0: - case Const.ICONST_1: - case Const.ICONST_2: - case Const.ICONST_3: - case Const.ICONST_4: - case Const.ICONST_5: - case Const.ICONST_M1: - case Const.LCONST_0: - case Const.LCONST_1: - { - // return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); - return null; - } - - // Primitive Binary operators. Each is augmented with a call to - // DCRuntime.binary_tag_op that merges the tags and updates the tag - // Stack. - case Const.DADD: - case Const.DCMPG: - case Const.DCMPL: - case Const.DDIV: - case Const.DMUL: - case Const.DREM: - case Const.DSUB: - case Const.FADD: - case Const.FCMPG: - case Const.FCMPL: - case Const.FDIV: - case Const.FMUL: - case Const.FREM: - case Const.FSUB: - case Const.IADD: - case Const.IAND: - case Const.IDIV: - case Const.IMUL: - case Const.IOR: - case Const.IREM: - case Const.ISHL: - case Const.ISHR: - case Const.ISUB: - case Const.IUSHR: - case Const.IXOR: - case Const.LADD: - case Const.LAND: - case Const.LCMP: - case Const.LDIV: - case Const.LMUL: - case Const.LOR: - case Const.LREM: - case Const.LSHL: - case Const.LSHR: - case Const.LSUB: - case Const.LUSHR: - case Const.LXOR: - // return build_il(dcr_call("binary_tag_op", Type.VOID, Type.NO_ARGS), inst); - return null; - - // Computed jump based on the int on the top of stack. Since that int - // is not made comparable to anything, we just discard its tag. One - // might argue that the key should be made comparable to each value in - // the jump table. But the tags for those values are not available. - // And since they are all constants, its not clear how interesting it - // would be anyway. - case Const.LOOKUPSWITCH: - case Const.TABLESWITCH: - // return discard_tag_code(inst, 1); - return null; - - // Make the integer argument to ANEWARRAY comparable to the new - // array's index. - case Const.ANEWARRAY: - case Const.NEWARRAY: - { - return new_array(inst); - } - - // If the new array has 2 dimensions, make the integer arguments - // comparable to the corresponding indices of the new array. - // For any other number of dimensions, discard the tags for the - // arguments. - case Const.MULTIANEWARRAY: - { - return multi_newarray_dc(inst); - } - - // Mark the array and its index as comparable. Also for primitives, - // push the tag of the array element on the tag stack - case Const.AALOAD: - case Const.BALOAD: - case Const.CALOAD: - case Const.DALOAD: - case Const.FALOAD: - case Const.IALOAD: - case Const.LALOAD: - case Const.SALOAD: - { - return array_load(inst); - } + // end of dup opcodes // Mark the array and its index as comparable. For primitives, store // the tag for the value on the top of the stack in the tag storage @@ -2458,18 +2470,6 @@ private List callEnterOrExit( case Const.SASTORE: return array_store(inst, "sastore", Type.SHORT); - // Prefix the return with a call to the correct normal_exit method - // to handle the tag stack - case Const.ARETURN: - case Const.DRETURN: - case Const.FRETURN: - case Const.IRETURN: - case Const.LRETURN: - case Const.RETURN: - { - return return_tag(mg, inst); - } - // Handle subroutine calls. Calls to instrumented code are modified // to call the instrumented version (with the DCompMarker argument). // Calls to uninstrumented code (rare) discard primitive arguments @@ -2481,60 +2481,6 @@ private List callEnterOrExit( case Const.INVOKEDYNAMIC: return handleInvoke((org.apache.bcel.generic.InvokeInstruction) inst); - // Throws an exception. This clears the operand stack of the current - // frame. We need to clear the tag stack as well. - case Const.ATHROW: - // return build_il(dcr_call("throw_op", Type.VOID, Type.NO_ARGS), inst); - return null; - - // Opcodes that don't need any modifications. Here for reference - case Const.ACONST_NULL: - case Const.ALOAD: - case Const.ALOAD_0: - case Const.ALOAD_1: - case Const.ALOAD_2: - case Const.ALOAD_3: - case Const.ASTORE: - case Const.ASTORE_0: - case Const.ASTORE_1: - case Const.ASTORE_2: - case Const.ASTORE_3: - case Const.CHECKCAST: - case Const.D2F: // double to float - case Const.D2I: // double to integer - case Const.D2L: // double to long - case Const.DNEG: // Negate double on top of stack - case Const.F2D: // float to double - case Const.F2I: // float to integer - case Const.F2L: // float to long - case Const.FNEG: // Negate float on top of stack - case Const.GOTO: - case Const.GOTO_W: - case Const.I2B: // integer to byte - case Const.I2C: // integer to char - case Const.I2D: // integer to double - case Const.I2F: // integer to float - case Const.I2L: // integer to long - case Const.I2S: // integer to short - case Const.IFNONNULL: - case Const.IFNULL: - case Const.IINC: // increment local variable by a constant - case Const.INEG: // negate integer on top of stack - case Const.JSR: // pushes return address on the stack, but that - // is thought of as an object, so we don't need - // a tag for it. - case Const.JSR_W: - case Const.L2D: // long to double - case Const.L2F: // long to float - case Const.L2I: // long to int - case Const.LNEG: // negate long on top of stack - case Const.MONITORENTER: - case Const.MONITOREXIT: - case Const.NEW: - case Const.NOP: - case Const.RET: // this is the internal JSR return - return null; - // Make sure we didn't miss anything default: throw new Error("instruction " + inst + " unsupported"); @@ -3211,149 +3157,201 @@ InstructionList instrument_clone_call(org.apache.bcel.generic.InvokeInstruction // Runtime will discover if the object's superclass has an instrumented clone method. // If so, call it; otherwise call the uninstrumented version. - il.append(dcr_call("dcomp_super_clone", returnType, new Type[] {Type.OBJECT, javalangClass})); + // use CD_Class + // il.append(dcr_call("dcomp_super_clone", returnType, new Type[] {Type.OBJECT, + // javalangClass})); } else { // a regular (non-super) clone() call // Runtime will discover if the object has an instrumented clone method. // If so, call it; otherwise call the uninstrumented version. - il.append(dcr_call("dcomp_clone", returnType, new Type[] {Type.OBJECT, javalangClass})); + // il.append(dcr_call("dcomp_clone", returnType, new Type[] {Type.OBJECT, javalangClass})); } return il; } - // * Create the instructions that replace the object eq or ne branch instruction. They are - // * replaced - // * by a call to the specified compare_method (which returns a boolean) followed by the specified - // * boolean ifeq or ifne instruction. - // InstructionList object_comparison( - // BranchInstruction branch, String compare_method, short boolean_if) { - // - // InstructionList il = new InstructionList(); - // il.append( - // ifact.createInvoke( - // dcompRuntimeClassname, compare_method, Type.BOOLEAN, two_objects, Const.INVOKESTATIC)); - // assert branch.getTarget() != null; - // il.append(InstructionFactory.createBranchInstruction(boolean_if, branch.getTarget())); - // return il; - // } + /** + * Create the instructions that replace the object eq or ne branch instruction. They are replaced + * by a call to the specified compare_method (which returns a boolean) followed by the specified + * boolean ifeq or ifne instruction. + * + * @param branch a branch instruction + * @param compare_method name of DCRuntime routine to call + * @param boolean_if branch instruction to gerate of the runtime call + * @return instruction list to do object comparison + */ + private List object_comparison( + BranchInstruction branch, String compare_method, Opcode boolean_if) { + List il = new ArrayList<>(); + + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, compare_method, MethodTypeDesc.of(CD_boolean, two_objects_arg)); + il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + il.add(BranchInstruction.of(boolean_if, branch.target())); + return il; + } /** * Handles load and store field instructions. The instructions must be augmented to either push * (load) or pop (store) the tag on the tag stack. This is accomplished by calling the tag get/set * method for this field. */ - InstructionList load_store_field(MethodGen mg, org.apache.bcel.generic.FieldInstruction f) { - - Type field_type = f.getFieldType(pool); - if (field_type instanceof ReferenceType) { + private List load_store_field(MethodGen24 mgen, FieldInstruction f) { + + System.out.println(); + System.out.println("mgen: " + mgen); + System.out.println("FieldInst: " + f); + System.out.println("field_name: " + f.name().stringValue()); + System.out.println("owner: " + f.owner()); + System.out.println("owner: " + f.owner().asInternalName().replace('/', '.')); + ClassDesc field_type = f.typeSymbol(); + System.out.println("field_type: " + field_type); + int field_size = TypeKind.from(field_type).slotSize(); + if (!field_type.isPrimitive()) { return null; } - ObjectType obj_type = (ObjectType) f.getReferenceType(pool); - InstructionList il = new InstructionList(); - String classname = obj_type.getClassName(); + + List il = new ArrayList<>(); + Opcode op = f.opcode(); + // ObjectType obj_type = (ObjectType) f.getReferenceType(pool); + @BinaryName String classname = classGen.getClassName(); + String fieldName = f.name().stringValue(); + String owner = f.owner().asInternalName().replace('/', '.'); + ClassDesc ownerCD = f.owner().asSymbol(); // If this class doesn't support tag fields, don't load/store them - // if (!tag_fields_ok(mg, classname)) { - { - if ((f instanceof GETFIELD) || (f instanceof GETSTATIC)) { - il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); + if (!tag_fields_ok(mgen, classname)) { + if (op.equals(Opcode.GETFIELD) || op.equals(Opcode.GETSTATIC)) { + il.add(dcr_call("push_const", CD_void, noArgsCD)); } else { - il.append(ifact.createConstant(1)); - // il.append(dcr_call("discard_tag", Type.VOID, integer_arg)); + il.add(loadIntegerConstant(1)); + il.add(dcr_call("discard_tag", CD_void, integer_arg)); } // Perform the normal field command - il.append(f); - // return il; + il.add(f); + return il; } - if (f instanceof GETSTATIC) { - il.append( - ifact.createInvoke( - classname, - Premain.tag_method_name(Premain.GET_TAG, classname, f.getFieldName(pool)), - Type.VOID, - Type.NO_ARGS, - Const.INVOKESTATIC)); - } else if (f instanceof PUTSTATIC) { - il.append( - ifact.createInvoke( - classname, - Premain.tag_method_name(Premain.SET_TAG, classname, f.getFieldName(pool)), - Type.VOID, - Type.NO_ARGS, - Const.INVOKESTATIC)); - } else if (f instanceof GETFIELD) { - il.append(InstructionFactory.createDup(obj_type.getSize())); - il.append( - ifact.createInvoke( - classname, - Premain.tag_method_name(Premain.GET_TAG, classname, f.getFieldName(pool)), - Type.VOID, - Type.NO_ARGS, - Const.INVOKEVIRTUAL)); - } else { // must be put field - if (field_type.getSize() == 2) { - LocalVariableGen lv = get_tmp2_local(mg, field_type); - il.append(InstructionFactory.createStore(field_type, lv.getIndex())); - il.append(InstructionFactory.createDup(obj_type.getSize())); - il.append( - ifact.createInvoke( - classname, - Premain.tag_method_name(Premain.SET_TAG, classname, f.getFieldName(pool)), - Type.VOID, - Type.NO_ARGS, - Const.INVOKEVIRTUAL)); - il.append(InstructionFactory.createLoad(field_type, lv.getIndex())); + if (op.equals(Opcode.GETSTATIC)) { + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ownerCD, + Premain.tag_method_name(Premain.GET_TAG, owner, fieldName), + MethodTypeDesc.of(CD_void, noArgsCD)); + il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + } else if (op.equals(Opcode.PUTSTATIC)) { + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ownerCD, + Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), + MethodTypeDesc.of(CD_void, noArgsCD)); + il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + } else if (op.equals(Opcode.GETFIELD)) { + // il.add(InstructionFactory.createDup(obj_type.getSize())); + il.add(StackInstruction.of(Opcode.DUP)); + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ownerCD, + Premain.tag_method_name(Premain.GET_TAG, owner, fieldName), + MethodTypeDesc.of(CD_void, noArgsCD)); + il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + } else { // must be Opcode.PUTFIELD + if (field_size == 2) { + // LocalVariableGen lv = get_tmp2_local(mg, field_type); + // il.add(InstructionFactory.createStore(field_type, lv.getIndex())); + // il.add(InstructionFactory.createDup(obj_type.getSize())); + // MethodRefEntry mre = + // poolBuilder.methodRefEntry( + // ownerCD, Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), + // MethodTypeDesc.of(CD_void, noArgsCD)); + // il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + // il.add(InstructionFactory.createLoad(field_type, lv.getIndex())); } else { - il.append(new SWAP()); - il.append(InstructionFactory.createDup(obj_type.getSize())); - il.append( - ifact.createInvoke( - classname, - Premain.tag_method_name(Premain.SET_TAG, classname, f.getFieldName(pool)), - Type.VOID, - Type.NO_ARGS, - Const.INVOKEVIRTUAL)); - il.append(new SWAP()); + il.add(StackInstruction.of(Opcode.SWAP)); + // il.add(StackInstruction.of(obj_type.getSize())); + il.add(StackInstruction.of(Opcode.DUP)); + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ownerCD, + Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), + MethodTypeDesc.of(CD_void, noArgsCD)); + il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + il.add(StackInstruction.of(Opcode.SWAP)); } } // Perform the normal field command - il.append(f); + il.add(f); return il; } /** - * Handles load and store local instructions. The instructions must be augmented to either push - * (load) or pop (store) the tag on the tag stack. This is accomplished by calling the specified - * method in DCRuntime and passing that method the tag frame and the offset of local/parameter. + * Handles load local instructions. The instructions must be augmented to push the tag on the tag + * stack. This is accomplished by calling the specified method in DCRuntime and passing that + * method the tag_frame frame and the offset of local/parameter. + * + * @param load a load instruction + * @param tagFrameLocal local variable for the tag_frame + * @param method name of DCRuntime routine to call + * @return instruction list to do object comparison */ - InstructionList load_store_local( - LocalVariableInstruction lvi, LocalVariableGen tag_frame_local, String method) { + private List load_local( + LoadInstruction load, LocalVariable tagFrameLocal, String method) { + List il = new ArrayList<>(); - // Don't need tags for objects - assert !(lvi instanceof ALOAD) && !(lvi instanceof ASTORE) : "lvi " + lvi; + debugInstrument.log("CreateLoad %s %d%n", load.opcode(), tagFrameLocal.slot()); - InstructionList il = new InstructionList(); + // Push the tag_frame frame + il.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); + + // push index of local + il.add(loadIntegerConstant(load.slot())); - // Push the tag frame and the index of this local - // il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); - // debugInstrument.log("CreateLoad %s %d%n", object_arr, tag_frame_local.getIndex()); - // il.append(ifact.createConstant(lvi.getIndex())); - - // Call the runtime method to handle loading/storing the local/parameter - // il.append( - // ifact.createInvoke( - // dcompRuntimeClassname, - // method, - // Type.VOID, - // new Type[] {object_arr, Type.INT}, - // Const.INVOKESTATIC)); - il.append(lvi); + // Call the runtime method to handle loading the local/parameter + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, method, MethodTypeDesc.of(CD_void, objectArrayCD, CD_int)); + il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + + // the original load instruction + il.add(load); + return il; + } + + /** + * Handles store local instructions. The instructions must be augmented to pop the tag off the tag + * stack. This is accomplished by calling the specified method in DCRuntime and passing that + * method the tag_frame frame and the offset of local/parameter. + * + * @param store a store instruction + * @param tagFrameLocal local variable for the tag_frame + * @param method name of DCRuntime routine to call + * @return instruction list to do object comparison + */ + private List store_local( + StoreInstruction store, LocalVariable tagFrameLocal, String method) { + List il = new ArrayList<>(); + + debugInstrument.log("CreateStore %s %d%n", store.opcode(), tagFrameLocal.slot()); + + // Push the tag_frame frame + il.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); + + // push index of local + il.add(loadIntegerConstant(store.slot())); + + // Call the runtime method to handle storeing the local/parameter + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, method, MethodTypeDesc.of(CD_void, objectArrayCD, CD_int)); + il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + + // the original store instruction + il.add(store); return il; } @@ -3553,29 +3551,29 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { * appropriate array load method is called to mark them as comparable and update the tag stack. * Finally the original load instruction is performed. * + * @param mgen method to check * @param inst an array load instruction * @return instruction list that calls the runtime to handle the array load instruction */ - InstructionList array_load(org.apache.bcel.generic.Instruction inst) { - - InstructionList il = new InstructionList(); + private List array_load(MethodGen24 mgen, ArrayLoadInstruction inst) { + List il = new ArrayList<>(); // Duplicate the array ref and index and pass them to DCRuntime // which will make the index comparable with the array. In the case // of primtives it will also get the tag for the primitive and push // it on the tag stack. - il.append(new DUP2()); + il.add(StackInstruction.of(Opcode.DUP2)); String method = "primitive_array_load"; - if (inst instanceof AALOAD) { + if (inst.typeKind().equals(TypeKind.REFERENCE)) { method = "ref_array_load"; - } else if (is_uninit_class(gen.getClassName())) { + } else if (is_uninit_class(mgen.getClassName())) { method = "primitive_array_load_null_ok"; } - il.append(dcr_call(method, Type.VOID, new Type[] {Type.OBJECT, Type.INT})); + il.add(dcr_call(method, CD_void, new ClassDesc[] {CD_Object, CD_int})); // Perform the original instruction - il.append(inst); + il.add(inst); return il; } @@ -3609,17 +3607,16 @@ InstructionList array_store( * @param inst an arraylength instruction * @return instruction list that calls the runtime to handle the arraylength instruction */ - InstructionList array_length(org.apache.bcel.generic.Instruction inst) { - - InstructionList il = new InstructionList(); + private List array_length(Instruction inst) { + List il = new ArrayList<>(); // Duplicate the array ref and pass it to DCRuntime which will push // it onto the tag stack. - il.append(new DUP()); - il.append(dcr_call("push_array_tag", Type.VOID, new Type[] {Type.OBJECT})); + il.add(StackInstruction.of(Opcode.DUP)); + il.add(dcr_call("push_array_tag", CD_void, object_arg)); // Perform the original instruction - il.append(inst); + il.add(inst); return il; } @@ -3630,20 +3627,20 @@ InstructionList array_length(org.apache.bcel.generic.Instruction inst) { * @param inst a anewarray or newarray instruction * @return instruction list that calls the runtime to handle the newarray instruction */ - InstructionList new_array(org.apache.bcel.generic.Instruction inst) { - InstructionList il = new InstructionList(); + private List new_array(Instruction inst) { + List il = new ArrayList<>(); // Perform the original instruction - il.append(inst); + il.add(inst); // Duplicate the array ref from the top of the stack and pass it // to DCRuntime which will push it onto the tag stack. - il.append(new DUP()); - il.append(dcr_call("push_array_tag", Type.VOID, new Type[] {Type.OBJECT})); + il.add(StackInstruction.of(Opcode.DUP)); + il.add(dcr_call("push_array_tag", CD_void, object_arg)); // Make the array and the count comparable. Also, pop the tags for // the array and the count off the tag stack. - il.append(dcr_call("cmp_op", Type.VOID, Type.NO_ARGS)); + il.add(dcr_call("cmp_op", CD_void, noArgsCD)); return il; } @@ -3655,21 +3652,20 @@ InstructionList new_array(org.apache.bcel.generic.Instruction inst) { * @param inst a multianewarray instruction * @return instruction list that calls the runtime to handle the multianewarray instruction */ - InstructionList multiarray2(org.apache.bcel.generic.Instruction inst) { - InstructionList il = new InstructionList(); + private List multiarray2(Instruction inst) { + List il = new ArrayList<>(); // Duplicate both count arguments - il.append(new DUP2()); + il.add(StackInstruction.of(Opcode.DUP2)); // Perform the original instruction - il.append(inst); + il.add(inst); // Duplicate the new arrayref and put it below the count arguments // Stack is now: ..., arrayref, count1, count2, arrayref - il.append(new DUP_X2()); + il.add(StackInstruction.of(Opcode.DUP_X2)); - Type objArray = new ArrayType(Type.OBJECT, 1); - il.append(dcr_call("multianewarray2", Type.VOID, new Type[] {Type.INT, Type.INT, objArray})); + il.add(dcr_call("multianewarray2", CD_void, new ClassDesc[] {CD_int, CD_int, objectArrayCD})); return il; } @@ -3766,7 +3762,7 @@ org.apache.bcel.generic.InvokeInstruction dcr_call( * * @param inst instruction to be replaced * @param tag_count number of tags to discard - * @return instruction list + * @return instruction list to discard tag(s) */ List discard_tag_code(CodeElement inst, int tag_count) { List il = new ArrayList<>(); @@ -4016,24 +4012,6 @@ InstructionList swap_tag(org.apache.bcel.generic.Instruction inst, OperandStack return null; } - /** - * Adjusts the tag stack for load constant opcodes. If the constant is a primitive, pushes its tag - * on the tag stack. If the constant is a reference (string, class), does nothing. - */ - @Nullable InstructionList ldc_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - Type type; - if (inst instanceof LDC) { // LDC_W extends LDC - type = ((LDC) inst).getType(pool); - } else { - type = ((LDC2_W) inst).getType(pool); - } - if (!(type instanceof BasicType)) { - return null; - } - // return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); - return null; - } - /** * Handle the instruction that allocates multi-dimensional arrays. If the new array has 2 * dimensions, make the integer arguments comparable to the corresponding indices of the new @@ -4041,13 +4019,12 @@ InstructionList swap_tag(org.apache.bcel.generic.Instruction inst, OperandStack * dimensions should really be handled as well, but there are very few cases of this and the * resulting code would be quite complex (see multiarray2 for details). */ - InstructionList multi_newarray_dc(org.apache.bcel.generic.Instruction inst) { - int dims = ((MULTIANEWARRAY) inst).getDimensions(); + private List multi_newarray_dc(NewMultiArrayInstruction inst) { + int dims = inst.dimensions(); if (dims == 2) { return multiarray2(inst); } else { - // return discard_tag_code(inst, dims); - return null; + return discard_tag_code(inst, dims); } } @@ -4055,23 +4032,25 @@ InstructionList multi_newarray_dc(org.apache.bcel.generic.Instruction inst) { * Create an instruction list that calls the runtime to handle returns for the tag stack follow by * the original return instruction. * - * @param mg method to modify + * @param mgen method to check * @param inst return instruction to be replaced * @return the instruction list */ - InstructionList return_tag(MethodGen mg, org.apache.bcel.generic.Instruction inst) { - // Type type = mg.getReturnType(); - InstructionList il = new InstructionList(); + private List return_tag(MethodGen24 mgen, Instruction inst) { + List il = new ArrayList<>(); + + ClassDesc type = mgen.getReturnType(); // Push the tag frame - // il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); + il.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); // if ((type instanceof BasicType) && (type != Type.VOID)) { - // il.append(dcr_call("normal_exit_primitive", Type.VOID, new Type[] {object_arr})); - // } else { - // il.append(dcr_call("normal_exit", Type.VOID, new Type[] {object_arr})); - // } - il.append(inst); + if (type.isPrimitive()) { + il.add(dcr_call("normal_exit_primitive", CD_void, object_arg)); + } else { + il.add(dcr_call("normal_exit", CD_void, object_arg)); + } + il.add(inst); return il; } @@ -4243,16 +4222,31 @@ void fix_native(ClassGen gen, MethodGen mg) { mg.setAccessFlags(mg.getAccessFlags() & ~Const.ACC_NATIVE); } + /** + * Convenience function to build an instruction list. + * + * @param instructions a variable number of instructions + * @return an instruction list + */ + private List build_il(CodeElement... instructions) { + List il = new ArrayList<>(); + + for (CodeElement inst : instructions) { + il.add(inst); + } + return il; + } + /** * Returns whether or not tag fields are used within the specified method of the specified class. * We can safely use class fields except in Object, String, and Class. If checking a class, mgen * is null. * * @param mgen method to check - * @param classGen class to check + * @param classname class to check * @return true if tag fields may be used in class for method */ - boolean tag_fields_ok(@Nullable MethodGen24 mgen, ClassGen24 classGen) { + boolean tag_fields_ok(@Nullable MethodGen24 mgen, @BinaryName String classname) { // Prior to Java 8 an interface could not contain any implementations. if (classGen.isInterface()) { @@ -4269,8 +4263,6 @@ boolean tag_fields_ok(@Nullable MethodGen24 mgen, ClassGen24 classGen) { } } - String classname = classGen.getClassName(); - if (!Premain.jdk_instrumented) { if (BcelUtil.inJdk(classname)) { return false; @@ -4332,7 +4324,7 @@ static String stack_contents(OperandStack stack, int max_items) { void create_tag_accessors(ClassGen24 classGen) { // If this class doesn't support tag fields, don't create them - if (!tag_fields_ok(null, classGen)) return; + if (!tag_fields_ok(null, classGen.getClassName())) return; Set field_set = new HashSet<>(); Map field_map = build_field_map(classModel); From b3fb96bd22b0313d8f19e24cb334fe138ff2e169 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 21 May 2025 12:30:28 -0700 Subject: [PATCH 026/211] make error-prone happy --- java/daikon/dcomp/DCInstrument24.java | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index e3d95f6fec..0734f930d6 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -3140,7 +3140,7 @@ boolean is_object_clone(String methodName, Type returnType, Type[] args) { InstructionList instrument_clone_call(org.apache.bcel.generic.InvokeInstruction invoke) { InstructionList il = new InstructionList(); - Type returnType = invoke.getReturnType(pool); + // Type returnType = invoke.getReturnType(pool); String classname = invoke.getClassName(pool); ReferenceType ref_type = invoke.getReferenceType(pool); if (ref_type instanceof ArrayType) { @@ -3153,20 +3153,20 @@ InstructionList instrument_clone_call(org.apache.bcel.generic.InvokeInstruction il.append(new LDC(pool.addClass(classname))); // if this is a super call - if (invoke.getOpcode() == Const.INVOKESPECIAL) { + // if (invoke.getOpcode() == Const.INVOKESPECIAL) { - // Runtime will discover if the object's superclass has an instrumented clone method. - // If so, call it; otherwise call the uninstrumented version. - // use CD_Class - // il.append(dcr_call("dcomp_super_clone", returnType, new Type[] {Type.OBJECT, - // javalangClass})); + // Runtime will discover if the object's superclass has an instrumented clone method. + // If so, call it; otherwise call the uninstrumented version. + // use CD_Class + // il.append(dcr_call("dcomp_super_clone", returnType, new Type[] {Type.OBJECT, + // javalangClass})); - } else { // a regular (non-super) clone() call + // } else { // a regular (non-super) clone() call - // Runtime will discover if the object has an instrumented clone method. - // If so, call it; otherwise call the uninstrumented version. - // il.append(dcr_call("dcomp_clone", returnType, new Type[] {Type.OBJECT, javalangClass})); - } + // Runtime will discover if the object has an instrumented clone method. + // If so, call it; otherwise call the uninstrumented version. + // il.append(dcr_call("dcomp_clone", returnType, new Type[] {Type.OBJECT, javalangClass})); + // } return il; } From 92868b2c11d642b2c9518861e76d005ca82a25cb Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 9 Jun 2025 14:06:51 -0700 Subject: [PATCH 027/211] checkpoint new operand stack code --- java/daikon/dcomp/CalcStack24.java | 972 ++++++++++++++++++++++++++ java/daikon/dcomp/DCInstrument24.java | 647 +++++++++-------- java/daikon/dcomp/OperandStack24.java | 209 ++++++ 3 files changed, 1545 insertions(+), 283 deletions(-) create mode 100644 java/daikon/dcomp/CalcStack24.java create mode 100644 java/daikon/dcomp/OperandStack24.java diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java new file mode 100644 index 0000000000..965bccd79e --- /dev/null +++ b/java/daikon/dcomp/CalcStack24.java @@ -0,0 +1,972 @@ +package daikon.dcomp; + +import static java.lang.constant.ConstantDescs.CD_Object; +import static java.lang.constant.ConstantDescs.CD_String; +import static java.lang.constant.ConstantDescs.CD_double; +import static java.lang.constant.ConstantDescs.CD_float; +import static java.lang.constant.ConstantDescs.CD_int; +import static java.lang.constant.ConstantDescs.CD_long; +import static java.lang.constant.ConstantDescs.CD_void; + +import daikon.chicory.MethodGen24; +import java.lang.classfile.CodeElement; +import java.lang.classfile.Instruction; +import java.lang.classfile.Label; +import java.lang.classfile.Opcode; +import java.lang.classfile.TypeKind; +import java.lang.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.DoubleEntry; +import java.lang.classfile.constantpool.FloatEntry; +import java.lang.classfile.constantpool.IntegerEntry; +import java.lang.classfile.constantpool.LoadableConstantEntry; +import java.lang.classfile.constantpool.LongEntry; +import java.lang.classfile.constantpool.StringEntry; +import java.lang.classfile.instruction.BranchInstruction; +import java.lang.classfile.instruction.ConstantInstruction; +import java.lang.classfile.instruction.DiscontinuedInstruction; +import java.lang.classfile.instruction.FieldInstruction; +import java.lang.classfile.instruction.InvokeDynamicInstruction; +import java.lang.classfile.instruction.InvokeInstruction; +import java.lang.classfile.instruction.LineNumber; +import java.lang.classfile.instruction.LoadInstruction; +import java.lang.classfile.instruction.LookupSwitchInstruction; +import java.lang.classfile.instruction.NewMultiArrayInstruction; +import java.lang.classfile.instruction.NewObjectInstruction; +import java.lang.classfile.instruction.NewPrimitiveArrayInstruction; +import java.lang.classfile.instruction.NewReferenceArrayInstruction; +import java.lang.classfile.instruction.StoreInstruction; +import java.lang.classfile.instruction.SwitchCase; +import java.lang.classfile.instruction.TableSwitchInstruction; +import java.lang.constant.ClassDesc; +import java.lang.constant.MethodTypeDesc; +import java.util.List; +import org.checkerframework.checker.nullness.qual.Nullable; + +public class CalcStack24 { + + @SuppressWarnings("nullness:assignment") // need special null ClassDesc + protected static final ClassDesc nullCD = null; + + /** + * Calculates changes in contents of operand stack based on the symbolic execution of a Java + * bytecode instruction. + * + * @param mgen method containing the instruction + * @param minfo for the given method's code + * @param ce instruction to be interpreted + * @param inst_index index of ce in code element list + * @param stack current state of operand stack + * @return true if should continue with next instruction, false otherwise + */ + @SuppressWarnings("fallthrough") + boolean calcOperandStack( + MethodGen24 mgen, + MethodGen24.MInfo24 minfo, + CodeElement ce, + int inst_index, + OperandStack24 stack) { + + switch (ce) { + case Instruction inst -> { + if (DCInstrument24.stacks[inst_index] != null) { + throw new Error("instruction revisited: " + inst); + } else { + DCInstrument24.stacks[inst_index] = stack.getClone(); + } + + // caculate stack changes + switch (inst.opcode()) { + + // operand stack: + // ..., arrayref, index + // ..., value + case Opcode.AALOAD: + { + stack.pop(); // pop the index + final ClassDesc t = stack.pop(); // pop the arrayref + if (t == nullCD) { + stack.push(nullCD); + // Do nothing stackwise --- a NullPointerException is thrown at Run-Time + } else { + final ClassDesc ct = t.componentType(); + if (ct == nullCD) { + throw new Error("stack item not an arrayref: " + inst); + } + stack.push(ct); + } + return true; + } + + // operand stack: + // ..., arrayref, index, value + // ... + case Opcode.AASTORE: + case Opcode.BASTORE: + case Opcode.CASTORE: + case Opcode.DASTORE: + case Opcode.FASTORE: + case Opcode.IASTORE: + case Opcode.LASTORE: + case Opcode.SASTORE: + stack.pop(3); + return true; + + // operand stack: + // ... + // ..., null + case Opcode.ACONST_NULL: + stack.push(nullCD); + return true; + + // operand stack: + // ... + // ..., objectref + case Opcode.ALOAD: + case Opcode.ALOAD_0: + case Opcode.ALOAD_1: + case Opcode.ALOAD_2: + case Opcode.ALOAD_3: + LoadInstruction li = (LoadInstruction) inst; + stack.push(DCInstrument24.locals[li.slot()]); + return true; + + // operand stack: + // ..., count + // ..., arrayref + case Opcode.ANEWARRAY: + stack.pop(); + final NewReferenceArrayInstruction nrai = (NewReferenceArrayInstruction) inst; + stack.push(nrai.componentType().asSymbol()); + return true; + + // operand stack: + // ... + // [empty] + case Opcode.ARETURN: + case Opcode.DRETURN: + case Opcode.FRETURN: + case Opcode.IRETURN: + case Opcode.LRETURN: + case Opcode.RETURN: + // execution pump will reset stack + return false; + + // operand stack: + // ..., arrayref + // ..., length + case Opcode.ARRAYLENGTH: + stack.pop(); + stack.push(CD_int); + return true; + + // operand stack: + // ..., value + // ... + case Opcode.ASTORE: + case Opcode.ASTORE_0: + case Opcode.ASTORE_1: + case Opcode.ASTORE_2: + case Opcode.ASTORE_3: + case Opcode.DSTORE: + case Opcode.DSTORE_0: + case Opcode.DSTORE_1: + case Opcode.DSTORE_2: + case Opcode.DSTORE_3: + case Opcode.FSTORE: + case Opcode.FSTORE_0: + case Opcode.FSTORE_1: + case Opcode.FSTORE_2: + case Opcode.FSTORE_3: + case Opcode.ISTORE: + case Opcode.ISTORE_0: + case Opcode.ISTORE_1: + case Opcode.ISTORE_2: + case Opcode.ISTORE_3: + case Opcode.LSTORE: + case Opcode.LSTORE_0: + case Opcode.LSTORE_1: + case Opcode.LSTORE_2: + case Opcode.LSTORE_3: + case Opcode.POP: + StoreInstruction si = (StoreInstruction) inst; + // UNDONE check that si.typeKind() matches stack.pop() + DCInstrument24.locals[si.slot()] = stack.pop(); + return true; + + // operand stack: + // ..., objectref + // objectref + case Opcode.ATHROW: + // execution pump will reset stack + return false; + + // operand stack: + // ..., arrayref, index + // ..., value + case Opcode.BALOAD: + case Opcode.CALOAD: + case Opcode.IALOAD: + case Opcode.SALOAD: + stack.pop(2); + stack.push(CD_int); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.BIPUSH: + case Opcode.ICONST_0: + case Opcode.ICONST_1: + case Opcode.ICONST_2: + case Opcode.ICONST_3: + case Opcode.ICONST_4: + case Opcode.ICONST_5: + case Opcode.ICONST_M1: + case Opcode.SIPUSH: + stack.push(CD_int); + return true; + + // operand stack: + // ..., objectref + // ..., objectref + case Opcode.CHECKCAST: + // just assume it will be ok, otherwise it will throw + return true; + + // operand stack: + // ..., value + // ..., result + case Opcode.D2F: // double to float + case Opcode.I2F: // integer to float + case Opcode.L2F: // long to float + stack.pop(); + stack.push(CD_float); + return true; + + // operand stack: + // ..., value + // ..., result + case Opcode.D2L: // double to long + case Opcode.F2L: // float to long + case Opcode.I2L: // integer to long + stack.pop(); + stack.push(CD_long); + return true; + + // operand stack: + // ..., value1, value2 + // ..., result + case Opcode.DADD: + case Opcode.DDIV: + case Opcode.DMUL: + case Opcode.DREM: + case Opcode.DSUB: + stack.pop(2); + stack.push(CD_double); + return true; + + // operand stack: + // ..., arrayref, index + // ..., value + case Opcode.DALOAD: + stack.pop(2); + stack.push(CD_double); + return true; + + // operand stack: + // ..., value1, value2 + // ..., result + case Opcode.DCMPG: + case Opcode.DCMPL: + case Opcode.FCMPG: + case Opcode.FCMPL: + stack.pop(2); + stack.push(CD_int); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.DCONST_0: + case Opcode.DCONST_1: + stack.push(CD_double); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.DLOAD: + case Opcode.DLOAD_0: + case Opcode.DLOAD_1: + case Opcode.DLOAD_2: + case Opcode.DLOAD_3: + stack.push(CD_double); + return true; + + // operand stack: + // ..., value + // ..., result + case Opcode.DNEG: + stack.pop(); + stack.push(CD_double); + return true; + + // operand stack: + // ..., value + // ..., value, value + case Opcode.DUP: + { + final ClassDesc t = stack.pop(); + stack.push(t); + stack.push(t); + return true; + } + + // operand stack: + // ..., value2, value1 + // ..., value1, value2, value1 + case Opcode.DUP_X1: + { + final ClassDesc v1 = stack.pop(); + final ClassDesc v2 = stack.pop(); + stack.push(v1); + stack.push(v2); + stack.push(v1); + return true; + } + + // operand stack: + // ..., value3, value2, value1 + // ..., value1, value3, value2, value1 + // where value1, value2, and value3 are all a category 1 computational type + // OR + // ..., value2, value1 + // ..., value1, value2, value1 + // where value1 is a category 1 computational type and value2 is a category 2 + // computational type + case Opcode.DUP_X2: + { + final ClassDesc v1 = stack.pop(); + final ClassDesc v2 = stack.pop(); + if (TypeKind.from(v2).slotSize() == 2) { + stack.push(v1); + } else { + final ClassDesc v3 = stack.pop(); + stack.push(v1); + stack.push(v3); + } + stack.push(v2); + stack.push(v1); + return true; + } + + // operand stack: + // ..., value2, value1 + // ..., value2, value1, value2, value1 + // where value1, and value2 are all a category 1 computational type + // OR + // ..., value + // ..., value, value + // where value is a category 2 computational type + case Opcode.DUP2: + { + final ClassDesc v1 = stack.pop(); + if (TypeKind.from(v1).slotSize() == 2) { + stack.push(v1); + } else { // TypeKind.from(t).slotSize() == 1 + final ClassDesc v2 = stack.pop(); + stack.push(v2); + stack.push(v1); + stack.push(v2); + } + stack.push(v1); + return true; + } + + // operand stack: + // ..., value3, value2, value1 + // ..., value2, value1, value3, value2, value1 + // where value1, value2, and value3 are all a category 1 computational type + // OR + // ..., value2, value1 + // ..., value1, value2, value1 + // where value1 is a category 2 computational type and value2 a category 1 computational + // type + case Opcode.DUP2_X1: + { + final ClassDesc v1 = stack.pop(); + if (TypeKind.from(v1).slotSize() == 2) { + final ClassDesc v2 = stack.pop(); + stack.push(v1); + stack.push(v2); + } else { // TypeKind.from(v1).slotSize() == 1 + final ClassDesc v2 = stack.pop(); + final ClassDesc v3 = stack.pop(); + stack.push(v2); + stack.push(v1); + stack.push(v3); + stack.push(v2); + } + stack.push(v1); + return true; + } + + // ..., value4, value3, value2, value1 + // ..., value2, value1, value4, value3, value2, value1 + // where value1, value2, value3, and value4 are all a category 1 computational type + // OR + // ..., value3, value2, value1 + // ..., value1, value3, value2, value1 + // where value1 is a category 2 computational type and value2 and value3 are both a + // category 1 computational type + // OR + // ..., value3, value2, value1 + // ..., value2, value1, value3, value2, value1 + // where value1 and value2 are both a category 1 computational type and value3 is a + // category 2 computational type + // OR + // ..., value2, value1 + // ..., value1, value2, value1 + // where value1 and value2 are both a category 2 computational type + case Opcode.DUP2_X2: + { + final ClassDesc v1 = stack.pop(); + if (TypeKind.from(v1).slotSize() == 2) { + final ClassDesc v2 = stack.pop(); + if (TypeKind.from(v2).slotSize() == 2) { + stack.push(v1); + } else { + final ClassDesc v3 = stack.pop(); + stack.push(v1); + stack.push(v3); + } + stack.push(v2); + stack.push(v1); + } else { // TypeKind.from(v1).slotSize() is 1 + final ClassDesc v2 = stack.pop(); + final ClassDesc v3 = stack.pop(); + if (TypeKind.from(v3).slotSize() == 2) { + stack.push(v2); + stack.push(v1); + } else { + final ClassDesc v4 = stack.pop(); + stack.push(v2); + stack.push(v1); + stack.push(v4); + } + stack.push(v3); + stack.push(v2); + stack.push(v1); + } + return true; + } + + // operand stack: + // ..., value + // ..., result + case Opcode.F2D: // float to double + case Opcode.I2D: // integer to double + case Opcode.L2D: // long to double + stack.pop(); + stack.push(CD_double); + return true; + + // operand stack: + // ..., value1, value2 + // ..., result + case Opcode.FADD: + case Opcode.FDIV: + case Opcode.FMUL: + case Opcode.FREM: + case Opcode.FSUB: + stack.pop(2); + stack.push(CD_float); + return true; + + // operand stack: + // ..., arrayref, index + // ..., value + case Opcode.FALOAD: + stack.pop(2); + stack.push(CD_float); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.FCONST_0: + case Opcode.FCONST_1: + case Opcode.FCONST_2: + stack.push(CD_float); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.FLOAD: + case Opcode.FLOAD_0: + case Opcode.FLOAD_1: + case Opcode.FLOAD_2: + case Opcode.FLOAD_3: + stack.push(CD_float); + return true; + + // operand stack: + // ..., value + // ..., result + case Opcode.FNEG: + stack.pop(); + stack.push(CD_float); + return true; + + // operand stack: + // ..., objectref + // ..., value + case Opcode.GETFIELD: + { + stack.pop(); + FieldInstruction fi = (FieldInstruction) inst; + stack.push(fi.typeSymbol()); + return true; + } + + // operand stack: + // ... + // ..., value + case Opcode.GETSTATIC: + { + FieldInstruction fi = (FieldInstruction) inst; + stack.push(fi.typeSymbol()); + return true; + } + + // operand stack: + // [no change] + case Opcode.GOTO: + case Opcode.GOTO_W: + { + BranchInstruction bi = (BranchInstruction) inst; + addLabelsToWorkList(bi.target(), null); + return false; + } + + // operand stack: + // ..., value + // ..., result + case Opcode.I2B: // integer to byte + case Opcode.I2C: // integer to char + case Opcode.D2I: // double to integer + case Opcode.F2I: // float to integer + case Opcode.L2I: // long to int + case Opcode.I2S: // integer to short + stack.pop(); + stack.push(CD_int); + return true; + + // operand stack: + // ..., value1, value2 + // ..., result + case Opcode.IADD: + case Opcode.IAND: + case Opcode.IDIV: + case Opcode.IMUL: + case Opcode.IOR: + case Opcode.IREM: + case Opcode.ISHL: + case Opcode.ISHR: + case Opcode.ISUB: + case Opcode.IUSHR: + case Opcode.IXOR: + case Opcode.LCMP: + stack.pop(2); + stack.push(CD_int); + return true; + + // operand stack: + // ..., value1, value2 + // ... + case Opcode.IF_ACMPEQ: + case Opcode.IF_ACMPNE: + case Opcode.IF_ICMPEQ: + case Opcode.IF_ICMPGE: + case Opcode.IF_ICMPGT: + case Opcode.IF_ICMPLE: + case Opcode.IF_ICMPLT: + case Opcode.IF_ICMPNE: + { + stack.pop(2); + BranchInstruction bi = (BranchInstruction) inst; + addLabelsToWorkList(bi.target(), null); + return true; + } + + // operand stack: + // ..., value + // ... + case Opcode.IFEQ: + case Opcode.IFNE: + case Opcode.IFLT: + case Opcode.IFGE: + case Opcode.IFGT: + case Opcode.IFLE: + case Opcode.IFNONNULL: + case Opcode.IFNULL: + stack.pop(); + BranchInstruction bi = (BranchInstruction) inst; + addLabelsToWorkList(bi.target(), null); + return true; + + // operand stack: + // [no change] + case Opcode.IINC: + case Opcode.NOP: + return true; + + // operand stack: + // ... + // ..., value + case Opcode.ILOAD: + case Opcode.ILOAD_0: + case Opcode.ILOAD_1: + case Opcode.ILOAD_2: + case Opcode.ILOAD_3: + stack.push(CD_int); + return true; + + // operand stack: + // ..., value + // ..., result + case Opcode.INEG: + stack.pop(); + stack.push(CD_int); + return true; + + // operand stack: + // ..., objectref + // ..., result + case Opcode.INSTANCEOF: + stack.pop(); + stack.push(CD_int); + return true; + + // UNDONE should we just throw on jsr and ret? They are illegal post JDK 6. + + // operand stack: + // ... + // ..., [return address] + case Opcode.JSR: + case Opcode.JSR_W: + // UNDONE we should add label of next instruction to work list? but we have no idea + // what stack will be + stack.push(CD_Object); // there is no way to represent a return address, fake it + DiscontinuedInstruction.JsrInstruction ji = + (DiscontinuedInstruction.JsrInstruction) inst; + addLabelsToWorkList(ji.target(), null); + return false; + + // operand stack: + // ..., value1, value2 + // ..., result + case Opcode.LADD: + case Opcode.LAND: + case Opcode.LDIV: + case Opcode.LMUL: + case Opcode.LOR: + case Opcode.LREM: + case Opcode.LSHL: + case Opcode.LSHR: + case Opcode.LSUB: + case Opcode.LUSHR: + case Opcode.LXOR: + stack.pop(2); + stack.push(CD_long); + return true; + + // operand stack: + // ..., arrayref, index + // ..., value + case Opcode.LALOAD: + stack.pop(2); + stack.push(CD_long); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.LCONST_0: + case Opcode.LCONST_1: + stack.push(CD_long); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.LDC: + case Opcode.LDC_W: + case Opcode.LDC2_W: + ConstantInstruction.LoadConstantInstruction ldc = + (ConstantInstruction.LoadConstantInstruction) inst; + LoadableConstantEntry lce = ldc.constantEntry(); + if (lce instanceof IntegerEntry) { + stack.push(CD_int); + } else if (lce instanceof LongEntry) { + stack.push(CD_long); + } else if (lce instanceof FloatEntry) { + stack.push(CD_float); + } else if (lce instanceof DoubleEntry) { + stack.push(CD_double); + } else if (lce instanceof StringEntry) { + stack.push(CD_String); + } else if (lce instanceof ClassEntry cent) { + stack.push(cent.asSymbol()); + } + return true; + + // operand stack: + // ... + // ..., value + case Opcode.LLOAD: + case Opcode.LLOAD_0: + case Opcode.LLOAD_1: + case Opcode.LLOAD_2: + case Opcode.LLOAD_3: + stack.push(CD_long); + return true; + + // operand stack: + // ..., value + // ..., result + case Opcode.LNEG: + stack.pop(); + stack.push(CD_long); + return true; + + // operand stack: + // ..., key + // ... + case Opcode.LOOKUPSWITCH: + stack.pop(); + LookupSwitchInstruction lsi = (LookupSwitchInstruction) inst; + addLabelsToWorkList(lsi.defaultTarget(), lsi.cases()); + return false; + + // operand stack: + // ..., objectref + // ... + case Opcode.MONITORENTER: + case Opcode.MONITOREXIT: + stack.pop(); + return true; + + // operand stack: + // ..., count1, [count2, ...] + // ..., arrayref + case Opcode.MULTIANEWARRAY: + final NewMultiArrayInstruction nmai = (NewMultiArrayInstruction) inst; + stack.pop(nmai.dimensions()); + // UNDONE is the emement type or array type? + stack.push(nmai.arrayType().asSymbol()); + return true; + + // operand stack: + // ... + // ..., objectref + case Opcode.NEW: + final NewObjectInstruction noi = (NewObjectInstruction) inst; + stack.push(noi.className().asSymbol()); + return true; + + // operand stack: + // ..., count + // ..., arrayref + case Opcode.NEWARRAY: + stack.pop(); + final NewPrimitiveArrayInstruction npai = (NewPrimitiveArrayInstruction) inst; + String descriptor; + switch (npai.typeKind()) { + case BOOLEAN -> { + descriptor = "[Z"; + } + case BYTE -> { + descriptor = "[B"; + } + case CHAR -> { + descriptor = "[C"; + } + case DOUBLE -> { + descriptor = "[D"; + } + case FLOAT -> { + descriptor = "[F"; + } + case INT -> { + descriptor = "[I"; + } + case LONG -> { + descriptor = "[J"; + } + case SHORT -> { + descriptor = "[S"; + } + default -> { + // UNDONE throw? + System.out.println("Unexpected CodeElement: " + ce); + return true; + } + } + stack.push(ClassDesc.ofDescriptor(descriptor)); + return true; + + // operand stack: + // ..., value2, value1 + // ... + // where each of value1 and value2 is a category 1 computational type + // OR + // ..., value + // ... + // where value is of a category 2 computational type + case Opcode.POP2: + { + final ClassDesc v1 = stack.pop(); + if (TypeKind.from(v1).slotSize() == 1) { + stack.pop(); + } + return true; + } + + // operand stack: + // ..., objectref, value + // ... + case Opcode.PUTFIELD: + stack.pop(2); + return true; + + // operand stack: + // ..., value + // ... + case Opcode.PUTSTATIC: + stack.pop(); + return true; + + // UNDONE should we just throw on jsr and ret? They are illegal post JDK 6. + + // operand stack: + // [no change] + case Opcode.RET: + case Opcode.RET_W: + // the variable referenced must contain a return address + // that we would treat as target of jump; no way to do that + return false; + + // operand stack: + // ..., value1, value2 + // ..., value2, value1 + case Opcode.SWAP: + { + final ClassDesc v2 = stack.pop(); + final ClassDesc v1 = stack.pop(); + stack.push(v2); + stack.push(v1); + return true; + } + + // operand stack: + // ..., index + // ... + case Opcode.TABLESWITCH: + stack.pop(); + TableSwitchInstruction tsi = (TableSwitchInstruction) inst; + addLabelsToWorkList(tsi.defaultTarget(), tsi.cases()); + return false; + + // operand stack: + // ..., objectref, [arg1, [arg2 ...]] + // ... + case Opcode.INVOKEINTERFACE: + case Opcode.INVOKESPECIAL: + case Opcode.INVOKEVIRTUAL: + stack.pop(); // remove objectref + // may actually be removing an arg, but we'll + // account for that when we remove args below + + // fall through is intentional: + + // operand stack: + // ..., [arg1, [arg2 ...]] + // ... + case Opcode.INVOKESTATIC: + { + final InvokeInstruction ii = (InvokeInstruction) inst; + final MethodTypeDesc mtd = ii.typeSymbol(); + stack.pop(mtd.parameterCount()); + // We are sure the invoked method will xRETURN eventually. + // We simulate xRETURNs functionality here because we don't + // really "jump into" and simulate the invoked method. + final ClassDesc rt = mtd.returnType(); + if (!rt.equals(CD_void)) { + stack.push(rt); + } + return true; + } + + // operand stack: + // ..., [arg1, [arg2 ...]] + // ... + case Opcode.INVOKEDYNAMIC: + { + final InvokeDynamicInstruction idi = (InvokeDynamicInstruction) inst; + final MethodTypeDesc mtd = idi.typeSymbol(); + stack.pop(mtd.parameterCount()); + // We are sure the invoked method will xRETURN eventually. + // We simulate xRETURNs functionality here because we don't + // really "jump into" and simulate the invoked method. + final ClassDesc rt = mtd.returnType(); + if (!rt.equals(CD_void)) { + stack.push(rt); + } + return true; + } + + default: + throw new Error("Unexpected instruction opcode: " + inst); + } + } + + case Label l -> { + // UNDONE do anything? + if (DCInstrument24.stacks[inst_index] != null) { + // we've seen this label before + if (DCInstrument24.stacks[inst_index].equals(stack)) { + // stacks match; we're done with this worklist + return false; + } else { + throw new Error("operans stacks do not match:" + l); + } + } else { + // have not seen this label before; remember state of operand stack + DCInstrument24.stacks[inst_index] = stack.getClone(); + return true; + } + } + + case LineNumber ln -> { + // UNDONE do anything? + return true; + } + + default -> { + throw new Error("Unexpected CodeElement: " + ce); + } + } + } + + void addLabelsToWorkList(Label target, @Nullable List cases) { + addLabelToWorkList(target); + if (cases == null) return; + for (SwitchCase item : cases) { + addLabelToWorkList(item.target()); + } + } + + void addLabelToWorkList(Label target) {} +} diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 0734f930d6..4a0b462cce 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1,5 +1,6 @@ package daikon.dcomp; +import static java.lang.constant.ConstantDescs.CD_Class; import static java.lang.constant.ConstantDescs.CD_Object; import static java.lang.constant.ConstantDescs.CD_String; import static java.lang.constant.ConstantDescs.CD_Throwable; @@ -45,12 +46,14 @@ import java.lang.classfile.constantpool.ConstantPoolBuilder; import java.lang.classfile.constantpool.ConstantValueEntry; import java.lang.classfile.constantpool.MethodRefEntry; +import java.lang.classfile.constantpool.NameAndTypeEntry; import java.lang.classfile.instruction.ArrayLoadInstruction; import java.lang.classfile.instruction.ArrayStoreInstruction; import java.lang.classfile.instruction.BranchInstruction; import java.lang.classfile.instruction.ConstantInstruction; import java.lang.classfile.instruction.ExceptionCatch; import java.lang.classfile.instruction.FieldInstruction; +import java.lang.classfile.instruction.InvokeDynamicInstruction; import java.lang.classfile.instruction.InvokeInstruction; import java.lang.classfile.instruction.LabelTarget; import java.lang.classfile.instruction.LineNumber; @@ -91,12 +94,9 @@ import org.apache.bcel.classfile.AnnotationEntry; import org.apache.bcel.classfile.Annotations; import org.apache.bcel.classfile.Attribute; -import org.apache.bcel.classfile.Constant; -import org.apache.bcel.classfile.ConstantInterfaceMethodref; import org.apache.bcel.classfile.JavaClass; import org.apache.bcel.classfile.Method; import org.apache.bcel.classfile.RuntimeVisibleAnnotations; -import org.apache.bcel.generic.ACONST_NULL; import org.apache.bcel.generic.AnnotationEntryGen; import org.apache.bcel.generic.ArrayType; import org.apache.bcel.generic.BasicType; @@ -106,21 +106,15 @@ import org.apache.bcel.generic.ConstantPoolGen; // import org.apache.bcel.generic.FieldInstruction; import org.apache.bcel.generic.IADD; -import org.apache.bcel.generic.INVOKEDYNAMIC; -import org.apache.bcel.generic.INVOKEINTERFACE; -import org.apache.bcel.generic.INVOKESPECIAL; -import org.apache.bcel.generic.INVOKEVIRTUAL; // import org.apache.bcel.generic.Instruction; import org.apache.bcel.generic.InstructionFactory; import org.apache.bcel.generic.InstructionHandle; import org.apache.bcel.generic.InstructionList; // import org.apache.bcel.generic.InvokeInstruction; -import org.apache.bcel.generic.LDC; // import org.apache.bcel.generic.LoadInstruction; import org.apache.bcel.generic.LocalVariableGen; import org.apache.bcel.generic.MethodGen; import org.apache.bcel.generic.ObjectType; -import org.apache.bcel.generic.ReferenceType; // import org.apache.bcel.generic.ReturnInstruction; // import org.apache.bcel.generic.StoreInstruction; import org.apache.bcel.generic.Type; @@ -176,6 +170,12 @@ public class DCInstrument24 { /** The MethodInfo for the current method. */ @Nullable MethodInfo curMethodInfo; + /** Mapping from a label to its index in the method's codeList. */ + protected Map labelIndexMap; + + protected static OperandStack24[] stacks; + protected static ClassDesc[] locals; + // Variables used for the entire class. /** The current ClassFile. */ @@ -227,6 +227,7 @@ public class DCInstrument24 { // Type descriptors protected final ClassDesc dcomp_marker; protected static final ClassDesc objectArrayCD = CD_Object.arrayType(1); + protected static final ClassDesc[] objectArrayCD_arg = new ClassDesc[] {objectArrayCD}; protected static final ClassDesc[] noArgsCD = new ClassDesc[0]; // Debug loggers @@ -250,7 +251,7 @@ public class DCInstrument24 { // protected static final boolean debugGetDefiningInterface = false; /** If true, enable {@link #handleInvoke} debugging. */ - protected static final boolean debugHandleInvoke = false; + protected static final boolean debugHandleInvoke = true; /** Keeps track of the methods that were not successfully instrumented. */ protected List skipped_methods = new ArrayList<>(); @@ -297,7 +298,7 @@ protected enum JUnitState { static Map accessFlags = new HashMap<>(); /** Integer constant of access_flag value of ACC_ANNOTATION. */ - static Integer Integer_ACC_ANNOTATION = Integer.valueOf(Const.ACC_ANNOTATION); + static Integer Integer_ACC_ANNOTATION = Integer.valueOf(ClassFile.ACC_ANNOTATION); /** * Array of classes whose fields are not initialized from java. Since the fields are not @@ -411,8 +412,8 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; // TEMPORARY - debugInstrument.enabled = true; debugInstrument.enabled = false; + debugInstrument.enabled = true; debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; } @@ -947,6 +948,7 @@ private void instrumentCode( @SuppressWarnings("JdkObsolete") List codeList = new LinkedList<>(); + labelIndexMap = new HashMap<>(); // no codeModel if DCInstrument24 generated the method if (codeModel != null) { @@ -981,6 +983,8 @@ private void instrumentCode( if (ca.labelToBci(l.label()) == 0) { minfo.oldStartLabel = l.label(); } + // remember where this label is located within the codeList + labelIndexMap.put(l.label(), codeList.size()); codeList.add(ce); } default -> codeList.add(ce); // save all other elements @@ -989,8 +993,10 @@ private void instrumentCode( // Create the local to store the tag frame for this method tagFrameLocal = createTagFrameLocal(mgen, minfo); + // Instrument the method instrumentCodeList(codeList, mgen, minfo); + if (trackMethod) { add_enter(mgen, minfo, codeList, DCRuntime.methods.size() - 1); add_exit(mgen, mi, minfo, codeList, DCRuntime.methods.size() - 1); @@ -1208,7 +1214,7 @@ public JavaClass old_instrument() { String super_class; String this_class = classname; while (true) { - super_class = getSuperclassName(); // (this_class) + super_class = getSuperclassName(this_class); if (super_class == null) { // something has gone wrong break; @@ -1768,13 +1774,29 @@ private void instrumentCodeList( // Save index into instruction list that points to where a call to the // DynComp runtime enter routine should be inserted, if we are tracking the method. + // We will also return to this item for code instrumentation after calculating + // the operand stack values. entryInsertionIndex = li.nextIndex(); } catch (Exception e) { System.err.printf("Unexpected exception encountered: %s", e); e.printStackTrace(); } - // Calculate the operand stack value(s) for revised code. + // Calculate the operand stack value(s) for the current method. + + // First, we create an array to hold the calculated operand stack + // prior to each instruction. + stacks = new OperandStack24[instructions.size()]; + // Next, we create an array containing the type of each local variable. + // This will be indexed by the local variable's slot number. + // There will be a gap for the second slot of a variable of type long or double. + locals = new ClassDesc[mgen.getMaxLocals()]; + int slot = 0; + for (final LocalVariable lv : mgen.localsTable) { + slot = lv.slot(); + locals[slot] = lv.typeSymbol(); + } + // Calculate stack types information // StackTypes stack_types = bcelCalcStackTypes(mg); // if (stack_types == null) { @@ -1785,7 +1807,10 @@ private void instrumentCodeList( // InstructionList il = mg.getInstructionList(); // OperandStack stack = null; + // if we get index = li.nextIndex() here and increment each time through loop + // it sould match stack index we calculate above while (li.hasNext()) { + // System.out.println("inst index: " + li.nextIndex()); inst = li.next(); // Get the stack information @@ -1795,6 +1820,7 @@ private void instrumentCodeList( // Get the translation for this instruction (if any) List new_il = instrumentInstruction(mgen, minfo, inst); if (new_il != null) { + // System.out.println("insts added: " + (new_il.size()-1)); li.remove(); // remove the instruction we instrumented for (CodeElement ce : new_il) { li.add(ce); @@ -2003,7 +2029,7 @@ private List callEnterOrExit( // If this is an exit, push the return value and line number. // The return value is stored in the local "return__$trace2_val". - // If the return value is a primitive, push a NULL. + // If the return value is a primitive, push a null. if (methodToCall.equals("exit")) { ClassDesc returnType = mgen.getReturnType(); if (returnType.equals(CD_void)) { @@ -2334,6 +2360,19 @@ private List callEnterOrExit( case Opcode.RET: // this is the internal JSR return return null; + // Handle subroutine calls. Calls to instrumented code are modified + // to call the instrumented version (with the DCompMarker argument). + // Calls to uninstrumented code (rare) discard primitive arguments + // from the tag stack and produce an arbitrary return tag. + case Opcode.INVOKESTATIC: + case Opcode.INVOKEVIRTUAL: + case Opcode.INVOKESPECIAL: + case Opcode.INVOKEINTERFACE: + return handleInvoke((InvokeInstruction) inst, mgen); + + case Opcode.INVOKEDYNAMIC: + return handleInvokeDynamic((InvokeDynamicInstruction) inst); + // UNDONE default -> throw exception when done? default: // System.out.println("Unexpected instruction opcode: " + ce); @@ -2470,17 +2509,6 @@ private List callEnterOrExit( case Const.SASTORE: return array_store(inst, "sastore", Type.SHORT); - // Handle subroutine calls. Calls to instrumented code are modified - // to call the instrumented version (with the DCompMarker argument). - // Calls to uninstrumented code (rare) discard primitive arguments - // from the tag stack and produce an arbitrary return tag. - case Const.INVOKESTATIC: - case Const.INVOKEVIRTUAL: - case Const.INVOKESPECIAL: - case Const.INVOKEINTERFACE: - case Const.INVOKEDYNAMIC: - return handleInvoke((org.apache.bcel.generic.InvokeInstruction) inst); - // Make sure we didn't miss anything default: throw new Error("instruction " + inst + " unsupported"); @@ -2595,6 +2623,26 @@ private void add_exit( // return null; // } + /** + * Process an InvokeDynamic instruction. We don't instrument lambda methods, so just clean up the + * tag stack. + * + * @param invoke a method invocation bytecode instruction + * @return instructions to replace the given instruction + */ + private List handleInvokeDynamic(InvokeDynamicInstruction invoke) { + + // Get information about the call + // There isn't really a class holding the method. + String classname = ""; + MethodTypeDesc mtd = invoke.typeSymbol(); + ClassDesc returnType = mtd.returnType(); + ClassDesc[] argTypes = mtd.parameterArray(); + System.out.println("invoke: " + invoke); + + return cleanInvokeTagStack(invoke, classname, returnType, argTypes); + } + /** * Process an Invoke instruction. There are three cases: * @@ -2616,33 +2664,35 @@ private void add_exit( * * * @param invoke a method invocation bytecode instruction + * @param mgen host method of invoke * @return instructions to replace the given instruction */ - private InstructionList handleInvoke(org.apache.bcel.generic.InvokeInstruction invoke) { + private List handleInvoke(InvokeInstruction invoke, MethodGen24 mgen) { // Get information about the call - String methodName = invoke.getMethodName(pool); - // getClassName does not work properly if invoke is INVOKEDYNAMIC. - // We will deal with this later. - @ClassGetName String classname = invoke.getClassName(pool); - Type returnType = invoke.getReturnType(pool); - Type[] argTypes = invoke.getArgumentTypes(pool); + String methodName = invoke.name().stringValue(); + @SuppressWarnings("signature:assignment") // JDK 24 is not annotated as yet + @ClassGetName String classname = invoke.owner().asInternalName().replace('/', '.'); + MethodTypeDesc mtd = invoke.typeSymbol(); + ClassDesc returnType = mtd.returnType(); + ClassDesc[] argTypes = mtd.parameterArray(); + + System.out.println(); + System.out.println("InvokeInst: " + invoke); + System.out.println("returnType: " + returnType); + System.out.println("classname: " + classname); + // System.out.println("ref_type: " + invoke.getReferenceType(pool)); if (is_object_equals(methodName, returnType, argTypes)) { // Replace calls to Object's equals method with calls to our // replacement, a static method in DCRuntime. - - // Type[] new_arg_types = new Type[] {javalangObjectCD, javalangObjectCD}; - - InstructionList il = new InstructionList(); - il.append( - ifact.createInvoke( - dcompRuntimeClassname, - (invoke.getOpcode() == Const.INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", + List il = new ArrayList<>(); + il.add( + dcr_call( + invoke.opcode().equals(Opcode.INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", returnType, - null, //// new_arg_types, - Const.INVOKESTATIC)); + new ClassDesc[] {CD_Object, CD_Object})); return il; } @@ -2651,59 +2701,72 @@ private InstructionList handleInvoke(org.apache.bcel.generic.InvokeInstruction i // Replace calls to Object's clone method with calls to our // replacement, a static method in DCRuntime. - InstructionList il = instrument_clone_call(invoke); + List il = instrument_clone_call(invoke, returnType, classname); return il; } - boolean callee_instrumented = isTargetInstrumented(invoke, classname, methodName, argTypes); + boolean callee_instrumented = + isTargetInstrumented(invoke, mgen, classname, methodName, argTypes); if (debugHandleInvoke) { System.out.printf("handleInvoke(%s)%n", invoke); - System.out.printf(" invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); + System.out.printf(" invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); System.out.printf(" invoke targ: %s%n", classname + "." + methodName); System.out.printf(" callee_instrumented: %s%n", callee_instrumented); } if (callee_instrumented) { - InstructionList il = new InstructionList(); - // Add the DCompMarker argument so that it calls the instrumented version. - il.append(new ACONST_NULL()); - // Type[] new_arg_types = BcelUtil.postpendToArray(argTypes, dcomp_marker); - Constant methodref = pool.getConstant(invoke.getIndex()); - il.append( - ifact.createInvoke( - classname, - methodName, - returnType, - null, //// new_arg_types, - invoke.getOpcode(), - methodref instanceof ConstantInterfaceMethodref)); + List il = new ArrayList<>(); + + // Push the DCompMarker argument as we are calling the instrumented version. + il.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + + // Add the DCompMarker to the arg types list. + List new_arg_types = new ArrayList<>(Arrays.asList(argTypes)); + new_arg_types.add(dcomp_marker); + + NameAndTypeEntry nte = + poolBuilder.nameAndTypeEntry(methodName, MethodTypeDesc.of(returnType, new_arg_types)); + il.add(InvokeInstruction.of(invoke.opcode(), invoke.owner(), nte, invoke.isInterface())); return il; } else { // not instrumented, discard the tags before making the call + return cleanInvokeTagStack(invoke, classname, returnType, argTypes); + } + } - InstructionList il = new InstructionList(); - // JUnit test classes are a bit strange. They are marked as not being callee_instrumented - // because they do not have the dcomp_marker added to the argument list, but - // they actually contain instrumentation code. So we do not want to discard - // the primitive tags prior to the call. - if (!junitTestClasses.contains(classname)) { - // il.append(discard_primitive_tags(argTypes)); - // dummy line for errorprone for now - discard_primitive_tags(integer_arg); - } + /** + * Process an invoke instruction that calls a non-instrumented method. We need to clean up the tag + * stack. + * + * @param invoke a method invocation bytecode instruction + * @param classname target class of the invoke + * @param returnType return type of method + * @param argTypes argument types of target method + * @return instructions to replace the given instruction + */ + private List cleanInvokeTagStack( + Instruction invoke, String classname, ClassDesc returnType, ClassDesc[] argTypes) { + List il = new ArrayList<>(); - // Add a tag for the return type if it is primitive. - if ((returnType instanceof BasicType) && (returnType != Type.VOID)) { - if (debugHandleInvoke) { - System.out.printf("push tag for return type of %s%n", invoke.getReturnType(pool)); - } - il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); + // JUnit test classes are a bit strange. They are marked as not being callee_instrumented + // because they do not have the dcomp_marker added to the argument list, but + // they actually contain instrumentation code. So we do not want to discard + // the primitive tags prior to the call. + if (!junitTestClasses.contains(classname)) { + il = discard_primitive_tags(argTypes); + } + + // Add a tag for the return type if it is primitive. + if (is_primitive(returnType)) { + if (debugHandleInvoke) { + System.out.printf("push tag for return type of %s%n", returnType); } - il.append(invoke); - return il; + il.add(dcr_call("push_const", CD_void, noArgsCD)); } + il.add(invoke); + return il; } /** @@ -2733,33 +2796,35 @@ private List discard_primitive_tags(ClassDesc[] argTypes) { * Returns true if the invoke target is instrumented. * * @param invoke instruction whose target is to be checked + * @param mgen host method of invoke * @param classname target class of the invoke * @param methodName target method of the invoke * @param argTypes argument types of target method * @return true if the target is instrumented */ private boolean isTargetInstrumented( - org.apache.bcel.generic.InvokeInstruction invoke, + InvokeInstruction invoke, + MethodGen24 mgen, @ClassGetName String classname, String methodName, - Type[] argTypes) { - boolean targetInstrumented; + ClassDesc[] argTypes) { + + boolean targetInstrumented = true; + Opcode op = invoke.opcode(); - if (invoke instanceof INVOKEDYNAMIC) { + if (op.equals(Opcode.INVOKEDYNAMIC)) { // We don't instrument lambda methods. - // BUG: BCEL doesn't know how to get classname from an INVOKEDYNAMIC instruction. if (debugHandleInvoke) { System.out.printf("invokedynamic NOT the classname: %s%n", classname); } targetInstrumented = false; - // else if (is_object_method(methodName, invoke.getArgumentTypes(pool))) { - } else if (is_object_method(methodName, new ClassDesc[] {CD_long, CD_int})) { + } else if (is_object_method(methodName, argTypes)) { targetInstrumented = false; } else { targetInstrumented = isClassnameInstrumented(classname, methodName); if (debugHandleInvoke) { - System.out.printf("invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); + System.out.printf("invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); System.out.printf("invoke targ: %s%n", classname + "." + methodName); } @@ -2800,10 +2865,10 @@ private boolean isTargetInstrumented( // interface to ANNOTATION in our accessFlags map. // if (targetInstrumented == true - && (invoke instanceof INVOKEINTERFACE || invoke instanceof INVOKEVIRTUAL)) { + && (op.equals(Opcode.INVOKEINTERFACE) || op.equals(Opcode.INVOKEVIRTUAL))) { Integer access = getAccessFlags(classname); - if ((access.intValue() & Const.ACC_ANNOTATION) != 0) { + if ((access.intValue() & ClassFile.ACC_ANNOTATION) != 0) { targetInstrumented = false; } @@ -2825,9 +2890,11 @@ private boolean isTargetInstrumented( } } + // UNDONE fix up this code + boolean doit = false; // If we are not using the instrumented JDK, then we need to track down the // actual target of an INVOKEVIRTUAL to see if it has been instrumented or not. - if (targetInstrumented == true && invoke instanceof INVOKEVIRTUAL) { + if (doit && targetInstrumented == true && op.equals(Opcode.INVOKEVIRTUAL)) { if (!Premain.jdk_instrumented && !mgen.getName().equals("equals_dcomp_instrumented")) { if (debugHandleInvoke) { @@ -2917,8 +2984,8 @@ private boolean isTargetInstrumented( } } - if (invoke instanceof INVOKESPECIAL) { - if (classname.equals(gen.getSuperclassName()) && methodName.equals("")) { + if (op.equals(Opcode.INVOKESPECIAL)) { + if (classname.equals(classGen.getSuperclassName()) && methodName.equals("")) { this.constructor_is_initialized = true; } } @@ -2937,28 +3004,37 @@ private Integer getAccessFlags(String classname) { if (access == null) { // We have not seen this class before. Check to see if the target class is // an Annotation or a FunctionalInterface. - // JavaClass c ; // = getJavaClass(classname); - // if (c != null) { - // access = c.getAccessFlags(); - // - // // Now check for FunctionalInterface - // for (final AnnotationEntry item : c.getAnnotationEntries()) { - // if (item.getAnnotationType().endsWith("FunctionalInterface;")) { - // access = Integer_ACC_ANNOTATION; - // if (debugHandleInvoke) { - // System.out.println(item.getAnnotationType()); - // } - // break; - // } - // } - // } else { - // // We cannot locate or read the .class file, better pretend it is an Annotation. - // if (debugHandleInvoke) { - // System.out.printf("Unable to locate class: %s%n", classname); - // } - // access = Integer_ACC_ANNOTATION; - // } - // accessFlags.put(classname, access); + ClassModel cm = getClassModel(classname); + if (cm != null) { + access = cm.flags().flagsMask(); + + // Now check for FunctionalInterface + searchloop: + for (java.lang.classfile.Attribute attribute : classModel.attributes()) { + if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { + for (final Annotation item : rvaa.annotations()) { + String annotation = item.className().stringValue(); + if (debugHandleInvoke) { + System.out.println("annotation: " + annotation); + } + if (annotation.endsWith("FunctionalInterface;")) { + access = Integer_ACC_ANNOTATION; + if (debugHandleInvoke) { + System.out.println("FunctionalInterface is true"); + } + break searchloop; + } + } + } + } + } else { + // We cannot locate or read the .class file, better pretend it is an Annotation. + if (debugHandleInvoke) { + System.out.printf("Unable to locate class: %s%n", classname); + } + access = Integer_ACC_ANNOTATION; + } + accessFlags.put(classname, access); } return access; } @@ -3050,17 +3126,16 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m * Given a classname return it's superclass name. Note that BCEL reports that the superclass of * 'java.lang.Object' is 'java.lang.Object' rather than saying there is no superclass. * + * @param classname the fully qualified name of the class in binary form. E.g., "java.util.List" * @return superclass name of classname or null if there is an error */ - // * @param classname the fully qualified name of the class in binary form. E.g., - // "java.util.List" - private @ClassGetName String getSuperclassName() { // (String classname) { - // JavaClass jc ; // = getJavaClass(classname); - // if (jc != null) { - // return jc.getSuperclassName(); - // } else { - return null; - // } + private @ClassGetName String getSuperclassName(String classname) { + ClassModel cm = getClassModel(classname); + if (cm != null) { + return ClassGen24.getSuperclassName(cm); + } else { + return null; + } } /** Cache for {@link #getClassModel} method. */ @@ -3110,9 +3185,11 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m * @return true if method is Object.equals() */ @Pure - boolean is_object_equals(String methodName, Type returnType, Type[] args) { - return (methodName.equals("equals") && returnType == Type.BOOLEAN && args.length == 1); - // && args[0].equals(javalangObjectCD)); + boolean is_object_equals(String methodName, ClassDesc returnType, ClassDesc[] args) { + return (methodName.equals("equals") + && returnType.equals(CD_boolean) + && args.length == 1 + && args[0].equals(CD_Object)); } /** @@ -3124,10 +3201,8 @@ boolean is_object_equals(String methodName, Type returnType, Type[] args) { * @return true if method is Object.clone() */ @Pure - boolean is_object_clone(String methodName, Type returnType, Type[] args) { - return methodName.equals("clone") - // && returnType.equals(javalangObjectCD) - && (args.length == 0); + boolean is_object_clone(String methodName, ClassDesc returnType, ClassDesc[] args) { + return methodName.equals("clone") && returnType.equals(CD_Object) && (args.length == 0); } /** @@ -3135,38 +3210,37 @@ boolean is_object_clone(String methodName, Type returnType, Type[] args) { * the non-instrumented version if it does not. * * @param invoke invoke instruction to inspect and replace - * @return InstructionList to call the correct version of clone or toString + * @param returnType return type of method + * @param classname target class + * @return instruction list to call the correct version of clone or toString */ - InstructionList instrument_clone_call(org.apache.bcel.generic.InvokeInstruction invoke) { + private List instrument_clone_call( + InvokeInstruction invoke, ClassDesc returnType, @ClassGetName String classname) { - InstructionList il = new InstructionList(); - // Type returnType = invoke.getReturnType(pool); - String classname = invoke.getClassName(pool); - ReferenceType ref_type = invoke.getReferenceType(pool); - if (ref_type instanceof ArrayType) { + List il = new ArrayList<>(); + if (classname.startsWith("[")) { // .clone() is never instrumented, return original invoke. - il.append(invoke); + il.add(invoke); return il; } // push the target class - il.append(new LDC(pool.addClass(classname))); + il.add(buildLDCInstruction(poolBuilder.stringEntry(classname))); // if this is a super call - // if (invoke.getOpcode() == Const.INVOKESPECIAL) { + if (invoke.opcode().equals(Opcode.INVOKESPECIAL)) { - // Runtime will discover if the object's superclass has an instrumented clone method. - // If so, call it; otherwise call the uninstrumented version. - // use CD_Class - // il.append(dcr_call("dcomp_super_clone", returnType, new Type[] {Type.OBJECT, - // javalangClass})); + // Runtime will discover if the object's superclass has an instrumented clone method. + // If so, call it; otherwise call the uninstrumented version. + // use CD_Class + il.add(dcr_call("dcomp_super_clone", returnType, new ClassDesc[] {CD_Object, CD_Class})); - // } else { // a regular (non-super) clone() call + } else { // a regular (non-super) clone() call - // Runtime will discover if the object has an instrumented clone method. - // If so, call it; otherwise call the uninstrumented version. - // il.append(dcr_call("dcomp_clone", returnType, new Type[] {Type.OBJECT, javalangClass})); - // } + // Runtime will discover if the object has an instrumented clone method. + // If so, call it; otherwise call the uninstrumented version. + il.add(dcr_call("dcomp_clone", returnType, new ClassDesc[] {CD_Object, CD_Class})); + } return il; } @@ -3400,6 +3474,8 @@ int get_field_num(String name, ObjectType obj_type) { */ LocalVariableGen get_tmp2_local(MethodGen mg, Type typ) { + // UNDONE - not converted + String name = "dcomp_$tmp_" + typ; // System.out.printf("local var name = %s%n", name); @@ -3451,6 +3527,8 @@ private LocalVariable getReturnLocal( */ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { + // UNDONE - not converted + // Find the local used for the return value LocalVariableGen return_local = null; for (LocalVariableGen lv : mg.getLocalVariables()) { // should be localsTable? @@ -3777,13 +3855,13 @@ List discard_tag_code(CodeElement inst, int tag_count) { * we need to do the same on the tag stack. Otherwise, we need do nothing. */ InstructionList dup_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - Type top = stack.peek(); + // Type top = stack.peek(); if (debug_dup.enabled) { debug_dup.log("DUP -> %s [... %s]%n", "dup", stack_contents(stack, 2)); } - if (is_primitive(top)) { - // return build_il(dcr_call("dup", Type.VOID, Type.NO_ARGS), inst); - } + // if (is_primitive(top)) { + // return build_il(dcr_call("dup", Type.VOID, Type.NO_ARGS), inst); + // } return null; } @@ -3794,17 +3872,17 @@ InstructionList dup_tag(org.apache.bcel.generic.Instruction inst, OperandStack s * (which contains only primitives). */ InstructionList dup_x1_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - Type top = stack.peek(); + // Type top = stack.peek(); if (debug_dup.enabled) { debug_dup.log("DUP -> %s [... %s]%n", "dup_x1", stack_contents(stack, 2)); } - if (!is_primitive(top)) { - return null; - } + // if (!is_primitive(top)) { + // return null; + // } // String method = "dup_x1"; - if (!is_primitive(stack.peek(1))) { - // method = "dup"; - } + // if (!is_primitive(stack.peek(1))) { + // method = "dup"; + // } // return build_il(dcr_call(method, Type.VOID, Type.NO_ARGS), inst); return null; } @@ -3814,38 +3892,38 @@ InstructionList dup_x1_tag(org.apache.bcel.generic.Instruction inst, OperandStac * 3 values down on the stack. */ InstructionList dup2_x1_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - String op; - Type top = stack.peek(); - if (is_category2(top)) { - if (is_primitive(stack.peek(1))) { - op = "dup_x1"; - } else { // not a primitive, so just dup - op = "dup"; - } - } else if (is_primitive(top)) { - if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup2_x1"; - else if (is_primitive(stack.peek(1))) op = "dup2"; - else if (is_primitive(stack.peek(2))) op = "dup_x1"; - else { - // neither value 1 nor value 2 is primitive - op = "dup"; - } - } else { // top is not primitive - if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) { - op = "dup_x1"; - } else if (is_primitive(stack.peek(1))) { - op = "dup"; - } else { // neither of the top two values is primitive - op = null; - } - } - if (debug_dup.enabled) { - debug_dup.log("DUP2_X1 -> %s [... %s]%n", op, stack_contents(stack, 3)); - } + // String op; + // Type top = stack.peek(); + // if (is_category2(top)) { + // if (is_primitive(stack.peek(1))) { + // op = "dup_x1"; + // } else { // not a primitive, so just dup + // op = "dup"; + // } + // } else if (is_primitive(top)) { + // if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup2_x1"; + // else if (is_primitive(stack.peek(1))) op = "dup2"; + // else if (is_primitive(stack.peek(2))) op = "dup_x1"; + // else { + //// neither value 1 nor value 2 is primitive + // op = "dup"; + // } + // } else { // top is not primitive + // if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) { + // op = "dup_x1"; + // } else if (is_primitive(stack.peek(1))) { + // op = "dup"; + // } else { // neither of the top two values is primitive + // op = null; + // } + // } + // if (debug_dup.enabled) { + // debug_dup.log("DUP2_X1 -> %s [... %s]%n", op, stack_contents(stack, 3)); + // } - if (op != null) { - // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); - } + // if (op != null) { + // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + // } return null; } @@ -3858,8 +3936,8 @@ InstructionList dup2_tag(org.apache.bcel.generic.Instruction inst, OperandStack String op; if (is_category2(top)) { op = "dup"; - } else if (is_primitive(top) && is_primitive(stack.peek(1))) op = "dup2"; - else if (is_primitive(top) || is_primitive(stack.peek(1))) op = "dup"; + } // else if (is_primitive(top) && is_primitive(stack.peek(1))) op = "dup2"; + // else if (is_primitive(top) || is_primitive(stack.peek(1))) op = "dup"; else { // both of the top two items are not primitive, nothing to dup op = null; @@ -3878,16 +3956,16 @@ InstructionList dup2_tag(org.apache.bcel.generic.Instruction inst, OperandStack * on the stack. */ InstructionList dup_x2(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - Type top = stack.peek(); + // Type top = stack.peek(); String op = null; - if (is_primitive(top)) { - if (is_category2(stack.peek(1))) op = "dup_x1"; - else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; - else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; - else { - op = "dup"; - } - } + // if (is_primitive(top)) { + // if (is_category2(stack.peek(1))) op = "dup_x1"; + // else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; + // else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; + // else { + // op = "dup"; + // } + // } if (debug_dup.enabled) { debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); } @@ -3901,66 +3979,66 @@ InstructionList dup_x2(org.apache.bcel.generic.Instruction inst, OperandStack st * Duplicate the top one or two operand stack values and insert two, three, or four values down. */ InstructionList dup2_x2(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - Type top = stack.peek(); - String op; - if (is_category2(top)) { - if (is_category2(stack.peek(1))) op = "dup_x1"; - else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; - else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; - else { - // both values are references - op = "dup"; - } - } else if (is_primitive(top)) { - if (is_category2(stack.peek(1))) { - throw new Error("not supposed to happen " + stack_contents(stack, 3)); - } else if (is_category2(stack.peek(2))) { - if (is_primitive(stack.peek(1))) { - op = "dup2_x1"; - } else { - op = "dup_x1"; - } - } else if (is_primitive(stack.peek(1))) { - if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup2_x2"; - else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup2_x1"; - else { - // both 2 and 3 are references - op = "dup2"; - } - } else { // 1 is a reference - if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup_x2"; - else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup_x1"; - else { - // both 2 and 3 are references - op = "dup"; - } - } - } else { // top is a reference - if (is_category2(stack.peek(1))) { - throw new Error("not supposed to happen " + stack_contents(stack, 3)); - } else if (is_category2(stack.peek(2))) { - if (is_primitive(stack.peek(1))) { - op = "dup_x1"; - } else { - op = null; // nothing to dup - } - } else if (is_primitive(stack.peek(1))) { - if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup_x2"; - else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup_x1"; - else { - // both 2 and 3 are references - op = "dup"; - } - } else { // 1 is a reference - op = null; // nothing to dup - } - } - if (debug_dup.enabled) { - debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); - } - if (op != null) { - // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); - } + // Type top = stack.peek(); + // String op; + // if (is_category2(top)) { + // if (is_category2(stack.peek(1))) op = "dup_x1"; + // else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; + // else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; + // else { + //// both values are references + // op = "dup"; + // } + // } else if (is_primitive(top)) { + // if (is_category2(stack.peek(1))) { + // throw new Error("not supposed to happen " + stack_contents(stack, 3)); + // } else if (is_category2(stack.peek(2))) { + // if (is_primitive(stack.peek(1))) { + // op = "dup2_x1"; + // } else { + // op = "dup_x1"; + // } + // } else if (is_primitive(stack.peek(1))) { + // if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup2_x2"; + // else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup2_x1"; + // else { + //// both 2 and 3 are references + // op = "dup2"; + // } + // } else { // 1 is a reference + // if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup_x2"; + // else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup_x1"; + // else { + //// both 2 and 3 are references + // op = "dup"; + // } + // } + // } else { // top is a reference + // if (is_category2(stack.peek(1))) { + // throw new Error("not supposed to happen " + stack_contents(stack, 3)); + // } else if (is_category2(stack.peek(2))) { + // if (is_primitive(stack.peek(1))) { + // op = "dup_x1"; + // } else { + // op = null; // nothing to dup + // } + // } else if (is_primitive(stack.peek(1))) { + // if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup_x2"; + // else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup_x1"; + // else { + //// both 2 and 3 are references + // op = "dup"; + // } + // } else { // 1 is a reference + // op = null; // nothing to dup + // } + // } + // if (debug_dup.enabled) { + // debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); + // } + // if (op != null) { + // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + // } return null; } @@ -3969,10 +4047,10 @@ InstructionList dup2_x2(org.apache.bcel.generic.Instruction inst, OperandStack s * the item on the top of the stack is a primitive. */ InstructionList pop_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - Type top = stack.peek(); - if (is_primitive(top)) { - // return discard_tag_code(inst, 1); - } + // Type top = stack.peek(); + // if (is_primitive(top)) { + // return discard_tag_code(inst, 1); + // } return null; } @@ -3986,12 +4064,12 @@ InstructionList pop2_tag(org.apache.bcel.generic.Instruction inst, OperandStack // return discard_tag_code(inst, 1); } else { int cnt = 0; - if (is_primitive(top)) { - cnt++; - } - if (is_primitive(stack.peek(1))) { - cnt++; - } + // if (is_primitive(top)) { + // cnt++; + // } + // if (is_primitive(stack.peek(1))) { + // cnt++; + // } if (cnt > 0) { // return discard_tag_code(inst, cnt); } @@ -4004,11 +4082,11 @@ InstructionList pop2_tag(org.apache.bcel.generic.Instruction inst, OperandStack * stack if the two top elements on the real stack are primitives. */ InstructionList swap_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - Type type1 = stack.peek(); - Type type2 = stack.peek(1); - if (is_primitive(type1) && is_primitive(type2)) { - // return build_il(dcr_call("swap", Type.VOID, Type.NO_ARGS), inst); - } + // Type type1 = stack.peek(); + // Type type2 = stack.peek(1); + // if (is_primitive(type1) && is_primitive(type2)) { + // return build_il(dcr_call("swap", Type.VOID, Type.NO_ARGS), inst); + // } return null; } @@ -4044,11 +4122,10 @@ private List return_tag(MethodGen24 mgen, Instruction inst) { // Push the tag frame il.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); - // if ((type instanceof BasicType) && (type != Type.VOID)) { - if (type.isPrimitive()) { - il.add(dcr_call("normal_exit_primitive", CD_void, object_arg)); + if (is_primitive(type)) { + il.add(dcr_call("normal_exit_primitive", CD_void, objectArrayCD_arg)); } else { - il.add(dcr_call("normal_exit", CD_void, object_arg)); + il.add(dcr_call("normal_exit", CD_void, objectArrayCD_arg)); } il.add(inst); return il; @@ -4061,8 +4138,8 @@ private List return_tag(MethodGen24 mgen, Instruction inst) { * @return true if type is primitive */ @Pure - boolean is_primitive(Type type) { - return (type instanceof BasicType) && (type != Type.VOID); + boolean is_primitive(ClassDesc type) { + return type.isPrimitive() && !type.equals(CD_void); } /** @@ -4160,6 +4237,8 @@ void fix_native(ClassGen gen, MethodGen mg) { // push a tag if there is a primitive return value Type returnType = mg.getReturnType(); + // UNDONE change to: + // if (is_primitive(returnType)) { if ((returnType instanceof BasicType) && (returnType != Type.VOID)) { il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); } @@ -4815,7 +4894,9 @@ void createMainStub(MethodGen24 mgen, ClassBuilder classBuilder, ClassInfo class MethodRefEntry mre = poolBuilder.methodRefEntry( - ClassDesc.of(classInfo.class_name), "main", MethodTypeDesc.of(CD_void, CD_String)); + ClassDesc.of(classInfo.class_name), + "main", + MethodTypeDesc.of(CD_void, CD_String.arrayType(1))); instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); // call real main instructions.add(ReturnInstruction.of(TypeKind.VOID)); diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java new file mode 100644 index 0000000000..f51558f506 --- /dev/null +++ b/java/daikon/dcomp/OperandStack24.java @@ -0,0 +1,209 @@ +// This is a modified version of BCEL's OperandStack. See below for details. + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package daikon.dcomp; + +import java.lang.classfile.TypeKind; +import java.lang.constant.ClassDesc; +import java.util.ArrayList; +import org.checkerframework.checker.index.qual.NonNegative; +import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.dataflow.qual.Pure; + +/** + * This is a modified version of BCEL's OperandStack. We assume that the class file has been + * previously verified, so we check very few error contitions. + * + *

This class implements a stack used for symbolic JVM stack simulation. [It's used as an operand + * stack substitute.] Elements of this stack are {@link ClassDesc} objects. + */ +public class OperandStack24 implements Cloneable { + + /** We hold the stack information here. */ + private ArrayList stack = new ArrayList<>(); + + /** The maximum number of stack slots this OperandStack instance may hold. */ + private final @NonNegative int maxStack; + + /** Creates an empty stack with a maximum of maxStack slots. */ + public OperandStack24(final @NonNegative int maxStack) { + this.maxStack = maxStack; + } + + /** Clears the stack. */ + public void clear() { + stack = new ArrayList<>(); + } + + /** + * Returns a deep copy of this object; that means, the clone operates on a new stack. However, the + * ClassDesc objects on the stack are shared. + */ + @Override + public Object clone() { + final OperandStack24 newstack = new OperandStack24(this.maxStack); + @SuppressWarnings("unchecked") // OK because this.stack is the same type + final ArrayList clone = (ArrayList) this.stack.clone(); + newstack.stack = clone; + return newstack; + } + + /** + * Returns true if and only if this OperandStack equals another, meaning equal lengths and equal + * objects on the stacks. + */ + @Override + public boolean equals(final @Nullable Object o) { + if (!(o instanceof OperandStack24)) { + return false; + } + final OperandStack24 s = (OperandStack24) o; + return this.stack.equals(s.stack); + } + + /** + * Returns a (typed!) clone of this. + * + * @see #clone() + */ + public OperandStack24 getClone() { + return (OperandStack24) this.clone(); + } + + /** + * @return a hash code value for the object. + */ + @Override + public int hashCode() { + return stack.hashCode(); + } + + /** Returns true IFF this OperandStack is empty. */ + public boolean isEmpty() { + return stack.isEmpty(); + } + + /** Returns the number of stack slots this stack can hold. */ + @Pure + public @NonNegative int maxStack() { + return this.maxStack; + } + + /** + * Merges another stack state into this instance's stack state. See the Java Virtual Machine + * Specification, Second Edition, page 146: 4.9.2 for details. + */ + public void merge(final OperandStack24 s) { + if (slotsUsed() != s.slotsUsed() || size() != s.size()) { + throw new Error( + "Cannot merge stacks of different size:\nOperandStack A:\n" + + this + + "\nOperandStack B:\n" + + s); + } + + for (int i = 0; i < size(); i++) { + if (!stack.get(i).equals(s.stack.get(i))) { + throw new Error( + "Cannot merge stack types don't match:\nOperandStack A:\n" + + this + + "\nOperandStack B:\n" + + s); + } + } + } + + /** Returns the element on top of the stack. The element is not popped off the stack! */ + @Pure + public ClassDesc peek() { + return peek(0); + } + + /** + * Returns the element that's i elements below the top element; that means, iff i==0 the top + * element is returned. The element is not popped off the stack! + */ + @Pure + public ClassDesc peek(final int i) { + return stack.get(size() - i - 1); + } + + /** Returns the element on top of the stack. The element is popped off the stack. */ + public ClassDesc pop() { + return stack.remove(size() - 1); + } + + /** + * Pops i elements off the stack. Always returns null. + * + * @return Always returns null. + */ + public @Nullable ClassDesc pop(final int count) { + for (int j = 0; j < count; j++) { + pop(); + } + return null; + } + + /** Pushes a ClassDesc object onto the stack. */ + public void push(final ClassDesc type) { + stack.add(type); + } + + /** Returns the size of this OperandStack; that means, how many ClassDesc objects there are. */ + @Pure + public @NonNegative int size() { + return stack.size(); + } + + /** + * Returns the number of stack slots used. + * + * @see #maxStack() + */ + public @NonNegative int slotsUsed() { + /* + * XXX change this to a better implementation using a variable that keeps track of the actual slotsUsed()-value + * monitoring all push()es and pop()s. + */ + int slots = 0; + for (int i = 0; i < stack.size(); i++) { + slots += TypeKind.from(peek(i)).slotSize(); + } + return slots; + } + + /** Returns a String representation of this OperandStack instance. */ + @Override + public String toString() { + final StringBuilder sb = new StringBuilder(); + sb.append("Slots used: "); + sb.append(slotsUsed()); + sb.append(" MaxStack: "); + sb.append(maxStack); + sb.append(".\n"); + for (int i = 0; i < size(); i++) { + sb.append(peek(i)); + sb.append(" (Size: "); + sb.append(String.valueOf(TypeKind.from(peek(i)).slotSize())); + sb.append(")\n"); + } + return sb.toString(); + } +} From 191f38e098c253690c20555b2782ca720f0222e8 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 10 Jun 2025 07:30:10 -0700 Subject: [PATCH 028/211] fix checker issues --- java/daikon/dcomp/CalcStack24.java | 4 ++-- java/daikon/dcomp/OperandStack24.java | 15 ++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 965bccd79e..f95e746d59 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -84,12 +84,12 @@ boolean calcOperandStack( { stack.pop(); // pop the index final ClassDesc t = stack.pop(); // pop the arrayref - if (t == nullCD) { + if (t.equals(nullCD)) { stack.push(nullCD); // Do nothing stackwise --- a NullPointerException is thrown at Run-Time } else { final ClassDesc ct = t.componentType(); - if (ct == nullCD) { + if (ct == null) { throw new Error("stack item not an arrayref: " + inst); } stack.push(ct); diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index f51558f506..4a29ea36b9 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -23,6 +23,7 @@ import java.lang.constant.ClassDesc; import java.util.ArrayList; import org.checkerframework.checker.index.qual.NonNegative; +import org.checkerframework.checker.lock.qual.GuardSatisfied; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.dataflow.qual.Pure; @@ -56,7 +57,7 @@ public void clear() { * ClassDesc objects on the stack are shared. */ @Override - public Object clone() { + public Object clone(@GuardSatisfied OperandStack24 this) { final OperandStack24 newstack = new OperandStack24(this.maxStack); @SuppressWarnings("unchecked") // OK because this.stack is the same type final ArrayList clone = (ArrayList) this.stack.clone(); @@ -69,7 +70,7 @@ public Object clone() { * objects on the stacks. */ @Override - public boolean equals(final @Nullable Object o) { + public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Nullable Object o) { if (!(o instanceof OperandStack24)) { return false; } @@ -90,7 +91,7 @@ public OperandStack24 getClone() { * @return a hash code value for the object. */ @Override - public int hashCode() { + public int hashCode(@GuardSatisfied OperandStack24 this) { return stack.hashCode(); } @@ -140,7 +141,7 @@ public ClassDesc peek() { * element is returned. The element is not popped off the stack! */ @Pure - public ClassDesc peek(final int i) { + public ClassDesc peek(@GuardSatisfied OperandStack24 this, final int i) { return stack.get(size() - i - 1); } @@ -168,7 +169,7 @@ public void push(final ClassDesc type) { /** Returns the size of this OperandStack; that means, how many ClassDesc objects there are. */ @Pure - public @NonNegative int size() { + public @NonNegative int size(@GuardSatisfied OperandStack24 this) { return stack.size(); } @@ -177,7 +178,7 @@ public void push(final ClassDesc type) { * * @see #maxStack() */ - public @NonNegative int slotsUsed() { + public @NonNegative int slotsUsed(@GuardSatisfied OperandStack24 this) { /* * XXX change this to a better implementation using a variable that keeps track of the actual slotsUsed()-value * monitoring all push()es and pop()s. @@ -191,7 +192,7 @@ public void push(final ClassDesc type) { /** Returns a String representation of this OperandStack instance. */ @Override - public String toString() { + public String toString(@GuardSatisfied OperandStack24 this) { final StringBuilder sb = new StringBuilder(); sb.append("Slots used: "); sb.append(slotsUsed()); From 04ea388763c3893393f2e1fb2f7f9b4a3002856c Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 12 Jun 2025 08:47:35 -0700 Subject: [PATCH 029/211] Fix JAVA24 tests --- java/Makefile | 141 +++++++++++++------------------------------------- 1 file changed, 36 insertions(+), 105 deletions(-) diff --git a/java/Makefile b/java/Makefile index 3b9d0b3ded..4a04474f47 100644 --- a/java/Makefile +++ b/java/Makefile @@ -21,7 +21,7 @@ JAVAC ?= javac JAVADOC ?= javadoc JAR ?= jar -# The "JAVANN" variables mean "at least version NN". +# The "JAVANN" variables mean "at least version NN", except JAVA8. JAVA_VERSION_STRING_WITH_EA := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2) JAVA_VERSION_STRING := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2 | sed 's/-ea//') ifneq (,$(findstring start1.8,start$(JAVA_VERSION_STRING))) @@ -138,16 +138,27 @@ ifneq "$(wildcard ${SORT_DIRECTORY_ORDER})" "${SORT_DIRECTORY_ORDER}" SORT_DIRECTORY_ORDER = sort endif -# Because we need to compile the Java 24 files with different options, we need to remove them from -# the file lists and then, if we are running on Java 24, add them back in. -# Currently, there are four: chicory/Instrument24.java chicory/MethodGen24.java +# Currently, there are four files that require Java 24: +# chicory/Instrument24.java chicory/MethodGen24.java # dcomp/Instrument24.java dcomp/DCinstrument24.java. -DAIKON_JAVA_FILES = $(shell find daikon/ -name "*24.java" -prune -o -name '*.java' -not -name '*\#*' -print | ${SORT_DIRECTORY_ORDER}) -JAVA_FILES = $(shell find . -follow \( -name '*daikon-java*' -o -name '*daikon-instrumented*' -o -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -name 'ReturnBytecodes.java' -o -name 'SplitterFactoryTest.java' -o -name '\.\#*' \) -prune -o -name "*24.java" -prune -o -name '*.java' -print | grep -v '/jakarta-oro.*/src/java/examples/' | ${SORT_DIRECTORY_ORDER}) -# Copied from -JAVA_FILES_FOR_STYLE = $(shell find . -follow \( -name '*daikon-java*' -o -name '*daikon-instrumented*' -o -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -name 'ReturnBytecodes.java' -o -name 'SplitterFactoryTest.java' -o -name 'WeakHasherMap.java' -o -name 'WeakIdentityHashMap.java' -o -name '\.\#*' -o -path './jtb' -o -path './daikon/dcomp-transfer' \) -prune -o -name "*24.java" -prune -o -name '*.java' -print | grep -v '/jakarta-oro.*/src/java/examples/' | ${SORT_DIRECTORY_ORDER}) + +DAIKON_JAVA_FILES := $(shell find daikon/ -name "*24.java" -prune -o -name '*.java' -not -name '*\#*' -print | ${SORT_DIRECTORY_ORDER}) +ifeq ($(JAVA24), 0) + DAIKON_JAVA_FILES := $(filter-out %24.java, $(DAIKON_JAVA_FILES)) +endif +JAVA_FILES := $(shell find . -follow \( -name '*daikon-java*' -o -name '*daikon-instrumented*' -o -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -name 'ReturnBytecodes.java' -o -name 'SplitterFactoryTest.java' -o -name '\.\#*' \) -prune -o -name "*24.java" -prune -o -name '*.java' -print | grep -v '/jakarta-oro.*/src/java/examples/' | ${SORT_DIRECTORY_ORDER}) +ifeq ($(JAVA24), 0) + JAVA_FILES := $(filter-out %24.java, $(JAVA_FILES)) +endif +JAVA_FILES_FOR_STYLE := $(shell find . -follow \( -name '*daikon-java*' -o -name '*daikon-instrumented*' -o -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -name 'ReturnBytecodes.java' -o -name 'SplitterFactoryTest.java' -o -name 'WeakHasherMap.java' -o -name 'WeakIdentityHashMap.java' -o -name '\.\#*' -o -path './jtb' -o -path './daikon/dcomp-transfer' \) -prune -o -name '*.java' -print | grep -v '/jakarta-oro.*/src/java/examples/' | ${SORT_DIRECTORY_ORDER}) +ifeq ($(JAVA24), 0) + JAVA_FILES_FOR_STYLE := $(filter-out %24.java, $(JAVA_FILES_FOR_STYLE)) +endif # Other find commands should perhaps use the recursive grep form instead -JAVA_FILES_FOR_FORMAT = $(shell grep -r --include '*.java' --exclude-dir '*daikon-java*' --exclude-dir '*daikon-instrumented*' --exclude WeakHasherMap.java --exclude WeakIdentityHashMap.java --exclude InvariantDoclet.java --exclude ParameterDoclet.java --exclude '*24.java' -L 'This file is automatically generated' . | grep -v "^./jtb" | ${SORT_DIRECTORY_ORDER}) +JAVA_FILES_FOR_FORMAT := $(shell grep -r --include '*.java' --exclude-dir '*daikon-java*' --exclude-dir '*daikon-instrumented*' --exclude WeakHasherMap.java --exclude WeakIdentityHashMap.java --exclude InvariantDoclet.java --exclude ParameterDoclet.java --exclude '*24.java' -L 'This file is automatically generated' . | grep -v "^./jtb" | ${SORT_DIRECTORY_ORDER}) +ifeq ($(JAVA24), 0) + JAVA_FILES_FOR_FORMAT := $(filter-out %24.java, $(JAVA_FILES_FOR_FORMAT)) +endif # Don't exclude the whole ./daikon/test directory. TAG_FILES = $(shell find . -type f -follow \( -name '*daikon-java*' -o -name '*Test.java' -o -name '*Tester.java' -o -name 'Test*.java' -o -name 'GenericTestClass.java' -o -name 'TestQuant.java' -o -name 'DiffDummyInvariant.java' -o -name 'AllTestsSuite.java' \) -prune -o \( -name '*.java' -o -name '*.java.jpp' \) -print | grep -v '/\.\#' | ${SORT_DIRECTORY_ORDER}) @@ -452,9 +463,6 @@ all_via_daikon: chicory daikon/Daikon.class daikon/diff/Diff.class xlint: chicory ${ALL_GENERATED_FILES} @${JAVAC_COMMAND} -Xlint -Xmaxwarns 1000 ${DAIKON_JAVA_FILES} 2>&1 -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} -Xlint -Xmaxwarns 1000 daikon/chicory/*24.java 2>&1 -endif ## ${JAVA_FILES} is so long I can't see the result on the same screen as the command. # Do not mark this target as .PHONY. We want it to @@ -469,9 +477,6 @@ all_directly: ../utils/plume-scripts ${AUTO_GENERATED_FILES} java_files.txt @echo "JAVA_RELEASE_NUMBER = ${JAVA_RELEASE_NUMBER}" @echo "JAVA_VERSION_STRING_WITH_EA = ${JAVA_VERSION_STRING_WITH_EA}" ${JAVAC_COMMAND} @java_files.txt -ifeq ($(JAVA24), 1) - ${JAVAC24_COMMAND} daikon/chicory/*24.java daikon/dcomp/*24.java -endif rm -f java_files.txt # Post JDK 21, additional restrictions have been introduced that prevent developers # from explicitly creating or modifying classes in the java.lang package (or any @@ -503,9 +508,6 @@ daikon: compile_daikon junit compile_daikon : ../utils/plume-scripts $(AUTO_GENERATED_FILES) @echo $(JAVAC_COMMAND) 'daikon/*.java ...' @$(JAVAC_COMMAND) $(DAIKON_JAVA_FILES) -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} daikon/chicory/*24.java daikon/dcomp/*24.java -endif @chmod 444 ${AUTO_GENERATED_FILES} # $(MAKE) all_pass2 @@ -513,7 +515,9 @@ endif # Chicory java front end for Daikon # CHICORY_JAVA_FILES := daikon/Chicory.java $(wildcard daikon/chicory/*.java) -CHICORY_JAVA_FILES_NO_24 := $(filter-out %24.java, $(CHICORY_JAVA_FILES)) +ifeq ($(JAVA24), 0) +CHICORY_JAVA_FILES := $(filter-out %24.java, $(CHICORY_JAVA_FILES)) +endif # This actually requires Daikon to already be compiled. # It would be good to make that an explicit prerequisite. @@ -524,10 +528,7 @@ chicory : ChicoryPremain.jar chicory-test # Note that this compiles all of Chicory even though all we need for # this step is chicory/ChicoryPremain.java. ChicoryPremain.jar : $(CHICORY_JAVA_FILES) daikon/chicory/manifest.txt - $(JAVAC_COMMAND) $(CHICORY_JAVA_FILES_NO_24) -ifeq ($(JAVA24), 1) - ${JAVAC24_COMMAND} daikon/chicory/*24.java -endif + $(JAVAC_COMMAND) $(CHICORY_JAVA_FILES) $(JAR) cfm ChicoryPremain.jar daikon/chicory/manifest.txt \ daikon/chicory/ChicoryPremain.class @@ -547,7 +548,10 @@ daikon/chicory/inv_out.diff : ChicoryPremain.jar # Dynamic Comparability (DynComp/Java; also Chicory) # INSTRUMENTATION_JAVA_FILES := daikon/DynComp.java $(wildcard daikon/dcomp/*.java daikon/chicory/*.java) -INSTRUMENTATION_JAVA_FILES_NO_24 := $(filter-out %24.java, $(INSTRUMENTATION_JAVA_FILES)) +ifeq ($(JAVA24), 0) +INSTRUMENTATION_JAVA_FILES := $(filter-out %24.java, $(INSTRUMENTATION_JAVA_FILES)) +endif + DCOMP_ARGS := --ppt-select-pattern=daikon.dcomp.DcompTest DCOMP_DIR := daikon/dcomp @@ -558,10 +562,7 @@ dyncomp dcomp : plume-import-check dcomp_premain.jar dcomp-test # Note that this compiles all of dcomp even though all we need for # this step is dcomp/Premain.java. dcomp_premain.jar : $(INSTRUMENTATION_JAVA_FILES) daikon/dcomp/manifest.txt - $(JAVAC_COMMAND) $(INSTRUMENTATION_JAVA_FILES_NO_24) -ifeq ($(JAVA24), 1) - ${JAVAC24_COMMAND} daikon/chicory/*24.java daikon/dcomp/*24.java -endif + $(JAVAC_COMMAND) $(INSTRUMENTATION_JAVA_FILES) $(JAR) cfm dcomp_premain.jar daikon/dcomp/manifest.txt \ daikon/dcomp/Premain.class @@ -663,12 +664,12 @@ plume-import-check : ## Use this when you don't want $inv/tests makefiles to restart JAVA_FILES_EXCEPT_DAIKON = $(subst ./daikon/Daikon.java,,${JAVA_FILES}) +ifeq ($(JAVA24), 0) +JAVA_FILES_EXCEPT_DAIKON := $(filter-out %24.java, $(JAVA_FILES_EXCEPT_DAIKON)) +endif all_except_daikon: ../utils/plume-scripts ${AUTO_GENERATED_FILES} @echo ${JAVAC_COMMAND} '*.java ... (except Daikon.java)' @${JAVAC_COMMAND} ${JAVA_FILES_EXCEPT_DAIKON} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} daikon/chicory/*24.java daikon/dcomp/*24.java -endif @chmod a-w ${AUTO_GENERATED_FILES} $(MAKE) all_pass2 @@ -785,7 +786,7 @@ else extra-error-prone-args-1 = --should-stop=ifError=FLOW endif ifeq ($(JAVA24), 1) - extra-error-prone-args-2 = -source 24 -target 24 daikon/chicory/*24.java daikon/dcomp/*24.java + extra-error-prone-args-2 = -source 24 -target 24 endif ERRORPRONE_PROCESSOR_PATH := ${DAIKONDIR}/java/lib/error-prone/error_prone_core-${error-prone-version}-with-dependencies.jar:${DAIKONDIR}/java/lib/error-prone/dataflow-errorprone-3.48.4.jar @@ -872,17 +873,13 @@ audit: .PHONY: reformat check-format -ifeq ($(JAVA24), 1) - extra-format-arg = ./daikon/chicory/*24.java ./daikon/dcomp/*24.java -endif - format: reformat reformat: ifeq ($(JAVA17), 0) echo "Formatting is not run under Java ${JAVA_VERSION_STRING}" else ${MAKE} -C .. update-run-google-java-format - @../utils/run-google-java-format/run-google-java-format.py ${extra-format-arg} \ + @../utils/run-google-java-format/run-google-java-format.py \ ${JAVA_FILES_FOR_FORMAT} endif @@ -891,7 +888,7 @@ ifeq ($(JAVA17), 0) echo "Formatting is not run under Java ${JAVA_VERSION_STRING}" else ${MAKE} -C .. update-run-google-java-format - @../utils/run-google-java-format/check-google-java-format.py ${extra-format-arg} \ + @../utils/run-google-java-format/check-google-java-format.py \ ${JAVA_FILES_FOR_FORMAT} || (echo "Try running: make reformat" && /bin/false) endif @@ -983,20 +980,12 @@ typecheck-formatter: ${ALL_GENERATED_FILES} compile typecheck-formatter-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif typecheck-index: ${ALL_GENERATED_FILES} compile $(MAKE) typecheck-index-nocompile typecheck-index-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ${INDEX_JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif # Run the index checker on all Java files, not just those in the daikon package. # For instance, this includes jtb, which is not annotated with @Interned. @@ -1005,10 +994,6 @@ typecheck-index-all: ${ALL_GENERATED_FILES} compile typecheck-index-all-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif # This target runs the Index checker on just one file. # Typical command: @@ -1022,10 +1007,6 @@ typecheck-interning: ${ALL_GENERATED_FILES} compile typecheck-interning-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ${INTERNING_JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif # Run the interning checker on all Java files, not just those in the daikon package. # For instance, this includes jtb, which is not annotated with @Interned. @@ -1034,10 +1015,6 @@ typecheck-interning-all: ${ALL_GENERATED_FILES} compile typecheck-interning-all-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif # This target runs the Interning checker on just one file. # Typical command: @@ -1051,20 +1028,12 @@ typecheck-lock: ${ALL_GENERATED_FILES} compile typecheck-lock-nocompile: @echo ${JAVAC_COMMAND} ${CHECKER_ARGS} ${JAVAC_LOCK_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_LOCK_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_LOCK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_LOCK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif typecheck-nullness: compile compile-typequals $(MAKE) typecheck-nullness-nocompile typecheck-nullness-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo ${JAVAC24_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif # These targets run the Nullness checker on just one file. # Typical command: @@ -1083,50 +1052,24 @@ typecheck-prototype: compile compile-typequals typecheck-prototype-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif - -typecheck-regex: ${ALL_GENERATED_FILES} compile - $(MAKE) typecheck-regex-nocompile -typecheck-regex-nocompile: - @echo ${JAVAC_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} ... - @${JAVAC_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif typecheck-regex-qual: ${ALL_GENERATED_FILES} compile $(MAKE) typecheck-regex-qual-nocompile typecheck-regex-qual-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif typecheck-resourceleak: ${ALL_GENERATED_FILES} compile $(MAKE) typecheck-resourceleak-nocompile typecheck-resourceleak-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif typecheck-signature: ${ALL_GENERATED_FILES} compile $(MAKE) typecheck-signature-nocompile typecheck-signature-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif # This target runs the Signature checker on just one file. # Typical command: @@ -1141,20 +1084,12 @@ typecheck-signedness: ${ALL_GENERATED_FILES} compile typecheck-signedness-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif typecheck-vindex: compile compile-typequals $(MAKE) typecheck-vindex-nocompile typecheck-vindex-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} -Xbootclasspath/p:${DAIKONDIR}/java ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif TYPEQUALS_JAVA_FILES = $(wildcard typequals/*.java) TYPEQUALS_CLASSES = $(subst .java,.class,${TYPEQUALS_JAVA_FILES}) @@ -1217,10 +1152,6 @@ JAVAC_COUNT_ARGS = -processor org.checkerframework.common.util.count.Locations - possible-annos: ${ALL_GENERATED_FILES} compile-typequals compile @echo ${JAVAC_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} -ifeq ($(JAVA24), 1) - @echo @${JAVAC24_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java - @${JAVAC24_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java daikon/dcomp/*24.java -endif @@ -1379,7 +1310,7 @@ requireJavadoc: $(JAVA_FILES) # For refactorings that touch a lot of code that you don't understand, create # top-level file SKIP-REQUIRE-JAVADOC. Delete it after the pull request is merged. if [ ! -f SKIP-REQUIRE-JAVADOC ]; then \ - ${JAVA} -jar $(wildcard ${DAIKONDIR}/java/lib/require-javadoc/require-javadoc-*-all.jar) --exclude="dcomp-transfer" ${DAIKONDIR}/java \ + ${JAVA} -jar $(wildcard ${DAIKONDIR}/java/lib/require-javadoc/require-javadoc-*-all.jar) --exclude="dcomp-transfer" ${DAIKON_JAVA_FILES} ; \ fi ../doc/invariants-doc.texinfo: ../utils/plume-scripts daikon/config/InvariantDoclet.class daikon/config/HtmlToTexinfo.class From 352a75a520420e8a524c999db8f86e2eaf3b2758 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 12 Jun 2025 11:08:49 -0700 Subject: [PATCH 030/211] Fix Java 24 compilation --- java/Makefile | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/java/Makefile b/java/Makefile index 4a04474f47..b8a63ce5d6 100644 --- a/java/Makefile +++ b/java/Makefile @@ -46,12 +46,14 @@ ifeq ($(shell test ${JAVA_RELEASE_NUMBER} -gt 20; echo $$?),0) LINT_THIS_ESCAPE=-Xlint:-this-escape endif -# Add flags like "-source 8" or "-target 8" to JAVAC_TARGET_FLAGS. -# That variable appears last and overrides the values we provide here. -JAVAC_ARGS ?= -g -XDignore.symbol.file -Xmaxerrs 100000 -Xmaxwarns 100000 -source 8 -target 8 -Werror -Xlint:-path -Xlint:-options -Xlint:-classfile ${LINT_THIS_ESCAPE} ${JAVAC_TARGET_FLAGS} +# Users can set JAVAC_TARGET_FLAGS, taking precedence over these settings. +ifeq ($(JAVA24), 0) +JAVAC_TARGET_FLAGS ?= -source 8 -target 8 +else +JAVAC_TARGET_FLAGS ?= -source 24 -target 24 +endif -# TEMP REMOVE -Werror -JAVAC24_ARGS ?= -g -XDignore.symbol.file -Xmaxerrs 100000 -Xmaxwarns 100000 -source 24 -target 24 -Xlint:-path -Xlint:-options -Xlint:-classfile ${LINT_THIS_ESCAPE} ${JAVAC_TARGET_FLAGS} +JAVAC_ARGS ?= -g -XDignore.symbol.file -Xmaxerrs 100000 -Xmaxwarns 100000 -Werror -Xlint:-path -Xlint:-options -Xlint:-classfile ${LINT_THIS_ESCAPE} ${JAVAC_TARGET_ARGS} ${JAVAC_TARGET_FLAGS} INSTALL ?= /usr/bin/install @@ -76,7 +78,6 @@ CHECKERFRAMEWORK_JAVAC ?= ${CHECKERFRAMEWORK_JAR_DIR}/javac.jar # Not := because DAIKON_CLASSPATH is set later in this file. JAVADOC_COMMAND = ${JAVADOC} -cp ${DAIKON_CLASSPATH} JAVAC_COMMAND = ${JAVAC} -cp ${DAIKON_CLASSPATH} -Xlint -J-Xmx3600m ${JAVAC_ARGS} -JAVAC24_COMMAND = ${JAVAC} -cp ${DAIKON_CLASSPATH} -Xlint -J-Xmx3600m ${JAVAC24_ARGS} JAVA_COMMAND = ${JAVA} -cp ${DAIKON_CLASSPATH} @@ -1349,8 +1350,8 @@ daikon/config/HtmlToTexinfo.class: daikon/config/HtmlToTexinfo.java showvars: @echo PWD = $(shell pwd) - @echo OSTYPE = $(OSTYPE) - @echo PATH = $(PATH) + @echo OSTYPE = $$(OSTYPE) + @echo PATH = $${PATH} @echo JAVA_HOME = $(JAVA_HOME) which java @@ -1363,6 +1364,7 @@ showvars: @echo JAVAC_ARGS = ${JAVAC_ARGS} @echo JAVAC_COMMAND = ${JAVAC_COMMAND} @echo SKIP_JAVADOC = ${SKIP_JAVADOC} + @echo JAVA24 = ${JAVA24} @echo CLASSPATH = "${CLASSPATH}" @echo DAIKON_CLASSPATH = "${DAIKON_CLASSPATH}" From 040fe090620eb96e143a8ce8cc1d33b935d2499c Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 12 Jun 2025 11:26:36 -0700 Subject: [PATCH 031/211] Improve Java 24 compilation --- java/Makefile | 145 ++++++++++++++++---------------------------------- 1 file changed, 47 insertions(+), 98 deletions(-) diff --git a/java/Makefile b/java/Makefile index 09e42f52d4..b8a63ce5d6 100644 --- a/java/Makefile +++ b/java/Makefile @@ -21,7 +21,7 @@ JAVAC ?= javac JAVADOC ?= javadoc JAR ?= jar -# The "JAVANN" variables mean "at least version NN". +# The "JAVANN" variables mean "at least version NN", except JAVA8. JAVA_VERSION_STRING_WITH_EA := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2) JAVA_VERSION_STRING := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2 | sed 's/-ea//') ifneq (,$(findstring start1.8,start$(JAVA_VERSION_STRING))) @@ -46,12 +46,14 @@ ifeq ($(shell test ${JAVA_RELEASE_NUMBER} -gt 20; echo $$?),0) LINT_THIS_ESCAPE=-Xlint:-this-escape endif -# Add flags like "-source 8" or "-target 8" to JAVAC_TARGET_FLAGS. -# That variable appears last and overrides the values we provide here. -JAVAC_ARGS ?= -g -XDignore.symbol.file -Xmaxerrs 100000 -Xmaxwarns 100000 -source 8 -target 8 -Werror -Xlint:-path -Xlint:-options -Xlint:-classfile ${LINT_THIS_ESCAPE} ${JAVAC_TARGET_FLAGS} +# Users can set JAVAC_TARGET_FLAGS, taking precedence over these settings. +ifeq ($(JAVA24), 0) +JAVAC_TARGET_FLAGS ?= -source 8 -target 8 +else +JAVAC_TARGET_FLAGS ?= -source 24 -target 24 +endif -# TEMP REMOVE -Werror -JAVAC24_ARGS ?= -g -XDignore.symbol.file -Xmaxerrs 100000 -Xmaxwarns 100000 -source 24 -target 24 -Xlint:-path -Xlint:-options -Xlint:-classfile ${LINT_THIS_ESCAPE} ${JAVAC_TARGET_FLAGS} +JAVAC_ARGS ?= -g -XDignore.symbol.file -Xmaxerrs 100000 -Xmaxwarns 100000 -Werror -Xlint:-path -Xlint:-options -Xlint:-classfile ${LINT_THIS_ESCAPE} ${JAVAC_TARGET_ARGS} ${JAVAC_TARGET_FLAGS} INSTALL ?= /usr/bin/install @@ -76,7 +78,6 @@ CHECKERFRAMEWORK_JAVAC ?= ${CHECKERFRAMEWORK_JAR_DIR}/javac.jar # Not := because DAIKON_CLASSPATH is set later in this file. JAVADOC_COMMAND = ${JAVADOC} -cp ${DAIKON_CLASSPATH} JAVAC_COMMAND = ${JAVAC} -cp ${DAIKON_CLASSPATH} -Xlint -J-Xmx3600m ${JAVAC_ARGS} -JAVAC24_COMMAND = ${JAVAC} -cp ${DAIKON_CLASSPATH} -Xlint -J-Xmx3600m ${JAVAC24_ARGS} JAVA_COMMAND = ${JAVA} -cp ${DAIKON_CLASSPATH} @@ -138,16 +139,27 @@ ifneq "$(wildcard ${SORT_DIRECTORY_ORDER})" "${SORT_DIRECTORY_ORDER}" SORT_DIRECTORY_ORDER = sort endif -# Because we need to compile the Java 24 files with different options, we need to remove them from -# the file lists and then, if we are running on Java 24, add them back in. -# Currently, there are four: chicory/Instrument24.java chicory/MethodGen24.java +# Currently, there are four files that require Java 24: +# chicory/Instrument24.java chicory/MethodGen24.java # dcomp/Instrument24.java dcomp/DCinstrument24.java. -DAIKON_JAVA_FILES = $(shell find daikon/ -name "*24.java" -prune -o -name '*.java' -not -name '*\#*' -print | ${SORT_DIRECTORY_ORDER}) -JAVA_FILES = $(shell find . -follow \( -name '*daikon-java*' -o -name '*daikon-instrumented*' -o -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -name 'ReturnBytecodes.java' -o -name 'SplitterFactoryTest.java' -o -name '\.\#*' \) -prune -o -name "*24.java" -prune -o -name '*.java' -print | grep -v '/jakarta-oro.*/src/java/examples/' | ${SORT_DIRECTORY_ORDER}) -# Copied from -JAVA_FILES_FOR_STYLE = $(shell find . -follow \( -name '*daikon-java*' -o -name '*daikon-instrumented*' -o -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -name 'ReturnBytecodes.java' -o -name 'SplitterFactoryTest.java' -o -name 'WeakHasherMap.java' -o -name 'WeakIdentityHashMap.java' -o -name '\.\#*' -o -path './jtb' -o -path './daikon/dcomp-transfer' \) -prune -o -name "*24.java" -prune -o -name '*.java' -print | grep -v '/jakarta-oro.*/src/java/examples/' | ${SORT_DIRECTORY_ORDER}) + +DAIKON_JAVA_FILES := $(shell find daikon/ -name "*24.java" -prune -o -name '*.java' -not -name '*\#*' -print | ${SORT_DIRECTORY_ORDER}) +ifeq ($(JAVA24), 0) + DAIKON_JAVA_FILES := $(filter-out %24.java, $(DAIKON_JAVA_FILES)) +endif +JAVA_FILES := $(shell find . -follow \( -name '*daikon-java*' -o -name '*daikon-instrumented*' -o -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -name 'ReturnBytecodes.java' -o -name 'SplitterFactoryTest.java' -o -name '\.\#*' \) -prune -o -name "*24.java" -prune -o -name '*.java' -print | grep -v '/jakarta-oro.*/src/java/examples/' | ${SORT_DIRECTORY_ORDER}) +ifeq ($(JAVA24), 0) + JAVA_FILES := $(filter-out %24.java, $(JAVA_FILES)) +endif +JAVA_FILES_FOR_STYLE := $(shell find . -follow \( -name '*daikon-java*' -o -name '*daikon-instrumented*' -o -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -name 'ReturnBytecodes.java' -o -name 'SplitterFactoryTest.java' -o -name 'WeakHasherMap.java' -o -name 'WeakIdentityHashMap.java' -o -name '\.\#*' -o -path './jtb' -o -path './daikon/dcomp-transfer' \) -prune -o -name '*.java' -print | grep -v '/jakarta-oro.*/src/java/examples/' | ${SORT_DIRECTORY_ORDER}) +ifeq ($(JAVA24), 0) + JAVA_FILES_FOR_STYLE := $(filter-out %24.java, $(JAVA_FILES_FOR_STYLE)) +endif # Other find commands should perhaps use the recursive grep form instead -JAVA_FILES_FOR_FORMAT = $(shell grep -r --include '*.java' --exclude-dir '*daikon-java*' --exclude-dir '*daikon-instrumented*' --exclude WeakHasherMap.java --exclude WeakIdentityHashMap.java --exclude InvariantDoclet.java --exclude ParameterDoclet.java --exclude '*24.java' -L 'This file is automatically generated' . | grep -v "^./jtb" | ${SORT_DIRECTORY_ORDER}) +JAVA_FILES_FOR_FORMAT := $(shell grep -r --include '*.java' --exclude-dir '*daikon-java*' --exclude-dir '*daikon-instrumented*' --exclude WeakHasherMap.java --exclude WeakIdentityHashMap.java --exclude InvariantDoclet.java --exclude ParameterDoclet.java --exclude '*24.java' -L 'This file is automatically generated' . | grep -v "^./jtb" | ${SORT_DIRECTORY_ORDER}) +ifeq ($(JAVA24), 0) + JAVA_FILES_FOR_FORMAT := $(filter-out %24.java, $(JAVA_FILES_FOR_FORMAT)) +endif # Don't exclude the whole ./daikon/test directory. TAG_FILES = $(shell find . -type f -follow \( -name '*daikon-java*' -o -name '*Test.java' -o -name '*Tester.java' -o -name 'Test*.java' -o -name 'GenericTestClass.java' -o -name 'TestQuant.java' -o -name 'DiffDummyInvariant.java' -o -name 'AllTestsSuite.java' \) -prune -o \( -name '*.java' -o -name '*.java.jpp' \) -print | grep -v '/\.\#' | ${SORT_DIRECTORY_ORDER}) @@ -452,9 +464,6 @@ all_via_daikon: chicory daikon/Daikon.class daikon/diff/Diff.class xlint: chicory ${ALL_GENERATED_FILES} @${JAVAC_COMMAND} -Xlint -Xmaxwarns 1000 ${DAIKON_JAVA_FILES} 2>&1 -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} -Xlint -Xmaxwarns 1000 daikon/chicory/*24.java 2>&1 -endif ## ${JAVA_FILES} is so long I can't see the result on the same screen as the command. # Do not mark this target as .PHONY. We want it to @@ -469,9 +478,6 @@ all_directly: ../utils/plume-scripts ${AUTO_GENERATED_FILES} java_files.txt @echo "JAVA_RELEASE_NUMBER = ${JAVA_RELEASE_NUMBER}" @echo "JAVA_VERSION_STRING_WITH_EA = ${JAVA_VERSION_STRING_WITH_EA}" ${JAVAC_COMMAND} @java_files.txt -ifeq ($(JAVA24), 1) - ${JAVAC24_COMMAND} daikon/chicory/*24.java -endif rm -f java_files.txt # Post JDK 21, additional restrictions have been introduced that prevent developers # from explicitly creating or modifying classes in the java.lang package (or any @@ -503,9 +509,6 @@ daikon: compile_daikon junit compile_daikon : ../utils/plume-scripts $(AUTO_GENERATED_FILES) @echo $(JAVAC_COMMAND) 'daikon/*.java ...' @$(JAVAC_COMMAND) $(DAIKON_JAVA_FILES) -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} daikon/chicory/*24.java -endif @chmod 444 ${AUTO_GENERATED_FILES} # $(MAKE) all_pass2 @@ -513,7 +516,9 @@ endif # Chicory java front end for Daikon # CHICORY_JAVA_FILES := daikon/Chicory.java $(wildcard daikon/chicory/*.java) -CHICORY_JAVA_FILES_NO_24 := $(filter-out %24.java, $(CHICORY_JAVA_FILES)) +ifeq ($(JAVA24), 0) +CHICORY_JAVA_FILES := $(filter-out %24.java, $(CHICORY_JAVA_FILES)) +endif # This actually requires Daikon to already be compiled. # It would be good to make that an explicit prerequisite. @@ -524,10 +529,7 @@ chicory : ChicoryPremain.jar chicory-test # Note that this compiles all of Chicory even though all we need for # this step is chicory/ChicoryPremain.java. ChicoryPremain.jar : $(CHICORY_JAVA_FILES) daikon/chicory/manifest.txt - $(JAVAC_COMMAND) $(CHICORY_JAVA_FILES_NO_24) -ifeq ($(JAVA24), 1) - ${JAVAC24_COMMAND} daikon/chicory/*24.java -endif + $(JAVAC_COMMAND) $(CHICORY_JAVA_FILES) $(JAR) cfm ChicoryPremain.jar daikon/chicory/manifest.txt \ daikon/chicory/ChicoryPremain.class @@ -547,7 +549,10 @@ daikon/chicory/inv_out.diff : ChicoryPremain.jar # Dynamic Comparability (DynComp/Java; also Chicory) # INSTRUMENTATION_JAVA_FILES := daikon/DynComp.java $(wildcard daikon/dcomp/*.java daikon/chicory/*.java) -INSTRUMENTATION_JAVA_FILES_NO_24 := $(filter-out %24.java, $(INSTRUMENTATION_JAVA_FILES)) +ifeq ($(JAVA24), 0) +INSTRUMENTATION_JAVA_FILES := $(filter-out %24.java, $(INSTRUMENTATION_JAVA_FILES)) +endif + DCOMP_ARGS := --ppt-select-pattern=daikon.dcomp.DcompTest DCOMP_DIR := daikon/dcomp @@ -558,10 +563,7 @@ dyncomp dcomp : plume-import-check dcomp_premain.jar dcomp-test # Note that this compiles all of dcomp even though all we need for # this step is dcomp/Premain.java. dcomp_premain.jar : $(INSTRUMENTATION_JAVA_FILES) daikon/dcomp/manifest.txt - $(JAVAC_COMMAND) $(INSTRUMENTATION_JAVA_FILES_NO_24) -ifeq ($(JAVA24), 1) - ${JAVAC24_COMMAND} daikon/chicory/*24.java -endif + $(JAVAC_COMMAND) $(INSTRUMENTATION_JAVA_FILES) $(JAR) cfm dcomp_premain.jar daikon/dcomp/manifest.txt \ daikon/dcomp/Premain.class @@ -663,12 +665,12 @@ plume-import-check : ## Use this when you don't want $inv/tests makefiles to restart JAVA_FILES_EXCEPT_DAIKON = $(subst ./daikon/Daikon.java,,${JAVA_FILES}) +ifeq ($(JAVA24), 0) +JAVA_FILES_EXCEPT_DAIKON := $(filter-out %24.java, $(JAVA_FILES_EXCEPT_DAIKON)) +endif all_except_daikon: ../utils/plume-scripts ${AUTO_GENERATED_FILES} @echo ${JAVAC_COMMAND} '*.java ... (except Daikon.java)' @${JAVAC_COMMAND} ${JAVA_FILES_EXCEPT_DAIKON} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} daikon/chicory/*24.java -endif @chmod a-w ${AUTO_GENERATED_FILES} $(MAKE) all_pass2 @@ -785,7 +787,7 @@ else extra-error-prone-args-1 = --should-stop=ifError=FLOW endif ifeq ($(JAVA24), 1) - extra-error-prone-args-2 = -source 24 -target 24 daikon/chicory/*24.java + extra-error-prone-args-2 = -source 24 -target 24 endif ERRORPRONE_PROCESSOR_PATH := ${DAIKONDIR}/java/lib/error-prone/error_prone_core-${error-prone-version}-with-dependencies.jar:${DAIKONDIR}/java/lib/error-prone/dataflow-errorprone-3.48.4.jar @@ -872,17 +874,13 @@ audit: .PHONY: reformat check-format -ifeq ($(JAVA24), 1) - extra-format-arg = ./daikon/chicory/*24.java -endif - format: reformat reformat: ifeq ($(JAVA17), 0) echo "Formatting is not run under Java ${JAVA_VERSION_STRING}" else ${MAKE} -C .. update-run-google-java-format - @../utils/run-google-java-format/run-google-java-format.py ${extra-format-arg} \ + @../utils/run-google-java-format/run-google-java-format.py \ ${JAVA_FILES_FOR_FORMAT} endif @@ -891,7 +889,7 @@ ifeq ($(JAVA17), 0) echo "Formatting is not run under Java ${JAVA_VERSION_STRING}" else ${MAKE} -C .. update-run-google-java-format - @../utils/run-google-java-format/check-google-java-format.py ${extra-format-arg} \ + @../utils/run-google-java-format/check-google-java-format.py \ ${JAVA_FILES_FOR_FORMAT} || (echo "Try running: make reformat" && /bin/false) endif @@ -983,18 +981,12 @@ typecheck-formatter: ${ALL_GENERATED_FILES} compile typecheck-formatter-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_FORMATTER_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif typecheck-index: ${ALL_GENERATED_FILES} compile $(MAKE) typecheck-index-nocompile typecheck-index-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ${INDEX_JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif # Run the index checker on all Java files, not just those in the daikon package. # For instance, this includes jtb, which is not annotated with @Interned. @@ -1003,9 +995,6 @@ typecheck-index-all: ${ALL_GENERATED_FILES} compile typecheck-index-all-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_INDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif # This target runs the Index checker on just one file. # Typical command: @@ -1019,9 +1008,6 @@ typecheck-interning: ${ALL_GENERATED_FILES} compile typecheck-interning-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ${INTERNING_JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif # Run the interning checker on all Java files, not just those in the daikon package. # For instance, this includes jtb, which is not annotated with @Interned. @@ -1030,9 +1016,6 @@ typecheck-interning-all: ${ALL_GENERATED_FILES} compile typecheck-interning-all-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_INTERNING_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif # This target runs the Interning checker on just one file. # Typical command: @@ -1046,18 +1029,12 @@ typecheck-lock: ${ALL_GENERATED_FILES} compile typecheck-lock-nocompile: @echo ${JAVAC_COMMAND} ${CHECKER_ARGS} ${JAVAC_LOCK_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_LOCK_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_LOCK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif typecheck-nullness: compile compile-typequals $(MAKE) typecheck-nullness-nocompile typecheck-nullness-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif # These targets run the Nullness checker on just one file. # Typical command: @@ -1076,45 +1053,24 @@ typecheck-prototype: compile compile-typequals typecheck-prototype-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif - -typecheck-regex: ${ALL_GENERATED_FILES} compile - $(MAKE) typecheck-regex-nocompile -typecheck-regex-nocompile: - @echo ${JAVAC_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} ... - @${JAVAC_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif typecheck-regex-qual: ${ALL_GENERATED_FILES} compile $(MAKE) typecheck-regex-qual-nocompile typecheck-regex-qual-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif typecheck-resourceleak: ${ALL_GENERATED_FILES} compile $(MAKE) typecheck-resourceleak-nocompile typecheck-resourceleak-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_RESOURCELEAK_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif typecheck-signature: ${ALL_GENERATED_FILES} compile $(MAKE) typecheck-signature-nocompile typecheck-signature-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_SIGNATURE_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif # This target runs the Signature checker on just one file. # Typical command: @@ -1129,18 +1085,12 @@ typecheck-signedness: ${ALL_GENERATED_FILES} compile typecheck-signedness-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_SIGNEDNESS_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif typecheck-vindex: compile compile-typequals $(MAKE) typecheck-vindex-nocompile typecheck-vindex-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} -Xbootclasspath/p:${DAIKONDIR}/java ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_VINDEX_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif TYPEQUALS_JAVA_FILES = $(wildcard typequals/*.java) TYPEQUALS_CLASSES = $(subst .java,.class,${TYPEQUALS_JAVA_FILES}) @@ -1203,9 +1153,6 @@ JAVAC_COUNT_ARGS = -processor org.checkerframework.common.util.count.Locations - possible-annos: ${ALL_GENERATED_FILES} compile-typequals compile @echo ${JAVAC_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} -ifeq ($(JAVA24), 1) - @${JAVAC24_COMMAND} ${JAVAC_COUNT_ARGS} ${CHECKER_ARGS} daikon/chicory/*24.java -endif @@ -1298,6 +1245,7 @@ javadoc-files.txt: find * \( -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -path 'daikon/dcomp-transfer' \) -prune -o -name "*24.java" -prune -o -name "*.java" -print | ${SORT_DIRECTORY_ORDER} > javadoc-files.txt ifeq ($(JAVA24), 1) echo daikon/chicory/*24.java >> javadoc-files.txt + echo daikon/dcomp/*24.java >> javadoc-files.txt endif # If Java 8, don't run javadoc; a bug in javadoc causes it to crash. @@ -1363,7 +1311,7 @@ requireJavadoc: $(JAVA_FILES) # For refactorings that touch a lot of code that you don't understand, create # top-level file SKIP-REQUIRE-JAVADOC. Delete it after the pull request is merged. if [ ! -f SKIP-REQUIRE-JAVADOC ]; then \ - ${JAVA} -jar $(wildcard ${DAIKONDIR}/java/lib/require-javadoc/require-javadoc-*-all.jar) --exclude="dcomp-transfer" ${DAIKONDIR}/java \ + ${JAVA} -jar $(wildcard ${DAIKONDIR}/java/lib/require-javadoc/require-javadoc-*-all.jar) --exclude="dcomp-transfer" ${DAIKON_JAVA_FILES} ; \ fi ../doc/invariants-doc.texinfo: ../utils/plume-scripts daikon/config/InvariantDoclet.class daikon/config/HtmlToTexinfo.class @@ -1402,8 +1350,8 @@ daikon/config/HtmlToTexinfo.class: daikon/config/HtmlToTexinfo.java showvars: @echo PWD = $(shell pwd) - @echo OSTYPE = $(OSTYPE) - @echo PATH = $(PATH) + @echo OSTYPE = $$(OSTYPE) + @echo PATH = $${PATH} @echo JAVA_HOME = $(JAVA_HOME) which java @@ -1416,6 +1364,7 @@ showvars: @echo JAVAC_ARGS = ${JAVAC_ARGS} @echo JAVAC_COMMAND = ${JAVAC_COMMAND} @echo SKIP_JAVADOC = ${SKIP_JAVADOC} + @echo JAVA24 = ${JAVA24} @echo CLASSPATH = "${CLASSPATH}" @echo DAIKON_CLASSPATH = "${DAIKON_CLASSPATH}" From a9b1c3fe1896e3a51ad8ceb845d47e15bf556c12 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 12 Jun 2025 12:52:09 -0700 Subject: [PATCH 032/211] Remove more special cases for *24.java files --- java/Makefile | 20 ++++++++++++++------ java/daikon/chicory/ChicoryPremain.java | 4 ++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/java/Makefile b/java/Makefile index b8a63ce5d6..bcc37bd755 100644 --- a/java/Makefile +++ b/java/Makefile @@ -53,6 +53,7 @@ else JAVAC_TARGET_FLAGS ?= -source 24 -target 24 endif +# TODO: -Werror is temporary. JAVAC_ARGS ?= -g -XDignore.symbol.file -Xmaxerrs 100000 -Xmaxwarns 100000 -Werror -Xlint:-path -Xlint:-options -Xlint:-classfile ${LINT_THIS_ESCAPE} ${JAVAC_TARGET_ARGS} ${JAVAC_TARGET_FLAGS} INSTALL ?= /usr/bin/install @@ -143,11 +144,11 @@ endif # chicory/Instrument24.java chicory/MethodGen24.java # dcomp/Instrument24.java dcomp/DCinstrument24.java. -DAIKON_JAVA_FILES := $(shell find daikon/ -name "*24.java" -prune -o -name '*.java' -not -name '*\#*' -print | ${SORT_DIRECTORY_ORDER}) +DAIKON_JAVA_FILES := $(shell find daikon/ -name '*.java' -not -name '*\#*' -print | ${SORT_DIRECTORY_ORDER}) ifeq ($(JAVA24), 0) DAIKON_JAVA_FILES := $(filter-out %24.java, $(DAIKON_JAVA_FILES)) endif -JAVA_FILES := $(shell find . -follow \( -name '*daikon-java*' -o -name '*daikon-instrumented*' -o -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -name 'ReturnBytecodes.java' -o -name 'SplitterFactoryTest.java' -o -name '\.\#*' \) -prune -o -name "*24.java" -prune -o -name '*.java' -print | grep -v '/jakarta-oro.*/src/java/examples/' | ${SORT_DIRECTORY_ORDER}) +JAVA_FILES := $(shell find . -follow \( -name '*daikon-java*' -o -name '*daikon-instrumented*' -o -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -name 'ReturnBytecodes.java' -o -name 'SplitterFactoryTest.java' -o -name '\.\#*' \) -prune -o -name '*.java' -print | grep -v '/jakarta-oro.*/src/java/examples/' | ${SORT_DIRECTORY_ORDER}) ifeq ($(JAVA24), 0) JAVA_FILES := $(filter-out %24.java, $(JAVA_FILES)) endif @@ -156,7 +157,7 @@ ifeq ($(JAVA24), 0) JAVA_FILES_FOR_STYLE := $(filter-out %24.java, $(JAVA_FILES_FOR_STYLE)) endif # Other find commands should perhaps use the recursive grep form instead -JAVA_FILES_FOR_FORMAT := $(shell grep -r --include '*.java' --exclude-dir '*daikon-java*' --exclude-dir '*daikon-instrumented*' --exclude WeakHasherMap.java --exclude WeakIdentityHashMap.java --exclude InvariantDoclet.java --exclude ParameterDoclet.java --exclude '*24.java' -L 'This file is automatically generated' . | grep -v "^./jtb" | ${SORT_DIRECTORY_ORDER}) +JAVA_FILES_FOR_FORMAT := $(shell grep -r --include '*.java' --exclude-dir '*daikon-java*' --exclude-dir '*daikon-instrumented*' --exclude WeakHasherMap.java --exclude WeakIdentityHashMap.java --exclude InvariantDoclet.java --exclude ParameterDoclet.java -L 'This file is automatically generated' . | grep -v "^./jtb" | ${SORT_DIRECTORY_ORDER}) ifeq ($(JAVA24), 0) JAVA_FILES_FOR_FORMAT := $(filter-out %24.java, $(JAVA_FILES_FOR_FORMAT)) endif @@ -519,6 +520,7 @@ CHICORY_JAVA_FILES := daikon/Chicory.java $(wildcard daikon/chicory/*.java) ifeq ($(JAVA24), 0) CHICORY_JAVA_FILES := $(filter-out %24.java, $(CHICORY_JAVA_FILES)) endif +CHICORY_CLASS_FILES := $(CHICORY_JAVA_FILES:.class=.java) # This actually requires Daikon to already be compiled. # It would be good to make that an explicit prerequisite. @@ -526,10 +528,15 @@ endif .PRECIOUS: ChicoryPremain.jar chicory : ChicoryPremain.jar chicory-test +.PHONY: chicory-compile +chicory-compile: + $(JAVAC_COMMAND) $(CHICORY_JAVA_FILES) + # Note that this compiles all of Chicory even though all we need for # this step is chicory/ChicoryPremain.java. -ChicoryPremain.jar : $(CHICORY_JAVA_FILES) daikon/chicory/manifest.txt - $(JAVAC_COMMAND) $(CHICORY_JAVA_FILES) +# Also note that it always compiles all of Chicory, to handle changing +# between different JDKs which doesn't otherwise trigger re-execution. +ChicoryPremain.jar : chicory-compile daikon/chicory/manifest.txt $(JAR) cfm ChicoryPremain.jar daikon/chicory/manifest.txt \ daikon/chicory/ChicoryPremain.class @@ -537,7 +544,7 @@ ChicoryPremain.jar : $(CHICORY_JAVA_FILES) daikon/chicory/manifest.txt chicory-test : daikon/chicory/inv_out.diff daikon/chicory/inv_out.diff : ChicoryPremain.jar cd daikon/chicory && rm -f ChicoryTest.log ChicoryTest.dtrace.gz ChicoryTest.inv.gz ChicoryTest.inv.out - cd daikon/chicory && $(JAVA_COMMAND) daikon.Chicory --verbose --debug daikon.chicory.ChicoryTest > ChicoryTest.log 2>&1 + cd daikon/chicory && $(JAVA_COMMAND) daikon.Chicory --verbose --debug daikon.chicory.ChicoryTest > ChicoryTest.log || (cat ChicoryTest.log; false) cd daikon/chicory && $(JAVA_COMMAND) daikon.Daikon --no_text_output --no_show_progress ChicoryTest.dtrace.gz cd daikon/chicory && $(JAVA_COMMAND) daikon.PrintInvariants ChicoryTest.inv.gz > ChicoryTest.inv.out -diff -uw daikon/chicory/ChicoryTest.inv.out.goal daikon/chicory/ChicoryTest.inv.out \ @@ -1382,6 +1389,7 @@ showvars: @echo TAG_FILES = $(TAG_FILES) @echo INTERNING_JAVA_FILES = $(INTERNING_JAVA_FILES) @echo INTERNING_JAVA_FILES_COUNTS = $(INTERNING_JAVA_FILES_COUNTS) + @echo CHICORY_JAVA_FILES = $(CHICORY_JAVA_FILES) @echo CHECKERFRAMEWORK = $(CHECKERFRAMEWORK) @echo CHECKERFRAMEWORK_JAR_DIR = $(CHECKERFRAMEWORK_JAR_DIR) diff --git a/java/daikon/chicory/ChicoryPremain.java b/java/daikon/chicory/ChicoryPremain.java index 80992e7619..fc76836740 100644 --- a/java/daikon/chicory/ChicoryPremain.java +++ b/java/daikon/chicory/ChicoryPremain.java @@ -94,7 +94,7 @@ public static void premain(String agentArgs, Instrumentation inst) throws IOExce if (verbose) { System.out.printf( - "In Chicory premain, agentargs ='%s', Instrumentation = '%s'", agentArgs, inst); + "In Chicory premain, agentargs ='%s', Instrumentation = '%s'%n", agentArgs, inst); System.out.printf("Options settings: %n%s%n", options.settings()); } @@ -159,7 +159,7 @@ public static void premain(String agentArgs, Instrumentation inst) throws IOExce (ClassFileTransformer) loader.loadClass(instrumenter).getDeclaredConstructor().newInstance(); } catch (Exception e) { - throw new RuntimeException("Unexpected error loading Instrument", e); + throw new RuntimeException("Unexpected error loading " + instrumenter, e); } if (Chicory.debug) { System.out.printf( From c7954aab17326c77844cc369ce1fc1a92d6a0f08 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 13 Jun 2025 09:02:47 -0700 Subject: [PATCH 033/211] Diagnostic --- java/Makefile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/java/Makefile b/java/Makefile index bcc37bd755..157e272e6f 100644 --- a/java/Makefile +++ b/java/Makefile @@ -1042,6 +1042,7 @@ typecheck-nullness: compile compile-typequals typecheck-nullness-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} + @echo Status of typecheck-nullness-nocompile: $$? # These targets run the Nullness checker on just one file. # Typical command: @@ -1061,6 +1062,12 @@ typecheck-prototype-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_PROTOTYPE_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} +typecheck-regex: ${ALL_GENERATED_FILES} compile + $(MAKE) typecheck-regex-nocompile +typecheck-regex-nocompile: + @echo ${JAVAC_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} ... + @${JAVAC_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} + typecheck-regex-qual: ${ALL_GENERATED_FILES} compile $(MAKE) typecheck-regex-qual-nocompile typecheck-regex-qual-nocompile: From 421986bf21e62dcb08cf686d385f3c4888392b04 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 13 Jun 2025 09:55:53 -0700 Subject: [PATCH 034/211] Fix cut-and-paste error --- java/Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/java/Makefile b/java/Makefile index 157e272e6f..0400acf654 100644 --- a/java/Makefile +++ b/java/Makefile @@ -520,7 +520,6 @@ CHICORY_JAVA_FILES := daikon/Chicory.java $(wildcard daikon/chicory/*.java) ifeq ($(JAVA24), 0) CHICORY_JAVA_FILES := $(filter-out %24.java, $(CHICORY_JAVA_FILES)) endif -CHICORY_CLASS_FILES := $(CHICORY_JAVA_FILES:.class=.java) # This actually requires Daikon to already be compiled. # It would be good to make that an explicit prerequisite. @@ -535,7 +534,9 @@ chicory-compile: # Note that this compiles all of Chicory even though all we need for # this step is chicory/ChicoryPremain.java. # Also note that it always compiles all of Chicory, to handle changing -# between different JDKs which doesn't otherwise trigger re-execution. +# between different JDKs. Changing JDKs changes which files are +# compiled, but changing JDKs doesn't cause this Makefile to otherwise +# trigger re-execution. ChicoryPremain.jar : chicory-compile daikon/chicory/manifest.txt $(JAR) cfm ChicoryPremain.jar daikon/chicory/manifest.txt \ daikon/chicory/ChicoryPremain.class @@ -1042,7 +1043,6 @@ typecheck-nullness: compile compile-typequals typecheck-nullness-nocompile: @echo ${JAVAC_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} ... @${JAVAC_COMMAND} ${JAVAC_NULLNESS_ARGS} ${CHECKER_ARGS} ${NULLNESS_JAVA_FILES} - @echo Status of typecheck-nullness-nocompile: $$? # These targets run the Nullness checker on just one file. # Typical command: @@ -1065,8 +1065,8 @@ typecheck-prototype-nocompile: typecheck-regex: ${ALL_GENERATED_FILES} compile $(MAKE) typecheck-regex-nocompile typecheck-regex-nocompile: - @echo ${JAVAC_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} ... - @${JAVAC_COMMAND} ${JAVAC_REGEX_QUAL_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} + @echo ${JAVAC_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} ... + @${JAVAC_COMMAND} ${JAVAC_REGEX_ARGS} ${CHECKER_ARGS} ${JAVA_FILES} typecheck-regex-qual: ${ALL_GENERATED_FILES} compile $(MAKE) typecheck-regex-qual-nocompile From 39086a2d577be5dbfe24e51262775b7ce0bfbfa2 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 13 Jun 2025 11:20:59 -0700 Subject: [PATCH 035/211] Fix wildcard that doesn't yet match --- java/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/java/Makefile b/java/Makefile index 0400acf654..659e29e4b4 100644 --- a/java/Makefile +++ b/java/Makefile @@ -1258,8 +1258,7 @@ javadoc-files.txt: $(MAKE) ${AUTO_GENERATED_FILES} find * \( -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -path 'daikon/dcomp-transfer' \) -prune -o -name "*24.java" -prune -o -name "*.java" -print | ${SORT_DIRECTORY_ORDER} > javadoc-files.txt ifeq ($(JAVA24), 1) - echo daikon/chicory/*24.java >> javadoc-files.txt - echo daikon/dcomp/*24.java >> javadoc-files.txt + echo daikon/chicory/*24.java daikon/dcomp/*24.java >> javadoc-files.txt endif # If Java 8, don't run javadoc; a bug in javadoc causes it to crash. From f7745d9304766b4fdc7ac16d1cf90c7c08224581 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 13 Jun 2025 12:48:56 -0700 Subject: [PATCH 036/211] Avoid forward compatibility --- java/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/Makefile b/java/Makefile index 659e29e4b4..823800adb8 100644 --- a/java/Makefile +++ b/java/Makefile @@ -1258,7 +1258,7 @@ javadoc-files.txt: $(MAKE) ${AUTO_GENERATED_FILES} find * \( -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -path 'daikon/dcomp-transfer' \) -prune -o -name "*24.java" -prune -o -name "*.java" -print | ${SORT_DIRECTORY_ORDER} > javadoc-files.txt ifeq ($(JAVA24), 1) - echo daikon/chicory/*24.java daikon/dcomp/*24.java >> javadoc-files.txt + echo daikon/chicory/*24.java >> javadoc-files.txt endif # If Java 8, don't run javadoc; a bug in javadoc causes it to crash. From df67f4ed1cbb60a825b5c92c3d1d540dd0ce3cc3 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 13 Jun 2025 14:45:29 -0700 Subject: [PATCH 037/211] Improve diagnostics --- java/daikon/chicory/ChicoryPremain.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/daikon/chicory/ChicoryPremain.java b/java/daikon/chicory/ChicoryPremain.java index 80992e7619..fc76836740 100644 --- a/java/daikon/chicory/ChicoryPremain.java +++ b/java/daikon/chicory/ChicoryPremain.java @@ -94,7 +94,7 @@ public static void premain(String agentArgs, Instrumentation inst) throws IOExce if (verbose) { System.out.printf( - "In Chicory premain, agentargs ='%s', Instrumentation = '%s'", agentArgs, inst); + "In Chicory premain, agentargs ='%s', Instrumentation = '%s'%n", agentArgs, inst); System.out.printf("Options settings: %n%s%n", options.settings()); } @@ -159,7 +159,7 @@ public static void premain(String agentArgs, Instrumentation inst) throws IOExce (ClassFileTransformer) loader.loadClass(instrumenter).getDeclaredConstructor().newInstance(); } catch (Exception e) { - throw new RuntimeException("Unexpected error loading Instrument", e); + throw new RuntimeException("Unexpected error loading " + instrumenter, e); } if (Chicory.debug) { System.out.printf( From 4cc9c59ca22cd8c27428f020cbcd89cb5b6831e0 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Sat, 14 Jun 2025 04:40:35 -0700 Subject: [PATCH 038/211] Generalize search for *24.java files --- java/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/Makefile b/java/Makefile index 823800adb8..db12649ef9 100644 --- a/java/Makefile +++ b/java/Makefile @@ -1258,7 +1258,7 @@ javadoc-files.txt: $(MAKE) ${AUTO_GENERATED_FILES} find * \( -name 'PrototypeChecker.java' -o -name 'VIndexChecker.java' -o -name 'VIndexAnnotatedTypeFactory.java' -o -path 'daikon/dcomp-transfer' \) -prune -o -name "*24.java" -prune -o -name "*.java" -print | ${SORT_DIRECTORY_ORDER} > javadoc-files.txt ifeq ($(JAVA24), 1) - echo daikon/chicory/*24.java >> javadoc-files.txt + find * -name "*24.java" -print | ${SORT_DIRECTORY_ORDER} >> javadoc-files.txt endif # If Java 8, don't run javadoc; a bug in javadoc causes it to crash. From cafdb40e71e43d9276320ee2602b33a207b45570 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Mon, 16 Jun 2025 06:53:20 -0700 Subject: [PATCH 039/211] Pass `--add-exports` and `--add-opens` to require-javadoc --- java/Makefile | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/java/Makefile b/java/Makefile index db12649ef9..11ba36a0fc 100644 --- a/java/Makefile +++ b/java/Makefile @@ -1318,13 +1318,24 @@ else cd api && ../../utils/plume-scripts/preplace '^ *@cindex.*' '' endif -## Test that Javadoc exists. +## Test that each program component is documented with Javadoc. ## You should regenerate api/ after running this. requireJavadoc: $(JAVA_FILES) # For refactorings that touch a lot of code that you don't understand, create # top-level file SKIP-REQUIRE-JAVADOC. Delete it after the pull request is merged. if [ ! -f SKIP-REQUIRE-JAVADOC ]; then \ - ${JAVA} -jar $(wildcard ${DAIKONDIR}/java/lib/require-javadoc/require-javadoc-*-all.jar) --exclude="dcomp-transfer" ${DAIKON_JAVA_FILES} ; \ + ${JAVA} \ + --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \ + --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \ + --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \ + --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \ + --add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \ + --add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \ + --add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \ + --add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \ + -jar $(wildcard ${DAIKONDIR}/java/lib/require-javadoc/require-javadoc-*-all.jar) \ + --exclude="dcomp-transfer" \ + ${DAIKON_JAVA_FILES} ; \ fi ../doc/invariants-doc.texinfo: ../utils/plume-scripts daikon/config/InvariantDoclet.class daikon/config/HtmlToTexinfo.class From 738ea90f8316234974ef9f45f89923611f82f8bc Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 17 Jun 2025 13:39:37 -0700 Subject: [PATCH 040/211] latest updates --- java/daikon/dcomp/CalcStack24.java | 101 ++++++------ java/daikon/dcomp/DCInstrument24.java | 223 ++++++++++++++++---------- 2 files changed, 191 insertions(+), 133 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index f95e746d59..6649a421e1 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -51,15 +51,15 @@ public class CalcStack24 { * Calculates changes in contents of operand stack based on the symbolic execution of a Java * bytecode instruction. * - * @param mgen method containing the instruction - * @param minfo for the given method's code + * @param mgen method containing the instruction (currently unused) + * @param minfo for the given method's code (currently unused) * @param ce instruction to be interpreted * @param inst_index index of ce in code element list * @param stack current state of operand stack * @return true if should continue with next instruction, false otherwise */ @SuppressWarnings("fallthrough") - boolean calcOperandStack( + protected static boolean calcOperandStack( MethodGen24 mgen, MethodGen24.MInfo24 minfo, CodeElement ce, @@ -82,7 +82,7 @@ boolean calcOperandStack( // ..., value case Opcode.AALOAD: { - stack.pop(); // pop the index + stack.pop(); // discard the index final ClassDesc t = stack.pop(); // pop the arrayref if (t.equals(nullCD)) { stack.push(nullCD); @@ -134,7 +134,7 @@ boolean calcOperandStack( // ..., count // ..., arrayref case Opcode.ANEWARRAY: - stack.pop(); + stack.pop(); // discard the count final NewReferenceArrayInstruction nrai = (NewReferenceArrayInstruction) inst; stack.push(nrai.componentType().asSymbol()); return true; @@ -155,7 +155,7 @@ boolean calcOperandStack( // ..., arrayref // ..., length case Opcode.ARRAYLENGTH: - stack.pop(); + stack.pop(); // discard the arrayref stack.push(CD_int); return true; @@ -189,7 +189,7 @@ boolean calcOperandStack( case Opcode.LSTORE_3: case Opcode.POP: StoreInstruction si = (StoreInstruction) inst; - // UNDONE check that si.typeKind() matches stack.pop() + // UNDONE check that si.typeKind() matches stack.pop()? DCInstrument24.locals[si.slot()] = stack.pop(); return true; @@ -239,7 +239,7 @@ boolean calcOperandStack( case Opcode.D2F: // double to float case Opcode.I2F: // integer to float case Opcode.L2F: // long to float - stack.pop(); + stack.pop(); // discard the value stack.push(CD_float); return true; @@ -249,7 +249,7 @@ boolean calcOperandStack( case Opcode.D2L: // double to long case Opcode.F2L: // float to long case Opcode.I2L: // integer to long - stack.pop(); + stack.pop(); // discard the value stack.push(CD_long); return true; @@ -261,7 +261,7 @@ boolean calcOperandStack( case Opcode.DMUL: case Opcode.DREM: case Opcode.DSUB: - stack.pop(2); + stack.pop(2); // discard the values stack.push(CD_double); return true; @@ -269,7 +269,7 @@ boolean calcOperandStack( // ..., arrayref, index // ..., value case Opcode.DALOAD: - stack.pop(2); + stack.pop(2); // discard the arrayref and index stack.push(CD_double); return true; @@ -280,7 +280,7 @@ boolean calcOperandStack( case Opcode.DCMPL: case Opcode.FCMPG: case Opcode.FCMPL: - stack.pop(2); + stack.pop(2); // discard the values stack.push(CD_int); return true; @@ -307,7 +307,7 @@ boolean calcOperandStack( // ..., value // ..., result case Opcode.DNEG: - stack.pop(); + stack.pop(); // discard the value stack.push(CD_double); return true; @@ -467,7 +467,7 @@ boolean calcOperandStack( case Opcode.F2D: // float to double case Opcode.I2D: // integer to double case Opcode.L2D: // long to double - stack.pop(); + stack.pop(); // discard the value stack.push(CD_double); return true; @@ -479,7 +479,7 @@ boolean calcOperandStack( case Opcode.FMUL: case Opcode.FREM: case Opcode.FSUB: - stack.pop(2); + stack.pop(2); // discard the values stack.push(CD_float); return true; @@ -487,7 +487,7 @@ boolean calcOperandStack( // ..., arrayref, index // ..., value case Opcode.FALOAD: - stack.pop(2); + stack.pop(2); // discard the arrayref and index stack.push(CD_float); return true; @@ -515,7 +515,7 @@ boolean calcOperandStack( // ..., value // ..., result case Opcode.FNEG: - stack.pop(); + stack.pop(); // discard the value stack.push(CD_float); return true; @@ -524,7 +524,7 @@ boolean calcOperandStack( // ..., value case Opcode.GETFIELD: { - stack.pop(); + stack.pop(); // discard the value FieldInstruction fi = (FieldInstruction) inst; stack.push(fi.typeSymbol()); return true; @@ -546,7 +546,7 @@ boolean calcOperandStack( case Opcode.GOTO_W: { BranchInstruction bi = (BranchInstruction) inst; - addLabelsToWorkList(bi.target(), null); + addLabelsToWorkList(bi.target(), null, stack); return false; } @@ -559,7 +559,7 @@ boolean calcOperandStack( case Opcode.F2I: // float to integer case Opcode.L2I: // long to int case Opcode.I2S: // integer to short - stack.pop(); + stack.pop(); // discard the value stack.push(CD_int); return true; @@ -578,7 +578,7 @@ boolean calcOperandStack( case Opcode.IUSHR: case Opcode.IXOR: case Opcode.LCMP: - stack.pop(2); + stack.pop(2); // discard the values stack.push(CD_int); return true; @@ -594,9 +594,9 @@ boolean calcOperandStack( case Opcode.IF_ICMPLT: case Opcode.IF_ICMPNE: { - stack.pop(2); + stack.pop(2); // discard the values BranchInstruction bi = (BranchInstruction) inst; - addLabelsToWorkList(bi.target(), null); + addLabelsToWorkList(bi.target(), null, stack); return true; } @@ -611,9 +611,9 @@ boolean calcOperandStack( case Opcode.IFLE: case Opcode.IFNONNULL: case Opcode.IFNULL: - stack.pop(); + stack.pop(); // discard the value BranchInstruction bi = (BranchInstruction) inst; - addLabelsToWorkList(bi.target(), null); + addLabelsToWorkList(bi.target(), null, stack); return true; // operand stack: @@ -637,7 +637,7 @@ boolean calcOperandStack( // ..., value // ..., result case Opcode.INEG: - stack.pop(); + stack.pop(); // discard the value stack.push(CD_int); return true; @@ -645,7 +645,7 @@ boolean calcOperandStack( // ..., objectref // ..., result case Opcode.INSTANCEOF: - stack.pop(); + stack.pop(); // discard the value stack.push(CD_int); return true; @@ -661,7 +661,7 @@ boolean calcOperandStack( stack.push(CD_Object); // there is no way to represent a return address, fake it DiscontinuedInstruction.JsrInstruction ji = (DiscontinuedInstruction.JsrInstruction) inst; - addLabelsToWorkList(ji.target(), null); + addLabelsToWorkList(ji.target(), null, stack); return false; // operand stack: @@ -678,7 +678,7 @@ boolean calcOperandStack( case Opcode.LSUB: case Opcode.LUSHR: case Opcode.LXOR: - stack.pop(2); + stack.pop(2); // discard the values stack.push(CD_long); return true; @@ -686,7 +686,7 @@ boolean calcOperandStack( // ..., arrayref, index // ..., value case Opcode.LALOAD: - stack.pop(2); + stack.pop(2); // discard the arrayref and index stack.push(CD_long); return true; @@ -737,7 +737,7 @@ boolean calcOperandStack( // ..., value // ..., result case Opcode.LNEG: - stack.pop(); + stack.pop(); // discard the value stack.push(CD_long); return true; @@ -745,9 +745,9 @@ boolean calcOperandStack( // ..., key // ... case Opcode.LOOKUPSWITCH: - stack.pop(); + stack.pop(); // discard the value LookupSwitchInstruction lsi = (LookupSwitchInstruction) inst; - addLabelsToWorkList(lsi.defaultTarget(), lsi.cases()); + addLabelsToWorkList(lsi.defaultTarget(), lsi.cases(), stack); return false; // operand stack: @@ -755,7 +755,7 @@ boolean calcOperandStack( // ... case Opcode.MONITORENTER: case Opcode.MONITOREXIT: - stack.pop(); + stack.pop(); // discard the value return true; // operand stack: @@ -763,8 +763,8 @@ boolean calcOperandStack( // ..., arrayref case Opcode.MULTIANEWARRAY: final NewMultiArrayInstruction nmai = (NewMultiArrayInstruction) inst; - stack.pop(nmai.dimensions()); - // UNDONE is the emement type or array type? + stack.pop(nmai.dimensions()); // discard all the counts + // UNDONE is the element type or array type? stack.push(nmai.arrayType().asSymbol()); return true; @@ -780,7 +780,7 @@ boolean calcOperandStack( // ..., count // ..., arrayref case Opcode.NEWARRAY: - stack.pop(); + stack.pop(); // discard the count final NewPrimitiveArrayInstruction npai = (NewPrimitiveArrayInstruction) inst; String descriptor; switch (npai.typeKind()) { @@ -809,9 +809,7 @@ boolean calcOperandStack( descriptor = "[S"; } default -> { - // UNDONE throw? - System.out.println("Unexpected CodeElement: " + ce); - return true; + throw new Error("unknow primitive array type: " + inst); } } stack.push(ClassDesc.ofDescriptor(descriptor)); @@ -845,7 +843,7 @@ boolean calcOperandStack( // ..., value // ... case Opcode.PUTSTATIC: - stack.pop(); + stack.pop(); // discard the value return true; // UNDONE should we just throw on jsr and ret? They are illegal post JDK 6. @@ -874,9 +872,9 @@ boolean calcOperandStack( // ..., index // ... case Opcode.TABLESWITCH: - stack.pop(); + stack.pop(); // discard the index TableSwitchInstruction tsi = (TableSwitchInstruction) inst; - addLabelsToWorkList(tsi.defaultTarget(), tsi.cases()); + addLabelsToWorkList(tsi.defaultTarget(), tsi.cases(), stack); return false; // operand stack: @@ -885,7 +883,7 @@ boolean calcOperandStack( case Opcode.INVOKEINTERFACE: case Opcode.INVOKESPECIAL: case Opcode.INVOKEVIRTUAL: - stack.pop(); // remove objectref + stack.pop(); // discard the objectref // may actually be removing an arg, but we'll // account for that when we remove args below @@ -898,7 +896,7 @@ boolean calcOperandStack( { final InvokeInstruction ii = (InvokeInstruction) inst; final MethodTypeDesc mtd = ii.typeSymbol(); - stack.pop(mtd.parameterCount()); + stack.pop(mtd.parameterCount()); // discard the arguments // We are sure the invoked method will xRETURN eventually. // We simulate xRETURNs functionality here because we don't // really "jump into" and simulate the invoked method. @@ -916,7 +914,7 @@ boolean calcOperandStack( { final InvokeDynamicInstruction idi = (InvokeDynamicInstruction) inst; final MethodTypeDesc mtd = idi.typeSymbol(); - stack.pop(mtd.parameterCount()); + stack.pop(mtd.parameterCount()); // discard the arguments // We are sure the invoked method will xRETURN eventually. // We simulate xRETURNs functionality here because we don't // really "jump into" and simulate the invoked method. @@ -940,7 +938,7 @@ boolean calcOperandStack( // stacks match; we're done with this worklist return false; } else { - throw new Error("operans stacks do not match:" + l); + throw new Error("operand stacks do not match:" + l); } } else { // have not seen this label before; remember state of operand stack @@ -960,13 +958,14 @@ boolean calcOperandStack( } } - void addLabelsToWorkList(Label target, @Nullable List cases) { - addLabelToWorkList(target); + protected static void addLabelsToWorkList( + Label target, @Nullable List cases, OperandStack24 stack) { + addLabelToWorkList(target, stack); if (cases == null) return; for (SwitchCase item : cases) { - addLabelToWorkList(item.target()); + addLabelToWorkList(item.target(), stack); } } - void addLabelToWorkList(Label target) {} + protected static void addLabelToWorkList(Label target, OperandStack24 stack) {} } diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 4a0b462cce..fab68112d9 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -87,6 +87,7 @@ import java.util.ListIterator; import java.util.Map; import java.util.Optional; +import java.util.Queue; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Pattern; @@ -123,6 +124,7 @@ import org.checkerframework.checker.lock.qual.GuardSatisfied; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; import org.checkerframework.checker.nullness.qual.KeyFor; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.signature.qual.BinaryName; @@ -170,10 +172,27 @@ public class DCInstrument24 { /** The MethodInfo for the current method. */ @Nullable MethodInfo curMethodInfo; + /** Start of user code for current method, prior to instrumenting, as a CodeModel Label. */ + protected @MonotonicNonNull Label oldStartLabel; + + /** Start of user code for current method, after instrumenting, as a CodeBuilder Label. */ + protected @MonotonicNonNull Label newStartLabel; + + /** + * Index into current method's instruction list that points to where a call to the DynComp runtime + * enter routine should be inserted (if needed) and where to define the newStartLabel. + */ + protected int newStartIndex; + + // Variables used for calculating the state of the operand stack. + /** Mapping from a label to its index in the method's codeList. */ protected Map labelIndexMap; + /** State of operand stack prior to each byte code instruction. */ protected static OperandStack24[] stacks; + + /** The type of each local variable. */ protected static ClassDesc[] locals; // Variables used for the entire class. @@ -332,12 +351,6 @@ protected enum JUnitState { new MethodDef("wait", new ClassDesc[] {CD_long, CD_int}), }; - /** - * Index into current method's instruction list that points to where a call to the DynComp runtime - * enter routine should be inserted, if we are tracking the method. - */ - private int entryInsertionIndex; - /** Class that defines a method (by its name and argument types) */ static class MethodDef { String name; @@ -412,8 +425,8 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; // TEMPORARY - debugInstrument.enabled = false; debugInstrument.enabled = true; + debugInstrument.enabled = false; debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; } @@ -914,10 +927,6 @@ private void instrumentCode( // Add back in any unused parameters that the Java compiler has optimized out. if (mgen.fixLocals(minfo)) { // localsTable was changed - debugInstrument.log("Revised LocalVariableTable:%n"); - for (LocalVariable lv : mgen.localsTable) { - debugInstrument.log(" %s%n", lv); - } } // If the method is native @@ -936,6 +945,13 @@ private void instrumentCode( add_dcomp_arg(mgen, minfo); } + debugInstrument.log("Revised LocalVariableTable:%n"); + for (LocalVariable lv : mgen.localsTable) { + debugInstrument.log(" %s%n", lv); + } + int paramCount = (mgen.isStatic() ? 0 : 1) + mgen.getParameterTypes().length; + debugInstrument.log("paramCount: %d%n", paramCount); + // Create a MethodInfo that describes this method's arguments // and exit line numbers (information not available via reflection) // and add it to the list for this class. @@ -981,7 +997,7 @@ private void instrumentCode( // System.out.printf(" %s : %s%n", lvt, convertDescriptorToFqBinaryName(lvFD)); } case LabelTarget l -> { if (ca.labelToBci(l.label()) == 0) { - minfo.oldStartLabel = l.label(); + oldStartLabel = l.label(); } // remember where this label is located within the codeList labelIndexMap.put(l.label(), codeList.size()); @@ -995,7 +1011,7 @@ private void instrumentCode( tagFrameLocal = createTagFrameLocal(mgen, minfo); // Instrument the method - instrumentCodeList(codeList, mgen, minfo); + instrumentCodeList(codeModel, mgen, minfo, codeList); if (trackMethod) { add_enter(mgen, minfo, codeList, DCRuntime.methods.size() - 1); @@ -1013,19 +1029,18 @@ private void instrumentCode( } // Copy the modified instruction list to the output class. - for (CodeElement ce : codeList) { - // If there is a new CodeBuilder label associated with this instruction, it needs to be - // defined. - Label l = minfo.labelMap.get(ce); - if (l != null) { - debugInstrument.log("Label: %s%n", l); - codeBuilder.labelBinding(l); - // We've defined the label, remove it from the map. - minfo.labelMap.remove(ce); + ListIterator li = codeList.listIterator(); + CodeElement ce = null; + newStartLabel = codeBuilder.newLabel(); + while (li.hasNext()) { + if (li.nextIndex() == newStartIndex) { + codeBuilder.labelBinding(newStartLabel); + debugInstrument.log("Label: %s%n", newStartLabel); } + ce = li.next(); // If this instruction references a Label, we need to see if it is the oldStartLabel - // and, if so, replace the target with our new entryLabel. - ce = retargetStartLabel(ce, minfo); + // and, if so, replace the target with the newStartLabel. + ce = retargetStartLabel(ce); debugInstrument.log("CodeElement: %s%n", ce); codeBuilder.with(ce); } @@ -1034,12 +1049,12 @@ private void instrumentCode( List handlerCode = build_exception_handler(mgen); if (handlerCode != null) { Label handlerLabel = codeBuilder.newBoundLabel(); - for (CodeElement ce : handlerCode) { - codeBuilder.with(ce); + for (CodeElement ceh : handlerCode) { + codeBuilder.with(ceh); } // Using handlerLabel for the end of the try region is technically one instruction // too many, but it shouldn't matter and is easily available. - codeBuilder.exceptionCatch(minfo.entryLabel, handlerLabel, handlerLabel, CD_Throwable); + codeBuilder.exceptionCatch(newStartLabel, handlerLabel, handlerLabel, CD_Throwable); } } @@ -1730,12 +1745,16 @@ public JavaClass instrument_jdk() { /** * Instrument the specified method for dynamic comparability. * - * @param instructions instruction list for method + * @param codeModel for the method's code * @param mgen describes the given method * @param minfo for the given method's code + * @param instructions instruction list for method */ private void instrumentCodeList( - List instructions, MethodGen24 mgen, MethodGen24.MInfo24 minfo) { + CodeModel codeModel, + MethodGen24 mgen, + MethodGen24.MInfo24 minfo, + List instructions) { List newCode = createTagFrame(mgen); @@ -1757,55 +1776,93 @@ private void instrumentCodeList( } } - // Label for new location of start of original code. - debugInstrument.log("entryLabel: %s%n", minfo.entryLabel); - assert inst != null : "@AssumeAssertion(nullness): inst will always be set in loop above"; - minfo.labelMap.put(inst, minfo.entryLabel); - - // Insert code before this LineNumber or Instruction. - - // Back up iterator to point to 'inst'. + // Insert the TagFrame code before the LineNumber or Instruction we just located. + // Back up the iterator to point to just before 'inst', then copy the newCode. li.previous(); - - // Insert newCode prior to 'inst'. for (CodeElement ce : newCode) { li.add(ce); } - // Save index into instruction list that points to where a call to the - // DynComp runtime enter routine should be inserted, if we are tracking the method. - // We will also return to this item for code instrumentation after calculating + // We want to remember the current location in the instruction list. It is where a call to the + // DynComp runtime enter routine should be inserted, if we are tracking this method. + // This will also be used to indicate where the newStartLabel should be defined. + // Finally, we will also return to this location for code instrumentation after calculating // the operand stack values. - entryInsertionIndex = li.nextIndex(); + newStartIndex = li.nextIndex(); } catch (Exception e) { System.err.printf("Unexpected exception encountered: %s", e); e.printStackTrace(); } - // Calculate the operand stack value(s) for the current method. + // The next section of code calculates the operand stack value(s) for the current method. - // First, we create an array to hold the calculated operand stack - // prior to each instruction. + // Build a map of labels to instruction list offsets + li = instructions.listIterator(); + while (li.hasNext()) { + inst = li.next(); + if (inst instanceof LabelTarget lt) { + // remember where this label is located within the instruction list + labelIndexMap.put(lt.label(), li.previousIndex()); + } + } + if (oldStartLabel != null) { + // change offset of oldStartLabel to where we will define newStartLabel + labelIndexMap.put(oldStartLabel, newStartIndex); + } + + // Create an array to hold the calculated operand stack + // prior to each byte code instruction. stacks = new OperandStack24[instructions.size()]; - // Next, we create an array containing the type of each local variable. + + // Create an array containing the type of each local variable. // This will be indexed by the local variable's slot number. - // There will be a gap for the second slot of a variable of type long or double. + // There may be a gap for the second slot of a variable of type long or double. locals = new ClassDesc[mgen.getMaxLocals()]; - int slot = 0; for (final LocalVariable lv : mgen.localsTable) { - slot = lv.slot(); - locals[slot] = lv.typeSymbol(); + locals[lv.slot()] = lv.typeSymbol(); } - // Calculate stack types information - // StackTypes stack_types = bcelCalcStackTypes(mg); - // if (stack_types == null) { - // skip_method(mg); - // return; - // } + // Create a worklist of instruction locations and operand stacks. + record WorkItem(int instructionIndex, OperandStack24 stack) {} + Queue worklist = new ArrayDeque<>(); - // InstructionList il = mg.getInstructionList(); - // OperandStack stack = null; + // work item for start of users code + worklist.add(new WorkItem(newStartIndex, new OperandStack24(mgen.getMaxStack()))); + + if (codeModel != null) { + // create a work item for each exception handler + for (ExceptionCatch ec : codeModel.exceptionHandlers()) { + Label l = ec.tryStart(); + Optional catchType = ec.catchType(); + OperandStack24 temp = new OperandStack24(mgen.getMaxStack()); + if (catchType.isPresent()) { + temp.push(catchType.get().asSymbol()); + } else { + temp.push(CD_Throwable); + } + worklist.add(new WorkItem(labelIndexMap.get(l), temp)); + } + } + + WorkItem item; + OperandStack24 stack; + int inst_index; + while (!worklist.isEmpty()) { + item = worklist.remove(); + li = instructions.listIterator(item.instructionIndex()); + stack = item.stack(); + // UNDONE turn it on + boolean proceed = false; + while (proceed) { + if (!li.hasNext()) throw new Error("error in instruction list"); + inst_index = li.nextIndex(); + inst = li.next(); + proceed = CalcStack24.calcOperandStack(mgen, minfo, inst, inst_index, stack); + } + } + + // set list iterator to start of the user instructions + li = instructions.listIterator(newStartIndex); // if we get index = li.nextIndex() here and increment each time through loop // it sould match stack index we calculate above @@ -1902,8 +1959,10 @@ private void add_enter( MethodGen24.MInfo24 minfo, List instructions, int method_info_index) { - instructions.addAll( - entryInsertionIndex, callEnterOrExit(mgen, minfo, method_info_index, "enter", -1)); + List newCode = callEnterOrExit(mgen, minfo, method_info_index, "enter", -1); + instructions.addAll(newStartIndex, newCode); + // Update the newStartIndex to account for the instrumentation code we just added. + newStartIndex += newCode.size(); } /** @@ -4969,6 +5028,8 @@ protected String simplify_method_name(Method m) { return full_name.replaceFirst("(?s) \\[.*", ""); } + // UNDONE consider making this a Java record + /** Variables used for processing a switch instruction. */ private static class ModifiedSwitchInfo { @@ -4992,36 +5053,35 @@ public ModifiedSwitchInfo(Label modifiedTarget, List modifiedCaseLis /** * Checks to see if the instruction targets the method's CodeModel startLabel (held in - * oldStartLabel). If so, it replaces the target with the entryLabel. Unfortunately, the classfile - * API does not allow us to simply replace the label, we have to replace the entire instruction. - * Note that oldStartLabel may be null, but that is okay as any comparison to it will fail and we - * will do nothing. + * oldStartLabel). If so, it replaces the target with the newStartLabel. Unfortunately, the + * classfile API does not allow us to simply replace the label, we have to replace the entire + * instruction. Note that oldStartLabel may be null, but that is okay as any comparison to it will + * fail and we will do nothing. * * @param inst the instruction to check - * @param minfo for the given method's code * @return the original instruction or its replacement */ - private CodeElement retargetStartLabel(CodeElement inst, MethodGen24.MInfo24 minfo) { + private CodeElement retargetStartLabel(CodeElement inst) { ModifiedSwitchInfo info; switch (inst) { case BranchInstruction bi -> { - if (bi.target().equals(minfo.oldStartLabel)) { - return BranchInstruction.of(bi.opcode(), minfo.entryLabel); + if (bi.target().equals(oldStartLabel)) { + return BranchInstruction.of(bi.opcode(), newStartLabel); } } case ExceptionCatch ec -> { - if (ec.tryStart().equals(minfo.oldStartLabel)) { - return ExceptionCatch.of(ec.handler(), minfo.entryLabel, ec.tryEnd(), ec.catchType()); + if (ec.tryStart().equals(oldStartLabel)) { + return ExceptionCatch.of(ec.handler(), newStartLabel, ec.tryEnd(), ec.catchType()); } } case LookupSwitchInstruction ls -> { - info = retargetStartLabel(ls.defaultTarget(), ls.cases(), minfo); + info = retargetStartLabel(ls.defaultTarget(), ls.cases()); if (info != null) { return LookupSwitchInstruction.of(info.modifiedTarget, info.modifiedCaseList); } } case TableSwitchInstruction ts -> { - info = retargetStartLabel(ts.defaultTarget(), ts.cases(), minfo); + info = retargetStartLabel(ts.defaultTarget(), ts.cases()); if (info != null) { return TableSwitchInstruction.of( ts.lowValue(), ts.highValue(), info.modifiedTarget, info.modifiedCaseList); @@ -5033,22 +5093,21 @@ private CodeElement retargetStartLabel(CodeElement inst, MethodGen24.MInfo24 min } /** - * Checks to see if a switch instruction's default target or any of the case targets refers to - * {@code minfo.oldStartLabel}. If so, replace those targets with the entryLabel, and return the - * result in a ModifiedSwitchInfo. Otherwise, return null. + * Checks to see if a switch instruction's default target or any of the case targets refer to + * oldStartLabel. If so, replace those targets with the newStartLabel, and return the result in a + * ModifiedSwitchInfo. Otherwise, return null. * * @param defaultTarget the default target for the switch instruction * @param caseList the case list for the switch instruction - * @param minfo for the given method's code * @return a ModifiedSwitchInfo with the changed values, or null if no changes */ private @Nullable ModifiedSwitchInfo retargetStartLabel( - Label defaultTarget, List caseList, MethodGen24.MInfo24 minfo) { + Label defaultTarget, List caseList) { Label modifiedTarget; boolean modified = false; - if (defaultTarget.equals(minfo.oldStartLabel)) { - modifiedTarget = minfo.entryLabel; + if (defaultTarget.equals(oldStartLabel)) { + modifiedTarget = newStartLabel; modified = true; } else { modifiedTarget = defaultTarget; @@ -5056,8 +5115,8 @@ private CodeElement retargetStartLabel(CodeElement inst, MethodGen24.MInfo24 min List newCaseList = new ArrayList(); for (SwitchCase item : caseList) { - if (item.target().equals(minfo.oldStartLabel)) { - newCaseList.add(SwitchCase.of(item.caseValue(), minfo.entryLabel)); + if (item.target().equals(oldStartLabel)) { + newCaseList.add(SwitchCase.of(item.caseValue(), newStartLabel)); modified = true; } else { newCaseList.add(item); From 2f4db6d979c920e4f32416ffb7ac537b4cb914b1 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 17 Jun 2025 17:14:17 -0700 Subject: [PATCH 041/211] add missing javadoc --- java/daikon/dcomp/CalcStack24.java | 17 ++++++++++++++++- java/daikon/dcomp/DCInstrument24.java | 24 +++++++++++++++++++++--- java/daikon/dcomp/Instrument24.java | 1 + 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 6649a421e1..8c87c199f7 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -42,9 +42,11 @@ import java.util.List; import org.checkerframework.checker.nullness.qual.Nullable; +/** This class calculates the state of the operand stack via simulation. */ public class CalcStack24 { - @SuppressWarnings("nullness:assignment") // need special null ClassDesc + /** ClassDesc for 'null'. */ + @SuppressWarnings("nullness:assignment") protected static final ClassDesc nullCD = null; /** @@ -958,6 +960,13 @@ protected static boolean calcOperandStack( } } + /* + * Create a set of worklist items. + * + * @param target label where to start operand stack simulation + * @param cases a set of case statement labels; additional start points for simulation + * @param stack state of operand stack at target and case labels + */ protected static void addLabelsToWorkList( Label target, @Nullable List cases, OperandStack24 stack) { addLabelToWorkList(target, stack); @@ -967,5 +976,11 @@ protected static void addLabelsToWorkList( } } + /* + * Create a worklist item. + * + * @param target label where to start operand stack simulation + * @param stack state of operand stack at target + */ protected static void addLabelToWorkList(Label target, OperandStack24 stack) {} } diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index fab68112d9..d0b5f3ef43 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -152,8 +152,7 @@ @SuppressWarnings("nullness") public class DCInstrument24 { - // bogus decls to compile old code - // protected @Nullable ConstantPoolGen pool = null; + /** UNDONE: bogus decl to compile old code. */ protected ConstantPoolGen pool; /** A log to which to print debugging information about program instrumentation. */ @@ -243,10 +242,16 @@ public class DCInstrument24 { /** Type array with an object. */ protected static ClassDesc[] object_arg = new ClassDesc[] {CD_Object}; - // Type descriptors + /** ClassDesc for the special dcomp_marker argument. */ protected final ClassDesc dcomp_marker; + + /** ClassDesc for an Object array. */ protected static final ClassDesc objectArrayCD = CD_Object.arrayType(1); + + /** Type array with an Object array. */ protected static final ClassDesc[] objectArrayCD_arg = new ClassDesc[] {objectArrayCD}; + + /** Type array with no arguments. */ protected static final ClassDesc[] noArgsCD = new ClassDesc[0]; // Debug loggers @@ -356,11 +361,23 @@ static class MethodDef { String name; ClassDesc[] arg_types; + /** + * Create a new MethodDef. + * + * @param name of method + * @param arg_types of method + */ MethodDef(String name, ClassDesc[] arg_types) { this.name = name; this.arg_types = arg_types; } + /** + * Equality test for MethodDef. + * + * @param name of method + * @param arg_types of method + */ @EnsuresNonNullIf(result = true, expression = "#1") boolean equals(@GuardSatisfied MethodDef this, String name, ClassDesc[] arg_types) { if (!name.equals(this.name)) { @@ -1085,6 +1102,7 @@ private void instrumentCode( // } } + /** old instrumenter - to be removed */ public JavaClass old_instrument() { @BinaryName String classname = gen.getClassName(); diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 8cec9fadd2..40f8aaba9f 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -86,6 +86,7 @@ public static void print_call_stack() { } // TEMPORARY - REMOVE when DCInstrument24 is working + /* * Output a .oclass file and a .obcel version of the class file. * From ef52dd031653f3b47fbc080ccdda9c41720abb1d Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 19 Jun 2025 13:10:19 -0700 Subject: [PATCH 042/211] Convert non-Javadoc comments to Javadoc by adding "*" --- java/daikon/dcomp/CalcStack24.java | 4 ++-- java/daikon/dcomp/Instrument24.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 8c87c199f7..1cd2322a9b 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -960,7 +960,7 @@ protected static boolean calcOperandStack( } } - /* + /** * Create a set of worklist items. * * @param target label where to start operand stack simulation @@ -976,7 +976,7 @@ protected static void addLabelsToWorkList( } } - /* + /** * Create a worklist item. * * @param target label where to start operand stack simulation diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 40f8aaba9f..aac9e4df8b 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -87,7 +87,7 @@ public static void print_call_stack() { // TEMPORARY - REMOVE when DCInstrument24 is working - /* + /** * Output a .oclass file and a .obcel version of the class file. * * @param c the Java class to output @@ -115,7 +115,7 @@ private void outputOldDebugFiles(JavaClass c, File directory, @BinaryName String } } - /* + /** * Output a .class file and a .bcel version of the class file. * * @param classBytes a byte array of the class file to output From 598b10304416e47d8ddc33b18461fd5bed741f64 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 19 Jun 2025 18:07:43 -0700 Subject: [PATCH 043/211] add missing javadoc --- java/daikon/dcomp/DCInstrument24.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index d0b5f3ef43..9be26a2aa6 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -294,9 +294,13 @@ public class DCInstrument24 { /** Possible states of JUnit test discovery. */ protected enum JUnitState { + /** Have not seen a junit class file. */ NOT_SEEN, + /** Have seen a junit class file. */ STARTING, + /** Have seen a junit class file that loads junit test classes. */ TEST_DISCOVERY, + /** Have completed identifing junit test classes. */ RUNNING }; @@ -358,7 +362,10 @@ protected enum JUnitState { /** Class that defines a method (by its name and argument types) */ static class MethodDef { + /** Name of method. */ String name; + + /** Arument types for the method. */ ClassDesc[] arg_types; /** From 4924917e818ceacf14e953db18b7b33612ed0bc8 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 23 Jun 2025 14:55:08 -0700 Subject: [PATCH 044/211] fix operand stack calculations --- java/daikon/dcomp/CalcStack24.java | 76 ++++++++++------- java/daikon/dcomp/DCInstrument24.java | 114 +++++++++++++++++++++++--- java/daikon/dcomp/OperandStack24.java | 74 +++++++++-------- 3 files changed, 186 insertions(+), 78 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 1cd2322a9b..3205f45f49 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -37,6 +37,7 @@ import java.lang.classfile.instruction.StoreInstruction; import java.lang.classfile.instruction.SwitchCase; import java.lang.classfile.instruction.TableSwitchInstruction; +import java.lang.classfile.instruction.TypeCheckInstruction; import java.lang.constant.ClassDesc; import java.lang.constant.MethodTypeDesc; import java.util.List; @@ -68,6 +69,9 @@ protected static boolean calcOperandStack( int inst_index, OperandStack24 stack) { + if (DCInstrument24.debugOperandStack) { + System.out.println("code element: " + ce); + } switch (ce) { case Instruction inst -> { if (DCInstrument24.stacks[inst_index] != null) { @@ -75,7 +79,11 @@ protected static boolean calcOperandStack( } else { DCInstrument24.stacks[inst_index] = stack.getClone(); } - + if (DCInstrument24.debugOperandStack) { + System.out.println( + "save stack state at: " + inst_index + ", " + DCInstrument24.stacks[inst_index]); + System.out.println("opcode: " + inst.opcode()); + } // caculate stack changes switch (inst.opcode()) { @@ -88,7 +96,7 @@ protected static boolean calcOperandStack( final ClassDesc t = stack.pop(); // pop the arrayref if (t.equals(nullCD)) { stack.push(nullCD); - // Do nothing stackwise --- a NullPointerException is thrown at Run-Time + // Do nothing stackwise --- a NullPointerException will be thrown when executed } else { final ClassDesc ct = t.componentType(); if (ct == null) { @@ -189,7 +197,6 @@ protected static boolean calcOperandStack( case Opcode.LSTORE_1: case Opcode.LSTORE_2: case Opcode.LSTORE_3: - case Opcode.POP: StoreInstruction si = (StoreInstruction) inst; // UNDONE check that si.typeKind() matches stack.pop()? DCInstrument24.locals[si.slot()] = stack.pop(); @@ -232,8 +239,19 @@ protected static boolean calcOperandStack( // ..., objectref // ..., objectref case Opcode.CHECKCAST: - // just assume it will be ok, otherwise it will throw - return true; + { + final ClassDesc t = stack.pop(); // pop the objectref + if (t.equals(nullCD)) { + stack.push(nullCD); + } else { + TypeCheckInstruction tci = (TypeCheckInstruction) inst; + final ClassDesc ct = tci.type().asSymbol(); + // We assume the type check will succeed + stack.push(ct); + } + // just assume it will be ok, otherwise it will throw when executed + return true; + } // operand stack: // ..., value @@ -548,7 +566,7 @@ protected static boolean calcOperandStack( case Opcode.GOTO_W: { BranchInstruction bi = (BranchInstruction) inst; - addLabelsToWorkList(bi.target(), null, stack); + addLabelsToWorklist(bi.target(), null, stack); return false; } @@ -598,7 +616,7 @@ protected static boolean calcOperandStack( { stack.pop(2); // discard the values BranchInstruction bi = (BranchInstruction) inst; - addLabelsToWorkList(bi.target(), null, stack); + addLabelsToWorklist(bi.target(), null, stack); return true; } @@ -615,7 +633,7 @@ protected static boolean calcOperandStack( case Opcode.IFNULL: stack.pop(); // discard the value BranchInstruction bi = (BranchInstruction) inst; - addLabelsToWorkList(bi.target(), null, stack); + addLabelsToWorklist(bi.target(), null, stack); return true; // operand stack: @@ -663,7 +681,7 @@ protected static boolean calcOperandStack( stack.push(CD_Object); // there is no way to represent a return address, fake it DiscontinuedInstruction.JsrInstruction ji = (DiscontinuedInstruction.JsrInstruction) inst; - addLabelsToWorkList(ji.target(), null, stack); + addLabelsToWorklist(ji.target(), null, stack); return false; // operand stack: @@ -749,7 +767,7 @@ protected static boolean calcOperandStack( case Opcode.LOOKUPSWITCH: stack.pop(); // discard the value LookupSwitchInstruction lsi = (LookupSwitchInstruction) inst; - addLabelsToWorkList(lsi.defaultTarget(), lsi.cases(), stack); + addLabelsToWorklist(lsi.defaultTarget(), lsi.cases(), stack); return false; // operand stack: @@ -817,6 +835,13 @@ protected static boolean calcOperandStack( stack.push(ClassDesc.ofDescriptor(descriptor)); return true; + // operand stack: + // ..., value + // ... + case Opcode.POP: + stack.pop(); // discard the value + return true; + // operand stack: // ..., value2, value1 // ... @@ -876,7 +901,7 @@ protected static boolean calcOperandStack( case Opcode.TABLESWITCH: stack.pop(); // discard the index TableSwitchInstruction tsi = (TableSwitchInstruction) inst; - addLabelsToWorkList(tsi.defaultTarget(), tsi.cases(), stack); + addLabelsToWorklist(tsi.defaultTarget(), tsi.cases(), stack); return false; // operand stack: @@ -933,18 +958,19 @@ protected static boolean calcOperandStack( } case Label l -> { - // UNDONE do anything? if (DCInstrument24.stacks[inst_index] != null) { // we've seen this label before - if (DCInstrument24.stacks[inst_index].equals(stack)) { - // stacks match; we're done with this worklist - return false; - } else { - throw new Error("operand stacks do not match:" + l); - } + // will throw if stacks don't match + DCInstrument24.verifyOperandStackMatches(l, DCInstrument24.stacks[inst_index], stack); + // stacks match; we're done with this worklist + return false; } else { // have not seen this label before; remember state of operand stack DCInstrument24.stacks[inst_index] = stack.getClone(); + if (DCInstrument24.debugOperandStack) { + System.out.println("save stack state at: " + l); + System.out.println(" " + inst_index + ", " + DCInstrument24.stacks[inst_index]); + } return true; } } @@ -967,20 +993,12 @@ protected static boolean calcOperandStack( * @param cases a set of case statement labels; additional start points for simulation * @param stack state of operand stack at target and case labels */ - protected static void addLabelsToWorkList( + protected static void addLabelsToWorklist( Label target, @Nullable List cases, OperandStack24 stack) { - addLabelToWorkList(target, stack); + DCInstrument24.addLabelToWorklist(target, stack); if (cases == null) return; for (SwitchCase item : cases) { - addLabelToWorkList(item.target(), stack); + DCInstrument24.addLabelToWorklist(item.target(), stack); } } - - /** - * Create a worklist item. - * - * @param target label where to start operand stack simulation - * @param stack state of operand stack at target - */ - protected static void addLabelToWorkList(Label target, OperandStack24 stack) {} } diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 9be26a2aa6..91c99ba537 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -186,7 +186,10 @@ public class DCInstrument24 { // Variables used for calculating the state of the operand stack. /** Mapping from a label to its index in the method's codeList. */ - protected Map labelIndexMap; + protected static Map labelIndexMap; + + /** Mapping from a label to its operand stack. */ + protected static Map worklistHistory; /** State of operand stack prior to each byte code instruction. */ protected static OperandStack24[] stacks; @@ -194,6 +197,11 @@ public class DCInstrument24 { /** The type of each local variable. */ protected static ClassDesc[] locals; + record WorkItem(int instructionIndex, OperandStack24 stack) {} + + /** Queue of items for the operand stack calculation. */ + protected static Queue worklist = new ArrayDeque<>(); + // Variables used for the entire class. /** The current ClassFile. */ @@ -277,6 +285,9 @@ public class DCInstrument24 { /** If true, enable {@link #handleInvoke} debugging. */ protected static final boolean debugHandleInvoke = true; + /** If true, enable operand stack debugging. */ + protected static final boolean debugOperandStack = false; + /** Keeps track of the methods that were not successfully instrumented. */ protected List skipped_methods = new ArrayList<>(); @@ -453,6 +464,17 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk debugInstrument.enabled = false; debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; + + if (debugOperandStack) { + // Create a new PrintStream with autoflush enabled + PrintStream newOut = new PrintStream(System.out, true); + // Reassign System.out to the new PrintStream + System.setOut(newOut); + // Create a new PrintStream with autoflush enabled + PrintStream newErr = new PrintStream(System.err, true); + // Reassign System.err to the new PrintStream + System.setErr(newErr); + } } /** @@ -988,7 +1010,6 @@ private void instrumentCode( @SuppressWarnings("JdkObsolete") List codeList = new LinkedList<>(); - labelIndexMap = new HashMap<>(); // no codeModel if DCInstrument24 generated the method if (codeModel != null) { @@ -1023,8 +1044,6 @@ private void instrumentCode( if (ca.labelToBci(l.label()) == 0) { oldStartLabel = l.label(); } - // remember where this label is located within the codeList - labelIndexMap.put(l.label(), codeList.size()); codeList.add(ce); } default -> codeList.add(ce); // save all other elements @@ -1034,6 +1053,9 @@ private void instrumentCode( // Create the local to store the tag frame for this method tagFrameLocal = createTagFrameLocal(mgen, minfo); + // Create newStartLabel now so instrumentCodeList can use it. + newStartLabel = codeBuilder.newLabel(); + // Instrument the method instrumentCodeList(codeModel, mgen, minfo, codeList); @@ -1055,7 +1077,6 @@ private void instrumentCode( // Copy the modified instruction list to the output class. ListIterator li = codeList.listIterator(); CodeElement ce = null; - newStartLabel = codeBuilder.newLabel(); while (li.hasNext()) { if (li.nextIndex() == newStartIndex) { codeBuilder.labelBinding(newStartLabel); @@ -1822,10 +1843,14 @@ private void instrumentCodeList( // The next section of code calculates the operand stack value(s) for the current method. // Build a map of labels to instruction list offsets + labelIndexMap = new HashMap<>(); li = instructions.listIterator(); while (li.hasNext()) { inst = li.next(); if (inst instanceof LabelTarget lt) { + if (debugOperandStack) { + System.out.println("label target: " + lt.label() + ", index: " + li.previousIndex()); + } // remember where this label is located within the instruction list labelIndexMap.put(lt.label(), li.previousIndex()); } @@ -1834,6 +1859,7 @@ private void instrumentCodeList( // change offset of oldStartLabel to where we will define newStartLabel labelIndexMap.put(oldStartLabel, newStartIndex); } + labelIndexMap.put(newStartLabel, newStartIndex); // Create an array to hold the calculated operand stack // prior to each byte code instruction. @@ -1842,22 +1868,24 @@ private void instrumentCodeList( // Create an array containing the type of each local variable. // This will be indexed by the local variable's slot number. // There may be a gap for the second slot of a variable of type long or double. + // UNDONE: do we have to save state of locals like we do statck? locals = new ClassDesc[mgen.getMaxLocals()]; + // UNDONE: init locals with 'this' and params only for (final LocalVariable lv : mgen.localsTable) { locals[lv.slot()] = lv.typeSymbol(); } + worklistHistory = new HashMap<>(); + // Create a worklist of instruction locations and operand stacks. - record WorkItem(int instructionIndex, OperandStack24 stack) {} - Queue worklist = new ArrayDeque<>(); - // work item for start of users code - worklist.add(new WorkItem(newStartIndex, new OperandStack24(mgen.getMaxStack()))); + // Create a work item for start of users code. + addLabelToWorklist(newStartLabel, new OperandStack24(mgen.getMaxStack())); if (codeModel != null) { - // create a work item for each exception handler + // Create a work item for each exception handler. for (ExceptionCatch ec : codeModel.exceptionHandlers()) { - Label l = ec.tryStart(); + Label l = ec.handler(); Optional catchType = ec.catchType(); OperandStack24 temp = new OperandStack24(mgen.getMaxStack()); if (catchType.isPresent()) { @@ -1865,7 +1893,7 @@ record WorkItem(int instructionIndex, OperandStack24 stack) {} } else { temp.push(CD_Throwable); } - worklist.add(new WorkItem(labelIndexMap.get(l), temp)); + addLabelToWorklist(l, temp); } } @@ -1874,15 +1902,27 @@ record WorkItem(int instructionIndex, OperandStack24 stack) {} int inst_index; while (!worklist.isEmpty()) { item = worklist.remove(); + if (debugOperandStack) { + System.out.println( + "pull from worklist: " + item.instructionIndex() + ", stack: " + item.stack()); + } li = instructions.listIterator(item.instructionIndex()); stack = item.stack(); // UNDONE turn it on - boolean proceed = false; + boolean proceed = true; while (proceed) { if (!li.hasNext()) throw new Error("error in instruction list"); inst_index = li.nextIndex(); inst = li.next(); + if (debugOperandStack) { + System.out.println("inst_index: " + inst_index); + System.out.println("Operand Stack in: " + stack); + } proceed = CalcStack24.calcOperandStack(mgen, minfo, inst, inst_index, stack); + if (debugOperandStack) { + System.out.println("Operand Stack out: " + stack); + System.out.println("proceed: " + proceed); + } } } @@ -1919,6 +1959,54 @@ record WorkItem(int instructionIndex, OperandStack24 stack) {} } } + /** + * Create a worklist item. + * + * @param target label where to start operand stack simulation + * @param stack state of operand stack at target + */ + protected static void addLabelToWorklist(Label target, OperandStack24 stack) { + OperandStack24 existing = worklistHistory.get(target); + if (existing == null) { + if (debugOperandStack) { + System.out.println( + "push to worklist: " + target + ", " + labelIndexMap.get(target) + ", stack: " + stack); + } + worklistHistory.put(target, stack.getClone()); + worklist.add(new WorkItem(labelIndexMap.get(target), stack.getClone())); + } else { + // will throw if stacks don't match + verifyOperandStackMatches(target, existing, stack); + // stacks match, don't add duplicate to worklist + if (debugOperandStack) { + System.out.println( + "duplicate worklist item: " + + target + + ", " + + labelIndexMap.get(target) + + ", stack: " + + stack); + } + } + } + + protected static void verifyOperandStackMatches( + Label target, OperandStack24 existing, OperandStack24 current) { + if (existing.equals(current)) { + return; + } + // stacks don't match + if (debugOperandStack) { + System.err.flush(); + System.out.flush(); + System.out.println("operand stacks do not match at label:" + target); + System.out.println("existing stack: " + existing); + System.out.println("current stack: " + current); + System.out.flush(); + } + throw new Error("operand stacks do not match at label:" + target); + } + /** * Adds the method name and containing class name to {@code skip_methods}, the list of * uninstrumented methods. diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index 4a29ea36b9..3dce63d8e9 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -59,23 +59,45 @@ public void clear() { @Override public Object clone(@GuardSatisfied OperandStack24 this) { final OperandStack24 newstack = new OperandStack24(this.maxStack); - @SuppressWarnings("unchecked") // OK because this.stack is the same type - final ArrayList clone = (ArrayList) this.stack.clone(); - newstack.stack = clone; + newstack.stack = new ArrayList<>(this.stack); return newstack; } /** * Returns true if and only if this OperandStack equals another, meaning equal lengths and equal - * objects on the stacks. + * objects on the stacks. Special case 'null' which matches anything but a primitive. */ @Override public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Nullable Object o) { + if (this == o) { + return true; + } if (!(o instanceof OperandStack24)) { return false; } - final OperandStack24 s = (OperandStack24) o; - return this.stack.equals(s.stack); + final OperandStack24 other = (OperandStack24) o; + if (this.stack.size() != other.stack.size()) { + return false; + } + for (int i = 0; i < this.stack.size(); i++) { + ClassDesc thisItem = this.stack.get(i); + ClassDesc otherItem = other.stack.get(i); + if (thisItem == null) { + if (otherItem != null) { + if (otherItem.isPrimitive()) { + return false; + } + } + } else if (otherItem == null) { + // we know thisItem != null + if (thisItem.isPrimitive()) { + return false; + } + } else if (!thisItem.equals(otherItem)) { + return false; + } + } + return true; } /** @@ -106,30 +128,6 @@ public boolean isEmpty() { return this.maxStack; } - /** - * Merges another stack state into this instance's stack state. See the Java Virtual Machine - * Specification, Second Edition, page 146: 4.9.2 for details. - */ - public void merge(final OperandStack24 s) { - if (slotsUsed() != s.slotsUsed() || size() != s.size()) { - throw new Error( - "Cannot merge stacks of different size:\nOperandStack A:\n" - + this - + "\nOperandStack B:\n" - + s); - } - - for (int i = 0; i < size(); i++) { - if (!stack.get(i).equals(s.stack.get(i))) { - throw new Error( - "Cannot merge stack types don't match:\nOperandStack A:\n" - + this - + "\nOperandStack B:\n" - + s); - } - } - } - /** Returns the element on top of the stack. The element is not popped off the stack! */ @Pure public ClassDesc peek() { @@ -179,13 +177,9 @@ public void push(final ClassDesc type) { * @see #maxStack() */ public @NonNegative int slotsUsed(@GuardSatisfied OperandStack24 this) { - /* - * XXX change this to a better implementation using a variable that keeps track of the actual slotsUsed()-value - * monitoring all push()es and pop()s. - */ int slots = 0; for (int i = 0; i < stack.size(); i++) { - slots += TypeKind.from(peek(i)).slotSize(); + slots += slotSize(peek(i)); } return slots; } @@ -202,9 +196,17 @@ public String toString(@GuardSatisfied OperandStack24 this) { for (int i = 0; i < size(); i++) { sb.append(peek(i)); sb.append(" (Size: "); - sb.append(String.valueOf(TypeKind.from(peek(i)).slotSize())); + sb.append(String.valueOf(slotSize(peek(i)))); sb.append(")\n"); } return sb.toString(); } + + int slotSize(ClassDesc item) { + if (item == null) { + return 1; + } else { + return TypeKind.from(item).slotSize(); + } + } } From 45041699adf7888bf958daae5730cc51cf87d52b Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 24 Jun 2025 15:10:42 -0700 Subject: [PATCH 045/211] add missing javadoc; fix checker annotation --- java/daikon/dcomp/DCInstrument24.java | 12 ++++++++++-- java/daikon/dcomp/OperandStack24.java | 8 +++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 91c99ba537..a335d0993b 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -197,6 +197,7 @@ public class DCInstrument24 { /** The type of each local variable. */ protected static ClassDesc[] locals; + /** Record containing a work item for the operand stack calculation. */ record WorkItem(int instructionIndex, OperandStack24 stack) {} /** Queue of items for the operand stack calculation. */ @@ -283,7 +284,7 @@ record WorkItem(int instructionIndex, OperandStack24 stack) {} // protected static final boolean debugGetDefiningInterface = false; /** If true, enable {@link #handleInvoke} debugging. */ - protected static final boolean debugHandleInvoke = true; + protected static final boolean debugHandleInvoke = false; /** If true, enable operand stack debugging. */ protected static final boolean debugOperandStack = false; @@ -1909,7 +1910,7 @@ private void instrumentCodeList( li = instructions.listIterator(item.instructionIndex()); stack = item.stack(); // UNDONE turn it on - boolean proceed = true; + boolean proceed = false; while (proceed) { if (!li.hasNext()) throw new Error("error in instruction list"); inst_index = li.nextIndex(); @@ -1990,6 +1991,13 @@ protected static void addLabelToWorklist(Label target, OperandStack24 stack) { } } + /** + * Verify that the operand stacks match at a label. + * + * @param target label where control flow merges + * @param existing state of operand stack at target + * @param current state of operand stack at transfer to target + */ protected static void verifyOperandStackMatches( Label target, OperandStack24 existing, OperandStack24 current) { if (existing.equals(current)) { diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index 3dce63d8e9..2ae9dfcf57 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -202,7 +202,13 @@ public String toString(@GuardSatisfied OperandStack24 this) { return sb.toString(); } - int slotSize(ClassDesc item) { + /** + * Calculate the size of an item on the operand stack. + * + * @param item type to get size of + * @return size of item + */ + int slotSize(@GuardSatisfied OperandStack24 this, ClassDesc item) { if (item == null) { return 1; } else { From 6f6463e2e8208a911342a78463b39ca542457f23 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 25 Jun 2025 16:15:08 -0700 Subject: [PATCH 046/211] latest updates --- java/daikon/dcomp/CalcStack24.java | 30 ++++++++++++++------------- java/daikon/dcomp/DCInstrument24.java | 22 +++++++++++++------- java/daikon/dcomp/OperandStack24.java | 10 +++++++-- 3 files changed, 39 insertions(+), 23 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 3205f45f49..40983f9cf0 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -13,7 +13,6 @@ import java.lang.classfile.Instruction; import java.lang.classfile.Label; import java.lang.classfile.Opcode; -import java.lang.classfile.TypeKind; import java.lang.classfile.constantpool.ClassEntry; import java.lang.classfile.constantpool.DoubleEntry; import java.lang.classfile.constantpool.FloatEntry; @@ -94,7 +93,7 @@ protected static boolean calcOperandStack( { stack.pop(); // discard the index final ClassDesc t = stack.pop(); // pop the arrayref - if (t.equals(nullCD)) { + if (t == null) { stack.push(nullCD); // Do nothing stackwise --- a NullPointerException will be thrown when executed } else { @@ -146,7 +145,8 @@ protected static boolean calcOperandStack( case Opcode.ANEWARRAY: stack.pop(); // discard the count final NewReferenceArrayInstruction nrai = (NewReferenceArrayInstruction) inst; - stack.push(nrai.componentType().asSymbol()); + // make an array type from the component type + stack.push(nrai.componentType().asSymbol().arrayType(1)); return true; // operand stack: @@ -241,7 +241,7 @@ protected static boolean calcOperandStack( case Opcode.CHECKCAST: { final ClassDesc t = stack.pop(); // pop the objectref - if (t.equals(nullCD)) { + if (t == null) { stack.push(nullCD); } else { TypeCheckInstruction tci = (TypeCheckInstruction) inst; @@ -368,7 +368,7 @@ protected static boolean calcOperandStack( { final ClassDesc v1 = stack.pop(); final ClassDesc v2 = stack.pop(); - if (TypeKind.from(v2).slotSize() == 2) { + if (stack.slotSize(v2) == 2) { stack.push(v1); } else { final ClassDesc v3 = stack.pop(); @@ -391,9 +391,9 @@ protected static boolean calcOperandStack( case Opcode.DUP2: { final ClassDesc v1 = stack.pop(); - if (TypeKind.from(v1).slotSize() == 2) { + if (stack.slotSize(v1) == 2) { stack.push(v1); - } else { // TypeKind.from(t).slotSize() == 1 + } else { // slotSize(v1) == 1 final ClassDesc v2 = stack.pop(); stack.push(v2); stack.push(v1); @@ -415,11 +415,11 @@ protected static boolean calcOperandStack( case Opcode.DUP2_X1: { final ClassDesc v1 = stack.pop(); - if (TypeKind.from(v1).slotSize() == 2) { + if (stack.slotSize(v1) == 2) { final ClassDesc v2 = stack.pop(); stack.push(v1); stack.push(v2); - } else { // TypeKind.from(v1).slotSize() == 1 + } else { // slotSize(v1) == 1 final ClassDesc v2 = stack.pop(); final ClassDesc v3 = stack.pop(); stack.push(v2); @@ -451,9 +451,9 @@ protected static boolean calcOperandStack( case Opcode.DUP2_X2: { final ClassDesc v1 = stack.pop(); - if (TypeKind.from(v1).slotSize() == 2) { + if (stack.slotSize(v1) == 2) { final ClassDesc v2 = stack.pop(); - if (TypeKind.from(v2).slotSize() == 2) { + if (stack.slotSize(v2) == 2) { stack.push(v1); } else { final ClassDesc v3 = stack.pop(); @@ -462,10 +462,10 @@ protected static boolean calcOperandStack( } stack.push(v2); stack.push(v1); - } else { // TypeKind.from(v1).slotSize() is 1 + } else { // slotSize(v1) is 1 final ClassDesc v2 = stack.pop(); final ClassDesc v3 = stack.pop(); - if (TypeKind.from(v3).slotSize() == 2) { + if (stack.slotSize(v3) == 2) { stack.push(v2); stack.push(v1); } else { @@ -785,6 +785,8 @@ protected static boolean calcOperandStack( final NewMultiArrayInstruction nmai = (NewMultiArrayInstruction) inst; stack.pop(nmai.dimensions()); // discard all the counts // UNDONE is the element type or array type? + // stack.push(nmai.componentType().asSymbol().arrayType(nmai.dimensions())); + System.out.println("multianewarry: " + nmai.arrayType().asSymbol()); stack.push(nmai.arrayType().asSymbol()); return true; @@ -853,7 +855,7 @@ protected static boolean calcOperandStack( case Opcode.POP2: { final ClassDesc v1 = stack.pop(); - if (TypeKind.from(v1).slotSize() == 1) { + if (stack.slotSize(v1) == 1) { stack.pop(); } return true; diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index a335d0993b..a563becaf9 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -553,8 +553,6 @@ private void instrumentClass( classInfo.isJunitTestClass = false; - // UNDONE MISSING JUNIT CODE! need isJunitTestClass to be calculated - // Have all top-level classes implement our interface if (classGen.getSuperclassName().equals("java.lang.Object")) { @SuppressWarnings("signature:assignment") @@ -573,6 +571,8 @@ private void instrumentClass( add_dcomp_interface(classBuilder, classGen, classInfo); } + // UNDONE MISSING JUNIT CODE! need isJunitTestClass to be calculated + instrument_all_methods(classModel, classBuilder, classInfo); // Add tag accessor methods for each primitive in the class @@ -798,12 +798,11 @@ private void instrument_all_methods( debug_transform.exdent(); } catch (Throwable t) { - // debug code - // t.printStackTrace(); if (debugInstrument.enabled) { t.printStackTrace(); } - throw new Error("Unexpected error processing " + classname + "." + mgen.getName(), t); + throw new Error( + "Unexpected error processing " + classname + "." + mm.methodName().stringValue(), t); } } @@ -1839,6 +1838,7 @@ private void instrumentCodeList( } catch (Exception e) { System.err.printf("Unexpected exception encountered: %s", e); e.printStackTrace(); + // UNDONE: throw? } // The next section of code calculates the operand stack value(s) for the current method. @@ -1881,7 +1881,11 @@ private void instrumentCodeList( // Create a worklist of instruction locations and operand stacks. // Create a work item for start of users code. - addLabelToWorklist(newStartLabel, new OperandStack24(mgen.getMaxStack())); + if (oldStartLabel != null) { + addLabelToWorklist(oldStartLabel, new OperandStack24(mgen.getMaxStack())); + } else { + addLabelToWorklist(newStartLabel, new OperandStack24(mgen.getMaxStack())); + } if (codeModel != null) { // Create a work item for each exception handler. @@ -2001,6 +2005,9 @@ protected static void addLabelToWorklist(Label target, OperandStack24 stack) { protected static void verifyOperandStackMatches( Label target, OperandStack24 existing, OperandStack24 current) { if (existing.equals(current)) { + if (debugOperandStack) { + System.out.println("operand stacks match at: " + target); + } return; } // stacks don't match @@ -3939,7 +3946,8 @@ private List multiarray2(Instruction inst) { */ boolean should_track(@BinaryName String className, String methodName, String pptName) { - debugInstrument.log("Considering tracking ppt: %s, %s, %s%n", className, methodName, pptName); + debugInstrument.log( + "Considering tracking (24) ppt: %s, %s, %s%n", className, methodName, pptName); // Don't track any JDK classes if (BcelUtil.inJdk(className)) { diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index 2ae9dfcf57..c1752fb1cb 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -93,8 +93,14 @@ public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Null if (thisItem.isPrimitive()) { return false; } - } else if (!thisItem.equals(otherItem)) { - return false; + // We should check if they are equal or have a common superclass, but we + // assume the class file is valid and take the easy way out. + } else if (thisItem.isClassOrInterface()) { + return otherItem.isClassOrInterface(); + } else if (thisItem.isPrimitive()) { + return otherItem.isPrimitive(); + } else if (thisItem.isArray()) { + return otherItem.isArray(); } } return true; From 7bc20bdd15aecbdd23803b94d5cc3e204d5ebb64 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 25 Jun 2025 18:38:00 -0700 Subject: [PATCH 047/211] cleanup junit debugging --- java/daikon/dcomp/DCInstrument.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 33427b907f..9f9f6301c4 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -415,7 +415,9 @@ public JavaClass instrument() { // We must also remember the class name so if we see a subsequent // call to one of its methods we do not add the dcomp argument. - debugInstrument.log("junit_state: %s%n", junit_state); + if (debugJUnitAnalysis) { + System.out.printf("junit_state 1: %s%n", junit_state); + } StackTraceElement[] stack_trace; @@ -482,7 +484,9 @@ public JavaClass instrument() { throw new Error("invalid junit_state"); } - debugInstrument.log("junit_state: %s%n", junit_state); + if (debugJUnitAnalysis) { + System.out.printf("junit_state 2: %s%n", junit_state); + } boolean junit_test_class = false; if (junit_state == JUnitState.TEST_DISCOVERY) { @@ -553,10 +557,12 @@ public JavaClass instrument() { } } - if (junit_test_class) { - debugInstrument.log("JUnit test class: %s%n", classname); - } else { - debugInstrument.log("Not a JUnit test class: %s%n", classname); + if (debugJUnitAnalysis) { + if (junit_test_class) { + System.out.printf("JUnit test class: %s%n", classname); + } else { + System.out.printf("Not a JUnit test class: %s%n", classname); + } } // Process each method From 3318430ed953d0d6188f8d93376030ed0904ae36 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 25 Jun 2025 18:56:42 -0700 Subject: [PATCH 048/211] turn on operand stack calculating --- java/daikon/dcomp/DCInstrument24.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index a563becaf9..0a0b545109 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1914,7 +1914,7 @@ private void instrumentCodeList( li = instructions.listIterator(item.instructionIndex()); stack = item.stack(); // UNDONE turn it on - boolean proceed = false; + boolean proceed = true; while (proceed) { if (!li.hasNext()) throw new Error("error in instruction list"); inst_index = li.nextIndex(); From e3cf7eb64c265989c0c1fb1b12271073cce6ea41 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 26 Jun 2025 10:36:39 -0700 Subject: [PATCH 049/211] add some missing wide opcodes --- java/daikon/dcomp/CalcStack24.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 40983f9cf0..75fb134b1a 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -135,6 +135,7 @@ protected static boolean calcOperandStack( case Opcode.ALOAD_1: case Opcode.ALOAD_2: case Opcode.ALOAD_3: + case Opcode.ALOAD_W: LoadInstruction li = (LoadInstruction) inst; stack.push(DCInstrument24.locals[li.slot()]); return true; @@ -177,26 +178,31 @@ protected static boolean calcOperandStack( case Opcode.ASTORE_1: case Opcode.ASTORE_2: case Opcode.ASTORE_3: + case Opcode.ASTORE_W: case Opcode.DSTORE: case Opcode.DSTORE_0: case Opcode.DSTORE_1: case Opcode.DSTORE_2: case Opcode.DSTORE_3: + case Opcode.DSTORE_W: case Opcode.FSTORE: case Opcode.FSTORE_0: case Opcode.FSTORE_1: case Opcode.FSTORE_2: case Opcode.FSTORE_3: + case Opcode.FSTORE_W: case Opcode.ISTORE: case Opcode.ISTORE_0: case Opcode.ISTORE_1: case Opcode.ISTORE_2: case Opcode.ISTORE_3: + case Opcode.ISTORE_W: case Opcode.LSTORE: case Opcode.LSTORE_0: case Opcode.LSTORE_1: case Opcode.LSTORE_2: case Opcode.LSTORE_3: + case Opcode.LSTORE_W: StoreInstruction si = (StoreInstruction) inst; // UNDONE check that si.typeKind() matches stack.pop()? DCInstrument24.locals[si.slot()] = stack.pop(); @@ -320,6 +326,7 @@ protected static boolean calcOperandStack( case Opcode.DLOAD_1: case Opcode.DLOAD_2: case Opcode.DLOAD_3: + case Opcode.DLOAD_W: stack.push(CD_double); return true; @@ -528,6 +535,7 @@ protected static boolean calcOperandStack( case Opcode.FLOAD_1: case Opcode.FLOAD_2: case Opcode.FLOAD_3: + case Opcode.FLOAD_W: stack.push(CD_float); return true; @@ -639,6 +647,7 @@ protected static boolean calcOperandStack( // operand stack: // [no change] case Opcode.IINC: + case Opcode.IINC_W: case Opcode.NOP: return true; @@ -650,6 +659,7 @@ protected static boolean calcOperandStack( case Opcode.ILOAD_1: case Opcode.ILOAD_2: case Opcode.ILOAD_3: + case Opcode.ILOAD_W: stack.push(CD_int); return true; @@ -750,6 +760,7 @@ protected static boolean calcOperandStack( case Opcode.LLOAD_1: case Opcode.LLOAD_2: case Opcode.LLOAD_3: + case Opcode.LLOAD_W: stack.push(CD_long); return true; From cbf2cab5179d2ba103e5e3f268fe6d8731b2c70b Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 2 Jul 2025 17:20:08 -0700 Subject: [PATCH 050/211] add ability to creat tage frame local --- java/daikon/dcomp/BcelUtils24.java | 50 ++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index afb47ef022..6ee97d3ba2 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -129,23 +129,36 @@ protected static void adjust_code_for_locals_change( } /** - * Add a new parameter to the method. This will be added after last current parameter and before - * the first local variable. This might have the side effect of causing us to rewrite the method - * byte codes to adjust the offsets for the local variables - see below for details. + * Add a new local variable to the method. This will be inserted after last current parameter and + * before the first local variable. This might have the side effect of causing us to rewrite the + * method byte codes to adjust the offsets for the existing local variables - see below for + * details. * - *

Must call fixLocalVariableTable (just once per method) before calling this routine. + *

DCInstrument24 uses this routine for two special variables: + * + *

    + *
  1. the dcomp marker - added as a parameter + *
  2. the tag frame array - added as a local + *
+ * + *

Must call fixLocals (in MethodGen24) before calling this routine. * * @param mgen MethodGen to be modified * @param argName name of new parameter * @param argType type of new parameter * @param minfo for the given method's code - * @return a LocalVariableGen for the new parameter + * @param isParam if true, the new local is a new parameter + * @return a LocalVariable for the new variable */ - public static final LocalVariable addNewParameter( - MethodGen24 mgen, String argName, ClassDesc argType, MethodGen24.MInfo24 minfo) { - // We add a new parameter, after any current ones, and then - // we need to make a pass over the byte codes to update the local - // offset values of all the locals we just shifted up. + public static final LocalVariable addNewSpecialLocal( + MethodGen24 mgen, + String argName, + ClassDesc argType, + MethodGen24.MInfo24 minfo, + boolean isParam) { + // We add a new local variable, after any parameters and before any + // existing local variables. We then need to make a pass over the + // byte codes to update the local offset values of any locals we just shifted up. LocalVariable argNew = null; // get a copy of the locals before modification @@ -179,12 +192,14 @@ public static final LocalVariable addNewParameter( mgen.setMaxLocals(minfo.nextLocalIndex); } - // Update the method's parameter information. - argTypes = postpendToArray(argTypes, argType); - @SuppressWarnings("signature:assignment") // string manipulation - @Identifier String[] argNames = addString(mgen.getParameterNames(), argName); - mgen.setParameterTypes(argTypes); - mgen.setParameterNames(argNames); + if (isParam) { + // Update the method's parameter information. + argTypes = postpendToArray(argTypes, argType); + @SuppressWarnings("signature:assignment") // string manipulation + @Identifier String[] argNames = addString(mgen.getParameterNames(), argName); + mgen.setParameterTypes(argTypes); + mgen.setParameterNames(argNames); + } if (hasCode) { // we need to adjust the offset of any locals after our insertion @@ -197,7 +212,8 @@ public static final LocalVariable addNewParameter( } debugInstrument.log( - "Added arg %s%n", argNew.slot() + ": " + argNew.name() + ", " + argNew.type()); + "Added arg %s%n", + argNew.slot() + ": " + argNew.name() + ", " + argNew.type() + ", " + argSize); // Now process the instruction list, adding one to the offset // within each LocalVariableInstruction that references a From 6332a235fbc3560f168eb93e86816c09cb07d5c5 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 2 Jul 2025 17:21:10 -0700 Subject: [PATCH 051/211] update documentation --- java/daikon/dcomp/CalcStack24.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 75fb134b1a..322cd29b17 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -51,7 +51,8 @@ public class CalcStack24 { /** * Calculates changes in contents of operand stack based on the symbolic execution of a Java - * bytecode instruction. + * bytecode instruction. Note that we assume the class file is valid and make no attempt to verify + * the code's correctness. * * @param mgen method containing the instruction (currently unused) * @param minfo for the given method's code (currently unused) @@ -204,7 +205,7 @@ protected static boolean calcOperandStack( case Opcode.LSTORE_3: case Opcode.LSTORE_W: StoreInstruction si = (StoreInstruction) inst; - // UNDONE check that si.typeKind() matches stack.pop()? + // We assume code is correct and do not verify that si.typeKind() matches stack.pop(). DCInstrument24.locals[si.slot()] = stack.pop(); return true; @@ -215,6 +216,7 @@ protected static boolean calcOperandStack( // execution pump will reset stack return false; + // UNDONE: the JVM says result is int, but should we track 'true' type? // operand stack: // ..., arrayref, index // ..., value @@ -578,6 +580,7 @@ protected static boolean calcOperandStack( return false; } + // UNDONE: the JVM says result is int, but should we track 'true' type? // operand stack: // ..., value // ..., result @@ -671,6 +674,7 @@ protected static boolean calcOperandStack( stack.push(CD_int); return true; + // UNDONE: the JVM says result is int, but should we track 'true' type? // operand stack: // ..., objectref // ..., result @@ -686,8 +690,8 @@ protected static boolean calcOperandStack( // ..., [return address] case Opcode.JSR: case Opcode.JSR_W: - // UNDONE we should add label of next instruction to work list? but we have no idea - // what stack will be + // Perhaps we should add label of next instruction to work list but we have no idea + // what stack will be after return from the JSR. stack.push(CD_Object); // there is no way to represent a return address, fake it DiscontinuedInstruction.JsrInstruction ji = (DiscontinuedInstruction.JsrInstruction) inst; @@ -795,7 +799,7 @@ protected static boolean calcOperandStack( case Opcode.MULTIANEWARRAY: final NewMultiArrayInstruction nmai = (NewMultiArrayInstruction) inst; stack.pop(nmai.dimensions()); // discard all the counts - // UNDONE is the element type or array type? + // UNDONE is this the element type or array type? // stack.push(nmai.componentType().asSymbol().arrayType(nmai.dimensions())); System.out.println("multianewarry: " + nmai.arrayType().asSymbol()); stack.push(nmai.arrayType().asSymbol()); @@ -989,7 +993,7 @@ protected static boolean calcOperandStack( } case LineNumber ln -> { - // UNDONE do anything? + // Nothing needs to be done. return true; } From 25bf9ec035d11c023fa84008331153352810d301 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 2 Jul 2025 17:24:17 -0700 Subject: [PATCH 052/211] calc operand stack complete; instrument instruction complete; fix tag accessors --- java/daikon/dcomp/DCInstrument24.java | 718 ++++++++++++++------------ 1 file changed, 381 insertions(+), 337 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 0a0b545109..dcbe5e37a1 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -5,8 +5,13 @@ import static java.lang.constant.ConstantDescs.CD_String; import static java.lang.constant.ConstantDescs.CD_Throwable; import static java.lang.constant.ConstantDescs.CD_boolean; +import static java.lang.constant.ConstantDescs.CD_byte; +import static java.lang.constant.ConstantDescs.CD_char; +import static java.lang.constant.ConstantDescs.CD_double; +import static java.lang.constant.ConstantDescs.CD_float; import static java.lang.constant.ConstantDescs.CD_int; import static java.lang.constant.ConstantDescs.CD_long; +import static java.lang.constant.ConstantDescs.CD_short; import static java.lang.constant.ConstantDescs.CD_void; import daikon.DynComp; @@ -119,7 +124,6 @@ // import org.apache.bcel.generic.ReturnInstruction; // import org.apache.bcel.generic.StoreInstruction; import org.apache.bcel.generic.Type; -import org.apache.bcel.verifier.structurals.OperandStack; import org.apache.commons.io.IOUtils; import org.checkerframework.checker.lock.qual.GuardSatisfied; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; @@ -1842,6 +1846,9 @@ private void instrumentCodeList( } // The next section of code calculates the operand stack value(s) for the current method. + if (debugOperandStack) { + System.out.printf("%nStarting operand stack calculation%n"); + } // Build a map of labels to instruction list offsets labelIndexMap = new HashMap<>(); @@ -1931,25 +1938,34 @@ private void instrumentCodeList( } } + if (debugOperandStack) { + System.out.printf("%nStarting instruction instrumentation%n"); + } // set list iterator to start of the user instructions li = instructions.listIterator(newStartIndex); - // if we get index = li.nextIndex() here and increment each time through loop - // it sould match stack index we calculate above + // We set inst_index here and increment each time through loop. + // This should match the index into stacks we used above. + inst_index = li.nextIndex(); while (li.hasNext()) { - // System.out.println("inst index: " + li.nextIndex()); + System.out.println("inst indexes: " + inst_index + ", " + li.nextIndex()); inst = li.next(); // Get the stack information // stack = stack_types.get(handle_offsets[index++]); - // new_il = xform_inst(mg, ih, stack); + // Get the translation for this instruction (if any) - List new_il = instrumentInstruction(mgen, minfo, inst); + if (DCInstrument24.debugOperandStack) { + System.out.println("code element in: " + inst); + } + List new_il = instrumentInstruction(mgen, minfo, inst, stacks[inst_index]); if (new_il != null) { - // System.out.println("insts added: " + (new_il.size()-1)); li.remove(); // remove the instruction we instrumented for (CodeElement ce : new_il) { + if (DCInstrument24.debugOperandStack) { + System.out.println("code element out: " + ce); + } li.add(ce); } } @@ -1961,6 +1977,7 @@ private void instrumentCodeList( // break; // } + inst_index++; } } @@ -2101,7 +2118,7 @@ private void add_enter( * @return LocalVariable for the tag_frame local */ LocalVariable createTagFrameLocal(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { - return createLocalWithMethodScope(mgen, minfo, "dcomp_tag_frame$5a", objectArrayCD); + return BcelUtils24.addNewSpecialLocal(mgen, "dcomp_tag_frame$5a", objectArrayCD, minfo, false); } /** @@ -2248,7 +2265,6 @@ private List callEnterOrExit( return instructions; } - // @param stack current contents of the stack /** * Transforms instructions to track comparability. Returns a list of instructions that replaces * the specified instruction. Returns null if the instruction should not be replaced. @@ -2256,10 +2272,12 @@ private List callEnterOrExit( * @param mgen method to modify * @param minfo for the given method's code * @param ce instruction to be instrumented - * @return instrumentation for inst, or null is none + * @param stack current contents of the operand stack + * @return instrumentation for inst, or null if none */ @Nullable List instrumentInstruction( - MethodGen24 mgen, MethodGen24.MInfo24 minfo, CodeElement ce) { + MethodGen24 mgen, MethodGen24.MInfo24 minfo, CodeElement ce, OperandStack24 stack) { + switch (ce) { case Instruction inst -> { switch (inst.opcode()) { @@ -2456,18 +2474,14 @@ private List callEnterOrExit( // array's index. case Opcode.ANEWARRAY: case Opcode.NEWARRAY: - { - return new_array(inst); - } + return new_array(inst); // If the new array has 2 dimensions, make the integer arguments // comparable to the corresponding indices of the new array. // For any other number of dimensions, discard the tags for the // arguments. case Opcode.MULTIANEWARRAY: - { - return multi_newarray_dc((NewMultiArrayInstruction) inst); - } + return multi_newarray_dc((NewMultiArrayInstruction) inst); // Mark the array and its index as comparable. Also for primitives, // push the tag of the array element on the tag stack @@ -2479,9 +2493,7 @@ private List callEnterOrExit( case Opcode.IALOAD: case Opcode.LALOAD: case Opcode.SALOAD: - { - return array_load(mgen, (ArrayLoadInstruction) inst); - } + return array_load(mgen, (ArrayLoadInstruction) inst); // Prefix the return with a call to the correct normal_exit method // to handle the tag stack @@ -2491,9 +2503,7 @@ private List callEnterOrExit( case Opcode.IRETURN: case Opcode.LRETURN: case Opcode.RETURN: - { - return return_tag(mgen, inst); - } + return return_tag(mgen, inst); // Throws an exception. This clears the operand stack of the current // frame. We need to clear the tag stack as well. @@ -2560,6 +2570,88 @@ private List callEnterOrExit( case Opcode.INVOKEDYNAMIC: return handleInvokeDynamic((InvokeDynamicInstruction) inst); + // Duplicates the item on the top of stack. If the value on the + // top of the stack is a primitive, we need to do the same on the + // tag stack. Otherwise, we need do nothing. + case Opcode.DUP: + return dup_tag(inst, stack); + + // Duplicates the item on the top of the stack and inserts it 2 + // values down in the stack. If the value at the top of the stack + // is not a primitive, there is nothing to do. If the second + // value is not a primitive, then we need only to insert the duped + // value down 1 on the tag stack (which contains only primitives). + case Opcode.DUP_X1: + return dup_x1_tag(inst, stack); + + // Duplicate the category 1 item on the top of the stack and insert it either + // two or three items down in the stack. + case Opcode.DUP_X2: + return dup_x2_tag(inst, stack); + + // Duplicate either one category 2 item or two category 1 items. + case Opcode.DUP2: + return dup2_tag(inst, stack); + + // Duplicate either the top 2 category 1 items or a single + // category 2 item and insert it 2 or 3 values down on the + // stack. + case Opcode.DUP2_X1: + return dup2_x1_tag(inst, stack); + + // Duplicate the top one or two items and insert them two, three, or four values down. + case Opcode.DUP2_X2: + return dup2_x2_tag(inst, stack); + + // Pop a category 1 item from the top of the stack. We want to discard + // the top of the tag stack iff the item on the top of the stack is a + // primitive. + case Opcode.POP: + return pop_tag(inst, stack); + + // Pops either the top 2 category 1 items or a single category 2 item + // from the top of the stack. We must do the same to the tag stack + // if the values are primitives. + case Opcode.POP2: + return pop2_tag(inst, stack); + + // Swaps the two category 1 items on the top of the stack. We need + // to swap the top of the tag stack if the two top elements on the + // real stack are primitives. + case Opcode.SWAP: + return swap_tag(inst, stack); + + // Mark the array and its index as comparable. For primitives, store + // the tag for the value on the top of the stack in the tag storage + // for the array. + case Opcode.AASTORE: + return array_store(inst, "aastore", CD_Object); + case Opcode.BASTORE: + // The JVM uses bastore for both byte and boolean. + // We need to differentiate. + ClassDesc arrayref = stack.peek(2); + ClassDesc ct = arrayref.componentType(); + if (ct == null) { + throw new Error("stack item not an arrayref: " + inst); + } + if (ct.equals(CD_boolean)) { + return array_store(inst, "zastore", CD_boolean); + } else { + return array_store(inst, "bastore", CD_byte); + } + case Opcode.CASTORE: + return array_store(inst, "castore", CD_char); + case Opcode.DASTORE: + return array_store(inst, "dastore", CD_double); + case Opcode.FASTORE: + return array_store(inst, "fastore", CD_float); + case Opcode.IASTORE: + return array_store(inst, "iastore", CD_int); + case Opcode.LASTORE: + return array_store(inst, "lastore", CD_long); + case Opcode.SASTORE: + return array_store(inst, "sastore", CD_short); + // UNDONE default -> throw exception when done? default: // System.out.println("Unexpected instruction opcode: " + ce); @@ -2585,123 +2677,6 @@ private List callEnterOrExit( } } - /** - * Transforms instructions to track comparability. Returns a list of instructions that replaces - * the specified instruction. Returns null if the instruction should not be replaced. - * - * @param mg method being instrumented - * @param ih handle of Instruction to translate - * @param stack current contents of the stack - */ - @Nullable InstructionList xform_inst(MethodGen mg, InstructionHandle ih, OperandStack stack) { - - org.apache.bcel.generic.Instruction inst = ih.getInstruction(); - - switch (inst.getOpcode()) { - - // Duplicates the item on the top of stack. If the value on the - // top of the stack is a primitive, we need to do the same on the - // tag stack. Otherwise, we need do nothing. - case Const.DUP: - { - return dup_tag(inst, stack); - } - - // Duplicates the item on the top of the stack and inserts it 2 - // values down in the stack. If the value at the top of the stack - // is not a primitive, there is nothing to do here. If the second - // value is not a primitive, then we need only to insert the duped - // value down 1 on the tag stack (which contains only primitives) - case Const.DUP_X1: - { - return dup_x1_tag(inst, stack); - } - - // Duplicates either the top 2 category 1 values or a single - // category 2 value and inserts it 2 or 3 values down on the - // stack. - case Const.DUP2_X1: - { - return dup2_x1_tag(inst, stack); - } - - // Duplicate either one category 2 value or two category 1 values. - case Const.DUP2: - { - return dup2_tag(inst, stack); - } - - // Dup the category 1 value on the top of the stack and insert it either - // two or three values down on the stack. - case Const.DUP_X2: - { - return dup_x2(inst, stack); - } - - case Const.DUP2_X2: - { - return dup2_x2(inst, stack); - } - - // Pop instructions discard the top of the stack. We want to discard - // the top of the tag stack iff the item on the top of the stack is a - // primitive. - case Const.POP: - { - return pop_tag(inst, stack); - } - - // Pops either the top 2 category 1 values or a single category 2 value - // from the top of the stack. We must do the same to the tag stack - // if the values are primitives. - case Const.POP2: - { - return pop2_tag(inst, stack); - } - - // Swaps the two category 1 types on the top of the stack. We need - // to swap the top of the tag stack if the two top elements on the - // real stack are primitives. - case Const.SWAP: - { - return swap_tag(inst, stack); - } - - // end of dup opcodes - - // Mark the array and its index as comparable. For primitives, store - // the tag for the value on the top of the stack in the tag storage - // for the array. - case Const.AASTORE: - return array_store(inst, "aastore", Type.OBJECT); - case Const.BASTORE: - // The JVM uses bastore for both byte and boolean. - // We need to differentiate. - Type arr_type = stack.peek(2); - if (arr_type.getSignature().equals("[Z")) { - return array_store(inst, "zastore", Type.BOOLEAN); - } else { - return array_store(inst, "bastore", Type.BYTE); - } - case Const.CASTORE: - return array_store(inst, "castore", Type.CHAR); - case Const.DASTORE: - return array_store(inst, "dastore", Type.DOUBLE); - case Const.FASTORE: - return array_store(inst, "fastore", Type.FLOAT); - case Const.IASTORE: - return array_store(inst, "iastore", Type.INT); - case Const.LASTORE: - return array_store(inst, "lastore", Type.LONG); - case Const.SASTORE: - return array_store(inst, "sastore", Type.SHORT); - - // Make sure we didn't miss anything - default: - throw new Error("instruction " + inst + " unsupported"); - } - } - /** * Adds a call to DCruntime.exit() at each return from the method. This call calculates * comparability on the daikon variables. It is only necessary if we are tracking comparability @@ -3854,12 +3829,11 @@ private List array_load(MethodGen24 mgen, ArrayLoadInstruction inst * @param base_type type of array store * @return instruction list that calls the runtime to handle the array store instruction */ - InstructionList array_store( - org.apache.bcel.generic.Instruction inst, String method, Type base_type) { + List array_store(CodeElement inst, String method, ClassDesc base_type) { + List il = new ArrayList<>(); - InstructionList il = new InstructionList(); - Type arr_type = new ArrayType(base_type, 1); - il.append(dcr_call(method, Type.VOID, new Type[] {arr_type, Type.INT, base_type})); + ClassDesc array_type = base_type.arrayType(1); + il.add(dcr_call(method, CD_void, new ClassDesc[] {array_type, CD_int, base_type})); return il; } @@ -4039,17 +4013,17 @@ List discard_tag_code(CodeElement inst, int tag_count) { } /** - * Duplicates the item on the top of stack. If the value on the top of the stack is a primitive, - * we need to do the same on the tag stack. Otherwise, we need do nothing. + * Duplicates a category 1 item on the top of stack. If it is a primitive, we need to do the same + * to the tag stack. Otherwise, we do nothing. */ - InstructionList dup_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - // Type top = stack.peek(); + List dup_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc top = stack.peek(); if (debug_dup.enabled) { debug_dup.log("DUP -> %s [... %s]%n", "dup", stack_contents(stack, 2)); } - // if (is_primitive(top)) { - // return build_il(dcr_call("dup", Type.VOID, Type.NO_ARGS), inst); - // } + if (top.isPrimitive()) { + return build_il(dcr_call("dup", CD_void, noArgsCD), inst); + } return null; } @@ -4059,74 +4033,70 @@ InstructionList dup_tag(org.apache.bcel.generic.Instruction inst, OperandStack s * value is not a primitive, then we need only to insert the duped value down 1 on the tag stack * (which contains only primitives). */ - InstructionList dup_x1_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - // Type top = stack.peek(); + List dup_x1_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc top = stack.peek(); + String op; + if (!top.isPrimitive()) { + op = null; + } else if (stack.peek(1).isPrimitive()) { + op = "dup_x1"; + } else { + op = "dup"; + } if (debug_dup.enabled) { - debug_dup.log("DUP -> %s [... %s]%n", "dup_x1", stack_contents(stack, 2)); + debug_dup.log("DUP_X1 -> %s [... %s]%n", op, stack_contents(stack, 2)); + } + if (op != null) { + return build_il(dcr_call(op, CD_void, noArgsCD), inst); } - // if (!is_primitive(top)) { - // return null; - // } - // String method = "dup_x1"; - // if (!is_primitive(stack.peek(1))) { - // method = "dup"; - // } - // return build_il(dcr_call(method, Type.VOID, Type.NO_ARGS), inst); return null; } /** - * Duplicates either the top 2 category 1 values or a single category 2 value and inserts it 2 or - * 3 values down on the stack. + * Dup the category 1 value on the top of the stack and insert it either two or three values down + * on the stack. */ - InstructionList dup2_x1_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - // String op; - // Type top = stack.peek(); - // if (is_category2(top)) { - // if (is_primitive(stack.peek(1))) { - // op = "dup_x1"; - // } else { // not a primitive, so just dup - // op = "dup"; - // } - // } else if (is_primitive(top)) { - // if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup2_x1"; - // else if (is_primitive(stack.peek(1))) op = "dup2"; - // else if (is_primitive(stack.peek(2))) op = "dup_x1"; - // else { - //// neither value 1 nor value 2 is primitive - // op = "dup"; - // } - // } else { // top is not primitive - // if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) { - // op = "dup_x1"; - // } else if (is_primitive(stack.peek(1))) { - // op = "dup"; - // } else { // neither of the top two values is primitive - // op = null; - // } - // } - // if (debug_dup.enabled) { - // debug_dup.log("DUP2_X1 -> %s [... %s]%n", op, stack_contents(stack, 3)); - // } - - // if (op != null) { - // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); - // } + List dup_x2_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc value1 = stack.peek(); + ClassDesc value2 = stack.peek(1); + String op = null; + if (value1.isPrimitive()) { + if (is_category2(value2)) { + op = "dup_x1"; + } else { + ClassDesc value3 = stack.peek(2); + if (value2.isPrimitive() && value3.isPrimitive()) { + op = "dup_x2"; + } else if (value2.isPrimitive() || value3.isPrimitive()) { + op = "dup_x1"; + } else { + op = "dup"; + } + } + } + if (debug_dup.enabled) { + debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); + } + if (op != null) { + return build_il(dcr_call(op, CD_void, noArgsCD), inst); + } return null; } /** - * Duplicate either one category 2 value or two category 1 values. The instruction is implemented - * as necessary on the tag stack. + * Duplicate either one category 2 value or two category 1 values. If the value(s) are primitives + * we need to do the same to the tag stack. Otherwise, we do nothing. */ - InstructionList dup2_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - Type top = stack.peek(); + List dup2_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc top = stack.peek(); String op; if (is_category2(top)) { op = "dup"; - } // else if (is_primitive(top) && is_primitive(stack.peek(1))) op = "dup2"; - // else if (is_primitive(top) || is_primitive(stack.peek(1))) op = "dup"; - else { + } else if (top.isPrimitive() && stack.peek(1).isPrimitive()) { + op = "dup2"; + } else if (top.isPrimitive() || stack.peek(1).isPrimitive()) { + op = "dup"; + } else { // both of the top two items are not primitive, nothing to dup op = null; } @@ -4134,31 +4104,53 @@ InstructionList dup2_tag(org.apache.bcel.generic.Instruction inst, OperandStack debug_dup.log("DUP2 -> %s [... %s]%n", op, stack_contents(stack, 2)); } if (op != null) { - // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call(op, CD_void, noArgsCD), inst); } return null; } /** - * Dup the category 1 value on the top of the stack and insert it either two or three values down - * on the stack. + * Duplicates either the top 2 category 1 values or a single category 2 value and inserts it 2 or + * 3 values down on the stack. */ - InstructionList dup_x2(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - // Type top = stack.peek(); - String op = null; - // if (is_primitive(top)) { - // if (is_category2(stack.peek(1))) op = "dup_x1"; - // else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; - // else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; - // else { - // op = "dup"; - // } - // } + List dup2_x1_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc value1 = stack.peek(); + ClassDesc value2 = stack.peek(1); + String op; + if (is_category2(value1)) { + if (value2.isPrimitive()) { + op = "dup_x1"; + } else { // not a primitive, so just dup + op = "dup"; + } + } else { // value1 is not category 2 + ClassDesc value3 = stack.peek(2); + if (value1.isPrimitive()) { + if (value2.isPrimitive() && value3.isPrimitive()) { + op = "dup2_x1"; + } else if (value2.isPrimitive()) { + op = "dup2"; + } else if (value3.isPrimitive()) { + op = "dup_x1"; + } else { + // neither value2 nor value3 is primitive + op = "dup"; + } + } else { // value1 is not primitive + if (value2.isPrimitive() && value3.isPrimitive()) { + op = "dup_x1"; + } else if (value2.isPrimitive()) { + op = "dup"; + } else { // neither value2 or value3 is primitive + op = null; + } + } + } if (debug_dup.enabled) { - debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); + debug_dup.log("DUP2_X1 -> %s [... %s]%n", op, stack_contents(stack, 3)); } if (op != null) { - // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call(op, CD_void, noArgsCD), inst); } return null; } @@ -4166,79 +4158,103 @@ InstructionList dup_x2(org.apache.bcel.generic.Instruction inst, OperandStack st /** * Duplicate the top one or two operand stack values and insert two, three, or four values down. */ - InstructionList dup2_x2(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - // Type top = stack.peek(); - // String op; - // if (is_category2(top)) { - // if (is_category2(stack.peek(1))) op = "dup_x1"; - // else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; - // else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; - // else { - //// both values are references - // op = "dup"; - // } - // } else if (is_primitive(top)) { - // if (is_category2(stack.peek(1))) { - // throw new Error("not supposed to happen " + stack_contents(stack, 3)); - // } else if (is_category2(stack.peek(2))) { - // if (is_primitive(stack.peek(1))) { - // op = "dup2_x1"; - // } else { - // op = "dup_x1"; - // } - // } else if (is_primitive(stack.peek(1))) { - // if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup2_x2"; - // else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup2_x1"; - // else { - //// both 2 and 3 are references - // op = "dup2"; - // } - // } else { // 1 is a reference - // if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup_x2"; - // else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup_x1"; - // else { - //// both 2 and 3 are references - // op = "dup"; - // } - // } - // } else { // top is a reference - // if (is_category2(stack.peek(1))) { - // throw new Error("not supposed to happen " + stack_contents(stack, 3)); - // } else if (is_category2(stack.peek(2))) { - // if (is_primitive(stack.peek(1))) { - // op = "dup_x1"; - // } else { - // op = null; // nothing to dup - // } - // } else if (is_primitive(stack.peek(1))) { - // if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup_x2"; - // else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup_x1"; - // else { - //// both 2 and 3 are references - // op = "dup"; - // } - // } else { // 1 is a reference - // op = null; // nothing to dup - // } - // } - // if (debug_dup.enabled) { - // debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); - // } - // if (op != null) { - // return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); - // } + List dup2_x2_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc value1 = stack.peek(); + ClassDesc value2 = stack.peek(1); + String op; + if (is_category2(value1)) { + if (is_category2(value2)) { + op = "dup_x1"; + } else { + ClassDesc value3 = stack.peek(2); + if (value2.isPrimitive() && value3.isPrimitive()) { + op = "dup_x2"; + } else if (value2.isPrimitive() || value3.isPrimitive()) { + op = "dup_x1"; + } else { + // neither value2 or value3 is primitive + op = "dup"; + } + } + } else { // value1 and value2 are not category 2 + ClassDesc value3 = stack.peek(2); + if (value1.isPrimitive()) { + if (is_category2(value2)) { + throw new Error("not supposed to happen " + stack_contents(stack, 3)); + } else if (is_category2(value3)) { + if (value2.isPrimitive()) { + op = "dup2_x1"; + } else { + op = "dup_x1"; + } + } else if (value2.isPrimitive()) { + // value1 and value2 are primitive + ClassDesc value4 = stack.peek(3); + if (value3.isPrimitive() && value4.isPrimitive()) { + op = "dup2_x2"; + } else if (value3.isPrimitive() || value4.isPrimitive()) { + op = "dup2_x1"; + } else { + // neither value3 or value4 is primitive + op = "dup2"; + } + } else { // value1 is primitive value2 is not primitive + ClassDesc value4 = stack.peek(3); + if (value3.isPrimitive() && value4.isPrimitive()) { + op = "dup_x2"; + } else if (value3.isPrimitive() || value4.isPrimitive()) { + op = "dup_x1"; + } else { + // neither value3 or value4 is primitive + op = "dup"; + } + } + } else { // value1 is not primitive + if (is_category2(value2)) { + throw new Error("not supposed to happen " + stack_contents(stack, 3)); + } else if (is_category2(value3)) { + if (value2.isPrimitive()) { + op = "dup_x1"; + } else { + op = null; // nothing to dup + } + } else if (value2.isPrimitive()) { + // value1 is not primitive value2 is primitive + ClassDesc value4 = stack.peek(3); + if (value3.isPrimitive() && value4.isPrimitive()) { + op = "dup_x2"; + } else if (value3.isPrimitive() || value4.isPrimitive()) { + op = "dup_x1"; + } else { + // neither value3 or value4 is primitive + op = "dup"; + } + } else { // neither value1 or value2 is primitive + op = null; // nothing to dup + } + } + } + if (debug_dup.enabled) { + debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); + } + if (op != null) { + return build_il(dcr_call(op, CD_void, noArgsCD), inst); + } return null; } /** - * Pop instructions discard the top of the stack. We want to discard the top of the tag stack iff - * the item on the top of the stack is a primitive. + * Pops a category 1 value from the top of the stack. We want to discard the top of the tag stack + * iff the item on the top of the stack is a primitive. */ - InstructionList pop_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - // Type top = stack.peek(); - // if (is_primitive(top)) { - // return discard_tag_code(inst, 1); - // } + List pop_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc top = stack.peek(); + if (debug_dup.enabled) { + debug_dup.log("POP -> %s [... %s]%n", "pop", stack_contents(stack, 1)); + } + if (top.isPrimitive()) { + return discard_tag_code(inst, 1); + } return null; } @@ -4246,35 +4262,41 @@ InstructionList pop_tag(org.apache.bcel.generic.Instruction inst, OperandStack s * Pops either the top 2 category 1 values or a single category 2 value from the top of the stack. * We must do the same to the tag stack if the values are primitives. */ - InstructionList pop2_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - Type top = stack.peek(); + List pop2_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc top = stack.peek(); + if (debug_dup.enabled) { + debug_dup.log("POP2 -> %s [... %s]%n", "pop2", stack_contents(stack, 1)); + } if (is_category2(top)) { - // return discard_tag_code(inst, 1); + return discard_tag_code(inst, 1); } else { int cnt = 0; - // if (is_primitive(top)) { - // cnt++; - // } - // if (is_primitive(stack.peek(1))) { - // cnt++; - // } + if (top.isPrimitive()) { + cnt++; + } + if (stack.peek(1).isPrimitive()) { + cnt++; + } if (cnt > 0) { - // return discard_tag_code(inst, cnt); + return discard_tag_code(inst, cnt); } } return null; } /** - * Swaps the two category 1 types on the top of the stack. We need to swap the top of the tag + * Swaps the two category 1 values on the top of the stack. We need to swap the top of the tag * stack if the two top elements on the real stack are primitives. */ - InstructionList swap_tag(org.apache.bcel.generic.Instruction inst, OperandStack stack) { - // Type type1 = stack.peek(); - // Type type2 = stack.peek(1); - // if (is_primitive(type1) && is_primitive(type2)) { - // return build_il(dcr_call("swap", Type.VOID, Type.NO_ARGS), inst); - // } + List swap_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc type1 = stack.peek(); + ClassDesc type2 = stack.peek(1); + if (debug_dup.enabled) { + debug_dup.log("SWAP -> %s [... %s]%n", "swap", stack_contents(stack, 2)); + } + if (type1.isPrimitive() && type2.isPrimitive()) { + return build_il(dcr_call("swap", CD_void, noArgsCD), inst); + } return null; } @@ -4337,8 +4359,8 @@ boolean is_primitive(ClassDesc type) { * @return true if type requires 8 bytes */ @Pure - boolean is_category2(Type type) { - return (type == Type.DOUBLE) || (type == Type.LONG); + boolean is_category2(ClassDesc type) { + return type.equals(CD_double) || type.equals(CD_long); } /** @@ -4421,6 +4443,7 @@ void fix_native(ClassGen gen, MethodGen mg) { } if (primitive_cnt > 0) { // il.append(discard_tag_code(new NOP(), primitive_cnt)); + // il.addAll(discard_tag_code(NopInstruction.of(), primitive_cnt)); } // push a tag if there is a primitive return value @@ -4557,7 +4580,7 @@ boolean tag_fields_ok(@Nullable MethodGen24 mgen, @BinaryName String classname) * @param max_items number of items to describe * @return string describing the top max_items on the operand stack */ - static String stack_contents(OperandStack stack, int max_items) { + static String stack_contents(OperandStack24 stack, int max_items) { String contents = ""; if (max_items >= stack.size()) { max_items = stack.size() - 1; @@ -4732,7 +4755,6 @@ Map build_field_map(ClassModel classModel) { * @param fm field to build an accessor for * @param tag_offset offset of fm in the tag storage for this field */ - @SuppressWarnings("EnumOrdinal") void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { // Determine the method to call in DCRuntime. Instance fields and static @@ -4742,7 +4764,9 @@ void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { String methodname = "push_field_tag"; String classname = classGen.getClassName(); ClassDesc[] args = {CD_Object, CD_int}; - if (fm.flags().has(AccessFlag.STATIC)) { + final boolean isStatic = (fm.flags().has(AccessFlag.STATIC)) ? true : false; + + if (isStatic) { methodname = "push_static_tag"; args = new ClassDesc[] {CD_int}; } else if (is_uninit_class(classname)) { @@ -4754,9 +4778,6 @@ void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { List newCode = new ArrayList<>(); - if (!fm.flags().has(AccessFlag.STATIC)) { - newCode.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // aload_0 (load this) - } newCode.add(loadIntegerConstant(tag_offset)); newCode.add(dcr_call(methodname, CD_void, args)); newCode.add(ReturnInstruction.of(TypeKind.VOID)); @@ -4764,20 +4785,21 @@ void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { int access_flags = fm.flags().flagsMask(); if (classGen.isInterface()) { // method in interface cannot be final - access_flags &= ~AccessFlag.FINAL.ordinal(); + access_flags &= ~AccessFlag.FINAL.mask(); if (classModel.majorVersion() < ClassFile.JAVA_8_VERSION) { // If class file version is prior to 8 then a method in an interface // cannot be static (it's implicit) and must be abstract. - access_flags &= ~AccessFlag.STATIC.ordinal(); - access_flags |= AccessFlag.ABSTRACT.ordinal(); + access_flags &= ~AccessFlag.STATIC.mask(); + access_flags |= AccessFlag.ABSTRACT.mask(); } } else { - access_flags |= AccessFlag.FINAL.ordinal(); + access_flags |= AccessFlag.FINAL.mask(); } - access_flags |= ClassFile.ACC_PUBLIC; - access_flags &= ~ClassFile.ACC_PROTECTED; + // make method public access_flags &= ~ClassFile.ACC_PRIVATE; + access_flags &= ~ClassFile.ACC_PROTECTED; + access_flags |= ClassFile.ACC_PUBLIC; // Create the get accessor method classGen @@ -4786,7 +4808,9 @@ void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { accessor_name, MethodTypeDesc.of(CD_void), access_flags, - methodBuilder -> methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, newCode))); + methodBuilder -> + methodBuilder.withCode( + codeBuilder -> buildTagAccessor(codeBuilder, newCode, isStatic, classname))); } /** @@ -4807,13 +4831,14 @@ void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { * @param fm field to build an accessor for * @param tag_offset offset of fm in the tag storage for this field */ - @SuppressWarnings("EnumOrdinal") void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { String methodname = "pop_field_tag"; String classname = classGen.getClassName(); ClassDesc[] args = {CD_Object, CD_int}; - if (fm.flags().has(AccessFlag.STATIC)) { + final boolean isStatic = (fm.flags().has(AccessFlag.STATIC)) ? true : false; + + if (isStatic) { methodname = "pop_static_tag"; args = new ClassDesc[] {CD_int}; } @@ -4823,9 +4848,6 @@ void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { List newCode = new ArrayList<>(); - if (!fm.flags().has(AccessFlag.STATIC)) { - newCode.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // aload_0 (load this) - } newCode.add(loadIntegerConstant(tag_offset)); newCode.add(dcr_call(methodname, CD_void, args)); newCode.add(ReturnInstruction.of(TypeKind.VOID)); @@ -4833,22 +4855,17 @@ void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { int access_flags = fm.flags().flagsMask(); if (classGen.isInterface()) { // method in interface cannot be final - access_flags &= ~AccessFlag.FINAL.ordinal(); + access_flags &= ~AccessFlag.FINAL.mask(); if (classModel.majorVersion() < ClassFile.JAVA_8_VERSION) { // If class file version is prior to 8 then a method in an interface // cannot be static (it's implicit) and must be abstract. - access_flags &= ~AccessFlag.STATIC.ordinal(); - access_flags |= AccessFlag.ABSTRACT.ordinal(); + access_flags &= ~AccessFlag.STATIC.mask(); + access_flags |= AccessFlag.ABSTRACT.mask(); } } else { - access_flags |= AccessFlag.FINAL.ordinal(); + access_flags |= AccessFlag.FINAL.mask(); } - // make field public - access_flags |= ClassFile.ACC_PUBLIC; - access_flags &= ~ClassFile.ACC_PROTECTED; - access_flags &= ~ClassFile.ACC_PRIVATE; - // Create the setter method classGen .getClassBuilder() @@ -4856,7 +4873,34 @@ void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { setter_name, MethodTypeDesc.of(CD_void), access_flags, - methodBuilder -> methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, newCode))); + methodBuilder -> + methodBuilder.withCode( + codeBuilder -> buildTagAccessor(codeBuilder, newCode, isStatic, classname))); + } + + /** + * Build a tag accessor method. + * + * @param codeBuilder for the given method's code + * @param instructions instruction list to copy + * @param isStatic true iff accessor is static + * @param classname classname holding accessor + */ + private void buildTagAccessor( + CodeBuilder codeBuilder, List instructions, boolean isStatic, String classname) { + + Label startLabel = codeBuilder.newLabel(); + Label endLabel = codeBuilder.newLabel(); + if (!isStatic) { + codeBuilder.localVariable(0, "this", ClassDesc.of(classname), startLabel, endLabel); + codeBuilder.labelBinding(startLabel); + codeBuilder.with(LoadInstruction.of(TypeKind.REFERENCE, 0)); // aload_0 (load this) + } + for (CodeElement ce : instructions) { + debugInstrument.log("CodeElement: %s%n", ce); + codeBuilder.with(ce); + } + codeBuilder.labelBinding(endLabel); // shouldn't matter if isStatic } /** @@ -5029,7 +5073,7 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { // Add the dcomp marker argument to indicate this is the // instrumented version of the method. - BcelUtils24.addNewParameter(mgen, "marker", dcomp_marker, minfo); + BcelUtils24.addNewSpecialLocal(mgen, "marker", dcomp_marker, minfo, true); } /** From 44365c4ece3be096fac7c078a7003fddf510f86b Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 2 Jul 2025 18:55:57 -0700 Subject: [PATCH 053/211] fix error prone warnings; reduce debug output --- java/daikon/dcomp/DCInstrument24.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index dcbe5e37a1..215cb371ec 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1948,7 +1948,7 @@ private void instrumentCodeList( // This should match the index into stacks we used above. inst_index = li.nextIndex(); while (li.hasNext()) { - System.out.println("inst indexes: " + inst_index + ", " + li.nextIndex()); + // System.out.println("inst indexes: " + inst_index + ", " + li.nextIndex()); inst = li.next(); // Get the stack information @@ -2839,11 +2839,13 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge ClassDesc returnType = mtd.returnType(); ClassDesc[] argTypes = mtd.parameterArray(); - System.out.println(); - System.out.println("InvokeInst: " + invoke); - System.out.println("returnType: " + returnType); - System.out.println("classname: " + classname); - // System.out.println("ref_type: " + invoke.getReferenceType(pool)); + if (debugHandleInvoke) { + System.out.println(); + System.out.println("InvokeInst: " + invoke); + System.out.println("returnType: " + returnType); + System.out.println("classname: " + classname); + // System.out.println("ref_type: " + invoke.getReferenceType(pool)); + } if (is_object_equals(methodName, returnType, argTypes)) { @@ -4764,7 +4766,7 @@ void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { String methodname = "push_field_tag"; String classname = classGen.getClassName(); ClassDesc[] args = {CD_Object, CD_int}; - final boolean isStatic = (fm.flags().has(AccessFlag.STATIC)) ? true : false; + final boolean isStatic = fm.flags().has(AccessFlag.STATIC) ? true : false; if (isStatic) { methodname = "push_static_tag"; @@ -4836,7 +4838,7 @@ void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { String methodname = "pop_field_tag"; String classname = classGen.getClassName(); ClassDesc[] args = {CD_Object, CD_int}; - final boolean isStatic = (fm.flags().has(AccessFlag.STATIC)) ? true : false; + final boolean isStatic = fm.flags().has(AccessFlag.STATIC) ? true : false; if (isStatic) { methodname = "pop_static_tag"; From 995de9570146eb5d18f556f95b6c336145a626b2 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 9 Jul 2025 14:05:19 -0700 Subject: [PATCH 054/211] remove warning for JNI access to native code --- java/daikon/DynComp.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/java/daikon/DynComp.java b/java/daikon/DynComp.java index 667ac781f1..d8378aeec6 100644 --- a/java/daikon/DynComp.java +++ b/java/daikon/DynComp.java @@ -304,6 +304,10 @@ void start_target(String premain_args, String[] targetArgs) { // allow DCRuntime to make reflective access to java.land.Object.clone() without a warning cmdlist.add("--add-opens"); cmdlist.add("java.base/java.lang=ALL-UNNAMED"); + if (BcelUtil.javaVersion >= 24) { + // needed to eliminate warning for JNI access to native code + cmdlist.add("--enable-native-access=ALL-UNNAMED"); + } if (!no_jdk) { // If we are processing JDK classes, then we need our code on the boot classpath as well. // Otherwise, references to DCRuntime from the JDK would fail. From 5a77df207565a99608e4408478ccc1eba0ed686a Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 9 Jul 2025 14:06:28 -0700 Subject: [PATCH 055/211] add support for native methods --- java/daikon/chicory/MethodGen24.java | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 953be49d14..96f7bbf47b 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -75,9 +75,6 @@ public class MethodGen24 { /** True if the method is static. */ private boolean isStatic; - /** True if the method was created in DCInstrument24. */ - private boolean isNewMethod; - /** * The method's CodeAttribute. This contains information about the bytecodes (instructions) of * this method. May be null if the method has no code. @@ -220,7 +217,6 @@ public MethodGen24( descriptor = descriptor1; this.className = className; isStatic = (accessFlagsMask & ClassFile.ACC_STATIC) != 0; - isNewMethod = false; Optional code = methodModel.code(); if (code.isPresent()) { @@ -322,7 +318,6 @@ public MethodGen24( this.maxStack = maxStack; this.maxLocals = maxLocals; isStatic = (accessFlagsMask & ClassFile.ACC_STATIC) != 0; - isNewMethod = true; // Create an empty localsTable. This will be filled in when InstrumentCode calls fixLocals. localsTable = new ArrayList<>(); @@ -389,9 +384,9 @@ private void getParamInfo() { */ public boolean fixLocals(MInfo24 minfo) { boolean modified = false; - // If this is a new method from DCInstrument24, the localsTable is - // completely empty. We may need to add a 'this' pointer. - if (isNewMethod && !isStatic) { + // If this is a new method from DCInstrument24 or a native method the + // localsTable may not exist. We may need to add a 'this' pointer. + if ((localsTable.size() == 0) && !isStatic) { LocalVariable newVar = LocalVariable.of(0, "this", CD_Object, minfo.startLabel, minfo.endLabel); localsTable.add(newVar); @@ -412,7 +407,7 @@ public boolean fixLocals(MInfo24 minfo) { } slot += TypeKind.from(paramTypes[pIndex]).slotSize(); } - // If we added params, then table is no longer sorted by slot + // If we added locals, then table is no longer sorted by slot. if (modified) { localsTable.sort(Comparator.comparing(LocalVariable::slot)); } @@ -639,10 +634,10 @@ public ConstantPoolBuilder getPoolBuilder() { return poolBuilder; } - // Not sure we need this - // public void setInstructionList(List il) { - // codeList = il; - // } + // Used to add instruction list to our native code wrapper. + public void setInstructionList(List il) { + codeList = il; + } // need to fancy up! @Override From ce79722e551b2b5cadd18a8e4a8de869c9d35457 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 9 Jul 2025 14:23:11 -0700 Subject: [PATCH 056/211] code clean up; native methods; load/store fields --- java/daikon/dcomp/DCInstrument24.java | 887 +++++++++++--------------- 1 file changed, 363 insertions(+), 524 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 215cb371ec..40bdc6d710 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -68,7 +68,7 @@ import java.lang.classfile.instruction.LookupSwitchInstruction; import java.lang.classfile.instruction.NewMultiArrayInstruction; import java.lang.classfile.instruction.NewReferenceArrayInstruction; -import java.lang.classfile.instruction.NopInstruction; +import java.lang.classfile.instruction.OperatorInstruction; import java.lang.classfile.instruction.ReturnInstruction; import java.lang.classfile.instruction.StackInstruction; import java.lang.classfile.instruction.StoreInstruction; @@ -104,25 +104,13 @@ import org.apache.bcel.classfile.Method; import org.apache.bcel.classfile.RuntimeVisibleAnnotations; import org.apache.bcel.generic.AnnotationEntryGen; -import org.apache.bcel.generic.ArrayType; -import org.apache.bcel.generic.BasicType; -// import org.apache.bcel.generic.BranchInstruction; import org.apache.bcel.generic.ClassGen; import org.apache.bcel.generic.ClassGenException; import org.apache.bcel.generic.ConstantPoolGen; -// import org.apache.bcel.generic.FieldInstruction; -import org.apache.bcel.generic.IADD; -// import org.apache.bcel.generic.Instruction; import org.apache.bcel.generic.InstructionFactory; import org.apache.bcel.generic.InstructionHandle; import org.apache.bcel.generic.InstructionList; -// import org.apache.bcel.generic.InvokeInstruction; -// import org.apache.bcel.generic.LoadInstruction; -import org.apache.bcel.generic.LocalVariableGen; import org.apache.bcel.generic.MethodGen; -import org.apache.bcel.generic.ObjectType; -// import org.apache.bcel.generic.ReturnInstruction; -// import org.apache.bcel.generic.StoreInstruction; import org.apache.bcel.generic.Type; import org.apache.commons.io.IOUtils; import org.checkerframework.checker.lock.qual.GuardSatisfied; @@ -236,9 +224,6 @@ record WorkItem(int instructionIndex, OperandStack24 stack) {} /** The BCEL InstructionFactory for generating byte code instructions. */ protected InstructionFactory ifact; - /** The loader that loaded the Class to instrument. */ - protected @Nullable ClassLoader loader; - /** Has an {@code } method completed initialization? */ protected boolean constructor_is_initialized; @@ -284,8 +269,8 @@ record WorkItem(int instructionIndex, OperandStack24 stack) {} /** If true, enable JUnit analysis debugging. */ protected static final boolean debugJUnitAnalysis = false; - // /** If true, enable {@link #getDefiningInterface} debugging. */ - // protected static final boolean debugGetDefiningInterface = false; + /** If true, enable {@link #getDefiningInterface} debugging. */ + protected static final boolean debugGetDefiningInterface = false; /** If true, enable {@link #handleInvoke} debugging. */ protected static final boolean debugHandleInvoke = false; @@ -693,7 +678,6 @@ private void instrument_all_methods( for (MethodModel mm : classModel.methods()) { try { - MethodGen24 mgen = new MethodGen24(mm, classname, classBuilder); if (debugInstrument.enabled) { @@ -888,76 +872,35 @@ private void instrumentMethod( ClassInfo classInfo, boolean trackMethod) { + boolean codeModelSeen = false; for (MethodElement me : methodModel) { debugInstrument.log("MethodElement: %s%n", me); switch (me) { - case CodeModel codeModel -> - methodBuilder.withCode( - codeBuilder -> - instrumentCode(codeBuilder, codeModel, mgen, classInfo, trackMethod)); - + case CodeModel codeModel -> { + codeModelSeen = true; + methodBuilder.withCode( + codeBuilder -> instrumentCode(codeBuilder, codeModel, mgen, classInfo, trackMethod)); + } // copy all other MethodElements to output class (unchanged) default -> methodBuilder.with(me); } } - } + if (!codeModelSeen) { + // We assume it is a native method; we need to build our wrapper method. + methodBuilder.withCode( + codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, trackMethod)); - // /** - // * Insert the our instrumentation code into the instruction list for the given method. This - // * includes adding instrumentation code at the entry and at each return from the method. In - // * addition, it changes each return statement to first place the value being returned into a - // local - // * and then return. - // * - // * @param instructions instruction list for method - // * @param mgen describes the given method - // * @param curMethodInfo provides additional information about the method - // * @param minfo for the given method's code - // */ - // private void insertInstrumentationCode( - // List instructions, - // MethodGen24 mgen, - // MethodInfo curMethodInfo, - // MethodGen24.MInfo24 minfo) { - // - // // Add nonce local to matchup enter/exits - // // addInstrumentationAtEntry(instructions, mgen, minfo); - // - // // debugInstrument.log("Modified code: %s%n", mgen.getMethod().getCode()); - // - // assert curMethodInfo != null : "@AssumeAssertion(nullness): can't get here if null"; - // Iterator shouldIncludeIter = curMethodInfo.is_included.iterator(); - // Iterator exitLocationIter = curMethodInfo.exit_locations.iterator(); - // - // // instrument return instructions - // ListIterator li = instructions.listIterator(); - // while (li.hasNext()) { - // - // CodeElement inst = li.next(); - // - // // back up iterator to point to 'inst' - // li.previous(); - // - // // If this is a return instruction, insert method exit instrumentation - // // List new_il = - // // generate_return_instrumentation(inst, mgen, minfo, shouldIncludeIter, - // exitLocationIter); - // - // // insert code prior to 'inst' - // // for (CodeElement ce : new_il) { - // // li.add(ce); - // // } - // - // // skip over 'inst' we just inserted new_il in front of - // li.next(); - // } - // } + // Turn off the native flag in wrapper method. + methodBuilder.withFlags(mgen.getAccessFlagsMask() & ~ClassFile.ACC_NATIVE); + } + } /** * Generate instrumentation code for the given method. This includes reading in and processing the * original instruction list, calling {@code insertInstrumentationCode} to add the instrumentation * code, and then copying the modified instruction list to the output method while updating the - * code labels, if needed. + * code labels, if needed. If DCInstrument24 generated the method or if it is a native method, + * then codeModel == null. * * @param codeBuilder for the given method's code * @param codeModel for the input method's code @@ -977,16 +920,37 @@ private void instrumentCode( // Add back in any unused parameters that the Java compiler has optimized out. if (mgen.fixLocals(minfo)) { // localsTable was changed + debugInstrument.log("Revised LocalVariableTable:%n"); + for (LocalVariable lv : mgen.localsTable) { + debugInstrument.log(" %s%n", lv); + } } // If the method is native if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { + debugInstrument.log("Native Method%n"); // Create Java code that cleans up the tag stack and calls the real native method. - // fix_native(gen, mgen); + fix_native(mgen); // Add the DCompMarker argument to distinguish our version - // add_dcomp_arg(mgen); + add_dcomp_arg(mgen, minfo); + + // Copy the modified local variable table to the output class. + debugInstrument.log("LocalVariableTable:%n"); + for (LocalVariable lv : mgen.localsTable) { + codeBuilder.localVariable( + lv.slot(), lv.name().stringValue(), lv.typeSymbol(), lv.startScope(), lv.endScope()); + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String lvFD = lv.typeSymbol().descriptorString(); + debugInstrument.log(" %s : %s%n", lv, convertDescriptorToFqBinaryName(lvFD)); + } + + // Copy the modified instruction list to the output class. + for (CodeElement ce : mgen.getInstructionList()) { + debugInstrument.log("CodeElement: %s%n", ce); + codeBuilder.with(ce); + } } else { // normal method @@ -995,7 +959,7 @@ private void instrumentCode( add_dcomp_arg(mgen, minfo); } - debugInstrument.log("Revised LocalVariableTable:%n"); + debugInstrument.log("LocalVariableTable:%n"); for (LocalVariable lv : mgen.localsTable) { debugInstrument.log(" %s%n", lv); } @@ -1168,7 +1132,7 @@ public JavaClass old_instrument() { debug_transform.indent(); // Create the ClassInfo for this class and its list of methods - ClassInfo class_info = new ClassInfo(classname, loader); + // ClassInfo class_info = new ClassInfo(classname, loader); boolean track_class = false; // Handle object methods for this class @@ -1388,7 +1352,7 @@ public JavaClass old_instrument() { if (mg.isNative()) { // Create Java code that cleans up the tag stack and calls the real native method. - fix_native(gen, mg); + // fix_native(gen, mg); has_code = true; // setCurrentStackMapTable(mg, gen.getMajor()); @@ -1408,7 +1372,7 @@ public JavaClass old_instrument() { MethodInfo mi = null; if (track && has_code) { // mi = create_method_info(class_info, mg); - class_info.method_infos.add(mi); + // class_info.method_infos.add(mi); DCRuntime.methods.add(mi); } @@ -1528,10 +1492,10 @@ public JavaClass old_instrument() { // needs to know what classes are instrumented. Its looks in the // Chicory runtime for this information. if (track_class) { - debug_transform.log("DCInstrument adding %s to all class list%n", class_info); - synchronized (daikon.chicory.SharedData.all_classes) { - daikon.chicory.SharedData.all_classes.add(class_info); - } + // debug_transform.log("DCInstrument adding %s to all class list%n", class_info); + // synchronized (daikon.chicory.SharedData.all_classes) { + // daikon.chicory.SharedData.all_classes.add(class_info); + // } } debug_transform.log("Instrumentation complete: %s%n", classname); @@ -1677,7 +1641,7 @@ public JavaClass instrument_jdk() { if (mg.isNative()) { // Create Java code that cleans up the tag stack and calls the real native method. - fix_native(gen, mg); + // fix_native(gen, mg); has_code = true; // setCurrentStackMapTable(mg, gen.getMajor()); @@ -1839,145 +1803,144 @@ private void instrumentCodeList( // Finally, we will also return to this location for code instrumentation after calculating // the operand stack values. newStartIndex = li.nextIndex(); - } catch (Exception e) { - System.err.printf("Unexpected exception encountered: %s", e); - e.printStackTrace(); - // UNDONE: throw? - } - // The next section of code calculates the operand stack value(s) for the current method. - if (debugOperandStack) { - System.out.printf("%nStarting operand stack calculation%n"); - } + // The next section of code calculates the operand stack value(s) for the current method. + if (debugOperandStack) { + System.out.printf("%nStarting operand stack calculation%n"); + } - // Build a map of labels to instruction list offsets - labelIndexMap = new HashMap<>(); - li = instructions.listIterator(); - while (li.hasNext()) { - inst = li.next(); - if (inst instanceof LabelTarget lt) { - if (debugOperandStack) { - System.out.println("label target: " + lt.label() + ", index: " + li.previousIndex()); + // Build a map of labels to instruction list offsets + labelIndexMap = new HashMap<>(); + li = instructions.listIterator(); + while (li.hasNext()) { + inst = li.next(); + if (inst instanceof LabelTarget lt) { + if (debugOperandStack) { + System.out.println("label target: " + lt.label() + ", index: " + li.previousIndex()); + } + // remember where this label is located within the instruction list + labelIndexMap.put(lt.label(), li.previousIndex()); } - // remember where this label is located within the instruction list - labelIndexMap.put(lt.label(), li.previousIndex()); } - } - if (oldStartLabel != null) { - // change offset of oldStartLabel to where we will define newStartLabel - labelIndexMap.put(oldStartLabel, newStartIndex); - } - labelIndexMap.put(newStartLabel, newStartIndex); - - // Create an array to hold the calculated operand stack - // prior to each byte code instruction. - stacks = new OperandStack24[instructions.size()]; - - // Create an array containing the type of each local variable. - // This will be indexed by the local variable's slot number. - // There may be a gap for the second slot of a variable of type long or double. - // UNDONE: do we have to save state of locals like we do statck? - locals = new ClassDesc[mgen.getMaxLocals()]; - // UNDONE: init locals with 'this' and params only - for (final LocalVariable lv : mgen.localsTable) { - locals[lv.slot()] = lv.typeSymbol(); - } + if (oldStartLabel != null) { + // change offset of oldStartLabel to where we will define newStartLabel + labelIndexMap.put(oldStartLabel, newStartIndex); + } + labelIndexMap.put(newStartLabel, newStartIndex); + + // Create an array to hold the calculated operand stack + // prior to each byte code instruction. + stacks = new OperandStack24[instructions.size()]; + + // Create an array containing the type of each local variable. + // This will be indexed by the local variable's slot number. + // There may be a gap for the second slot of a variable of type long or double. + // UNDONE: do we have to save state of locals like we do statck? + locals = new ClassDesc[mgen.getMaxLocals()]; + // UNDONE: init locals with 'this' and params only + for (final LocalVariable lv : mgen.localsTable) { + locals[lv.slot()] = lv.typeSymbol(); + } - worklistHistory = new HashMap<>(); + worklistHistory = new HashMap<>(); - // Create a worklist of instruction locations and operand stacks. + // Create a worklist of instruction locations and operand stacks. - // Create a work item for start of users code. - if (oldStartLabel != null) { - addLabelToWorklist(oldStartLabel, new OperandStack24(mgen.getMaxStack())); - } else { - addLabelToWorklist(newStartLabel, new OperandStack24(mgen.getMaxStack())); - } + // Create a work item for start of users code. + if (oldStartLabel != null) { + addLabelToWorklist(oldStartLabel, new OperandStack24(mgen.getMaxStack())); + } else { + addLabelToWorklist(newStartLabel, new OperandStack24(mgen.getMaxStack())); + } - if (codeModel != null) { - // Create a work item for each exception handler. - for (ExceptionCatch ec : codeModel.exceptionHandlers()) { - Label l = ec.handler(); - Optional catchType = ec.catchType(); - OperandStack24 temp = new OperandStack24(mgen.getMaxStack()); - if (catchType.isPresent()) { - temp.push(catchType.get().asSymbol()); - } else { - temp.push(CD_Throwable); + if (codeModel != null) { + // Create a work item for each exception handler. + for (ExceptionCatch ec : codeModel.exceptionHandlers()) { + Label l = ec.handler(); + Optional catchType = ec.catchType(); + OperandStack24 temp = new OperandStack24(mgen.getMaxStack()); + if (catchType.isPresent()) { + temp.push(catchType.get().asSymbol()); + } else { + temp.push(CD_Throwable); + } + addLabelToWorklist(l, temp); } - addLabelToWorklist(l, temp); } - } - WorkItem item; - OperandStack24 stack; - int inst_index; - while (!worklist.isEmpty()) { - item = worklist.remove(); - if (debugOperandStack) { - System.out.println( - "pull from worklist: " + item.instructionIndex() + ", stack: " + item.stack()); - } - li = instructions.listIterator(item.instructionIndex()); - stack = item.stack(); - // UNDONE turn it on - boolean proceed = true; - while (proceed) { - if (!li.hasNext()) throw new Error("error in instruction list"); - inst_index = li.nextIndex(); - inst = li.next(); + WorkItem item; + OperandStack24 stack; + int inst_index; + while (!worklist.isEmpty()) { + item = worklist.remove(); if (debugOperandStack) { - System.out.println("inst_index: " + inst_index); - System.out.println("Operand Stack in: " + stack); + System.out.println( + "pull from worklist: " + item.instructionIndex() + ", stack: " + item.stack()); } - proceed = CalcStack24.calcOperandStack(mgen, minfo, inst, inst_index, stack); - if (debugOperandStack) { - System.out.println("Operand Stack out: " + stack); - System.out.println("proceed: " + proceed); + li = instructions.listIterator(item.instructionIndex()); + stack = item.stack(); + // UNDONE turn it on + boolean proceed = true; + while (proceed) { + if (!li.hasNext()) throw new Error("error in instruction list"); + inst_index = li.nextIndex(); + inst = li.next(); + if (debugOperandStack) { + System.out.println("inst_index: " + inst_index); + System.out.println("Operand Stack in: " + stack); + } + proceed = CalcStack24.calcOperandStack(mgen, minfo, inst, inst_index, stack); + if (debugOperandStack) { + System.out.println("Operand Stack out: " + stack); + System.out.println("proceed: " + proceed); + } } } - } - if (debugOperandStack) { - System.out.printf("%nStarting instruction instrumentation%n"); - } - // set list iterator to start of the user instructions - li = instructions.listIterator(newStartIndex); - - // We set inst_index here and increment each time through loop. - // This should match the index into stacks we used above. - inst_index = li.nextIndex(); - while (li.hasNext()) { - // System.out.println("inst indexes: " + inst_index + ", " + li.nextIndex()); - inst = li.next(); + if (debugOperandStack) { + System.out.printf("%nStarting instruction instrumentation%n"); + } + // set list iterator to start of the user instructions + li = instructions.listIterator(newStartIndex); - // Get the stack information - // stack = stack_types.get(handle_offsets[index++]); - // new_il = xform_inst(mg, ih, stack); + // We set inst_index here and increment each time through loop. + // This should match the index into stacks we used above. + inst_index = li.nextIndex(); + while (li.hasNext()) { + // System.out.println("inst indexes: " + inst_index + ", " + li.nextIndex()); + inst = li.next(); - // Get the translation for this instruction (if any) - if (DCInstrument24.debugOperandStack) { - System.out.println("code element in: " + inst); - } - List new_il = instrumentInstruction(mgen, minfo, inst, stacks[inst_index]); - if (new_il != null) { - li.remove(); // remove the instruction we instrumented - for (CodeElement ce : new_il) { - if (DCInstrument24.debugOperandStack) { - System.out.println("code element out: " + ce); + if (DCInstrument24.debugOperandStack) { + System.out.println("code element in: " + inst); + } + // Get the translation for this instruction (if any) + List new_il = instrumentInstruction(mgen, minfo, inst, stacks[inst_index]); + if (new_il != null) { + li.remove(); // remove the instruction we instrumented + for (CodeElement ce : new_il) { + if (DCInstrument24.debugOperandStack) { + System.out.println("code element out: " + ce); + } + li.add(ce); } - li.add(ce); } - } - // If the modified method is now too large, we quit instrumenting the method - // and will rediscover the problem in the main instrumentation loop above - // and deal with it there. - // if (ih.getPosition() >= Const.MAX_CODE_SIZE) { - // break; - // } + // UNDONE: can we check this with java.lang.classfile api? + // If the modified method is now too large, we quit instrumenting the method + // and will rediscover the problem in the main instrumentation loop above + // and deal with it there. + // if (ih.getPosition() >= Const.MAX_CODE_SIZE) { + // break; + // } - inst_index++; + inst_index++; + } + } catch (Throwable t) { + if (debugInstrument.enabled) { + t.printStackTrace(); + } + throw new Error( + "Unexpected error processing " + mgen.getClassName() + "." + mgen.getName(), t); } } @@ -2126,7 +2089,7 @@ LocalVariable createTagFrameLocal(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { * This needs to be before the call to DCRuntime.enter (since it passed to that method). * * @param mgen describes the given method - * @return InstructionList for tag_frame setup code + * @return instruction list for tag_frame setup code */ private List createTagFrame(MethodGen24 mgen) { @@ -2326,7 +2289,7 @@ private List callEnterOrExit( case Opcode.GETSTATIC: case Opcode.PUTSTATIC: { - return load_store_field(mgen, ((FieldInstruction) inst)); + return load_store_field(mgen, minfo, ((FieldInstruction) inst)); } case Opcode.DLOAD: @@ -2738,52 +2701,55 @@ private void add_exit( } } - // /** - // * Return the interface class containing the implementation of the given method. The - // interfaces of - // * {@code startClass} are recursively searched. - // * - // * @param startClass the ClassModel whose interfaces are to be searched - // * @param methodName the target method to search for - // * @param argTypes the target method's argument types - // * @return the name of the interface class containing target method, or null if not found - // */ - // private @Nullable @ClassGetName String getDefiningInterface( - // ClassModel startClass, String methodName, Type[] argTypes) { - // - // if (debugGetDefiningInterface) { - // System.out.println("searching interfaces of: " + ClassGen24.getClassName(startClass)); - // } - // for (@ClassGetName String interfaceName : startClass.getInterfaceNames()) { - // if (debugGetDefiningInterface) { - // System.out.println("interface: " + interfaceName); - // } - // ClassModel cm; - // try { - // cm = getClassModel(interfaceName); - // } catch (Throwable e) { - // throw new Error(String.format("Unable to load class: %s", interfaceName), e); - // } - // for (Method jm : cm.getMethods()) { - // if (debugGetDefiningInterface) { - // System.out.println(" " + jm.getName() + Arrays.toString(jm.getArgumentTypes())); - // } - // if (jm.getName().equals(methodName) && Arrays.equals(jm.getArgumentTypes(), argTypes)) - // { - // // We have a match. - // return interfaceName; - // } - // } - // // no match found; does this interface extend other interfaces? - // @ClassGetName String foundAbove = getDefiningInterface(cm, methodName, argTypes); - // if (foundAbove != null) { - // // We have a match. - // return foundAbove; - // } - // } - // nothing found - // return null; - // } + /** + * Return the interface class containing the implementation of the given method. The interfaces of + * {@code startClass} are recursively searched. + * + * @param startClass the ClassModel whose interfaces are to be searched + * @param methodName the target method to search for + * @param argTypes the target method's argument types + * @return the name of the interface class containing target method, or null if not found + */ + private @Nullable @BinaryName String getDefiningInterface( + ClassModel startClass, String methodName, ClassDesc[] argTypes) { + + if (debugGetDefiningInterface) { + System.out.println("searching interfaces of: " + ClassGen24.getClassName(startClass)); + } + for (ClassEntry classEntry : startClass.interfaces()) { + // UNDONE: is this right? internal name or binary name? + @SuppressWarnings("signature:assignment") // need JDK annotations + @BinaryName String interfaceName = classEntry.asInternalName(); + if (debugGetDefiningInterface) { + System.out.println("interface: " + interfaceName); + } + ClassModel cm; + try { + cm = getClassModel(interfaceName); + } catch (Throwable e) { + throw new Error(String.format("Unable to load class: %s", interfaceName), e); + } + for (MethodModel jm : cm.methods()) { + String jmName = jm.methodName().stringValue(); + MethodTypeDesc mtd = jm.methodTypeSymbol(); + if (debugGetDefiningInterface) { + System.out.println(" " + jmName + Arrays.toString(mtd.parameterArray())); + } + if (jmName.equals(methodName) && Arrays.equals(mtd.parameterArray(), argTypes)) { + // We have a match. + return interfaceName; + } + } + // no match found; does this interface extend other interfaces? + @BinaryName String foundAbove = getDefiningInterface(cm, methodName, argTypes); + if (foundAbove != null) { + // We have a match. + return foundAbove; + } + } + // nothing found + return null; + } /** * Process an InvokeDynamic instruction. We don't instrument lambda methods, so just clean up the @@ -2834,7 +2800,7 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge // Get information about the call String methodName = invoke.name().stringValue(); @SuppressWarnings("signature:assignment") // JDK 24 is not annotated as yet - @ClassGetName String classname = invoke.owner().asInternalName().replace('/', '.'); + @BinaryName String classname = invoke.owner().asInternalName().replace('/', '.'); MethodTypeDesc mtd = invoke.typeSymbol(); ClassDesc returnType = mtd.returnType(); ClassDesc[] argTypes = mtd.parameterArray(); @@ -2951,7 +2917,7 @@ private List discard_primitive_tags(ClassDesc[] argTypes) { } } if (primitive_cnt > 0) { - il.addAll(discard_tag_code(NopInstruction.of(), primitive_cnt)); + il.addAll(discard_tag_code(null, primitive_cnt)); } return il; } @@ -2969,7 +2935,7 @@ private List discard_primitive_tags(ClassDesc[] argTypes) { private boolean isTargetInstrumented( InvokeInstruction invoke, MethodGen24 mgen, - @ClassGetName String classname, + @BinaryName String classname, String methodName, ClassDesc[] argTypes) { @@ -3067,7 +3033,7 @@ private boolean isTargetInstrumented( System.out.printf("invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); } - @ClassGetName String targetClassname = classname; + @BinaryName String targetClassname = classname; // Search this class for the target method. If not found, set targetClassname to // its superclass and try again. mainloop: @@ -3110,7 +3076,7 @@ private boolean isTargetInstrumented( { // no methods match - search this class's interfaces - @ClassGetName String found; + @BinaryName String found; try { found = null; // // getDefiningInterface(targetClass, methodName, argTypes); } catch (Throwable e) { @@ -3210,7 +3176,7 @@ private Integer getAccessFlags(String classname) { * @param methodName method to be checked (currently unused) * @return true if classname is instrumented */ - private boolean isClassnameInstrumented(@ClassGetName String classname, String methodName) { + private boolean isClassnameInstrumented(@BinaryName String classname, String methodName) { if (debugHandleInvoke) { System.out.printf("Checking callee instrumented on %s%n", classname); @@ -3287,13 +3253,31 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m } /** - * Given a classname return it's superclass name. Note that BCEL reports that the superclass of - * 'java.lang.Object' is 'java.lang.Object' rather than saying there is no superclass. + * Return a list of the super classes of this class in ascending order, i.e., java.lang.Object is + * always the last element. + * + * @return list of super classes + */ + public List<@BinaryName String> getSuperClassNames() { + final List<@BinaryName String> allSuperClassNames = new ArrayList<>(); + @BinaryName String classname = classGen.getClassName(); + while (!classname.equals("java.lang.Object")) { + classname = getSuperclassName(classname); + allSuperClassNames.add(classname); + } + return allSuperClassNames; + } + + /** + * Given a classname return it's superclass name. Note that we copy BCEL and report that the + * superclass of 'java.lang.Object' is 'java.lang.Object' rather than saying there is no + * superclass. We are assured this will not cause a problem because we never call this method with + * 'java.lang.Object' as the argument. * * @param classname the fully qualified name of the class in binary form. E.g., "java.util.List" * @return superclass name of classname or null if there is an error */ - private @ClassGetName String getSuperclassName(String classname) { + private @BinaryName String getSuperclassName(String classname) { ClassModel cm = getClassModel(classname); if (cm != null) { return ClassGen24.getSuperclassName(cm); @@ -3379,7 +3363,7 @@ boolean is_object_clone(String methodName, ClassDesc returnType, ClassDesc[] arg * @return instruction list to call the correct version of clone or toString */ private List instrument_clone_call( - InvokeInstruction invoke, ClassDesc returnType, @ClassGetName String classname) { + InvokeInstruction invoke, ClassDesc returnType, @BinaryName String classname) { List il = new ArrayList<>(); if (classname.startsWith("[")) { @@ -3435,8 +3419,14 @@ private List object_comparison( * Handles load and store field instructions. The instructions must be augmented to either push * (load) or pop (store) the tag on the tag stack. This is accomplished by calling the tag get/set * method for this field. + * + * @param mgen describes the given method + * @param minfo for the given method's code + * @param f the field instruction + * @return instruction list to access the field */ - private List load_store_field(MethodGen24 mgen, FieldInstruction f) { + private List load_store_field( + MethodGen24 mgen, MethodGen24.MInfo24 minfo, FieldInstruction f) { System.out.println(); System.out.println("mgen: " + mgen); @@ -3445,7 +3435,7 @@ private List load_store_field(MethodGen24 mgen, FieldInstruction f) System.out.println("owner: " + f.owner()); System.out.println("owner: " + f.owner().asInternalName().replace('/', '.')); ClassDesc field_type = f.typeSymbol(); - System.out.println("field_type: " + field_type); + System.out.println("field_type: " + field_type + ", " + f.field().typeSymbol()); int field_size = TypeKind.from(field_type).slotSize(); if (!field_type.isPrimitive()) { return null; @@ -3488,8 +3478,7 @@ private List load_store_field(MethodGen24 mgen, FieldInstruction f) MethodTypeDesc.of(CD_void, noArgsCD)); il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); } else if (op.equals(Opcode.GETFIELD)) { - // il.add(InstructionFactory.createDup(obj_type.getSize())); - il.add(StackInstruction.of(Opcode.DUP)); + il.add(StackInstruction.of(Opcode.DUP)); // dup 'this' MethodRefEntry mre = poolBuilder.methodRefEntry( ownerCD, @@ -3498,26 +3487,26 @@ private List load_store_field(MethodGen24 mgen, FieldInstruction f) il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); } else { // must be Opcode.PUTFIELD if (field_size == 2) { - // LocalVariableGen lv = get_tmp2_local(mg, field_type); - // il.add(InstructionFactory.createStore(field_type, lv.getIndex())); - // il.add(InstructionFactory.createDup(obj_type.getSize())); - // MethodRefEntry mre = - // poolBuilder.methodRefEntry( - // ownerCD, Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), - // MethodTypeDesc.of(CD_void, noArgsCD)); - // il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); - // il.add(InstructionFactory.createLoad(field_type, lv.getIndex())); + LocalVariable lv = get_tmp2_local(mgen, minfo, field_type); + il.add(StoreInstruction.of(TypeKind.from(field_type), lv.slot())); + il.add(StackInstruction.of(Opcode.DUP)); // dup 'this' + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ownerCD, + Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), + MethodTypeDesc.of(CD_void, noArgsCD)); + il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + il.add(LoadInstruction.of(TypeKind.from(field_type), lv.slot())); } else { - il.add(StackInstruction.of(Opcode.SWAP)); - // il.add(StackInstruction.of(obj_type.getSize())); - il.add(StackInstruction.of(Opcode.DUP)); + il.add(StackInstruction.of(Opcode.SWAP)); // swap 'this' and 'value' + il.add(StackInstruction.of(Opcode.DUP)); // dup 'this' MethodRefEntry mre = poolBuilder.methodRefEntry( ownerCD, Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), MethodTypeDesc.of(CD_void, noArgsCD)); il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); - il.add(StackInstruction.of(Opcode.SWAP)); + il.add(StackInstruction.of(Opcode.SWAP)); // swap 'value' and 'this' back } } @@ -3593,66 +3582,30 @@ private List store_local( return il; } - /** Returns the number of the specified field in the primitive fields of obj_type. */ - int get_field_num(String name, ObjectType obj_type) { - - // If this is the current class, get the information directly - // if (obj_type.getClassName().equals(orig_class.getClassName())) { - // int fcnt = 0; - // for (Field f : orig_class.getFields()) { - // if (f.getName().equals(name)) { - // return fcnt; - // } - // if (f.getType() instanceof BasicType) { - // fcnt++; - // } - // } - // throw new Error("Can't find " + name + " in " + obj_type); - // } - - // Look up the class using this classes class loader. This may - // not be the best way to accomplish this. - Class obj_class; - try { - obj_class = Class.forName(obj_type.getClassName(), false, loader); - } catch (Exception e) { - throw new Error("can't find class " + obj_type.getClassName(), e); - } - - // Loop through all of the fields, counting the number of primitive fields - int fcnt = 0; - for (java.lang.reflect.Field f : obj_class.getDeclaredFields()) { - if (f.getName().equals(name)) { - return fcnt; - } - if (f.getType().isPrimitive()) { - fcnt++; - } - } - throw new Error("Can't find " + name + " in " + obj_class); - } - /** * Gets the local variable used to store a category2 temporary. This is used in the PUTFIELD code * to temporarily store the value being placed in the field. + * + * @param mgen describes the given method + * @param minfo for the given method's code + * @param type type of the local temp + * @return the local temp */ - LocalVariableGen get_tmp2_local(MethodGen mg, Type typ) { - - // UNDONE - not converted + LocalVariable get_tmp2_local(MethodGen24 mgen, MethodGen24.MInfo24 minfo, ClassDesc type) { - String name = "dcomp_$tmp_" + typ; - // System.out.printf("local var name = %s%n", name); + String name = "dcomp_$tmp_" + type.descriptorString(); + System.out.printf("local var name = %s%n", name); // See if the local has already been created - for (LocalVariableGen lv : mg.getLocalVariables()) { // should be localsTable? - if (lv.getName().equals(name)) { - assert lv.getType().equals(typ) : lv + " " + typ; + for (LocalVariable lv : mgen.localsTable) { + if (lv.name().stringValue().equals(name)) { + assert lv.typeSymbol().equals(type) : lv + " " + type; return lv; } } // Create the variable - return mg.addLocalVariable(name, typ, null, null); + return createLocalWithMethodScope(mgen, minfo, name, type); } /** @@ -3685,39 +3638,6 @@ private LocalVariable getReturnLocal( return minfo.returnLocal; } - /** - * Returns the local variable used to store the return result. If it is not present, creates it - * with the specified type. If the variable is known to already exist, the type can be null. - */ - LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { - - // UNDONE - not converted - - // Find the local used for the return value - LocalVariableGen return_local = null; - for (LocalVariableGen lv : mg.getLocalVariables()) { // should be localsTable? - if (lv.getName().equals("return__$trace2_val")) { - return_local = lv; - break; - } - } - - // If a type was specified and the variable was found, they must match - if (return_local == null) { - assert (return_type != null) : " return__$trace2_val doesn't exist"; - } else { - assert return_type.equals(return_local.getType()) - : " return_type = " + return_type + "; current type = " + return_local.getType(); - } - - if (return_local == null) { - // log ("Adding return local of type %s%n", return_type); - return_local = mg.addLocalVariable("return__$trace2_val", return_type, null, null); - } - - return return_local; - } - /** * Creates a MethodInfo corresponding to the specified method. The exit locations are filled in, * but the reflection information is not generated. Returns null if there are no instructions. @@ -4000,7 +3920,8 @@ org.apache.bcel.generic.InvokeInstruction dcr_call( } /** - * Create the code to call discard_tag(tag_count) and append inst to the end of that code. + * Create the code to call discard_tag(tag_count). If inst is not null, append it to the end of + * that code. * * @param inst instruction to be replaced * @param tag_count number of tags to discard @@ -4010,7 +3931,9 @@ List discard_tag_code(CodeElement inst, int tag_count) { List il = new ArrayList<>(); il.add(loadIntegerConstant(tag_count)); il.add(dcr_call("discard_tag", CD_void, integer_arg)); - il.add(inst); + if (inst != null) { + il.add(inst); + } return il; } @@ -4365,50 +4288,6 @@ boolean is_category2(ClassDesc type) { return type.equals(CD_double) || type.equals(CD_long); } - /** - * Converts a BCEL type to a Class. The class referenced will be loaded but not initialized. The - * specified loader must be able to find it. If load is null, the default loader will be used. - * - * @param t type to get class for - * @param loader to use to locate class - * @return instance of class - */ - static Class type_to_class(Type t, ClassLoader loader) { - - if (loader == null) { - loader = DCInstrument24.class.getClassLoader(); - } - - if (t == Type.BOOLEAN) { - return Boolean.TYPE; - } else if (t == Type.BYTE) { - return Byte.TYPE; - } else if (t == Type.CHAR) { - return Character.TYPE; - } else if (t == Type.DOUBLE) { - return Double.TYPE; - } else if (t == Type.FLOAT) { - return Float.TYPE; - } else if (t == Type.INT) { - return Integer.TYPE; - } else if (t == Type.LONG) { - return Long.TYPE; - } else if (t == Type.SHORT) { - return Short.TYPE; - } else if (t instanceof ObjectType || t instanceof ArrayType) { - // @ClassGetName String sig = typeToClassGetName(t); - try { - // return Class.forName(sig, false, loader); - return null; - } catch (Exception e) { - // throw new Error("can't get class " + sig, e); - } - } else { - throw new Error("unexpected type " + t); - } - return null; - } - /** * Modify a doubled native method to call its original method. It pops all of the parameter tags * off of the tag stack. If there is a primitive return value it puts a new tag value on the stack @@ -4416,102 +4295,68 @@ static Class type_to_class(Type t, ClassLoader loader) { * *

TODO: add a way to provide a synopsis for native methods that affect comparability. * - * @param gen current class - * @param mg the interface method. Must be native. + * @param mgen the interface method. Must be native. */ - void fix_native(ClassGen gen, MethodGen mg) { + void fix_native(MethodGen24 mgen) { - InstructionList il = new InstructionList(); - Type[] argTypes = mg.getArgumentTypes(); - String[] argNames = mg.getArgumentNames(); + ClassDesc[] argTypes = mgen.getParameterTypes(); - debug_native.log("Native call %s%n", mg); + debug_native.log("Native call %s%n", mgen); - // Build local variables for each argument to the method - if (!mg.isStatic()) { - mg.addLocalVariable("this", new ObjectType(mg.getClassName()), null, null); - } - for (int ii = 0; ii < argTypes.length; ii++) { - mg.addLocalVariable(argNames[ii], argTypes[ii], null, null); - } - - // Discard the tags for any primitive arguments passed to system - // methods - int primitive_cnt = 0; - for (Type argType : argTypes) { - if (argType instanceof BasicType) { - primitive_cnt++; - } - } - if (primitive_cnt > 0) { - // il.append(discard_tag_code(new NOP(), primitive_cnt)); - // il.addAll(discard_tag_code(NopInstruction.of(), primitive_cnt)); - } + // Discard the tags for any primitive arguments passed to the method. + List il = discard_primitive_tags(argTypes); // push a tag if there is a primitive return value - Type returnType = mg.getReturnType(); - // UNDONE change to: - // if (is_primitive(returnType)) { - if ((returnType instanceof BasicType) && (returnType != Type.VOID)) { - il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); + ClassDesc returnType = mgen.getReturnType(); + if (is_primitive(returnType)) { + il.add(dcr_call("push_const", CD_void, noArgsCD)); } // If the method is not static, push the instance on the stack - if (!mg.isStatic()) { - il.append(InstructionFactory.createLoad(new ObjectType(gen.getClassName()), 0)); + if (!mgen.isStatic()) { + il.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this } - // System.out.printf("%s: atc = %d, anc = %d%n", mg.getName(), argTypes.length, - // argNames.length); - - // if call is sun.reflect.Reflection.getCallerClass (realFramesToSkip) - if (mg.getName().equals("getCallerClass") - && (argTypes.length == 1) + // if call is sun.reflect.Reflection.getCallerClass(int depth) + // NOTE: This method was deleted in JDK 9. At some point we should remove support. + if (mgen.getName().equals("getCallerClass") + && (argTypes.length == 1) // 'int depth' && gen.getClassName().equals("sun.reflect.Reflection")) { - // The call returns the class realFramesToSkip up on the stack. Since we - // have added this call in between, we need to increment that number by 1. - il.append(InstructionFactory.createLoad(Type.INT, 0)); - il.append(ifact.createConstant(1)); - il.append(new IADD()); + // The call returns the class 'depth' frames up the stack. Since we have added + // our wrapper method call in between, we need to increment that number by 1. + il.add(LoadInstruction.of(TypeKind.INT, 0)); // load depth + il.add(loadIntegerConstant(1)); + il.add(OperatorInstruction.of(Opcode.IADD)); // System.out.printf("adding 1 in %s.%s%n", gen.getClassName(), - // mg.getName()); + // mgen.getName()); } else { // normal call // push each argument on the stack int param_index = 1; - if (mg.isStatic()) { + if (mgen.isStatic()) { param_index = 0; } - for (Type argType : argTypes) { - il.append(InstructionFactory.createLoad(argType, param_index)); - param_index += argType.getSize(); + for (ClassDesc argType : argTypes) { + il.add(LoadInstruction.of(TypeKind.from(argType), param_index)); + param_index += TypeKind.from(argType).slotSize(); } } - // Call the method - il.append( - ifact.createInvoke( - gen.getClassName(), - mg.getName(), - mg.getReturnType(), - argTypes, - (mg.isStatic() ? Const.INVOKESTATIC : Const.INVOKEVIRTUAL))); - - // If there is a return value, return it - il.append(InstructionFactory.createReturn(mg.getReturnType())); - - // We've created new il; we need to set the instruction handle positions. - il.setPositions(); + // Call the native method + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ClassDesc.of(mgen.getClassName()), + mgen.getName(), + MethodTypeDesc.of(returnType, argTypes)); + Opcode op = mgen.isStatic() ? Opcode.INVOKESTATIC : Opcode.INVOKEVIRTUAL; + il.add(InvokeInstruction.of(op, mre)); - // Add the instructions to the method - mg.setInstructionList(il); - mg.setMaxStack(); - mg.setMaxLocals(); + // generate return instruction + il.add(ReturnInstruction.of(TypeKind.from(returnType))); - // turn off the native flag - mg.setAccessFlags(mg.getAccessFlags() & ~Const.ACC_NATIVE); + mgen.setInstructionList(il); } /** @@ -4646,39 +4491,34 @@ void create_tag_accessors(ClassGen24 classGen) { // Build accessors for each field declared in a superclass that is // is not shadowed in a subclass - // JavaClass[] super_classes; - // try { - // // super_classes = gen.getJavaClass().getSuperClasses(); - // } catch (Exception e) { - // throw new Error(e); - // } - // for (JavaClass super_class : super_classes) { - // for (Field f : super_class.getFields()) { - // if (f.isPrivate()) { - // continue; - // } - // if (field_set.contains(f.getName())) { - // continue; - // } - // if (!is_primitive(f.getType())) { - // continue; - // } - // - // field_set.add(f.getName()); - // MethodGen get_method; - // MethodGen set_method; - // if (f.isStatic()) { - // String full_name = full_name(super_class, fm); - // get_method = create_get_tag(classGen, fm, static_field_id.get(full_name)); - // set_method = create_set_tag(classGen, fm, static_field_id.get(full_name)); - // } else { - // get_method = create_get_tag(classGen, fm, field_map.get(f)); - // set_method = create_set_tag(classGen, fm, field_map.get(f)); - // } - // gen.addMethod(get_method.getMethod()); - // gen.addMethod(set_method.getMethod()); - // } - // } + for (@BinaryName String scn : getSuperClassNames()) { + ClassModel scm = getClassModel(scn); + if (scm == null) { + throw new Error("Can't load ClassModel for: " + scn); + } + + for (FieldModel fm : scm.fields()) { + if (fm.flags().has(AccessFlag.PRIVATE)) { + continue; + } + if (field_set.contains(fm.fieldName().stringValue())) { + continue; + } + if (!fm.fieldTypeSymbol().isPrimitive()) { + continue; + } + + field_set.add(fm.fieldName().stringValue()); + if (fm.flags().has(AccessFlag.STATIC)) { + String full_name = full_name(scm, fm); + create_get_tag(classGen, fm, static_field_id.get(full_name)); + create_set_tag(classGen, fm, static_field_id.get(full_name)); + } else { + create_get_tag(classGen, fm, field_map.get(fm)); + create_set_tag(classGen, fm, field_map.get(fm)); + } + } + } } /** @@ -5441,21 +5281,6 @@ private static String typeArgumentsToBinaryNames(String genericPart) { return result.toString(); } - // /** - // * Format a constant value for printing. - // * - // * @param item the constant to format - // * @return a string containing the constant's value - // */ - // private final String formatConstantDesc(ConstantDesc item) { - // try { - // return item.resolveConstantDesc(MethodHandles.lookup()).toString(); - // } catch (Exception e) { - // System.err.printf("Unexpected error %s getting constant value for: %s%n", e, item); - // return ""; - // } - // } - // UNDONE - this routine should probably be moved to MethodGen24. /** @@ -5478,6 +5303,20 @@ protected LocalVariable createLocalWithMethodScope( return newVar; } + /** + * Build a dup instruction based on item size. + * + * @param size size of item to be duplicated + * @return a DUP or DUP2 instruction + */ + protected CodeElement buildDUPInstruction(int size) { + if (size == 1) { + return StackInstruction.of(Opcode.DUP); + } else { + return StackInstruction.of(Opcode.DUP2); + } + } + /** * Build a load constant instruction (LDC). Checks the offset of the constant pool element to be * loaded and generates a LDC or LDC_W, as needed. From 5d2be869d7f73db049fd9d2a3b9b82f789560991 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 11 Jul 2025 15:04:59 -0700 Subject: [PATCH 057/211] deal with methods that have no code --- java/daikon/chicory/MethodGen24.java | 6 +- java/daikon/dcomp/BcelUtils24.java | 44 +++++---- java/daikon/dcomp/DCInstrument24.java | 127 ++++++++++++++++---------- 3 files changed, 103 insertions(+), 74 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 96f7bbf47b..988648302f 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -634,7 +634,11 @@ public ConstantPoolBuilder getPoolBuilder() { return poolBuilder; } - // Used to add instruction list to our native code wrapper. + /** + * Set the method's instruction list. Used to add instruction list to our native code wrapper. + * + * @param il the instruction list + */ public void setInstructionList(List il) { codeList = il; } diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 6ee97d3ba2..0d00b4abfe 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -170,28 +170,26 @@ public static final LocalVariable addNewSpecialLocal( boolean hasCode = !mgen.getInstructionList().isEmpty(); int argSize = TypeKind.from(argType).slotSize(); - if (hasCode) { - if (!mgen.isStatic()) { - // Skip the 'this' pointer. - newIndex++; - newOffset++; // size of 'this' is 1 - } - - if (argTypes.length > 0) { - LocalVariable lastArg; - newIndex = newIndex + argTypes.length; - // newIndex is now positive, because argTypes.length is - lastArg = locals.get(newIndex - 1); - newOffset = lastArg.slot() + TypeKind.from(lastArg.typeSymbol()).slotSize(); - } + if (!mgen.isStatic()) { + // Skip the 'this' pointer. + newIndex++; + newOffset++; // size of 'this' is 1 + } - // Insert our new local variable into existing table at 'newOffset'. - argNew = LocalVariable.of(newOffset, argName, argType, minfo.startLabel, minfo.endLabel); - mgen.localsTable.add(newIndex, argNew); - minfo.nextLocalIndex += argSize; - mgen.setMaxLocals(minfo.nextLocalIndex); + if (argTypes.length > 0) { + LocalVariable lastArg; + newIndex = newIndex + argTypes.length; + // newIndex is now positive, because argTypes.length is + lastArg = locals.get(newIndex - 1); + newOffset = lastArg.slot() + TypeKind.from(lastArg.typeSymbol()).slotSize(); } + // Insert our new local variable into existing table at 'newOffset'. + argNew = LocalVariable.of(newOffset, argName, argType, minfo.startLabel, minfo.endLabel); + mgen.localsTable.add(newIndex, argNew); + minfo.nextLocalIndex += argSize; + mgen.setMaxLocals(minfo.nextLocalIndex); + if (isParam) { // Update the method's parameter information. argTypes = postpendToArray(argTypes, argType); @@ -201,6 +199,10 @@ public static final LocalVariable addNewSpecialLocal( mgen.setParameterNames(argNames); } + debugInstrument.log( + "Added arg %s%n", + argNew.slot() + ": " + argNew.name() + ", " + argNew.type() + ", " + argSize); + if (hasCode) { // we need to adjust the offset of any locals after our insertion for (int i = newIndex + 1; i < locals.size(); i++) { @@ -211,10 +213,6 @@ public static final LocalVariable addNewSpecialLocal( lv.slot() + argSize, lv.name(), lv.type(), lv.startScope(), lv.endScope())); } - debugInstrument.log( - "Added arg %s%n", - argNew.slot() + ": " + argNew.name() + ", " + argNew.type() + ", " + argSize); - // Now process the instruction list, adding one to the offset // within each LocalVariableInstruction that references a // local that is 'higher' in the local map than new local diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 40bdc6d710..d36ebb32ba 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -95,6 +95,7 @@ import java.util.Queue; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Consumer; import java.util.regex.Pattern; import org.apache.bcel.Const; import org.apache.bcel.classfile.AnnotationEntry; @@ -886,12 +887,18 @@ private void instrumentMethod( } } if (!codeModelSeen) { - // We assume it is a native method; we need to build our wrapper method. - methodBuilder.withCode( - codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, trackMethod)); - - // Turn off the native flag in wrapper method. - methodBuilder.withFlags(mgen.getAccessFlagsMask() & ~ClassFile.ACC_NATIVE); + debugInstrument.log("No CodeModel for method: %s%n", mgen.getName()); + if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { + // We need to build our wrapper method. + methodBuilder.withCode( + codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, trackMethod)); + + // Turn off the native flag in wrapper method. + methodBuilder.withFlags(mgen.getAccessFlagsMask() & ~ClassFile.ACC_NATIVE); + } else { + // Interface and/or Abstract + // UNDONE: do nothing? + } } } @@ -4762,14 +4769,20 @@ private void buildTagAccessor( * @param classGen class to add method to */ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo classInfo) { + classGen.addInterface(DCRuntime.instrumentation_interface); debugInstrument.log("Added interface DCompInstrumented%n"); List instructions = new ArrayList<>(); + Consumer codeHandler1 = + methodBuilder -> { + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions)); + }; int access_flags = ClassFile.ACC_PUBLIC; if (classGen.isInterface()) { access_flags |= ClassFile.ACC_ABSTRACT; + codeHandler1 = methodBuilder -> {}; } MethodTypeDesc mtd = MethodTypeDesc.of(CD_boolean, CD_Object); @@ -4786,34 +4799,38 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); // build the equals_dcomp_instrumented method - classBuilder.withMethod( - "equals_dcomp_instrumented", - mtd, - access_flags, - methodBuilder -> - methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions))); + classBuilder.withMethod("equals_dcomp_instrumented", mtd, access_flags, codeHandler1); // now build the instrumented version of the equals_dcomp_instrumented method - @BinaryName String classname = classInfo.class_name; - // create pseudo MethodGen24 - MethodGen24 mgen = - new MethodGen24( - classname, - classBuilder, - "equals_dcomp_instrumented", - access_flags, - mtd, - instructions, - 3, // maxStack - 2); // maxLocals - boolean track = should_track(classname, mgen.getName(), classname + mgen); - classBuilder.withMethod( - "equals_dcomp_instrumented", - MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), - access_flags, - methodBuilder -> - methodBuilder.withCode( - codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, track))); + if (classGen.isInterface()) { + // no code if interface + classBuilder.withMethod( + "equals_dcomp_instrumented", + MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), + access_flags, + methodBuilder -> {}); + } else { + @BinaryName String classname = classInfo.class_name; + // create pseudo MethodGen24 + MethodGen24 mgen = + new MethodGen24( + classname, + classBuilder, + "equals_dcomp_instrumented", + access_flags, + mtd, + instructions, + 3, // maxStack + 2); // maxLocals + boolean track = should_track(classname, mgen.getName(), classname + mgen); + classBuilder.withMethod( + "equals_dcomp_instrumented", + MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), + access_flags, + methodBuilder -> + methodBuilder.withCode( + codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, track))); + } } /** @@ -4833,11 +4850,17 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn * @param classGen class to add method to */ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo classInfo) { + List instructions = new ArrayList<>(); + Consumer codeHandler1 = + methodBuilder -> { + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions)); + }; int access_flags = ClassFile.ACC_PUBLIC; if (classGen.isInterface()) { access_flags |= ClassFile.ACC_ABSTRACT; + codeHandler1 = methodBuilder -> {}; } MethodTypeDesc mtd = MethodTypeDesc.of(CD_boolean, CD_Object); @@ -4849,26 +4872,30 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); // build the equals method - classBuilder.withMethod( - "equals", - mtd, - access_flags, - methodBuilder -> - methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions))); + classBuilder.withMethod("equals", mtd, access_flags, codeHandler1); // now build the instrumented version of the equals method - @BinaryName String classname = classInfo.class_name; - // create pseudo MethodGen24 - MethodGen24 mgen = - new MethodGen24(classname, classBuilder, "equals", access_flags, mtd, instructions, 2, 2); - boolean track = should_track(classname, mgen.getName(), classname + mgen); - classBuilder.withMethod( - "equals", - MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), - access_flags, - methodBuilder -> - methodBuilder.withCode( - codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, track))); + if (classGen.isInterface()) { + // no code if interface + classBuilder.withMethod( + "equals", + MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), + access_flags, + methodBuilder -> {}); + } else { + @BinaryName String classname = classInfo.class_name; + // create pseudo MethodGen24 + MethodGen24 mgen = + new MethodGen24(classname, classBuilder, "equals", access_flags, mtd, instructions, 2, 2); + boolean track = should_track(classname, mgen.getName(), classname + mgen); + classBuilder.withMethod( + "equals", + MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), + access_flags, + methodBuilder -> + methodBuilder.withCode( + codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, track))); + } } /** From 629e6a3446049e2715e4b48f4697d8a2137728f3 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 11 Jul 2025 15:58:33 -0700 Subject: [PATCH 058/211] remove errorprone warning --- java/daikon/dcomp/BcelUtils24.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 0d00b4abfe..d6d0e59a71 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -160,7 +160,7 @@ public static final LocalVariable addNewSpecialLocal( // existing local variables. We then need to make a pass over the // byte codes to update the local offset values of any locals we just shifted up. - LocalVariable argNew = null; + LocalVariable argNew; // get a copy of the locals before modification ArrayList locals = mgen.localsTable; ClassDesc[] argTypes = mgen.getParameterTypes(); From c9f5b1fc20cf165f88705dccc7c1d4ccb0c144b1 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 17 Jul 2025 12:32:39 -0700 Subject: [PATCH 059/211] improve equals method --- java/daikon/dcomp/OperandStack24.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index c1752fb1cb..9913b4a277 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -95,12 +95,23 @@ public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Null } // We should check if they are equal or have a common superclass, but we // assume the class file is valid and take the easy way out. + } else if (thisItem.isArray()) { + if (otherItem.isPrimitive()) { + return false; + } + // We assume an array matches any array or any class as they all have Object as super class + // at some point. } else if (thisItem.isClassOrInterface()) { - return otherItem.isClassOrInterface(); + if (otherItem.isPrimitive()) { + return false; + } + // We assume a class matches any array or any class as they all have Object as super class + // at some point. } else if (thisItem.isPrimitive()) { - return otherItem.isPrimitive(); - } else if (thisItem.isArray()) { - return otherItem.isArray(); + if (!otherItem.isPrimitive()) { + return false; + } + // We don't bother to check they are the same primitive. } } return true; From bd657e3170f4c322927384f58f7b749cdef857b9 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 17 Jul 2025 12:34:52 -0700 Subject: [PATCH 060/211] JUnit test classes; sort operand stack work list by address --- java/daikon/dcomp/DCInstrument24.java | 178 +++++++++++++++++++++++++- 1 file changed, 173 insertions(+), 5 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index d36ebb32ba..05ce356fc2 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -39,6 +39,7 @@ import java.lang.classfile.CodeModel; import java.lang.classfile.FieldModel; import java.lang.classfile.Instruction; +import java.lang.classfile.Interfaces; import java.lang.classfile.Label; import java.lang.classfile.MethodBuilder; import java.lang.classfile.MethodElement; @@ -82,6 +83,7 @@ import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; +import java.util.Comparator; import java.util.Deque; import java.util.HashMap; import java.util.HashSet; @@ -92,8 +94,9 @@ import java.util.ListIterator; import java.util.Map; import java.util.Optional; -import java.util.Queue; import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Consumer; import java.util.regex.Pattern; @@ -193,8 +196,17 @@ public class DCInstrument24 { /** Record containing a work item for the operand stack calculation. */ record WorkItem(int instructionIndex, OperandStack24 stack) {} + /** Comparator to sort WorkItems with lowest address first. */ + protected static Comparator indexComparator = + new Comparator() { + @Override + public int compare(WorkItem w1, WorkItem w2) { + return Integer.compare(w1.instructionIndex, w2.instructionIndex); + } + }; + /** Queue of items for the operand stack calculation. */ - protected static Queue worklist = new ArrayDeque<>(); + protected static SortedSet worklist = new TreeSet<>(indexComparator); // Variables used for the entire class. @@ -521,7 +533,8 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk private void instrumentClass( ClassBuilder classBuilder, ClassModel classModel, ClassInfo classInfo) { - classGen = new ClassGen24(classModel, classInfo.class_name, classBuilder); + @BinaryName String classname = classInfo.class_name; + classGen = new ClassGen24(classModel, classname, classBuilder); runtimeCD = ClassDesc.of(dcompRuntimeClassname); poolBuilder = classBuilder.constantPool(); @@ -561,7 +574,160 @@ private void instrumentClass( add_dcomp_interface(classBuilder, classGen, classInfo); } - // UNDONE MISSING JUNIT CODE! need isJunitTestClass to be calculated + // A very tricky special case: If JUnit is running and the current + // class has been passed to JUnit on the command line, then this + // is a JUnit test class and our normal instrumentation will + // cause JUnit to complain about multiple constructors and + // methods that should have no arguments. To work around these + // restrictions, we replace rather than duplicate each method + // we instrument and we do not add the dcomp marker argument. + // We must also remember the class name so if we see a subsequent + // call to one of its methods we do not add the dcomp argument. + + debugInstrument.log("junit_state: %s%n", junit_state); + + StackTraceElement[] stack_trace; + + switch (junit_state) { + case NOT_SEEN: + if (classname.startsWith("org.junit")) { + junit_state = JUnitState.STARTING; + } + break; + + case STARTING: + // Now check to see if JUnit is looking for test class(es). + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + if (debugJUnitAnalysis) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + junit_parse_seen = true; + junit_state = JUnitState.TEST_DISCOVERY; + break; + } + } + break; + + case TEST_DISCOVERY: + // Now check to see if JUnit is done looking for test class(es). + boolean local_junit_parse_seen = false; + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + if (debugJUnitAnalysis) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + local_junit_parse_seen = true; + break; + } + } + if (junit_parse_seen && !local_junit_parse_seen) { + junit_parse_seen = false; + junit_state = JUnitState.RUNNING; + } else if (!junit_parse_seen && local_junit_parse_seen) { + junit_parse_seen = true; + } + break; + + case RUNNING: + if (debugJUnitAnalysis) { + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + } + // nothing to do + break; + + default: + throw new Error("invalid junit_state"); + } + + debugInstrument.log("junit_state: %s%n", junit_state); + + boolean junit_test_class = false; + if (junit_state == JUnitState.TEST_DISCOVERY) { + // We have a possible JUnit test class. We need to verify by + // one of two methods. Either the class is a subclass of + // junit.framework.TestCase or one of its methods has a + // RuntimeVisibleAnnotation of org/junit/Test. + Deque classnameStack = new ArrayDeque<>(); + String super_class; + String this_class = classname; + while (true) { + super_class = getSuperclassName(this_class); + if (super_class == null) { + // something has gone wrong + break; + } + if (debugJUnitAnalysis) { + System.out.printf("this_class: %s%n", this_class); + System.out.printf("super_class: %s%n", super_class); + } + if (super_class.equals("junit.framework.TestCase")) { + // This is a junit test class and so are the + // elements of classnameStack. + junit_test_class = true; + junitTestClasses.add(this_class); + while (!classnameStack.isEmpty()) { + junitTestClasses.add(classnameStack.pop()); + } + break; + } else if (super_class.equals("java.lang.Object")) { + // We're done; not a junit test class. + // Ignore items on classnameStack. + break; + } + // Recurse and check the super_class. + classnameStack.push(this_class); + this_class = super_class; + } + } + + // Even if we have not detected that JUnit is active, any class that + // contains a method with a RuntimeVisibleAnnotation of org/junit/Test + // needs to be marked as a JUnit test class. (Daikon issue #536) + + if (!junit_test_class) { + // need to check for junit Test annotation on a method + searchloop: + for (MethodModel mm : classModel.methods()) { + for (java.lang.classfile.Attribute attribute : mm.attributes()) { + if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { + if (debugJUnitAnalysis) { + System.out.printf("attribute: %s%n", attribute); + } + for (final Annotation item : rvaa.annotations()) { + String description = item.className().stringValue(); + if (debugJUnitAnalysis) { + System.out.printf("item: %s%n", description); + } + if (description.endsWith("org/junit/Test;") // JUnit 4 + || description.endsWith("org/junit/jupiter/api/Test;") // JUnit 5 + ) { + junit_test_class = true; + junitTestClasses.add(classname); + break searchloop; + } + } + } + } + } + } + + if (junit_test_class) { + debugInstrument.log("JUnit test class: %s%n", classname); + } else { + debugInstrument.log("Not a JUnit test class: %s%n", classname); + } instrument_all_methods(classModel, classBuilder, classInfo); @@ -800,6 +966,7 @@ private void instrument_all_methods( debugInstrument.log("ClassElement: %s%n", ce); switch (ce) { case MethodModel mm -> {} + case Interfaces i -> {} // Copy all other ClassElements to output class (unchanged). default -> classBuilder.with(ce); } @@ -1879,7 +2046,8 @@ private void instrumentCodeList( OperandStack24 stack; int inst_index; while (!worklist.isEmpty()) { - item = worklist.remove(); + item = worklist.first(); + worklist.remove(item); if (debugOperandStack) { System.out.println( "pull from worklist: " + item.instructionIndex() + ", stack: " + item.stack()); From e843ab6646a4ac9963772ed5618fe4928dc0826d Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 23 Jul 2025 14:33:44 -0700 Subject: [PATCH 061/211] clean up internal exception handling remove IntrinsicCandidate annotations clean up many UNDONEs --- java/daikon/dcomp/DCInstrument24.java | 173 ++++++++++++++------------ 1 file changed, 96 insertions(+), 77 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 05ce356fc2..bae878e16b 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -517,9 +517,14 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk classModel.thisClass().asSymbol(), classBuilder -> instrumentClass(classBuilder, classModel, classInfo)); } catch (Throwable t) { - System.err.printf("Unexpected error %s in transform of %s%n", t, classInfo.class_name); - t.printStackTrace(); - throw new RuntimeException("Unexpected error", t); + if (debugInstrument.enabled) { + t.printStackTrace(); + } + System.err.printf( + "DynComp warning: Class %s is being skipped due to the following:%n", + classInfo.class_name); + System.err.printf("%s.%n", t); + return null; } } @@ -648,7 +653,7 @@ private void instrumentClass( break; default: - throw new Error("invalid junit_state"); + throw new DynCompError("invalid junit_state"); } debugInstrument.log("junit_state: %s%n", junit_state); @@ -771,9 +776,14 @@ private void addInvokeToClinit(MethodGen24 mgen, ClassInfo classInfo) { for (CodeElement ce : call_initNotify(poolBuilder, classInfo)) { li.add(ce); } - } catch (Exception e) { - System.err.printf("Unexpected exception encountered: %s", e); - e.printStackTrace(); + } catch (Throwable t) { + if (t instanceof DynCompError) { + throw t; + } + throw new DynCompError( + String.format( + "Unexpected error processing %s.%s.%n", mgen.getClassName(), mgen.getName()), + t); } } @@ -953,10 +963,10 @@ private void instrument_all_methods( debug_transform.exdent(); } catch (Throwable t) { - if (debugInstrument.enabled) { - t.printStackTrace(); + if (t instanceof DynCompError) { + throw t; } - throw new Error( + throw new DynCompError( "Unexpected error processing " + classname + "." + mm.methodName().stringValue(), t); } } @@ -1040,32 +1050,60 @@ private void instrumentMethod( ClassInfo classInfo, boolean trackMethod) { - boolean codeModelSeen = false; - for (MethodElement me : methodModel) { - debugInstrument.log("MethodElement: %s%n", me); - switch (me) { - case CodeModel codeModel -> { - codeModelSeen = true; - methodBuilder.withCode( - codeBuilder -> instrumentCode(codeBuilder, codeModel, mgen, classInfo, trackMethod)); + try { + boolean codeModelSeen = false; + for (MethodElement me : methodModel) { + debugInstrument.log("MethodElement: %s%n", me); + switch (me) { + case CodeModel codeModel -> { + codeModelSeen = true; + methodBuilder.withCode( + codeBuilder -> + instrumentCode(codeBuilder, codeModel, mgen, classInfo, trackMethod)); + } + case RuntimeVisibleAnnotationsAttribute rvaa -> { + // We do not want to copy the @HotSpotIntrinsicCandidate annotations from + // the original method to our instrumented method as the signature will + // not match anything in the JVM's list. This won't cause an execution + // problem but will produce a number of warnings. + // JDK 11: @HotSpotIntrinsicCandidate + // JDK 17: @IntrinsicCandidate + boolean output = true; + for (final Annotation item : rvaa.annotations()) { + String description = item.className().stringValue(); + if (description.endsWith("IntrinsicCandidate;")) { + output = false; + debugInstrument.log("Annotation not copied: %s%n", description); + } + } + if (output) { + methodBuilder.with(me); + } + } + // copy all other MethodElements to output class (unchanged) + default -> methodBuilder.with(me); } - // copy all other MethodElements to output class (unchanged) - default -> methodBuilder.with(me); } - } - if (!codeModelSeen) { - debugInstrument.log("No CodeModel for method: %s%n", mgen.getName()); - if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { - // We need to build our wrapper method. - methodBuilder.withCode( - codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, trackMethod)); + if (!codeModelSeen) { + debugInstrument.log("No CodeModel for method: %s%n", mgen.getName()); + if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { + // We need to build our wrapper method for a call to native code. + methodBuilder.withCode( + codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, trackMethod)); - // Turn off the native flag in wrapper method. - methodBuilder.withFlags(mgen.getAccessFlagsMask() & ~ClassFile.ACC_NATIVE); - } else { - // Interface and/or Abstract - // UNDONE: do nothing? + // Turn off the native flag in wrapper method. + methodBuilder.withFlags(mgen.getAccessFlagsMask() & ~ClassFile.ACC_NATIVE); + } else { + // Interface and/or Abstract + // UNDONE: do nothing? + } + } + } catch (Throwable t) { + if (t instanceof DynCompError) { + throw t; } + throw new DynCompError( + "Unexpected error processing " + classInfo.class_name + "." + mgen.getName(), t); } } @@ -1245,21 +1283,6 @@ private void instrumentCode( } } - // UNDONE needs to be moved? - // We do not want to copy the @HotSpotIntrinsicCandidate annotations from - // the original method to our instrumented method as the signature will - // not match anything in the JVM's list. This won't cause an execution - // problem but will produce a massive number of warnings. - // JDK 11: @HotSpotIntrinsicCandidate - // JDK 17: @IntrinsicCandidate - // AnnotationEntryGen[] aes = mgen.getAnnotationEntries(); - // for (AnnotationEntryGen item : aes) { - // String type = item.getTypeName(); - // if (type.endsWith("IntrinsicCandidate;")) { - // mgen.removeAnnotationEntry(item); - // } - // } - // UNDONE // can we do this with java.lang.classfile? // needs to be moved? @@ -2011,7 +2034,7 @@ private void instrumentCodeList( // There may be a gap for the second slot of a variable of type long or double. // UNDONE: do we have to save state of locals like we do statck? locals = new ClassDesc[mgen.getMaxLocals()]; - // UNDONE: init locals with 'this' and params only + // UNDONE: init locals with 'this' and params only? for (final LocalVariable lv : mgen.localsTable) { locals[lv.slot()] = lv.typeSymbol(); } @@ -2054,10 +2077,9 @@ private void instrumentCodeList( } li = instructions.listIterator(item.instructionIndex()); stack = item.stack(); - // UNDONE turn it on boolean proceed = true; while (proceed) { - if (!li.hasNext()) throw new Error("error in instruction list"); + if (!li.hasNext()) throw new DynCompError("error in instruction list"); inst_index = li.nextIndex(); inst = li.next(); if (debugOperandStack) { @@ -2111,11 +2133,13 @@ private void instrumentCodeList( inst_index++; } } catch (Throwable t) { - if (debugInstrument.enabled) { - t.printStackTrace(); + if (t instanceof DynCompError) { + throw t; } - throw new Error( - "Unexpected error processing " + mgen.getClassName() + "." + mgen.getName(), t); + throw new DynCompError( + String.format( + "Unexpected error processing %s.%s.%n", mgen.getClassName(), mgen.getName()), + t); } } @@ -2174,7 +2198,7 @@ protected static void verifyOperandStackMatches( System.out.println("current stack: " + current); System.out.flush(); } - throw new Error("operand stacks do not match at label:" + target); + throw new DynCompError("operand stacks do not match at label:" + target); } /** @@ -2281,7 +2305,9 @@ private List createTagFrame(MethodGen24 mgen) { // unsigned byte max = 255. minus the character '0' (decimal 48) // Largest frame size noted so far is 123. - assert frame_size < 207 : frame_size + " " + mgen.getClassName() + "." + mgen.getName(); + if (frame_size > 206) { + throw new DynCompError("method too large to instrument: " + mgen.getName()); + } String params = "" + (char) (frame_size + '0'); // Character.forDigit (frame_size, Character.MAX_RADIX); List plist = new ArrayList<>(); @@ -2790,27 +2816,23 @@ private List callEnterOrExit( case Opcode.SASTORE: return array_store(inst, "sastore", CD_short); - // UNDONE default -> throw exception when done? default: - // System.out.println("Unexpected instruction opcode: " + ce); - return null; + throw new DynCompError("Unexpected instruction opcode: " + inst.opcode()); } } case Label l -> { - // UNDONE do anything? + // Ignore Label CodeELements. return null; } case LineNumber ln -> { - // UNDONE do anything? + // Ignore LineNumber CodeELements. return null; } - // UNDONE default -> throw exception when done? default -> { - System.out.println("Unexpected CodeElement: " + ce); - return null; + throw new DynCompError("Unexpected CodeElement: " + ce); } } } @@ -2859,7 +2881,7 @@ private void add_exit( newCode.add(StoreInstruction.of(typeKind, returnLocal.slot())); } if (!exitLocationIter.hasNext()) { - throw new RuntimeException("Not enough exit locations in the exitLocationIter"); + throw new DynCompError("Not enough exit locations in the exitLocationIter"); } newCode.addAll( callEnterOrExit(mgen, minfo, method_info_index, "exit", exitLocationIter.next())); @@ -2901,8 +2923,8 @@ private void add_exit( ClassModel cm; try { cm = getClassModel(interfaceName); - } catch (Throwable e) { - throw new Error(String.format("Unable to load class: %s", interfaceName), e); + } catch (Throwable t) { + throw new DynCompError(String.format("Unable to load class: %s", interfaceName), t); } for (MethodModel jm : cm.methods()) { String jmName = jm.methodName().stringValue(); @@ -3491,8 +3513,7 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met return result; } } catch (Throwable t) { - t.printStackTrace(); - throw new Error(String.format("Unexpected error while reading %s%n", classname), t); + throw new DynCompError(String.format("Unexpected error while reading %s%n", classname), t); } } // Do not cache a null result, because a subsequent invocation might return non-null. @@ -4280,7 +4301,7 @@ List dup2_x2_tag(CodeElement inst, OperandStack24 stack) { ClassDesc value3 = stack.peek(2); if (value1.isPrimitive()) { if (is_category2(value2)) { - throw new Error("not supposed to happen " + stack_contents(stack, 3)); + throw new DynCompError("not supposed to happen " + stack_contents(stack, 3)); } else if (is_category2(value3)) { if (value2.isPrimitive()) { op = "dup2_x1"; @@ -4311,7 +4332,7 @@ List dup2_x2_tag(CodeElement inst, OperandStack24 stack) { } } else { // value1 is not primitive if (is_category2(value2)) { - throw new Error("not supposed to happen " + stack_contents(stack, 3)); + throw new DynCompError("not supposed to happen " + stack_contents(stack, 3)); } else if (is_category2(value3)) { if (value2.isPrimitive()) { op = "dup_x1"; @@ -4669,7 +4690,7 @@ void create_tag_accessors(ClassGen24 classGen) { for (@BinaryName String scn : getSuperClassNames()) { ClassModel scm = getClassModel(scn); if (scm == null) { - throw new Error("Can't load ClassModel for: " + scn); + throw new DynCompError("Can't load ClassModel for: " + scn); } for (FieldModel fm : scm.fields()) { @@ -4716,7 +4737,7 @@ Map build_field_map(ClassModel classModel) { String superclassName = ce.get().asInternalName().replace('/', '.'); ClassModel super_cm = getClassModel(superclassName); if (super_cm == null) { - throw new Error("Can't get superclass for " + superclassName); + throw new DynCompError("Can't get superclass for " + superclassName); } Map field_map = build_field_map(super_cm); @@ -5398,7 +5419,7 @@ private CodeElement retargetStartLabel(CodeElement inst) { result.append(descriptorToFqBinaryName(descriptor)); break; default: - throw new IllegalArgumentException("Invalid descriptor: " + descriptor); + throw new DynCompError("Invalid descriptor: " + descriptor); } // Append array brackets if applicable @@ -5433,7 +5454,7 @@ private CodeElement retargetStartLabel(CodeElement inst) { // Regular object type result.append(descriptor.substring(1, endOfBaseType).replace('/', '.')); } else { - throw new IllegalArgumentException("Malformed object type descriptor: " + descriptor); + throw new DynCompError("Malformed object type descriptor: " + descriptor); } return result.toString(); } @@ -5476,8 +5497,6 @@ private static String typeArgumentsToBinaryNames(String genericPart) { return result.toString(); } - // UNDONE - this routine should probably be moved to MethodGen24. - /** * Create a new local variable whose scope is the full method. * From 160f27a1d8bd9ec9901992c029a1f5f386bafcd6 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 23 Jul 2025 19:25:22 -0700 Subject: [PATCH 062/211] forgot new file --- java/daikon/dcomp/DynCompError.java | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 java/daikon/dcomp/DynCompError.java diff --git a/java/daikon/dcomp/DynCompError.java b/java/daikon/dcomp/DynCompError.java new file mode 100644 index 0000000000..b620be6c63 --- /dev/null +++ b/java/daikon/dcomp/DynCompError.java @@ -0,0 +1,26 @@ +package daikon.dcomp; + +/** Indicates an unexpected error during DynComp processing. */ +public class DynCompError extends RuntimeException { + + private static final long serialVersionUID = 1L; + + /** + * Create a {@link DynCompError} with the given message. + * + * @param message the exception message + */ + public DynCompError(String message) { + super(message); + } + + /** + * Create a {@link DynCompError} with the given message and cause. + * + * @param message exception message + * @param cause exception cause + */ + public DynCompError(String message, Throwable cause) { + super(message, cause); + } +} From cd034121f77a6ffc34f75646cdd8a05a2b4d6b80 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 30 Jul 2025 13:01:30 -0700 Subject: [PATCH 063/211] fix parameter names --- java/daikon/chicory/MethodGen24.java | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 988648302f..e811d43f7e 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -273,7 +273,6 @@ public MethodGen24( // Not necessarily sorted, so sort to make searching/insertion easier. localsTable.sort(Comparator.comparing(LocalVariable::slot)); origLocalVariables = localsTable.toArray(new LocalVariable[localsTable.size()]); - // System.out.println("orig locals: " + Arrays.toString(origLocalVariables)); poolBuilder = classBuilder.constantPool(); @@ -290,6 +289,7 @@ public MethodGen24( * @param methodName for the method * @param accessFlagsMask for the method * @param mtd MethodTypeDescriptor for the method + * @param instructions instruction list for the method * @param maxStack for the method * @param maxLocals for the method */ @@ -384,7 +384,7 @@ private void getParamInfo() { */ public boolean fixLocals(MInfo24 minfo) { boolean modified = false; - // If this is a new method from DCInstrument24 or a native method the + // If this is a native method the // localsTable may not exist. We may need to add a 'this' pointer. if ((localsTable.size() == 0) && !isStatic) { LocalVariable newVar = @@ -393,10 +393,23 @@ public boolean fixLocals(MInfo24 minfo) { modified = true; } + // System.out.println("orig locals: " + Arrays.toString(origLocalVariables)); + int lBase = isStatic ? 0 : 1; int slot = isStatic ? 0 : 1; for (int pIndex = 0; pIndex < paramTypes.length; pIndex++) { int lIndex = lBase + pIndex; + + // update paramNames from localsTable + if (lIndex < localsTable.size()) { + @SuppressWarnings("signature:assignment") // need JDK annotations + @Identifier String localName = localsTable.get(lIndex).name().stringValue(); + if (!paramNames[pIndex].equals(localName)) { + paramNames[pIndex] = localName; + modified = true; + } + } + if ((lIndex >= origLocalVariables.length) || (slot != origLocalVariables[lIndex].slot())) { // need to add a LocalVariable for this parameter LocalVariable newVar = @@ -548,6 +561,16 @@ public LocalVariable[] getOriginalLocalVariables() { return origLocalVariables.clone(); } + /** + * Set the original local variable table. This method is only used when DCInstrument24 creates a + * new user method. + * + * @param locals the new original local variable table + */ + public void setOriginalLocalVariables(LocalVariable[] locals) { + origLocalVariables = locals.clone(); + } + /** * Return the name of the containing class. * From 1b81d28596966345c5dd7a85941dc56d840de594 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 30 Jul 2025 13:02:07 -0700 Subject: [PATCH 064/211] improve debug info --- java/daikon/dcomp/BcelUtils24.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index d6d0e59a71..42d4b55655 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -92,6 +92,7 @@ protected static String[] addString(String[] arr, String newString) { protected static void adjust_code_for_locals_change( MethodGen24 mgen, int offsetFirstMovedLocal, int size) { + debugInstrument.log("adjust code: %d %d%n", offsetFirstMovedLocal, size); try { List il = mgen.getInstructionList(); ListIterator iter = il.listIterator(); @@ -199,9 +200,10 @@ public static final LocalVariable addNewSpecialLocal( mgen.setParameterNames(argNames); } + String varType = isParam ? "arg" : "local"; debugInstrument.log( - "Added arg %s%n", - argNew.slot() + ": " + argNew.name() + ", " + argNew.type() + ", " + argSize); + "Added %s at %s%n", + varType, argNew.slot() + ": " + argNew.name() + ", " + argNew.type() + ", " + argSize); if (hasCode) { // we need to adjust the offset of any locals after our insertion From 079ef18757aeccfe3294b49dcc6d3aad38abb6d3 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 30 Jul 2025 13:08:36 -0700 Subject: [PATCH 065/211] don't instrument Chicory --- java/daikon/dcomp/Instrument24.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index aac9e4df8b..6b14739460 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -385,7 +385,6 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str } // End of old code. - } /** @@ -405,6 +404,9 @@ private static boolean is_dcomp(String classname) { && !classname.equals("daikon/chicory/ChicoryTest")) { return true; } + if (classname.equals("daikon/Chicory")) { + return true; + } if (classname.equals("daikon/PptTopLevel$PptType")) { return true; } From 858a9a2266c7afc4bd6bca46ba9d4918ad94c69d Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 30 Jul 2025 13:21:50 -0700 Subject: [PATCH 066/211] fix param names, clinit, several more issues --- java/daikon/dcomp/DCInstrument24.java | 160 ++++++++++++++++++-------- 1 file changed, 112 insertions(+), 48 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index bae878e16b..21a03064cf 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -50,7 +50,7 @@ import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; import java.lang.classfile.constantpool.ClassEntry; import java.lang.classfile.constantpool.ConstantPoolBuilder; -import java.lang.classfile.constantpool.ConstantValueEntry; +import java.lang.classfile.constantpool.LoadableConstantEntry; import java.lang.classfile.constantpool.MethodRefEntry; import java.lang.classfile.constantpool.NameAndTypeEntry; import java.lang.classfile.instruction.ArrayLoadInstruction; @@ -240,6 +240,9 @@ public int compare(WorkItem w1, WorkItem w2) { /** Has an {@code } method completed initialization? */ protected boolean constructor_is_initialized; + /** Record containing subset of LocalVariable fields. */ + public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} + /** Local that stores the tag frame for the current method. */ protected LocalVariable tagFrameLocal; @@ -561,24 +564,6 @@ private void instrumentClass( classInfo.isJunitTestClass = false; - // Have all top-level classes implement our interface - if (classGen.getSuperclassName().equals("java.lang.Object")) { - @SuppressWarnings("signature:assignment") - @MethodDescriptor String objectArgReturnBoolean = "(Ljava/lang/Object;)Z"; - // Add equals method if it doesn't already exist. This ensures - // that an instrumented version, equals(Object, DCompMarker), - // will be created in this class. - MethodModel eq = classGen.containsMethod("equals", objectArgReturnBoolean); - if (eq == null) { - debugInstrument.log("Added equals method%n"); - add_equals_method(classBuilder, classGen, classInfo); - } - - // Add DCompInstrumented interface and the required - // equals_dcomp_instrumented method. - add_dcomp_interface(classBuilder, classGen, classInfo); - } - // A very tricky special case: If JUnit is running and the current // class has been passed to JUnit on the command line, then this // is a JUnit test class and our normal instrumentation will @@ -736,6 +721,24 @@ private void instrumentClass( instrument_all_methods(classModel, classBuilder, classInfo); + // Have all top-level classes implement our interface + if (classGen.getSuperclassName().equals("java.lang.Object")) { + @SuppressWarnings("signature:assignment") + @MethodDescriptor String objectArgReturnBoolean = "(Ljava/lang/Object;)Z"; + // Add equals method if it doesn't already exist. This ensures + // that an instrumented version, equals(Object, DCompMarker), + // will be created in this class. + MethodModel eq = classGen.containsMethod("equals", objectArgReturnBoolean); + if (eq == null) { + debugInstrument.log("Added equals method%n"); + add_equals_method(classBuilder, classGen, classInfo); + } + + // Add DCompInstrumented interface and the required + // equals_dcomp_instrumented method. + add_dcomp_interface(classBuilder, classGen, classInfo); + } + // Add tag accessor methods for each primitive in the class create_tag_accessors(classGen); @@ -804,7 +807,7 @@ private void createClinit(ClassBuilder classBuilder, ClassInfo classInfo) { MethodTypeDesc.of(CD_void), ClassFile.ACC_STATIC, methodBuilder -> - methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions))); + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions, null))); } /** @@ -920,19 +923,17 @@ private void instrument_all_methods( debug_transform.log(" Processing method %s, track=%b%n", mgen, track); debug_transform.indent(); + // local variables referenced from a lambda expression must be final or effectively final + final boolean trackMethod = track; + boolean addingDcompArg = true; + // check for the class static initializer method if (mgen.isClinit()) { classInfo.hasClinit = true; addInvokeToClinit(mgen, classInfo); - // We are not going to add any additional instrumentation to this method. - // We need to copy it to the output class. - outputMethodUnchanged(classBuilder, mm, mgen); - continue; + addingDcompArg = false; } - // local variables referenced from a lambda expression must be final or effectively final - final boolean trackMethod = track; - boolean addingDcompArg = true; if (mgen.isMain()) { addingDcompArg = false; createMainStub(mgen, classBuilder, classInfo); @@ -1012,7 +1013,8 @@ private void copyMethod(MethodBuilder methodBuilder, MethodModel methodModel, Me debugInstrument.log("MethodElement: %s%n", me); switch (me) { case CodeModel codeModel -> - methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, mgen.getInstructionList())); + methodBuilder.withCode( + codeBuilder -> copyCode(codeBuilder, mgen.getInstructionList(), null)); // copy all other MethodElements to output class (unchanged) default -> methodBuilder.with(me); @@ -1025,8 +1027,21 @@ private void copyMethod(MethodBuilder methodBuilder, MethodModel methodModel, Me * * @param codeBuilder for the given method's code * @param instructions instruction list to copy + * @param newLocals method scope locals to define; may be null if none */ - private void copyCode(CodeBuilder codeBuilder, List instructions) { + private void copyCode( + CodeBuilder codeBuilder, List instructions, List newLocals) { + + if (newLocals != null) { + for (myLocalVariable lv : newLocals) { + codeBuilder.localVariable( + lv.slot(), + lv.name(), + lv.descriptor(), + codeBuilder.startLabel(), + codeBuilder.endLabel()); + } + } for (CodeElement ce : instructions) { debugInstrument.log("CodeElement: %s%n", ce); @@ -1059,7 +1074,7 @@ private void instrumentMethod( codeModelSeen = true; methodBuilder.withCode( codeBuilder -> - instrumentCode(codeBuilder, codeModel, mgen, classInfo, trackMethod)); + instrumentCode(codeBuilder, codeModel, null, mgen, classInfo, trackMethod)); } case RuntimeVisibleAnnotationsAttribute rvaa -> { // We do not want to copy the @HotSpotIntrinsicCandidate annotations from @@ -1089,7 +1104,7 @@ private void instrumentMethod( if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { // We need to build our wrapper method for a call to native code. methodBuilder.withCode( - codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, trackMethod)); + codeBuilder -> instrumentCode(codeBuilder, null, null, mgen, classInfo, trackMethod)); // Turn off the native flag in wrapper method. methodBuilder.withFlags(mgen.getAccessFlagsMask() & ~ClassFile.ACC_NATIVE); @@ -1112,10 +1127,11 @@ private void instrumentMethod( * original instruction list, calling {@code insertInstrumentationCode} to add the instrumentation * code, and then copying the modified instruction list to the output method while updating the * code labels, if needed. If DCInstrument24 generated the method or if it is a native method, - * then codeModel == null. + * then codeModel == null. If DCInstrument24 generated the method then localsTable will be set. * * @param codeBuilder for the given method's code - * @param codeModel for the input method's code + * @param codeModel for the input method's code; may be null + * @param newLocals method scope locals to define; may be null if none * @param mgen describes the output method * @param classInfo for the current class * @param trackMethod true iff we need to track the daikon variables in this method @@ -1123,13 +1139,30 @@ private void instrumentMethod( private void instrumentCode( CodeBuilder codeBuilder, CodeModel codeModel, + List newLocals, MethodGen24 mgen, ClassInfo classInfo, boolean trackMethod) { // method_info_index is not used at this point in DCInstrument MethodGen24.MInfo24 minfo = new MethodGen24.MInfo24(0, mgen.getMaxLocals(), codeBuilder); - // Add back in any unused parameters that the Java compiler has optimized out. + + if (newLocals != null) { + for (myLocalVariable lv : newLocals) { + mgen.localsTable.add( + LocalVariable.of( + lv.slot(), + lv.name(), + lv.descriptor(), + codeBuilder.startLabel(), + codeBuilder.endLabel())); + } + mgen.setOriginalLocalVariables( + mgen.localsTable.toArray(new LocalVariable[mgen.localsTable.size()])); + } + + // Clean up parameter names and add in any unused parameters that the Java compiler has + // optimized out. if (mgen.fixLocals(minfo)) { // localsTable was changed debugInstrument.log("Revised LocalVariableTable:%n"); @@ -1138,6 +1171,14 @@ private void instrumentCode( } } + if (debugInstrument.enabled) { + String[] paramNames = mgen.getParameterNames(); + debugInstrument.log("paramNames: %s%n", paramNames.length); + for (int i = 0; i < paramNames.length; i++) { + debugInstrument.log("param: %s%n", paramNames[i]); + } + } + // If the method is native if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { @@ -1199,6 +1240,9 @@ private void instrumentCode( } } + // Create the local to store the tag frame for this method + tagFrameLocal = createTagFrameLocal(mgen, minfo); + // The localsTable was initialized in the MethodGen24 constructor. Here we initialize the // codeList. We also remove the local variable type records. Some instrumentation changes // require these to be updated, but it should be safe to just delete them since the @@ -1230,9 +1274,6 @@ private void instrumentCode( } } - // Create the local to store the tag frame for this method - tagFrameLocal = createTagFrameLocal(mgen, minfo); - // Create newStartLabel now so instrumentCodeList can use it. newStartLabel = codeBuilder.newLabel(); @@ -2963,7 +3004,9 @@ private List handleInvokeDynamic(InvokeDynamicInstruction invoke) { MethodTypeDesc mtd = invoke.typeSymbol(); ClassDesc returnType = mtd.returnType(); ClassDesc[] argTypes = mtd.parameterArray(); - System.out.println("invoke: " + invoke); + if (debugHandleInvoke) { + System.out.println("invoke: " + invoke); + } return cleanInvokeTagStack(invoke, classname, returnType, argTypes); } @@ -3088,7 +3131,7 @@ private List cleanInvokeTagStack( // Add a tag for the return type if it is primitive. if (is_primitive(returnType)) { if (debugHandleInvoke) { - System.out.printf("push tag for return type of %s%n", returnType); + System.out.printf("push tag for return type of %s%n", returnType); } il.add(dcr_call("push_const", CD_void, noArgsCD)); } @@ -3139,6 +3182,7 @@ private boolean isTargetInstrumented( boolean targetInstrumented = true; Opcode op = invoke.opcode(); + // UNDONE: can't get here if InvokeDynamic? if (op.equals(Opcode.INVOKEDYNAMIC)) { // We don't instrument lambda methods. if (debugHandleInvoke) { @@ -3376,7 +3420,7 @@ private Integer getAccessFlags(String classname) { private boolean isClassnameInstrumented(@BinaryName String classname, String methodName) { if (debugHandleInvoke) { - System.out.printf("Checking callee instrumented on %s%n", classname); + System.out.printf("Checking callee instrumented on %s.%s%n", classname, methodName); } // Our copy of daikon.plumelib is not instrumented. It would be odd, though, @@ -3385,6 +3429,12 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met return false; } + if (classname.startsWith("daikon.dcomp")) { + if (methodName.equals("set_class_initialized")) { + return false; + } + } + // Special-case JUnit test classes. if (junitTestClasses.contains(classname)) { return false; @@ -3569,7 +3619,7 @@ private List instrument_clone_call( } // push the target class - il.add(buildLDCInstruction(poolBuilder.stringEntry(classname))); + il.add(buildLDCInstruction(poolBuilder.classEntry(ClassDesc.of(classname)))); // if this is a super call if (invoke.opcode().equals(Opcode.INVOKESPECIAL)) { @@ -4963,9 +5013,10 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn debugInstrument.log("Added interface DCompInstrumented%n"); List instructions = new ArrayList<>(); + List localsTable = new ArrayList<>(); Consumer codeHandler1 = methodBuilder -> { - methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions)); + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions, localsTable)); }; int access_flags = ClassFile.ACC_PUBLIC; @@ -4974,6 +5025,11 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn codeHandler1 = methodBuilder -> {}; } + // Defining local variables is not strictly necessary, but we do + // it to reduce the diffs with previous versions of DynComp. + localsTable.add(new myLocalVariable(0, "this", CD_Object)); + localsTable.add(new myLocalVariable(1, "obj", CD_Object)); + MethodTypeDesc mtd = MethodTypeDesc.of(CD_boolean, CD_Object); instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj @@ -5018,7 +5074,8 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn access_flags, methodBuilder -> methodBuilder.withCode( - codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, track))); + codeBuilder -> + instrumentCode(codeBuilder, null, localsTable, mgen, classInfo, track))); } } @@ -5041,9 +5098,10 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo classInfo) { List instructions = new ArrayList<>(); + List localsTable = new ArrayList<>(); Consumer codeHandler1 = methodBuilder -> { - methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions)); + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions, localsTable)); }; int access_flags = ClassFile.ACC_PUBLIC; @@ -5052,6 +5110,11 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo codeHandler1 = methodBuilder -> {}; } + // Defining local variables is not strictly necessary, but we do + // it to reduce the diffs with previous versions of DynComp. + localsTable.add(new myLocalVariable(0, "this", CD_Object)); + localsTable.add(new myLocalVariable(1, "obj", CD_Object)); + MethodTypeDesc mtd = MethodTypeDesc.of(CD_boolean, CD_Object); instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj @@ -5083,7 +5146,8 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo access_flags, methodBuilder -> methodBuilder.withCode( - codeBuilder -> instrumentCode(codeBuilder, null, mgen, classInfo, track))); + codeBuilder -> + instrumentCode(codeBuilder, null, localsTable, mgen, classInfo, track))); } } @@ -5192,10 +5256,10 @@ void createMainStub(MethodGen24 mgen, ClassBuilder classBuilder, ClassInfo class classBuilder.withMethod( "main", - MethodTypeDesc.of(CD_void, CD_Object, dcomp_marker), + MethodTypeDesc.of(CD_void, CD_String.arrayType(1), dcomp_marker), mgen.getAccessFlagsMask(), methodBuilder -> - methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions))); + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions, null))); } /** @@ -5538,7 +5602,7 @@ protected CodeElement buildDUPInstruction(int size) { * @param entry describes the constant pool element to be loaded * @return a LDC instruction */ - protected CodeElement buildLDCInstruction(ConstantValueEntry entry) { + protected CodeElement buildLDCInstruction(LoadableConstantEntry entry) { if (entry.index() > 255) { return ConstantInstruction.ofLoad(Opcode.LDC_W, entry); } else { From 4b6d3440b24a7bba8742b73534bd9b9b87c3ddb8 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 22 Aug 2025 14:28:01 -0700 Subject: [PATCH 067/211] fix typo --- tests/daikon-tests/ncalc/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/daikon-tests/ncalc/README b/tests/daikon-tests/ncalc/README index 359b86ae9c..954d95926c 100644 --- a/tests/daikon-tests/ncalc/README +++ b/tests/daikon-tests/ncalc/README @@ -5,7 +5,7 @@ Virtual Machine (JVM) to interact with native applications and libraries written languages, such as C or C++. libcalculator.so is a shared code library that contains a single function that returns the -result of adding its two interger arguments. This file is checked into the repository, but +result of adding its two integer arguments. This file is checked into the repository, but if it should need to be recreated here are the steps. First, compile the java code with the '-h' option: From e50c4d9f8155c9ead5c2634b954b2c6d689fa782 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 22 Aug 2025 14:28:28 -0700 Subject: [PATCH 068/211] temp change - don't run juint5 test on jdk 24 --- tests/Makefile.common | 5 +++++ tests/daikon-tests/junit5/Makefile.user | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/tests/Makefile.common b/tests/Makefile.common index 02f5433e69..d265c2472c 100644 --- a/tests/Makefile.common +++ b/tests/Makefile.common @@ -869,9 +869,14 @@ txt-all: ${PROJECT_FILE}.txt-daikon ${PROJECT_FILE}.txt-simplify merge; endif endif +ifdef SKIP_TEST +diffs: + @echo "SKIP_TEST is set for: ${PROJECT_FILE}" +else PROJECT_HELP:=${PROJECT_HELP} ;\ echo " make diffs : run all regression tests and display results" diffs: txt-diff results +endif PROJECT_HELP:=${PROJECT_HELP} ;\ echo " make txt-diff : makes .diff files (from diff -u $$.goal)" diff --git a/tests/daikon-tests/junit5/Makefile.user b/tests/daikon-tests/junit5/Makefile.user index 9c2889b925..4641b56972 100644 --- a/tests/daikon-tests/junit5/Makefile.user +++ b/tests/daikon-tests/junit5/Makefile.user @@ -1,5 +1,20 @@ ########################################################################### +JAVA_VERSION_STRING := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2 | sed 's/-ea//') +startJVS := $(shell echo start${JAVA_VERSION_STRING}) +ifneq (,$(findstring start1.8,$(startJVS))) + JAVA_RELEASE_NUMBER := 8 +else + # Old Java releases (e.g. 1.7) will set JAVA_RELEASE_NUMBER to 1. + # This will cause the JAVA8_OR_NEWER test to fail as desired. + JAVA_RELEASE_NUMBER := $(shell echo ${JAVA_VERSION_STRING} | sed 's/\([0-9]\+\)\(\..*\)\?\(-.*\)\?/\1/') +endif + +ifeq (${JAVA_RELEASE_NUMBER},24) + SKIP_TEST := 1 + $(info skipping this test for JDK 24) +endif + ifeq ($(shell uname), Darwin) JAVA_HOME ?= $(/usr/libexec/java_home) else From 0bc85fd21ebe4fb79099b6149deedc0953f5cb78 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 22 Aug 2025 15:38:04 -0700 Subject: [PATCH 069/211] switch to new dyncomp jdk 24 instrumentation --- java/daikon/dcomp/Instrument24.java | 72 ++++++++++++++++------------- 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 6b14739460..51bf2254a0 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -242,6 +242,11 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str return null; } + if (className.startsWith("java/lang/instrument/")) { + debug_transform.log("Skipping java instrumentation class %s%n", binaryClassName); + return null; + } + if (className.equals("java/lang/DCRuntime")) { debug_transform.log("Skipping special DynComp runtime class %s%n", binaryClassName); return null; @@ -346,45 +351,46 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str if (DynComp.dump) { outputDebugFiles(newBytes, debug_instrumented_dir, binaryClassName); } - // return newBytes; + return newBytes; } else { // debug_transform.log("Didn't instrument %s%n", binaryClassName); // No changes to the bytecodes - // return null; - } - - // End of new code. - - // Do instrumentation both old and new way during development. - // Following code is old way. - // TEMPORARY - DynComp.debug = false; - - // Instrument the classfile, die on any errors - JavaClass njc; - try { - DCInstrument dcio = new DCInstrument(c, in_jdk, loader); - njc = dcio.instrument(); - } catch (Throwable t) { - RuntimeException re = - new RuntimeException( - String.format("Unexpected error %s in transform of %s", t, binaryClassName), t); - re.printStackTrace(); - throw re; - } - - if (njc != null) { - if (DynComp.dump) { - outputOldDebugFiles(njc, debug_instrumented_dir, binaryClassName); - } - return njc.getBytes(); - } else { - debug_transform.log("Didn't instrument %s%n", binaryClassName); - // No changes to the bytecodes return null; } - // End of old code. + // End of new code. + /* + // Do instrumentation both old and new way during development. + // Following code is old way. + // TEMPORARY + DynComp.debug = false; + + // Instrument the classfile, die on any errors + JavaClass njc; + try { + DCInstrument dcio = new DCInstrument(c, in_jdk, loader); + njc = dcio.instrument(); + } catch (Throwable t) { + RuntimeException re = + new RuntimeException( + String.format("Unexpected error %s in transform of %s", t, binaryClassName), t); + re.printStackTrace(); + throw re; + } + + if (njc != null) { + if (DynComp.dump) { + outputOldDebugFiles(njc, debug_instrumented_dir, binaryClassName); + } + return njc.getBytes(); + } else { + debug_transform.log("Didn't instrument %s%n", binaryClassName); + // No changes to the bytecodes + return null; + } + + // End of old code. + */ } /** From 2358d6b00ae8250ae741f640b742b0b098b06051 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 22 Aug 2025 15:39:31 -0700 Subject: [PATCH 070/211] corrections to local var and parmeter analysis --- java/daikon/chicory/MethodGen24.java | 110 ++++++++++++++++++++------- 1 file changed, 82 insertions(+), 28 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 5e073faa8f..a70c2c10b5 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -21,7 +21,6 @@ import java.lang.constant.ClassDesc; import java.lang.constant.MethodTypeDesc; import java.util.ArrayList; -// import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.LinkedList; @@ -345,13 +344,21 @@ private void getParamInfo() { @SuppressWarnings("signature:assignment") // need JDK annotations @FieldDescriptor String arg0Fd = paramTypes[0].descriptorString(); String arg0Type = Instrument24.convertDescriptorToFqBinaryName(arg0Fd); + // Note for tests below: first local will always be 'this'. if (dollarPos >= 0 && // see if type of first parameter is classname up to the "$" className.substring(0, dollarPos).equals(arg0Type) && + // don't change if second local is in slot 2 + !(origLocalVariables[1].slot() == 2) + && + // don't change if type of first param matches type of second local + !origLocalVariables[1].typeSymbol().equals(paramTypes[0]) + && // don't change paramTypes if 'this$0' is present !origLocalVariables[1].name().stringValue().equals("this$0")) { + // some need some don't. what is difference? // remove first param type so consistent with other methods ClassDesc[] newArray = new ClassDesc[paramTypes.length - 1]; System.arraycopy(paramTypes, 1, newArray, 0, paramTypes.length - 1); @@ -362,15 +369,27 @@ private void getParamInfo() { // These initial values for {@code paramNames} may be incorrect. They could // be altered in {@code fixLocals}. paramNames = new String[paramTypes.length]; - int index = isStatic ? 0 : 1; - for (int i = 0; i < paramTypes.length; i++) { - if ((index + i) < origLocalVariables.length) { - @SuppressWarnings("signature:assignment") // need JDK annotations - @Identifier String paramName = origLocalVariables[index + i].name().stringValue(); - paramNames[i] = paramName; + int pIndex = 0; + int lIndex = isStatic ? 0 : 1; + int slot = isStatic ? 0 : 1; + int lLen = origLocalVariables.length; // we may add dummy param names + + while (pIndex < paramTypes.length) { + if ((lIndex >= origLocalVariables.length) + || (pIndex >= lLen) + || (origLocalVariables[lIndex].slot() != slot)) { + paramNames[pIndex] = "param" + slot; } else { - paramNames[i] = "param" + i; + // UNDONE: should we assert type of paramTypes[pIndex] == type of + // origLocalVariables[lindex]? + @SuppressWarnings("signature:assignment") // need JDK annotations + @Identifier String paramName = origLocalVariables[lIndex].name().stringValue(); + paramNames[pIndex] = paramName; + lIndex++; + lLen++; // pretend there is one more local } + slot += TypeKind.from(paramTypes[pIndex]).slotSize(); + pIndex++; } } @@ -393,37 +412,72 @@ public boolean fixLocals(MInfo24 minfo) { modified = true; } - // System.out.println("orig locals: " + Arrays.toString(origLocalVariables)); - int lBase = isStatic ? 0 : 1; int slot = isStatic ? 0 : 1; - for (int pIndex = 0; pIndex < paramTypes.length; pIndex++) { - int lIndex = lBase + pIndex; - - // update paramNames from localsTable - if (lIndex < localsTable.size()) { - @SuppressWarnings("signature:assignment") // need JDK annotations - @Identifier String localName = localsTable.get(lIndex).name().stringValue(); - if (!paramNames[pIndex].equals(localName)) { - paramNames[pIndex] = localName; - modified = true; + int pLen = paramTypes.length; // we may add dummy params + int lIndex = lBase; + for (int pIndex = 0; pIndex < pLen; pIndex++) { + if (lIndex >= origLocalVariables.length) { + // more parameters than locals; need to add a LocalVariable for this parameter + LocalVariable newVar = + LocalVariable.of( + slot, paramNames[pIndex], paramTypes[pIndex], minfo.startLabel, minfo.endLabel); + localsTable.add(newVar); + modified = true; + } else if (slot != origLocalVariables[lIndex].slot()) { + // we have an alignment gap or missing local + if ((TypeKind.from(paramTypes[pIndex]).slotSize() == 2) + && paramTypes[pIndex].equals(origLocalVariables[lIndex].typeSymbol())) { + // has to have length 2 otherwise slot would be equal + // we have an alignment gap + // insert a dummy entry into the param tables + int newLen = paramTypes.length + 1; + ClassDesc[] newTypes = new ClassDesc[newLen]; + @Identifier String[] newNames = new String[newLen]; + System.arraycopy(paramTypes, 0, newTypes, 0, pIndex); + System.arraycopy(paramNames, 0, newNames, 0, pIndex); + newTypes[pIndex] = CD_Object; // good as any for dummy + newNames[pIndex] = "align" + pIndex; + System.arraycopy(paramTypes, pIndex, newTypes, pIndex + 1, paramTypes.length - pIndex); + System.arraycopy(paramNames, pIndex, newNames, pIndex + 1, paramTypes.length - pIndex); + paramTypes = newTypes; + paramNames = newNames; + pLen++; // we've added a new param; will create corresponding local below } - } - - if ((lIndex >= origLocalVariables.length) || (slot != origLocalVariables[lIndex].slot())) { - // need to add a LocalVariable for this parameter + // create an alignment temp or a local that compiler has optimized out LocalVariable newVar = LocalVariable.of( slot, paramNames[pIndex], paramTypes[pIndex], minfo.startLabel, minfo.endLabel); localsTable.add(newVar); + lIndex--; // we've added an alignment local or missing local, we need to visit current local + // again modified = true; } slot += TypeKind.from(paramTypes[pIndex]).slotSize(); + lIndex++; } + + // UNDONE: do we need to check for alignment gaps in locals after the paramerters? + // If we added locals, then table is no longer sorted by slot. if (modified) { localsTable.sort(Comparator.comparing(LocalVariable::slot)); } + + // Now that we have updated and/or corrected the locals table, the paramNames + // may need to be updated. + for (int pIndex = 0; pIndex < paramTypes.length; pIndex++) { + lIndex = lBase + pIndex; + if (lIndex < localsTable.size()) { + @SuppressWarnings("signature:assignment") // need JDK annotations + @Identifier String localName = localsTable.get(lIndex).name().stringValue(); + if (!paramNames[pIndex].equals(localName)) { + paramNames[pIndex] = localName; + modified = true; + } + } + } + return modified; } @@ -437,7 +491,7 @@ public int getAccessFlagsMask() { } /** - * Returns whether or not the method is a constructor. + * Returns true if the method is a constructor. * * @return true iff the method is a constructor */ @@ -446,7 +500,7 @@ public final boolean isConstructor() { } /** - * Returns whether or not the method is a class initializer. + * Returns true if the method is a class initializer. * * @return true iff the method is a class initializer */ @@ -455,8 +509,8 @@ public final boolean isClinit() { } /** - * Returns whether or not this is a standard main method (static, void, name is 'main', and one - * formal parameter: a string array). + * Returns true if this is a standard main method (static, void, name is 'main', and one formal + * parameter: a string array). * * @return true iff the method is a main method */ From 13a4d96d3ce7d05dbd2c4dbd77e1eb1d25719e5c Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 22 Aug 2025 15:43:07 -0700 Subject: [PATCH 071/211] correct junit test discovery and isTargetInstrumented --- java/daikon/dcomp/DCInstrument24.java | 277 ++++++++++++++++++++------ 1 file changed, 218 insertions(+), 59 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 21a03064cf..d21365d66c 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -26,10 +26,13 @@ import daikon.plumelib.reflection.Signatures; import daikon.plumelib.util.EntryReader; import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.OutputStream; import java.io.PrintStream; import java.lang.classfile.Annotation; +// import java.lang.classfile.Attribute; import java.lang.classfile.ClassBuilder; import java.lang.classfile.ClassElement; import java.lang.classfile.ClassFile; @@ -47,12 +50,17 @@ import java.lang.classfile.Opcode; import java.lang.classfile.TypeKind; import java.lang.classfile.attribute.CodeAttribute; +import java.lang.classfile.attribute.InnerClassInfo; +import java.lang.classfile.attribute.InnerClassesAttribute; import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import java.lang.classfile.attribute.SignatureAttribute; +import java.lang.classfile.attribute.SourceFileAttribute; import java.lang.classfile.constantpool.ClassEntry; import java.lang.classfile.constantpool.ConstantPoolBuilder; import java.lang.classfile.constantpool.LoadableConstantEntry; import java.lang.classfile.constantpool.MethodRefEntry; import java.lang.classfile.constantpool.NameAndTypeEntry; +import java.lang.classfile.constantpool.Utf8Entry; import java.lang.classfile.instruction.ArrayLoadInstruction; import java.lang.classfile.instruction.ArrayStoreInstruction; import java.lang.classfile.instruction.BranchInstruction; @@ -92,6 +100,7 @@ import java.util.LinkedList; import java.util.List; import java.util.ListIterator; +import java.util.Locale; import java.util.Map; import java.util.Optional; import java.util.Set; @@ -116,7 +125,6 @@ import org.apache.bcel.generic.InstructionList; import org.apache.bcel.generic.MethodGen; import org.apache.bcel.generic.Type; -import org.apache.commons.io.IOUtils; import org.checkerframework.checker.lock.qual.GuardSatisfied; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; import org.checkerframework.checker.nullness.qual.KeyFor; @@ -286,10 +294,10 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} protected static final boolean debugJUnitAnalysis = false; /** If true, enable {@link #getDefiningInterface} debugging. */ - protected static final boolean debugGetDefiningInterface = false; + protected static final boolean debugGetDefiningInterface = true; /** If true, enable {@link #handleInvoke} debugging. */ - protected static final boolean debugHandleInvoke = false; + protected static final boolean debugHandleInvoke = true; /** If true, enable operand stack debugging. */ protected static final boolean debugOperandStack = false; @@ -301,7 +309,7 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} protected @DotSeparatedIdentifiers String dcomp_prefix; /** Either "daikon.dcomp.DCRuntime" or "java.lang.DCRuntime". */ - private @DotSeparatedIdentifiers String dcompRuntimeClassname = "daikon.dcomp.DCRuntime"; + private @BinaryName String dcompRuntimeClassname; /** The ClassDesc for the DynComp runtime support class. */ private ClassDesc runtimeCD; @@ -460,14 +468,15 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk if (BcelUtil.javaVersion == 8) { dcomp_prefix = "daikon.dcomp"; } + dcompRuntimeClassname = Signatures.addPackage(dcomp_prefix, "DCRuntime"); DCRuntime.instrumentation_interface = Signatures.addPackage(dcomp_prefix, "DCompInstrumented"); // System.out.printf("DCInstrument %s%n", orig_class.getClassName()); // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; // TEMPORARY - debugInstrument.enabled = true; debugInstrument.enabled = false; + debugInstrument.enabled = true; debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; @@ -505,6 +514,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk for (java.lang.classfile.Attribute attribute : classModel.attributes()) { if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { for (final Annotation item : rvaa.annotations()) { + // UNDONE: delete comment out or wrap with debug flag System.out.print("annotation: " + item.className().stringValue()); if (item.className().stringValue().startsWith("Lorg/evosuite/runtime")) { debug_transform.log( @@ -562,8 +572,6 @@ private void instrumentClass( // Handle object methods for this class handle_object(classGen); - classInfo.isJunitTestClass = false; - // A very tricky special case: If JUnit is running and the current // class has been passed to JUnit on the command line, then this // is a JUnit test class and our normal instrumentation will @@ -718,6 +726,7 @@ private void instrumentClass( } else { debugInstrument.log("Not a JUnit test class: %s%n", classname); } + classInfo.isJunitTestClass = junit_test_class; instrument_all_methods(classModel, classBuilder, classInfo); @@ -852,6 +861,7 @@ private void instrument_all_methods( "DynComp warning: ClassFile: %s - classfile version (%d) is out of date and may not be" + " processed correctly.%n", classname, classModel.majorVersion()); + // throw new DynCompError("Classfile out of date"); } // Process each method in the class @@ -925,9 +935,12 @@ private void instrument_all_methods( // local variables referenced from a lambda expression must be final or effectively final final boolean trackMethod = track; + + // main methods, methods and all methods in a JUnit test class + // need special treatment. They are not duplicated and they do not have + // a DCompMarker added to their argument list. boolean addingDcompArg = true; - // check for the class static initializer method if (mgen.isClinit()) { classInfo.hasClinit = true; addInvokeToClinit(mgen, classInfo); @@ -939,8 +952,11 @@ private void instrument_all_methods( createMainStub(mgen, classBuilder, classInfo); } - boolean replacingMethod = !addingDcompArg || classInfo.isJunitTestClass; - if (!replacingMethod) { + if (classInfo.isJunitTestClass) { + addingDcompArg = false; + } + + if (addingDcompArg) { // make copy of original method debugInstrument.log("Copying method: %s%n", mgen.getName()); debugInstrument.indent(); @@ -1146,6 +1162,7 @@ private void instrumentCode( // method_info_index is not used at this point in DCInstrument MethodGen24.MInfo24 minfo = new MethodGen24.MInfo24(0, mgen.getMaxLocals(), codeBuilder); + System.out.printf("nextLocalIndex: %d%n", minfo.nextLocalIndex); if (newLocals != null) { for (myLocalVariable lv : newLocals) { @@ -1179,6 +1196,8 @@ private void instrumentCode( } } + System.out.printf("nextLocalIndex: %d%n", minfo.nextLocalIndex); + // If the method is native if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { @@ -1212,10 +1231,16 @@ private void instrumentCode( add_dcomp_arg(mgen, minfo); } + System.out.printf("nextLocalIndex: %d%n", minfo.nextLocalIndex); + debugInstrument.log("LocalVariableTable:%n"); for (LocalVariable lv : mgen.localsTable) { debugInstrument.log(" %s%n", lv); } + + System.out.println( + "instrumentCode - param types: " + Arrays.toString(mgen.getParameterTypes())); + System.out.printf("length: %d%n", mgen.getParameterTypes().length); int paramCount = (mgen.isStatic() ? 0 : 1) + mgen.getParameterTypes().length; debugInstrument.log("paramCount: %d%n", paramCount); @@ -1243,6 +1268,9 @@ private void instrumentCode( // Create the local to store the tag frame for this method tagFrameLocal = createTagFrameLocal(mgen, minfo); + System.out.printf("nextLocalIndex: %d%n", minfo.nextLocalIndex); + System.out.printf("maxlocals: %d%n", mgen.getMaxLocals()); + // The localsTable was initialized in the MethodGen24 constructor. Here we initialize the // codeList. We also remove the local variable type records. Some instrumentation changes // require these to be updated, but it should be safe to just delete them since the @@ -2342,7 +2370,7 @@ private List createTagFrame(MethodGen24 mgen) { } // allocate an extra slot to save the tag frame depth for debugging - int frame_size = mgen.getMaxLocals() + 1; + int frame_size = mgen.getMaxLocals() + 2; // unsigned byte max = 255. minus the character '0' (decimal 48) // Largest frame size noted so far is 123. @@ -2747,6 +2775,7 @@ private List callEnterOrExit( case Opcode.IFNONNULL: case Opcode.IFNULL: case Opcode.IINC: // increment local variable by a constant + case Opcode.IINC_W: // increment local variable by a constant case Opcode.INEG: // negate integer on top of stack case Opcode.JSR: // pushes return address on the stack, but that // is thought of as an object, so we don't need a tag for it. @@ -3005,7 +3034,8 @@ private List handleInvokeDynamic(InvokeDynamicInstruction invoke) { ClassDesc returnType = mtd.returnType(); ClassDesc[] argTypes = mtd.parameterArray(); if (debugHandleInvoke) { - System.out.println("invoke: " + invoke); + System.out.println("invokedynamic: " + invoke); + System.out.printf(" callee_instrumented: false%n"); } return cleanInvokeTagStack(invoke, classname, returnType, argTypes); @@ -3192,9 +3222,11 @@ private boolean isTargetInstrumented( } else if (is_object_method(methodName, argTypes)) { targetInstrumented = false; } else { + // At this point, we will never see classname = java.lang.Object. targetInstrumented = isClassnameInstrumented(classname, methodName); if (debugHandleInvoke) { + System.out.printf("isClassnameInstrumented: %s%n", targetInstrumented); System.out.printf("invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); System.out.printf("invoke targ: %s%n", classname + "." + methodName); } @@ -3261,17 +3293,15 @@ private boolean isTargetInstrumented( } } - // UNDONE fix up this code - boolean doit = false; // If we are not using the instrumented JDK, then we need to track down the // actual target of an INVOKEVIRTUAL to see if it has been instrumented or not. - if (doit && targetInstrumented == true && op.equals(Opcode.INVOKEVIRTUAL)) { + if (targetInstrumented == true && op.equals(Opcode.INVOKEVIRTUAL)) { if (!Premain.jdk_instrumented && !mgen.getName().equals("equals_dcomp_instrumented")) { if (debugHandleInvoke) { System.out.println("method: " + methodName); System.out.println("argTypes: " + Arrays.toString(argTypes)); - System.out.printf("invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); + System.out.printf("invoke host: %s%n", mgen.getClassName() + "." + mgen.getName()); } @BinaryName String targetClassname = classname; @@ -3280,10 +3310,9 @@ private boolean isTargetInstrumented( mainloop: while (true) { // Check that the class exists - // JavaClass targetClass; - JavaClass targetClass = null; + ClassModel targetClass; try { - // targetClass = getJavaClass(targetClassname); + targetClass = getClassModel(targetClassname); } catch (Throwable e) { targetClass = null; } @@ -3299,11 +3328,13 @@ private boolean isTargetInstrumented( System.out.println("target class: " + targetClassname); } - for (Method m : targetClass.getMethods()) { + for (MethodModel jm : targetClass.methods()) { + String jmName = jm.methodName().stringValue(); + MethodTypeDesc mtd = jm.methodTypeSymbol(); if (debugHandleInvoke) { - System.out.println(" " + m.getName() + Arrays.toString(m.getArgumentTypes())); + System.out.println(" " + jmName + Arrays.toString(mtd.parameterArray())); } - if (m.getName().equals(methodName) && Arrays.equals(m.getArgumentTypes(), argTypes)) { + if (jmName.equals(methodName) && Arrays.equals(mtd.parameterArray(), argTypes)) { // We have a match. if (debugHandleInvoke) { System.out.printf("we have a match%n%n"); @@ -3319,7 +3350,7 @@ private boolean isTargetInstrumented( // no methods match - search this class's interfaces @BinaryName String found; try { - found = null; // // getDefiningInterface(targetClass, methodName, argTypes); + found = getDefiningInterface(targetClass, methodName, argTypes); } catch (Throwable e) { // We cannot locate or read the .class file, better assume it is not instrumented. targetInstrumented = false; @@ -3338,10 +3369,9 @@ private boolean isTargetInstrumented( } // Method not found; perhaps inherited from superclass. - // Cannot use "targetClass = targetClass.getSuperClass()" because the superclass might - // not have been loaded into BCEL yet. - if (targetClass.getSuperclassNameIndex() == 0) { - // The target class is Object; the search completed without finding a matching method. + if (targetClassname.equals("java.lang.Object")) { + // The target class was Object; the search completed without finding a matching + // method. if (debugHandleInvoke) { System.out.printf("Unable to locate method: %s%n%n", methodName); } @@ -3349,7 +3379,7 @@ private boolean isTargetInstrumented( break; } // Recurse looking in the superclass. - targetClassname = targetClass.getSuperclassName(); + targetClassname = getSuperclassName(targetClassname); } } } @@ -3364,6 +3394,8 @@ private boolean isTargetInstrumented( return targetInstrumented; } + StringBuilder buf; + /** * Returns the access flags for the given class. * @@ -3379,11 +3411,42 @@ private Integer getAccessFlags(String classname) { if (cm != null) { access = cm.flags().flagsMask(); + System.out.println("classModel: " + cm.thisClass().name().stringValue()); + System.out.println("getAccessFlags: " + classname); // Now check for FunctionalInterface + buf = new StringBuilder(); searchloop: - for (java.lang.classfile.Attribute attribute : classModel.attributes()) { + for (java.lang.classfile.Attribute attribute : cm.attributes()) { + System.out.println("attribute: " + attribute); + buf.append(indentStr + attribute.attributeName() + ":\n"); + indent(); + try { + switch (attribute) { + // case CodeAttribute c -> formatCodeAttribute(c); + // case DeprecatedAttribute d -> {} + // case ExceptionsAttribute e -> formatExceptionsAttribute(e.exceptions()); + case InnerClassesAttribute ic -> formatInnerClassesAttribute(ic.classes()); + // case NestMembersAttribute nm -> + // formatNestMembersAttribute(nm.nestMembers()); + case RuntimeVisibleAnnotationsAttribute rva -> + formatAnnotationsAttribute(rva.annotations()); + case SignatureAttribute s -> + buf.append(indentStr + s.signature().stringValue() + "\n"); + case SourceFileAttribute sf -> + buf.append(indentStr + sf.sourceFile().stringValue() + "\n"); + // case ConstantValueAttribute cv -> buf.append(indentStr + + // formatConstantDesc(cv.constant().constantValue())); + default -> buf.append(indentStr + attribute.toString() + "\n"); + } + ; + exdent(); + } catch (Throwable t) { + throw new DynCompError( + String.format("Unexpected error in getAccessFlags for %s%n", classname), t); + } if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { for (final Annotation item : rvaa.annotations()) { + System.out.println("item: " + item); String annotation = item.className().stringValue(); if (debugHandleInvoke) { System.out.println("annotation: " + annotation); @@ -3398,6 +3461,7 @@ private Integer getAccessFlags(String classname) { } } } + System.out.println(buf.toString()); } else { // We cannot locate or read the .class file, better pretend it is an Annotation. if (debugHandleInvoke) { @@ -3410,6 +3474,64 @@ private Integer getAccessFlags(String classname) { return access; } + private final void formatAnnotationsAttribute(List annotations) throws IOException { + + int i = buf.lastIndexOf(":"); + buf.insert(i, "(" + annotations.size() + ")"); + + for (Annotation a : annotations) { + buf.append(indentStr + a.className().stringValue().replaceAll("/", ".") + "\n"); + } + } + + private final void formatInnerClassesAttribute(List classes) throws IOException { + + int i = buf.lastIndexOf(":"); + buf.insert(i, "(" + classes.size() + ")"); + + for (InnerClassInfo ici : classes) { + buf.append(indentStr); + for (AccessFlag af : ici.flags()) { + buf.append(af.name().toLowerCase(Locale.ENGLISH) + " "); + } + Optional innerName = ici.innerName(); + if (innerName.isPresent()) { + buf.append(innerName.get().stringValue()); + } else { + buf.append(""); + } + buf.append(" = class " + ici.innerClass().name().stringValue()); + Optional outerClass = ici.outerClass(); + if (outerClass.isPresent()) { + buf.append(" of class " + outerClass.get().name().stringValue()); + } + buf.append("\n"); + } + } + + private int indentLevel = 0; + private static final String INDENT = " "; + private String indentStr = ""; + + public void indent() { + indentLevel++; + indentStr = indentStr + INDENT; + } + + public void exdent() { + if (indentLevel == 0) { + System.err.println("Called exdent when indentation level was 0."); + } else { + indentLevel--; + indentStr = indentStr.substring(INDENT.length()); + } + } + + public void resetIndent() { + indentLevel = 0; + indentStr = ""; + } + /** * Returns true if the specified classname is instrumented. * @@ -3429,7 +3551,10 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met return false; } - if (classname.startsWith("daikon.dcomp")) { + // When a class contains an existing , it will be instrumented. Thus, we need to mark + // our + // added call to 'DCRuntime.set_class_initialized' as not instrumented. + if (classname.endsWith("DCRuntime")) { if (methodName.equals("set_class_initialized")) { return false; } @@ -3537,6 +3662,8 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met private static Map classModelCache = new ConcurrentHashMap(); + boolean first = true; + /** * There are times when it is useful to inspect a class file other than the one we are currently * instrumenting. Note we cannot use classForName to do this as it might trigger a recursive call @@ -3554,11 +3681,20 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met return cached; } + ClassFile classFile = ClassFile.of(); URL class_url = ClassLoader.getSystemResource(classname.replace('.', '/') + ".class"); + System.out.println("URL: " + class_url); if (class_url != null) { try (InputStream inputStream = class_url.openStream()) { if (inputStream != null) { - ClassModel result = classFile.parse(IOUtils.toByteArray(inputStream)); + byte[] buffer = inputStream.readAllBytes(); + if (first && classname.equals("java.lang.Runnable")) { + File targetFile = new File("fake.class"); + OutputStream outStream = new FileOutputStream(targetFile); + outStream.write(buffer); + first = false; + } + ClassModel result = classFile.parse(buffer); classModelCache.put(classname, result); return result; } @@ -3674,6 +3810,7 @@ private List object_comparison( private List load_store_field( MethodGen24 mgen, MethodGen24.MInfo24 minfo, FieldInstruction f) { + // UNDONE: delete, comment out or wrap with debug flag System.out.println(); System.out.println("mgen: " + mgen); System.out.println("FieldInst: " + f); @@ -3776,7 +3913,7 @@ private List load_local( LoadInstruction load, LocalVariable tagFrameLocal, String method) { List il = new ArrayList<>(); - debugInstrument.log("CreateLoad %s %d%n", load.opcode(), tagFrameLocal.slot()); + // debugInstrument.log("CreateLoad %s %d%n", load.opcode(), load.slot()); // Push the tag_frame frame il.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); @@ -3809,7 +3946,7 @@ private List store_local( StoreInstruction store, LocalVariable tagFrameLocal, String method) { List il = new ArrayList<>(); - debugInstrument.log("CreateStore %s %d%n", store.opcode(), tagFrameLocal.slot()); + // debugInstrument.log("CreateStore %s %d%n", store.opcode(), store.slot()); // Push the tag_frame frame il.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); @@ -3840,6 +3977,7 @@ private List store_local( LocalVariable get_tmp2_local(MethodGen24 mgen, MethodGen24.MInfo24 minfo, ClassDesc type) { String name = "dcomp_$tmp_" + type.descriptorString(); + // UNDONE: delete, comment out or wrap with debug flag System.out.printf("local var name = %s%n", name); // See if the local has already been created @@ -3986,6 +4124,8 @@ private List array_load(MethodGen24 mgen, ArrayLoadInstruction inst return il; } + static int counter = 0; + /** * Creates code to make the index comparable (for indexing purposes) with the array in the array * store instruction. This is accomplished by calling the specified method and passing it the @@ -3999,9 +4139,15 @@ private List array_load(MethodGen24 mgen, ArrayLoadInstruction inst */ List array_store(CodeElement inst, String method, ClassDesc base_type) { List il = new ArrayList<>(); - ClassDesc array_type = base_type.arrayType(1); + // if (method.equals("aastore")) { + // System.out.println("array_store aastore: " + method); + // il.add(loadIntegerConstant(counter++)); + // il.add(dcr_call(method, CD_void, new ClassDesc[] {array_type, CD_int, base_type, CD_int})); + // } else { + // System.out.println("array_store other: " + method); il.add(dcr_call(method, CD_void, new ClassDesc[] {array_type, CD_int, base_type})); + // } return il; } @@ -5030,30 +5176,35 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn localsTable.add(new myLocalVariable(0, "this", CD_Object)); localsTable.add(new myLocalVariable(1, "obj", CD_Object)); - MethodTypeDesc mtd = MethodTypeDesc.of(CD_boolean, CD_Object); + MethodTypeDesc mtdNormal, mtdDComp; + mtdNormal = MethodTypeDesc.of(CD_boolean, CD_Object); + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj - instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); // use null for marker + + if (!classInfo.isJunitTestClass) { + instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); // use null for marker + mtdDComp = MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker); + } else { + // for junit test class, the instrumented version has no dcomp arg + mtdDComp = mtdNormal; + } MethodRefEntry mre = - poolBuilder.methodRefEntry( - ClassDesc.of(classGen.getClassName()), - "equals", - MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker)); + poolBuilder.methodRefEntry(ClassDesc.of(classGen.getClassName()), "equals", mtdDComp); instructions.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); - // build the equals_dcomp_instrumented method - classBuilder.withMethod("equals_dcomp_instrumented", mtd, access_flags, codeHandler1); + if (!classInfo.isJunitTestClass) { + // build the uninstrumented equals_dcomp_instrumented method + classBuilder.withMethod("equals_dcomp_instrumented", mtdNormal, access_flags, codeHandler1); + } // now build the instrumented version of the equals_dcomp_instrumented method if (classGen.isInterface()) { // no code if interface classBuilder.withMethod( - "equals_dcomp_instrumented", - MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), - access_flags, - methodBuilder -> {}); + "equals_dcomp_instrumented", mtdDComp, access_flags, methodBuilder -> {}); } else { @BinaryName String classname = classInfo.class_name; // create pseudo MethodGen24 @@ -5063,14 +5214,14 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn classBuilder, "equals_dcomp_instrumented", access_flags, - mtd, + mtdNormal, instructions, 3, // maxStack 2); // maxLocals boolean track = should_track(classname, mgen.getName(), classname + mgen); classBuilder.withMethod( "equals_dcomp_instrumented", - MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), + mtdDComp, access_flags, methodBuilder -> methodBuilder.withCode( @@ -5115,34 +5266,40 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo localsTable.add(new myLocalVariable(0, "this", CD_Object)); localsTable.add(new myLocalVariable(1, "obj", CD_Object)); - MethodTypeDesc mtd = MethodTypeDesc.of(CD_boolean, CD_Object); + MethodTypeDesc mtdNormal, mtdDComp; + mtdNormal = MethodTypeDesc.of(CD_boolean, CD_Object); + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj MethodRefEntry mre = - poolBuilder.methodRefEntry(ClassDesc.of(classGen.getSuperclassName()), "equals", mtd); + poolBuilder.methodRefEntry(ClassDesc.of(classGen.getSuperclassName()), "equals", mtdNormal); instructions.add(InvokeInstruction.of(Opcode.INVOKESPECIAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); - // build the equals method - classBuilder.withMethod("equals", mtd, access_flags, codeHandler1); + if (!classInfo.isJunitTestClass) { + // build the uninstrumented equals method + classBuilder.withMethod("equals", mtdNormal, access_flags, codeHandler1); + // since not junit test class, add dcomp_marker to instrumented version of equals built below + mtdDComp = MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker); + } else { + // for junit test class, we build only the instrumented version with no dcomp arg + mtdDComp = mtdNormal; + } // now build the instrumented version of the equals method if (classGen.isInterface()) { // no code if interface - classBuilder.withMethod( - "equals", - MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), - access_flags, - methodBuilder -> {}); + classBuilder.withMethod("equals", mtdDComp, access_flags, methodBuilder -> {}); } else { @BinaryName String classname = classInfo.class_name; // create pseudo MethodGen24 MethodGen24 mgen = - new MethodGen24(classname, classBuilder, "equals", access_flags, mtd, instructions, 2, 2); + new MethodGen24( + classname, classBuilder, "equals", access_flags, mtdNormal, instructions, 2, 2); boolean track = should_track(classname, mgen.getName(), classname + mgen); classBuilder.withMethod( "equals", - MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker), + mtdDComp, access_flags, methodBuilder -> methodBuilder.withCode( @@ -5207,6 +5364,8 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { */ @Pure boolean is_object_method(String methodName, ClassDesc[] argTypes) { + // UNDONE: kind of wierd we don't check that classname = Object but it's been + // that way forever. just means foo.finialize(), e.g., will be marked uninstrumented. for (MethodDef md : obj_methods) { if (md.equals(methodName, argTypes)) { return true; From 5b77cd81104c85db8b9649d10270c80187335956 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 22 Aug 2025 16:41:51 -0700 Subject: [PATCH 072/211] remove some debugging code --- java/daikon/dcomp/DCInstrument24.java | 94 --------------------------- 1 file changed, 94 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index d21365d66c..f86760b1af 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -50,17 +50,12 @@ import java.lang.classfile.Opcode; import java.lang.classfile.TypeKind; import java.lang.classfile.attribute.CodeAttribute; -import java.lang.classfile.attribute.InnerClassInfo; -import java.lang.classfile.attribute.InnerClassesAttribute; import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; -import java.lang.classfile.attribute.SignatureAttribute; -import java.lang.classfile.attribute.SourceFileAttribute; import java.lang.classfile.constantpool.ClassEntry; import java.lang.classfile.constantpool.ConstantPoolBuilder; import java.lang.classfile.constantpool.LoadableConstantEntry; import java.lang.classfile.constantpool.MethodRefEntry; import java.lang.classfile.constantpool.NameAndTypeEntry; -import java.lang.classfile.constantpool.Utf8Entry; import java.lang.classfile.instruction.ArrayLoadInstruction; import java.lang.classfile.instruction.ArrayStoreInstruction; import java.lang.classfile.instruction.BranchInstruction; @@ -100,7 +95,6 @@ import java.util.LinkedList; import java.util.List; import java.util.ListIterator; -import java.util.Locale; import java.util.Map; import java.util.Optional; import java.util.Set; @@ -3394,8 +3388,6 @@ private boolean isTargetInstrumented( return targetInstrumented; } - StringBuilder buf; - /** * Returns the access flags for the given class. * @@ -3414,36 +3406,9 @@ private Integer getAccessFlags(String classname) { System.out.println("classModel: " + cm.thisClass().name().stringValue()); System.out.println("getAccessFlags: " + classname); // Now check for FunctionalInterface - buf = new StringBuilder(); searchloop: for (java.lang.classfile.Attribute attribute : cm.attributes()) { System.out.println("attribute: " + attribute); - buf.append(indentStr + attribute.attributeName() + ":\n"); - indent(); - try { - switch (attribute) { - // case CodeAttribute c -> formatCodeAttribute(c); - // case DeprecatedAttribute d -> {} - // case ExceptionsAttribute e -> formatExceptionsAttribute(e.exceptions()); - case InnerClassesAttribute ic -> formatInnerClassesAttribute(ic.classes()); - // case NestMembersAttribute nm -> - // formatNestMembersAttribute(nm.nestMembers()); - case RuntimeVisibleAnnotationsAttribute rva -> - formatAnnotationsAttribute(rva.annotations()); - case SignatureAttribute s -> - buf.append(indentStr + s.signature().stringValue() + "\n"); - case SourceFileAttribute sf -> - buf.append(indentStr + sf.sourceFile().stringValue() + "\n"); - // case ConstantValueAttribute cv -> buf.append(indentStr + - // formatConstantDesc(cv.constant().constantValue())); - default -> buf.append(indentStr + attribute.toString() + "\n"); - } - ; - exdent(); - } catch (Throwable t) { - throw new DynCompError( - String.format("Unexpected error in getAccessFlags for %s%n", classname), t); - } if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { for (final Annotation item : rvaa.annotations()) { System.out.println("item: " + item); @@ -3461,7 +3426,6 @@ private Integer getAccessFlags(String classname) { } } } - System.out.println(buf.toString()); } else { // We cannot locate or read the .class file, better pretend it is an Annotation. if (debugHandleInvoke) { @@ -3474,64 +3438,6 @@ private Integer getAccessFlags(String classname) { return access; } - private final void formatAnnotationsAttribute(List annotations) throws IOException { - - int i = buf.lastIndexOf(":"); - buf.insert(i, "(" + annotations.size() + ")"); - - for (Annotation a : annotations) { - buf.append(indentStr + a.className().stringValue().replaceAll("/", ".") + "\n"); - } - } - - private final void formatInnerClassesAttribute(List classes) throws IOException { - - int i = buf.lastIndexOf(":"); - buf.insert(i, "(" + classes.size() + ")"); - - for (InnerClassInfo ici : classes) { - buf.append(indentStr); - for (AccessFlag af : ici.flags()) { - buf.append(af.name().toLowerCase(Locale.ENGLISH) + " "); - } - Optional innerName = ici.innerName(); - if (innerName.isPresent()) { - buf.append(innerName.get().stringValue()); - } else { - buf.append(""); - } - buf.append(" = class " + ici.innerClass().name().stringValue()); - Optional outerClass = ici.outerClass(); - if (outerClass.isPresent()) { - buf.append(" of class " + outerClass.get().name().stringValue()); - } - buf.append("\n"); - } - } - - private int indentLevel = 0; - private static final String INDENT = " "; - private String indentStr = ""; - - public void indent() { - indentLevel++; - indentStr = indentStr + INDENT; - } - - public void exdent() { - if (indentLevel == 0) { - System.err.println("Called exdent when indentation level was 0."); - } else { - indentLevel--; - indentStr = indentStr.substring(INDENT.length()); - } - } - - public void resetIndent() { - indentLevel = 0; - indentStr = ""; - } - /** * Returns true if the specified classname is instrumented. * From ec3f3e5dc085ae65c99c87e6d0ce849ab4a18406 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 22 Aug 2025 17:24:28 -0700 Subject: [PATCH 073/211] remove more debug code --- java/daikon/dcomp/DCInstrument24.java | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index f86760b1af..4a2b2a5406 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -26,10 +26,8 @@ import daikon.plumelib.reflection.Signatures; import daikon.plumelib.util.EntryReader; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.io.PrintStream; import java.lang.classfile.Annotation; // import java.lang.classfile.Attribute; @@ -3568,8 +3566,6 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met private static Map classModelCache = new ConcurrentHashMap(); - boolean first = true; - /** * There are times when it is useful to inspect a class file other than the one we are currently * instrumenting. Note we cannot use classForName to do this as it might trigger a recursive call @@ -3594,12 +3590,6 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met try (InputStream inputStream = class_url.openStream()) { if (inputStream != null) { byte[] buffer = inputStream.readAllBytes(); - if (first && classname.equals("java.lang.Runnable")) { - File targetFile = new File("fake.class"); - OutputStream outStream = new FileOutputStream(targetFile); - outStream.write(buffer); - first = false; - } ClassModel result = classFile.parse(buffer); classModelCache.put(classname, result); return result; @@ -4030,7 +4020,7 @@ private List array_load(MethodGen24 mgen, ArrayLoadInstruction inst return il; } - static int counter = 0; + // static int counter = 0; /** * Creates code to make the index comparable (for indexing purposes) with the array in the array From c0bf7c48968d76b74da8776397c1aed15b3a7ddc Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 22 Aug 2025 19:26:40 -0700 Subject: [PATCH 074/211] turn off more debug output --- java/daikon/dcomp/DCInstrument24.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 4a2b2a5406..8d7eca6de6 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -286,10 +286,10 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} protected static final boolean debugJUnitAnalysis = false; /** If true, enable {@link #getDefiningInterface} debugging. */ - protected static final boolean debugGetDefiningInterface = true; + protected static final boolean debugGetDefiningInterface = false; /** If true, enable {@link #handleInvoke} debugging. */ - protected static final boolean debugHandleInvoke = true; + protected static final boolean debugHandleInvoke = false; /** If true, enable operand stack debugging. */ protected static final boolean debugOperandStack = false; @@ -467,8 +467,8 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; // TEMPORARY - debugInstrument.enabled = false; debugInstrument.enabled = true; + debugInstrument.enabled = false; debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; From 606a21aeed0ef7af1a9f4f1dac2f4faf4dfcc551 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 23 Aug 2025 11:12:45 -0700 Subject: [PATCH 075/211] temp change - don't run junit5 on jdk 24 for diffs or txt-diff targets --- tests/Makefile.common | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/Makefile.common b/tests/Makefile.common index d265c2472c..8aca6a3475 100644 --- a/tests/Makefile.common +++ b/tests/Makefile.common @@ -881,6 +881,13 @@ endif PROJECT_HELP:=${PROJECT_HELP} ;\ echo " make txt-diff : makes .diff files (from diff -u $$.goal)" +ifdef SKIP_TEST +txt-diff: + @echo "SKIP_TEST is set for: ${PROJECT_FILE}" +else + +# !SKIP_TEST + ifdef ESC_ON ifndef NO_MERGE ifndef NO_CSHARP @@ -953,6 +960,7 @@ endif endif # ifndef NO_MERGE endif # ifdef NO_JML endif # ifdef ESC_ON +endif # ifdef SKIP_TEST txt-daikon-diff: ${PROJECT_FILE}.txt-daikon.diff; txt-daikon-end2end-diff: ${PROJECT_FILE}.txt-daikon-end2end.diff; From 825f31056db6a562c7a60591ae7a4606b5a675fa Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 26 Aug 2025 13:36:00 -0700 Subject: [PATCH 076/211] source code cleanup --- java/daikon/dcomp/BcelUtils24.java | 5 +- java/daikon/dcomp/CalcStack24.java | 3 - java/daikon/dcomp/DCInstrument24.java | 487 ++------------------------ java/daikon/dcomp/Instrument24.java | 87 ----- 4 files changed, 36 insertions(+), 546 deletions(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 42d4b55655..31b20f6904 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -45,7 +45,7 @@ public BcelUtils24() { */ /** A log to which to print debugging information about program instrumentation. */ - protected static SimpleLog debugInstrument = new SimpleLog(true); + private static SimpleLog debugInstrument = new SimpleLog(false); /** * Returns a copy of the given type array, with newType added to the end. @@ -157,6 +157,9 @@ public static final LocalVariable addNewSpecialLocal( ClassDesc argType, MethodGen24.MInfo24 minfo, boolean isParam) { + + debugInstrument.enabled = daikon.dcomp.DCInstrument24.bcelDebug; + // We add a new local variable, after any parameters and before any // existing local variables. We then need to make a pass over the // byte codes to update the local offset values of any locals we just shifted up. diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 322cd29b17..8e81cfed65 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -799,9 +799,6 @@ protected static boolean calcOperandStack( case Opcode.MULTIANEWARRAY: final NewMultiArrayInstruction nmai = (NewMultiArrayInstruction) inst; stack.pop(nmai.dimensions()); // discard all the counts - // UNDONE is this the element type or array type? - // stack.push(nmai.componentType().asSymbol().arrayType(nmai.dimensions())); - System.out.println("multianewarry: " + nmai.arrayType().asSymbol()); stack.push(nmai.arrayType().asSymbol()); return true; diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 8d7eca6de6..d246f4f148 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -102,12 +102,8 @@ import java.util.function.Consumer; import java.util.regex.Pattern; import org.apache.bcel.Const; -import org.apache.bcel.classfile.AnnotationEntry; -import org.apache.bcel.classfile.Annotations; -import org.apache.bcel.classfile.Attribute; import org.apache.bcel.classfile.JavaClass; import org.apache.bcel.classfile.Method; -import org.apache.bcel.classfile.RuntimeVisibleAnnotations; import org.apache.bcel.generic.AnnotationEntryGen; import org.apache.bcel.generic.ClassGen; import org.apache.bcel.generic.ClassGenException; @@ -154,6 +150,9 @@ public class DCInstrument24 { /** A log to which to print debugging information about program instrumentation. */ protected SimpleLog debugInstrument = new SimpleLog(false); + /** Debug flag for BcelUtils24. */ + public static boolean bcelDebug; + /** * Used when testing to continue processing if an error occurs. Currently, This flag is only used * by BuildJDK. @@ -466,11 +465,14 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // System.out.printf("DCInstrument %s%n", orig_class.getClassName()); // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; + debug_native.enabled = DynComp.debug; + debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; + // TEMPORARY debugInstrument.enabled = true; debugInstrument.enabled = false; - debug_native.enabled = DynComp.debug; - debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; + + bcelDebug = debugInstrument.enabled; if (debugOperandStack) { // Create a new PrintStream with autoflush enabled @@ -506,8 +508,6 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk for (java.lang.classfile.Attribute attribute : classModel.attributes()) { if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { for (final Annotation item : rvaa.annotations()) { - // UNDONE: delete comment out or wrap with debug flag - System.out.print("annotation: " + item.className().stringValue()); if (item.className().stringValue().startsWith("Lorg/evosuite/runtime")) { debug_transform.log( "Not instrumenting possible Evosuite target: %s%n", classInfo.class_name); @@ -548,9 +548,10 @@ private void instrumentClass( runtimeCD = ClassDesc.of(dcompRuntimeClassname); poolBuilder = classBuilder.constantPool(); - debug_transform.log("%nInstrumenting class: %s, Attributes:%n", classInfo.class_name); + debug_transform.log("%nInstrumenting class: %s%n", classInfo.class_name); + debugInstrument.log("Attributes:%n"); for (java.lang.classfile.Attribute a : classModel.attributes()) { - debug_transform.log(" %s%n", a); + debugInstrument.log(" %s%n", a); } debugInstrument.log("Class Interfaces:%n"); @@ -1117,8 +1118,7 @@ private void instrumentMethod( // Turn off the native flag in wrapper method. methodBuilder.withFlags(mgen.getAccessFlagsMask() & ~ClassFile.ACC_NATIVE); } else { - // Interface and/or Abstract - // UNDONE: do nothing? + // Interface and/or Abstract; do nothing. } } } catch (Throwable t) { @@ -1154,7 +1154,7 @@ private void instrumentCode( // method_info_index is not used at this point in DCInstrument MethodGen24.MInfo24 minfo = new MethodGen24.MInfo24(0, mgen.getMaxLocals(), codeBuilder); - System.out.printf("nextLocalIndex: %d%n", minfo.nextLocalIndex); + debugInstrument.log("nextLocalIndex: %d%n", minfo.nextLocalIndex); if (newLocals != null) { for (myLocalVariable lv : newLocals) { @@ -1188,7 +1188,7 @@ private void instrumentCode( } } - System.out.printf("nextLocalIndex: %d%n", minfo.nextLocalIndex); + debugInstrument.log("nextLocalIndex: %d%n", minfo.nextLocalIndex); // If the method is native if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { @@ -1223,16 +1223,17 @@ private void instrumentCode( add_dcomp_arg(mgen, minfo); } - System.out.printf("nextLocalIndex: %d%n", minfo.nextLocalIndex); - - debugInstrument.log("LocalVariableTable:%n"); - for (LocalVariable lv : mgen.localsTable) { - debugInstrument.log(" %s%n", lv); + if (debugInstrument.enabled) { + System.out.printf("nextLocalIndex: %d%n", minfo.nextLocalIndex); + System.out.printf("LocalVariableTable:%n"); + for (LocalVariable lv : mgen.localsTable) { + System.out.printf(" %s%n", lv); + } + System.out.println( + "instrumentCode - param types: " + Arrays.toString(mgen.getParameterTypes())); + System.out.printf("length: %d%n", mgen.getParameterTypes().length); } - System.out.println( - "instrumentCode - param types: " + Arrays.toString(mgen.getParameterTypes())); - System.out.printf("length: %d%n", mgen.getParameterTypes().length); int paramCount = (mgen.isStatic() ? 0 : 1) + mgen.getParameterTypes().length; debugInstrument.log("paramCount: %d%n", paramCount); @@ -1260,8 +1261,8 @@ private void instrumentCode( // Create the local to store the tag frame for this method tagFrameLocal = createTagFrameLocal(mgen, minfo); - System.out.printf("nextLocalIndex: %d%n", minfo.nextLocalIndex); - System.out.printf("maxlocals: %d%n", mgen.getMaxLocals()); + debugInstrument.log("nextLocalIndex: %d%n", minfo.nextLocalIndex); + debugInstrument.log("maxlocals: %d%n", mgen.getMaxLocals()); // The localsTable was initialized in the MethodGen24 constructor. Here we initialize the // codeList. We also remove the local variable type records. Some instrumentation changes @@ -1356,410 +1357,6 @@ private void instrumentCode( // } } - /** old instrumenter - to be removed */ - public JavaClass old_instrument() { - - @BinaryName String classname = gen.getClassName(); - - // Don't know where I got this idea. They are executed. Don't remember why - // adding dcomp marker causes problems. - // Don't instrument annotations. They aren't executed and adding - // the marker argument causes subtle errors - if ((gen.getModifiers() & Const.ACC_ANNOTATION) != 0) { - debug_transform.log("Not instrumenting annotation %s%n", classname); - // WHY NOT RETURN NULL? - return gen.getJavaClass().copy(); - } - - // If a class has an EvoSuite annotation it may be instrumented by Evosuite; - // thus, we should not instrument it before Evosuite does. - // for (final Attribute attribute : orig_class.getAttributes()) { - // if (attribute instanceof RuntimeVisibleAnnotations) { - // for (final AnnotationEntry item : ((Annotations) attribute).getAnnotationEntries()) { - // if (item.toString().startsWith("@Lorg/evosuite/runtime")) { - // debug_transform.log("Not instrumenting possible Evosuite target: %s%n", - // classname); - // // WHY NOT RETURN NULL? - // return gen.getJavaClass().copy(); - // } - // } - // } - // } - - debug_transform.log("Instrumenting class %s%n", classname); - debug_transform.indent(); - - // Create the ClassInfo for this class and its list of methods - // ClassInfo class_info = new ClassInfo(classname, loader); - boolean track_class = false; - - // Handle object methods for this class - // handle_object(classGen); - - // Have all top-level classes implement our interface - if (gen.getSuperclassName().equals("java.lang.Object")) { - // Add equals method if it doesn't already exist. This ensures - // that an instrumented version, equals(Object, DCompMarker), - // will be created in this class. - Method eq = gen.containsMethod("equals", "(Ljava/lang/Object;)Z"); - if (eq == null) { - debugInstrument.log("Added equals method%n"); - // add_equals_method(gen); - } - - // Add DCompInstrumented interface and the required - // equals_dcomp_instrumented method. - // add_dcomp_interface(gen); - } - - // A very tricky special case: If JUnit is running and the current - // class has been passed to JUnit on the command line, then this - // is a JUnit test class and our normal instrumentation will - // cause JUnit to complain about multiple constructors and - // methods that should have no arguments. To work around these - // restrictions, we replace rather than duplicate each method - // we instrument and we do not add the dcomp marker argument. - // We must also remember the class name so if we see a subsequent - // call to one of its methods we do not add the dcomp argument. - - debugInstrument.log("junit_state: %s%n", junit_state); - - StackTraceElement[] stack_trace; - - switch (junit_state) { - case NOT_SEEN: - if (classname.startsWith("org.junit")) { - junit_state = JUnitState.STARTING; - } - break; - - case STARTING: - // Now check to see if JUnit is looking for test class(es). - stack_trace = Thread.currentThread().getStackTrace(); - // [0] is getStackTrace - for (int i = 1; i < stack_trace.length; i++) { - if (debugJUnitAnalysis) { - System.out.printf( - "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); - } - if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { - junit_parse_seen = true; - junit_state = JUnitState.TEST_DISCOVERY; - break; - } - } - break; - - case TEST_DISCOVERY: - // Now check to see if JUnit is done looking for test class(es). - boolean local_junit_parse_seen = false; - stack_trace = Thread.currentThread().getStackTrace(); - // [0] is getStackTrace - for (int i = 1; i < stack_trace.length; i++) { - if (debugJUnitAnalysis) { - System.out.printf( - "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); - } - if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { - local_junit_parse_seen = true; - break; - } - } - if (junit_parse_seen && !local_junit_parse_seen) { - junit_parse_seen = false; - junit_state = JUnitState.RUNNING; - } else if (!junit_parse_seen && local_junit_parse_seen) { - junit_parse_seen = true; - } - break; - - case RUNNING: - if (debugJUnitAnalysis) { - stack_trace = Thread.currentThread().getStackTrace(); - // [0] is getStackTrace - for (int i = 1; i < stack_trace.length; i++) { - System.out.printf( - "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); - } - } - // nothing to do - break; - - default: - throw new Error("invalid junit_state"); - } - - debugInstrument.log("junit_state: %s%n", junit_state); - - boolean junit_test_class = false; - if (junit_state == JUnitState.TEST_DISCOVERY) { - // We have a possible JUnit test class. We need to verify by - // one of two methods. Either the class is a subclass of - // junit.framework.TestCase or one of its methods has a - // RuntimeVisibleAnnotation of org/junit/Test. - Deque classnameStack = new ArrayDeque<>(); - String super_class; - String this_class = classname; - while (true) { - super_class = getSuperclassName(this_class); - if (super_class == null) { - // something has gone wrong - break; - } - if (debugJUnitAnalysis) { - System.out.printf("this_class: %s%n", this_class); - System.out.printf("super_class: %s%n", super_class); - } - if (super_class.equals("junit.framework.TestCase")) { - // This is a junit test class and so are the - // elements of classnameStack. - junit_test_class = true; - junitTestClasses.add(this_class); - while (!classnameStack.isEmpty()) { - junitTestClasses.add(classnameStack.pop()); - } - break; - } else if (super_class.equals("java.lang.Object")) { - // We're done; not a junit test class. - // Ignore items on classnameStack. - break; - } - // Recurse and check the super_class. - classnameStack.push(this_class); - this_class = super_class; - } - } - - // Even if we have not detected that JUnit is active, any class that - // contains a method with a RuntimeVisibleAnnotation of org/junit/Test - // needs to be marked as a JUnit test class. (Daikon issue #536) - - if (!junit_test_class) { - // need to check for junit Test annotation on a method - searchloop: - for (Method m : gen.getMethods()) { - for (final Attribute attribute : m.getAttributes()) { - if (attribute instanceof RuntimeVisibleAnnotations) { - if (debugJUnitAnalysis) { - System.out.printf("attribute: %s%n", attribute.toString()); - } - for (final AnnotationEntry item : ((Annotations) attribute).getAnnotationEntries()) { - if (debugJUnitAnalysis) { - System.out.printf("item: %s%n", item.toString()); - } - if (item.toString().endsWith("org/junit/Test;") // JUnit 4 - || item.toString().endsWith("org/junit/jupiter/api/Test;") // JUnit 5 - ) { - junit_test_class = true; - junitTestClasses.add(classname); - break searchloop; - } - } - } - } - } - } - - if (junit_test_class) { - debugInstrument.log("JUnit test class: %s%n", classname); - } else { - debugInstrument.log("Not a JUnit test class: %s%n", classname); - } - - // Process each method - for (Method m : gen.getMethods()) { - - try { - // Note whether we want to track the daikon variables in this method - boolean track = should_track(classname, m.getName(), methodEntryName(classname, m)); - - // We do not want to track bridge methods the compiler has synthesized as - // they are overloaded on return type which normal Java does not support. - if ((m.getAccessFlags() & Const.ACC_BRIDGE) != 0) { - track = false; - } - - // If any one method is tracked, then the class is tracked. - if (track) { - track_class = true; - } - - // If we are tracking variables, make sure the class is public - if (track && !gen.isPublic()) { - gen.isPrivate(false); - gen.isProtected(false); - gen.isPublic(true); - } - - debug_transform.log(" Processing method %s, track=%b%n", simplify_method_name(m), track); - debug_transform.indent(); - - MethodGen mg = new MethodGen(m, classname, pool); - mgen = mg; // copy to global - - InstructionList il = mg.getInstructionList(); - boolean has_code = (il != null); - // if (has_code) { - // setCurrentStackMapTable(mg, gen.getMajor()); - // buildUninitializedNewMap(il); - // } - // - // fixLocalVariableTable(mg); - - // If the method is native - if (mg.isNative()) { - - // Create Java code that cleans up the tag stack and calls the real native method. - // fix_native(gen, mg); - has_code = true; - // setCurrentStackMapTable(mg, gen.getMajor()); - - // Add the DCompMarker argument to distinguish our version - // add_dcomp_arg(mg); - - } else { // normal method - - if (!junit_test_class) { - // Add the DCompMarker argument to distinguish our version - // add_dcomp_arg(mg); - } - - // Create a MethodInfo that describes this method's arguments - // and exit line numbers (information not available via reflection) - // and add it to the list for this class. - MethodInfo mi = null; - if (track && has_code) { - // mi = create_method_info(class_info, mg); - // class_info.method_infos.add(mi); - DCRuntime.methods.add(mi); - } - - // Instrument the method - if (has_code) { - // Create the local to store the tag frame for this method - // tag_frame_local = create_tag_frame_local(mg); - // build_exception_handler(mg); - // instrument_method(mg); - if (track) { - // add_enter(mg, mi, DCRuntime.methods.size() - 1); - // add_exit(mg, mi, DCRuntime.methods.size() - 1); - } - // install_exception_handler(mg); - } - } - - if (has_code) { - // updateUninitializedNewOffsets(mg.getInstructionList()); - // createNewStackMapAttribute(mg); - mg.setMaxLocals(); - mg.setMaxStack(); - } else { - mg.removeCodeAttributes(); - mg.removeLocalVariables(); - } - - // remove_local_variable_type_table(mg); - - // We do not want to copy the @HotSpotIntrinsicCandidate annotations from - // the original method to our instrumented method as the signature will - // not match anything in the JVM's list. This won't cause an execution - // problem but will produce a massive number of warnings. - // JDK 11: @HotSpotIntrinsicCandidate - // JDK 17: @IntrinsicCandidate - AnnotationEntryGen[] aes = mg.getAnnotationEntries(); - for (AnnotationEntryGen item : aes) { - String type = item.getTypeName(); - if (type.endsWith("IntrinsicCandidate;")) { - mg.removeAnnotationEntry(item); - } - } - - // Can't duplicate 'main' or 'clinit' or a JUnit test. - boolean replacingMethod = BcelUtil.isMain(mg) || BcelUtil.isClinit(mg) || junit_test_class; - try { - if (has_code) { - il = mg.getInstructionList(); - InstructionHandle end = il.getEnd(); - int length = end.getPosition() + end.getInstruction().getLength(); - if (length >= Const.MAX_CODE_SIZE) { - throw new ClassGenException( - "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); - } - } - if (replacingMethod) { - gen.replaceMethod(m, mg.getMethod()); - if (BcelUtil.isMain(mg)) { - // gen.addMethod(create_dcomp_stub(mg).getMethod()); - } - } else { - gen.addMethod(mg.getMethod()); - } - } catch (Exception e) { - String s = e.getMessage(); - if (s == null) { - throw e; - } - if (s.startsWith("Branch target offset too large") - || s.startsWith("Code array too big")) { - System.err.printf( - "DynComp warning: ClassFile: %s - method %s is too large to instrument and is" - + " being skipped.%n", - classname, mg.getName()); - // Build a dummy instrumented method that has DCompMarker - // argument and no instrumentation. - // first, restore unmodified method - mg = new MethodGen(m, classname, pool); - // restore StackMapTable - // setCurrentStackMapTable(mg, gen.getMajor()); - // Add the DCompMarker argument - // add_dcomp_arg(mg); - // remove_local_variable_type_table(mg); - // try again - if (replacingMethod) { - gen.replaceMethod(m, mg.getMethod()); - if (BcelUtil.isMain(mg)) { - // gen.addMethod(create_dcomp_stub(mg).getMethod()); - } - } else { - gen.addMethod(mg.getMethod()); - } - } else { - throw e; - } - } - debug_transform.exdent(); - } catch (Throwable t) { - // debug code - // t.printStackTrace(); - if (debugInstrument.enabled) { - t.printStackTrace(); - } - throw new Error("Unexpected error processing " + classname + "." + m.getName(), t); - } - } - - // Add tag accessor methods for each primitive in the class - // create_tag_accessors(gen); - - // Keep track of when the class is initialized (so we don't look - // for fields in uninitialized classes) - // track_class_init(); - debug_transform.exdent(); - - // The code that builds the list of daikon variables for each ppt - // needs to know what classes are instrumented. Its looks in the - // Chicory runtime for this information. - if (track_class) { - // debug_transform.log("DCInstrument adding %s to all class list%n", class_info); - // synchronized (daikon.chicory.SharedData.all_classes) { - // daikon.chicory.SharedData.all_classes.add(class_info); - // } - } - debug_transform.log("Instrumentation complete: %s%n", classname); - - return gen.getJavaClass().copy(); - } - /** * Returns true if the specified classname.method_name is the root of JUnit startup code. * @@ -2093,9 +1690,8 @@ private void instrumentCodeList( // Create an array containing the type of each local variable. // This will be indexed by the local variable's slot number. // There may be a gap for the second slot of a variable of type long or double. - // UNDONE: do we have to save state of locals like we do statck? locals = new ClassDesc[mgen.getMaxLocals()]; - // UNDONE: init locals with 'this' and params only? + // UNDONE: Should we init locals for 'this' and params only? for (final LocalVariable lv : mgen.localsTable) { locals[lv.slot()] = lv.typeSymbol(); } @@ -2976,9 +2572,8 @@ private void add_exit( System.out.println("searching interfaces of: " + ClassGen24.getClassName(startClass)); } for (ClassEntry classEntry : startClass.interfaces()) { - // UNDONE: is this right? internal name or binary name? @SuppressWarnings("signature:assignment") // need JDK annotations - @BinaryName String interfaceName = classEntry.asInternalName(); + @BinaryName String interfaceName = classEntry.asInternalName().replace('/', '.'); if (debugGetDefiningInterface) { System.out.println("interface: " + interfaceName); } @@ -3204,14 +2799,7 @@ private boolean isTargetInstrumented( boolean targetInstrumented = true; Opcode op = invoke.opcode(); - // UNDONE: can't get here if InvokeDynamic? - if (op.equals(Opcode.INVOKEDYNAMIC)) { - // We don't instrument lambda methods. - if (debugHandleInvoke) { - System.out.printf("invokedynamic NOT the classname: %s%n", classname); - } - targetInstrumented = false; - } else if (is_object_method(methodName, argTypes)) { + if (is_object_method(methodName, argTypes)) { targetInstrumented = false; } else { // At this point, we will never see classname = java.lang.Object. @@ -3401,15 +2989,14 @@ private Integer getAccessFlags(String classname) { if (cm != null) { access = cm.flags().flagsMask(); - System.out.println("classModel: " + cm.thisClass().name().stringValue()); - System.out.println("getAccessFlags: " + classname); + debugInstrument.log("classModel: " + cm.thisClass().name().stringValue()); + debugInstrument.log("getAccessFlags: " + classname); // Now check for FunctionalInterface searchloop: for (java.lang.classfile.Attribute attribute : cm.attributes()) { - System.out.println("attribute: " + attribute); + debugInstrument.log("attribute: " + attribute); if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { for (final Annotation item : rvaa.annotations()) { - System.out.println("item: " + item); String annotation = item.className().stringValue(); if (debugHandleInvoke) { System.out.println("annotation: " + annotation); @@ -3585,7 +3172,6 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met ClassFile classFile = ClassFile.of(); URL class_url = ClassLoader.getSystemResource(classname.replace('.', '/') + ".class"); - System.out.println("URL: " + class_url); if (class_url != null) { try (InputStream inputStream = class_url.openStream()) { if (inputStream != null) { @@ -3706,15 +3292,8 @@ private List object_comparison( private List load_store_field( MethodGen24 mgen, MethodGen24.MInfo24 minfo, FieldInstruction f) { - // UNDONE: delete, comment out or wrap with debug flag - System.out.println(); - System.out.println("mgen: " + mgen); - System.out.println("FieldInst: " + f); - System.out.println("field_name: " + f.name().stringValue()); - System.out.println("owner: " + f.owner()); - System.out.println("owner: " + f.owner().asInternalName().replace('/', '.')); ClassDesc field_type = f.typeSymbol(); - System.out.println("field_type: " + field_type + ", " + f.field().typeSymbol()); + debugInstrument.log("field_type: " + field_type + ", " + f.field().typeSymbol()); int field_size = TypeKind.from(field_type).slotSize(); if (!field_type.isPrimitive()) { return null; @@ -3873,8 +3452,6 @@ private List store_local( LocalVariable get_tmp2_local(MethodGen24 mgen, MethodGen24.MInfo24 minfo, ClassDesc type) { String name = "dcomp_$tmp_" + type.descriptorString(); - // UNDONE: delete, comment out or wrap with debug flag - System.out.printf("local var name = %s%n", name); // See if the local has already been created for (LocalVariable lv : mgen.localsTable) { diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 51bf2254a0..67e0299d9f 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -85,36 +85,6 @@ public static void print_call_stack() { System.out.println(); } - // TEMPORARY - REMOVE when DCInstrument24 is working - - /** - * Output a .oclass file and a .obcel version of the class file. - * - * @param c the Java class to output - * @param directory output location for the files - * @param className the current class - */ - private void outputOldDebugFiles(JavaClass c, File directory, @BinaryName String className) { - try { - debug_transform.log("Dumping .oclass and .obcel for %s to %s%n", className, directory); - // Write the byte array to a .oclass file. - c.dump(new File(directory, className + ".oclass")); - // write .bcel file - BcelUtil.dump(c, directory); - // rename .bcel file to .obcel - File outputFile = new File(directory, className + ".bcel"); - boolean ok = outputFile.renameTo(new File(directory, className + ".obcel")); - if (!ok) { - System.err.printf("Unexpected error renaming %s file for: %s%n", outputFile, className); - // ignore the error, it shouldn't affect the instrumentation - } - } catch (Throwable t) { - System.err.printf("Unexpected error %s writing debug files for: %s%n", t, className); - t.printStackTrace(); - // ignore the error, it shouldn't affect the instrumentation - } - } - /** * Output a .class file and a .bcel version of the class file. * @@ -288,29 +258,6 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str "Transforming class %s, loader %s - %s%n", className, loader, loader.getParent()); } - // Do instrumentation both old and new way during development. - // Following code is old way. - - // Parse the bytes of the classfile, die on any errors. - JavaClass c; - try (ByteArrayInputStream bais = new ByteArrayInputStream(classfileBuffer)) { - ClassParser parser = new ClassParser(bais, className); - c = parser.parse(); - } catch (Throwable t) { - System.err.printf("Unexpected error %s while reading %s%n", t, binaryClassName); - t.printStackTrace(); - // No changes to the bytecodes - return null; - } - - if (DynComp.dump) { - outputOldDebugFiles(c, debug_uninstrumented_dir, binaryClassName); - } - - // End of old code. - - // Start of new code. - // Parse the bytes of the classfile, die on any errors. ClassFile classFile = ClassFile.of( @@ -357,40 +304,6 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str // No changes to the bytecodes return null; } - - // End of new code. - /* - // Do instrumentation both old and new way during development. - // Following code is old way. - // TEMPORARY - DynComp.debug = false; - - // Instrument the classfile, die on any errors - JavaClass njc; - try { - DCInstrument dcio = new DCInstrument(c, in_jdk, loader); - njc = dcio.instrument(); - } catch (Throwable t) { - RuntimeException re = - new RuntimeException( - String.format("Unexpected error %s in transform of %s", t, binaryClassName), t); - re.printStackTrace(); - throw re; - } - - if (njc != null) { - if (DynComp.dump) { - outputOldDebugFiles(njc, debug_instrumented_dir, binaryClassName); - } - return njc.getBytes(); - } else { - debug_transform.log("Didn't instrument %s%n", binaryClassName); - // No changes to the bytecodes - return null; - } - - // End of old code. - */ } /** From d0fd6858f4f1ed9ede81dea742329735ce9f2dc7 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 26 Aug 2025 14:39:15 -0700 Subject: [PATCH 077/211] fix format errors --- java/daikon/dcomp/DCInstrument24.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index d246f4f148..dc370dbd2f 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -2989,8 +2989,8 @@ private Integer getAccessFlags(String classname) { if (cm != null) { access = cm.flags().flagsMask(); - debugInstrument.log("classModel: " + cm.thisClass().name().stringValue()); - debugInstrument.log("getAccessFlags: " + classname); + debugInstrument.log("classModel: %s%n", cm.thisClass().name().stringValue()); + debugInstrument.log("getAccessFlags: %s%n", classname); // Now check for FunctionalInterface searchloop: for (java.lang.classfile.Attribute attribute : cm.attributes()) { From ebf4f648c75e8140e14757387e9e60364a10735d Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 2 Sep 2025 18:15:05 -0700 Subject: [PATCH 078/211] remove unused code --- java/daikon/dcomp/Instrument24.java | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 67e0299d9f..baa782a18f 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -151,19 +151,6 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str @BinaryName String binaryClassName = Signatures.internalFormToBinaryName(className); if (className == null) { - /* - // debug code to display unnamed class - try { - // Parse the bytes of the classfile, die on any errors - ClassParser parser = new ClassParser(new ByteArrayInputStream(classfileBuffer), className); - JavaClass c = parser.parse(); - System.out.println(c.toString()); - } catch (Throwable e) { - System.out.printf("Unexpected Error: %s%n", e); - e.printStackTrace(); - throw new RuntimeException("Unexpected error", e); - } - */ // most likely a lambda related class return null; } From d14de53b7b5a76d1bf40287893917781efb385b5 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 2 Sep 2025 18:16:52 -0700 Subject: [PATCH 079/211] complete toString for method name --- java/daikon/chicory/MethodGen24.java | 91 +++++++++++++++++++++------- 1 file changed, 68 insertions(+), 23 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index a70c2c10b5..a99e340e19 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -720,32 +720,77 @@ public void setInstructionList(List il) { codeList = il; } - // need to fancy up! + /** + * Return string representation close to declaration format, 'public static void main(String[])', + * e.g. + * + * @return String representation of the method declaration. + */ @Override public final String toString(@GuardSatisfied MethodGen24 this) { - return methodName; + StringBuilder result = new StringBuilder(getAccess(accessFlagsMask)); + result.append(returnType.equals(CD_void) ? "void" : convertClassDesc(returnType)); + result.append(" " + methodName + "("); + if (paramTypes.length > 0) { + for (int i = 0; i < paramTypes.length; i++) { + String arg = convertClassDesc(paramTypes[i]); + if ((accessFlagsMask & ClassFile.ACC_VARARGS) != 0 && (i == (paramTypes.length - 1))) { + arg = arg.replace("[]", "..."); + } + result.append(arg + " " + paramNames[i] + ", "); + } + result.setLength(result.length() - 2); // remove last ", " + } + result.append(")"); + return result.toString(); } - /* - @Override - public final String toString() { - final String access = Utility.accessToString(super.getAccessFlags()); - String signature = Type.getMethodSignature(super.getType(), paramTypes); - signature = Utility.methodSignatureToString(signature, super.getName(), access, true, getLocalVariableTable(super.getConstantPool())); - final StringBuilder buf = new StringBuilder(signature); - for (final Attribute a : getAttributes()) { - if (!(a instanceof Code || a instanceof ExceptionTable)) { - buf.append(" [").append(a).append("]"); - } - } - - if (!throwsList.isEmpty()) { - for (final String throwsDescriptor : throwsList) { - buf.append("\n\t\tthrows ").append(throwsDescriptor); - } - } - return buf.toString(); - } - */ + /** + * Returns a string representation of a ClassDesc. Removes a leading "java.lang.". + * + * @param type the ClassDesc to translate + */ + private String convertClassDesc(@GuardSatisfied MethodGen24 this, ClassDesc type) { + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String arg0Fd = type.descriptorString(); + String result = daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(arg0Fd); + if (result.startsWith("java.lang.")) { + result = result.replace("java.lang.", ""); + } + return result; + } + /** + * Returns a string representation of a method's access flags. + * + * @param accessFlagsMask some access flags. + */ + private String getAccess(@GuardSatisfied MethodGen24 this, final int accessFlagsMask) { + StringBuilder result = new StringBuilder(); + if ((accessFlagsMask & ClassFile.ACC_PUBLIC) != 0) { + result.append("public "); + } + if ((accessFlagsMask & ClassFile.ACC_PRIVATE) != 0) { + result.append("private "); + } + if ((accessFlagsMask & ClassFile.ACC_PROTECTED) != 0) { + result.append("protected "); + } + if ((accessFlagsMask & ClassFile.ACC_ABSTRACT) != 0) { + result.append("abstract "); + } + if ((accessFlagsMask & ClassFile.ACC_STATIC) != 0) { + result.append("static "); + } + if ((accessFlagsMask & ClassFile.ACC_FINAL) != 0) { + result.append("final "); + } + if ((accessFlagsMask & ClassFile.ACC_SYNCHRONIZED) != 0) { + result.append("synchronized "); + } + if ((accessFlagsMask & ClassFile.ACC_NATIVE) != 0) { + result.append("native "); + } + return result.toString(); + } } From 3d8a96a1dfa616c929e0c01d45ae69ef15992569 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 2 Sep 2025 18:24:50 -0700 Subject: [PATCH 080/211] start work on BuildJDK24; remove duplicated code --- java/daikon/dcomp/BuildJDK24.java | 576 ++++++++++++++++++++++++++ java/daikon/dcomp/DCInstrument24.java | 246 +++-------- 2 files changed, 636 insertions(+), 186 deletions(-) create mode 100644 java/daikon/dcomp/BuildJDK24.java diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java new file mode 100644 index 0000000000..dc93e9794b --- /dev/null +++ b/java/daikon/dcomp/BuildJDK24.java @@ -0,0 +1,576 @@ +package daikon.dcomp; + +import static java.lang.constant.ConstantDescs.CD_Object; +import static java.lang.constant.ConstantDescs.CD_boolean; +import static java.nio.charset.StandardCharsets.UTF_8; + +import daikon.DynComp; +import daikon.chicory.ClassInfo; +import daikon.plumelib.bcelutil.BcelUtil; +import daikon.plumelib.options.Options; +import daikon.plumelib.reflection.Signatures; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; +import java.io.UncheckedIOException; +import java.lang.classfile.ClassBuilder; +import java.lang.classfile.ClassFile; +import java.lang.classfile.ClassHierarchyResolver; +import java.lang.classfile.ClassModel; +import java.lang.classfile.attribute.SourceFileAttribute; +import java.lang.constant.ClassDesc; +import java.lang.constant.MethodTypeDesc; +import java.net.URI; +import java.nio.file.DirectoryStream; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.signature.qual.BinaryName; + +/** + * BuildJDK(24) uses {@link DCInstrument} to add comparability instrumentation to Java class files, + * then stores the modified files into a directory identified by a (required) command line argument. + * + *

DCInstrument duplicates each method of a class file. The new methods are distinguished by the + * addition of a final parameter of type DCompMarker and are instrumented to track comparability. + * Based on its invocation arguments, DynComp will decide whether to call the instrumented or + * uninstrumented version of a method. + */ +@SuppressWarnings({ + "mustcall:type.argument", + "mustcall:type.arguments.not.inferred" +}) // assignments into owning collection +public class BuildJDK24 { + + /** Creates a new BuildJDK24. */ + private BuildJDK24() {} + + /** + * The "java.home" system property. Note that there is also a JAVA_HOME variable that contains + * {@code System.getenv("JAVA_HOME")}. + */ + public static final String java_home = System.getProperty("java.home"); + + /** If true, print information about the classes being instrumented. */ + private static boolean verbose = false; + + /** Number of class files processed; used for progress display. */ + private int _numFilesProcessed = 0; + + /** Name of file in output jar containing the static-fields map. */ + private static String static_field_id_filename = "dcomp_jdk_static_field_id"; + + /** + * Collects names of all methods that DCInstrument could not process. Should be empty. Format is + * <fully-qualified class name>.<method name> + */ + private static List skipped_methods = new ArrayList<>(); + + /** + * A list of methods known to cause DCInstrument to fail. This is used to remove known problems + * from the list of failures displayed at the end of BuildJDK's execution. Format is + * <fully-qualified class name>.<method name> + */ + public static List known_uninstrumentable_methods = + Arrays.asList( + // None at present + ); + + /** + * Instruments each class file in the Java runtime and puts the result in the first non-option + * command-line argument. + * + *

By default, BuildJDK will locate the appropriate Java runtime library and instrument each of + * its member class files. However, if there are additional arguments on the command line after + * the destination directory, then we assume these are class files to be instrumented and the Java + * runtime library is not used. This usage is primarily for testing purposes. + * + * @param args arguments being passed to BuildJDK + * @throws IOException if unable to read or write file {@code dcomp_jdk_static_field_id} or if + * unable to write {@code jdk_classes.txt} + */ + @SuppressWarnings("builder:required.method.not.called") // assignment into collection of @Owning + public static void main(String[] args) throws IOException { + + System.out.println("BuildJDK24 starting at " + LocalDateTime.now(ZoneId.systemDefault())); + + BuildJDK24 build = new BuildJDK24(); + + Options options = + new Options( + "daikon.BuildJDK24 [options] dest_dir [classfiles...]", + DynComp.class, + DCInstrument.class); + String[] cl_args = options.parse(true, args); + if (cl_args.length < 1) { + System.err.println("must specify destination dir"); + options.printUsage(); + System.exit(1); + } + verbose = DynComp.verbose; + + File dest_dir = new File(cl_args[0]); + + // Key is a class file name, value is a stream that opens that file name. + // + //

We want to share code to read and instrument the Java class file members of a jar file + // (JDK 8) or a module file (JDK 9+). However, jar files and module files are located in two + // completely different file systems. So we open an InputStream for each class file we wish to + // instrument and save it in the class_stream_map with the file pathname as the key. From that + // point the code to instrument a class file can be shared. + Map class_stream_map; + + if (cl_args.length > 1) { + + // Arguments are [...] + @SuppressWarnings("nullness:assignment") // https://tinyurl.com/cfissue/3224 + @NonNull String[] class_files = Arrays.copyOfRange(cl_args, 1, cl_args.length); + + // Instrumenting a specific list of class files is usually used for testing. + // But if we're using it to fix a broken classfile, then we need + // to restore the static-fields map from when our runtime jar was originally + // built. We assume it is in the destination directory. + DCInstrument.restore_static_field_id(new File(dest_dir, static_field_id_filename)); + System.out.printf( + "Restored %d entries in static map.%n", DCInstrument.static_field_id.size()); + + class_stream_map = new HashMap<>(); + for (String classFileName : class_files) { + try { + class_stream_map.put(classFileName, new FileInputStream(classFileName)); + } catch (FileNotFoundException e) { + throw new Error("File not found: " + classFileName, e); + } + } + + // Instrument the classes identified in class_stream_map. + build.instrument_classes(dest_dir, class_stream_map); + + } else { + + check_java_home(); + + if (BcelUtil.javaVersion > 8) { + class_stream_map = build.gather_runtime_from_modules(); + } else { + class_stream_map = build.gather_runtime_from_jar(); + } + + // Instrument the Java runtime classes identified in class_stream_map. + build.instrument_classes(dest_dir, class_stream_map); + + // We've finished instrumenting all the class files. Now we create some + // abstract interface classes for use by the DynComp runtime. + build.addInterfaceClasses(dest_dir.getName()); + + // Write out the file containing the static-fields map. + System.out.printf("Found %d static fields.%n", DCInstrument.static_field_id.size()); + DCInstrument.save_static_field_id(new File(dest_dir, static_field_id_filename)); + + // Write out the list of all classes in the jar file + File jdk_classes_file = new File(dest_dir, "java/lang/jdk_classes.txt"); + System.out.printf("Writing a list of class names to %s%n", jdk_classes_file); + // Class names are written in internal form. + try (PrintWriter pw = new PrintWriter(jdk_classes_file, UTF_8.name())) { + for (String classFileName : class_stream_map.keySet()) { + pw.println(classFileName.replace(".class", "")); + } + } + } + + // Print out any methods that could not be instrumented + print_skipped_methods(); + + System.out.println("BuildJDK24 done at " + LocalDateTime.now(ZoneId.systemDefault())); + } + + /** Verify that java.home and JAVA_HOME match. Exits the JVM if there is an error. */ + public static void check_java_home() { + + // We are going to instrument the default Java runtime library. + // We need to verify where we should look for it. + + String JAVA_HOME = System.getenv("JAVA_HOME"); + if (JAVA_HOME == null) { + if (verbose) { + System.out.println("JAVA_HOME not defined; using java.home: " + java_home); + } + JAVA_HOME = java_home; + } + + File jrt = new File(JAVA_HOME); + if (!jrt.exists()) { + System.err.printf("Java home directory %s does not exist.%n", jrt); + System.exit(1); + } + + try { + jrt = jrt.getCanonicalFile(); + } catch (Exception e) { + System.err.printf("Error geting canonical file for %s: %s", jrt, e.getMessage()); + System.exit(1); + } + + JAVA_HOME = jrt.getAbsolutePath(); + if (!java_home.startsWith(JAVA_HOME)) { + System.err.printf( + "JAVA_HOME (%s) does not agree with java.home (%s).%n", JAVA_HOME, java_home); + System.err.printf("Please correct your Java environment.%n"); + System.exit(1); + } + } + + /** + * For Java 8 the Java runtime is located in rt.jar. This method creates an InputStream for each + * class in rt.jar and returns this information in a map from class file name to InputStream. + * + * @return a map from class file name to the associated InputStream + */ + @SuppressWarnings({ + "JdkObsolete", // JarEntry.entries() returns Enumeration + "builder:required.method.not.called" // assignment into collection of @Owning + }) + Map gather_runtime_from_jar() { + + Map class_stream_map = new HashMap<>(); + String jar_name = java_home + "/lib/rt.jar"; + System.out.printf("using jar file %s%n", jar_name); + try { + JarFile jfile = new JarFile(jar_name); + // Get each class to be instrumented and store it away + Enumeration entries = jfile.entries(); + while (entries.hasMoreElements()) { + JarEntry entry = entries.nextElement(); + // System.out.printf("processing entry %s%n", entry); + final String entryName = entry.getName(); + if (entryName.endsWith("/") || entryName.endsWith("~")) { + continue; + } + + // Get the InputStream for this file + InputStream is = jfile.getInputStream(entry); + class_stream_map.put(entryName, is); + } + } catch (Exception e) { + throw new Error("Problem while reading " + jar_name, e); + } + return class_stream_map; + } + + /** + * For Java 9+ the Java runtime is located in a series of modules. At this time, we are only + * pre-instrumenting the java.base module. This method initializes the DirectoryStream used to + * explore java.base. It calls gather_runtime_from_modules_directory to process the directory + * structure. + * + * @return a map from class file name to the associated InputStream + */ + Map gather_runtime_from_modules() { + + Map class_stream_map = new HashMap<>(); + FileSystem fs = FileSystems.getFileSystem(URI.create("jrt:/")); + Path modules = fs.getPath("/modules"); + // The path java_home+/lib/modules is the file in the host file system that + // corresponds to the modules file in the jrt: file system. + System.out.printf("using modules directory %s%n", java_home + "/lib/modules"); + try (DirectoryStream directoryStream = Files.newDirectoryStream(modules, "java.base*")) { + for (Path moduleDir : directoryStream) { + gather_runtime_from_modules_directory( + moduleDir, moduleDir.toString().length(), class_stream_map); + } + } catch (IOException e) { + throw new UncheckedIOException(e); + } + return class_stream_map; + } + + /** + * This is a helper method for {@link #gather_runtime_from_modules}. It recurses down the module + * directory tree, selects the classes we want to instrument, creates an InputStream for each of + * these classes, and adds this information to the {@code class_stream_map} argument. + * + * @param path module file, which might be subdirectory + * @param modulePrefixLength length of "/module/..." path prefix before start of actual member + * path + * @param class_stream_map a map from class file name to InputStream that collects the results + */ + @SuppressWarnings("builder:required.method.not.called") // assignment into collection of @Owning + void gather_runtime_from_modules_directory( + Path path, int modulePrefixLength, Map class_stream_map) { + + if (Files.isDirectory(path)) { + try (DirectoryStream directoryStream = Files.newDirectoryStream(path)) { + for (Path subpath : directoryStream) { + gather_runtime_from_modules_directory(subpath, modulePrefixLength, class_stream_map); + } + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } else { + String entryName = path.toString().substring(modulePrefixLength + 1); + try { + // Get the InputStream for this file + InputStream is = Files.newInputStream(path); + class_stream_map.put(entryName, is); + } catch (Exception e) { + throw new Error(e); + } + } + } + + /** + * Instrument each of the classes indentified by the class_stream_map argument. + * + * @param dest_dir where to store the instrumented classes + * @param class_stream_map maps from class file name to an input stream on that file + */ + void instrument_classes(File dest_dir, Map class_stream_map) { + + // Get our ClassLoader. + ClassLoader loader = BuildJDK24.class.getClassLoader(); + if (loader == null) { + loader = ClassLoader.getSystemClassLoader(); + } + + try { + // Create the destination directory + dest_dir.mkdirs(); + + // Process each file. + for (String classFileName : class_stream_map.keySet()) { + if (verbose) { + System.out.println("instrument_classes: " + classFileName); + } + + if (classFileName.equals("module-info.class")) { + System.out.printf("Skipping file %s%n", classFileName); + continue; + } + + // Handle non-.class files and Object.class. In JDK 8, copy them unchanged. + // For JDK 9+ we do not copy as these items will be loaded from the original module file. + if (!classFileName.endsWith(".class") || classFileName.equals("java/lang/Object.class")) { + if (BcelUtil.javaVersion > 8) { + if (verbose) { + System.out.printf("Skipping file %s%n", classFileName); + } + continue; + } + // This File constructor ignores dest_dir if classFileName is absolute. + File classFile = new File(dest_dir, classFileName); + if (classFile.getParentFile() == null) { + throw new Error("This can't happen: " + classFile); + } + classFile.getParentFile().mkdirs(); + if (verbose) { + System.out.println("Copying Object.class or non-classfile: " + classFile); + } + try (InputStream in = class_stream_map.get(classFileName)) { + Files.copy(in, classFile.toPath()); + } + continue; + } + + ClassFile classFile = + ClassFile.of( + ClassFile.ClassHierarchyResolverOption.of( + ClassHierarchyResolver.ofResourceParsing(loader))); + ClassModel classModel; + // Parse the bytes of the classfile, die on any errors. + try (InputStream is = class_stream_map.get(classFileName)) { + byte[] buffer = is.readAllBytes(); + classModel = classFile.parse(buffer); + } catch (Throwable e) { + throw new Error("Failed to parse classfile " + classFileName, e); + } + + // Instrument the class file. + try { + instrumentClassFile( + classFile, classModel, loader, dest_dir, classFileName, class_stream_map.size()); + } catch (Throwable e) { + throw new Error("Couldn't instrument " + classFileName, e); + } + } + } catch (Exception e) { + throw new Error(e); + } + } + + /** + * Add abstract interface classes needed by the DynComp runtime. + * + * @param destDir where to store the interface classes + */ + private void addInterfaceClasses(String destDir) { + // Create the DcompMarker class which is used to identify instrumented calls. + createDCompClass(destDir, "DCompMarker", false); + + // The remainer of the generated classes are needed for JDK 9+ only. + if (BcelUtil.javaVersion > 8) { + createDCompClass(destDir, "DCompInstrumented", true); + createDCompClass(destDir, "DCompClone", false); + createDCompClass(destDir, "DCompToString", false); + } + } + + /** + * Create an abstract interface class for use by the DynComp runtime. + * + * @param destDir where to store the new class + * @param className name of class + * @param dcompInstrumented if true, add equals_dcomp_instrumented method to class + */ + private void createDCompClass( + String destDir, @BinaryName String className, boolean dcompInstrumented) { + byte[] classBytes; + + try { + classBytes = + ClassFile.of() + .build( + ClassDesc.of(Signatures.addPackage("java.lang", className)), + classBuilder -> finishCreateDCompClass(classBuilder, dcompInstrumented)); + // Write the byte array to a .class file. + File outputFile = new File(new File(new File(destDir, "java"), "lang"), className + ".class"); + Files.write(outputFile.toPath(), classBytes); + } catch (Exception e) { + throw new Error(e); + } + } + + /** + * Create an abstract interface class for use by the DynComp runtime. + * + * @param classBuilder for the class + * @param dcompInstrumented if true, add equals_dcomp_instrumented method to class + */ + private void finishCreateDCompClass(ClassBuilder classBuilder, boolean dcompInstrumented) { + classBuilder.withSuperclass(ClassDesc.of("java.lang.Object")); + classBuilder.withFlags(ClassFile.ACC_INTERFACE | ClassFile.ACC_PUBLIC | ClassFile.ACC_ABSTRACT); + // Convert from JDK version number to ClassFile major_version. + classBuilder.withVersion(BcelUtil.javaVersion + 44, 0); + classBuilder.with(SourceFileAttribute.of("daikon.dcomp.BuildJDK24 tool")); + + if (dcompInstrumented) { + classBuilder.withMethod( + "equals_dcomp_instrumented", + MethodTypeDesc.of(CD_boolean, CD_Object), + ClassFile.ACC_PUBLIC | ClassFile.ACC_ABSTRACT, + methodBuilder -> {}); + } + } + + /** Formats just the time part of a DateTime. */ + private DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); + + /** + * Instruments the JavaClass {@code jc} (whose name is {@code classFileName}). Writes the + * resulting class to its corresponding location in the directory outputDir. + * + * @param classFile ClassFile of class to be instrumented + * @param classModel ClassModel of class to be instrumented + * @param loader ClassLoader of class to be instrumented + * @param outputDir output directory for instrumented class + * @param classFileName name of class to be instrumented (in internal form) + * @param classTotal total number of classes to be processed; used for progress display + * @throws IOException if unable to write out instrumented class + */ + @SuppressWarnings("SystemConsoleNull") // https://errorprone.info/bugpattern/SystemConsoleNull + private void instrumentClassFile( + ClassFile classFile, + ClassModel classModel, + ClassLoader loader, + File outputDir, + String classFileName, + int classTotal) + throws java.io.IOException { + if (verbose) { + System.out.printf("processing target %s%n", classFileName); + } + + @SuppressWarnings("signature:assignment") // type conversion + @BinaryName String classname = classFileName.replace('/', '.'); + ClassInfo classInfo = new ClassInfo(classname, loader); + DCInstrument24 dci = new DCInstrument24(classFile, classModel, true); + byte[] classBytes = dci.instrument_jdk(classInfo); + if (classBytes == null) { + throw new Error("Instrumentation failed: " + classFile); + } + skipped_methods.addAll(dci.get_skipped_methods()); + File classfile = new File(classFileName); + File dir; + if (classfile.getParent() == null) { + dir = outputDir; + } else { + dir = new File(outputDir, classfile.getParent()); + } + dir.mkdirs(); + File classpath = new File(dir, classfile.getName()); + if (verbose) { + System.out.printf("writing to file %s%n", classpath); + } + Files.write(classpath.toPath(), classBytes); + _numFilesProcessed++; + if (((_numFilesProcessed % 100) == 0) && (System.console() != null)) { + System.out.printf( + "Processed %d/%d classes at %s%n", + _numFilesProcessed, + classTotal, + LocalDateTime.now(ZoneId.systemDefault()).format(timeFormatter)); + } + } + + /** + * Print information about methods that were not instrumented. This happens when a method fails + * BCEL's verifier (which is more strict than Java's). + */ + private static void print_skipped_methods() { + + if (skipped_methods.isEmpty()) { + // System.out.printf("No methods were skipped.%n"); + return; + } + + System.err.println( + "Warning: The following JDK methods could not be instrumented. DynComp will"); + System.err.println("still work as long as these methods are not called by your application."); + System.err.println("If your application calls one, it will throw a NoSuchMethodException."); + + List unknown = new ArrayList<>(skipped_methods); + unknown.removeAll(known_uninstrumentable_methods); + List known = new ArrayList<>(skipped_methods); + known.retainAll(known_uninstrumentable_methods); + + if (!unknown.isEmpty()) { + System.err.println("Please report the following problems to the Daikon maintainers."); + System.err.println( + "Please give sufficient details; see \"Reporting problems\" in the Daikon manual."); + for (String method : unknown) { + System.err.printf(" %s%n", method); + } + } + if (!known.isEmpty()) { + System.err.printf("The following are known problems; you do not need to report them."); + for (String method : known) { + System.err.printf(" %s%n", method); + } + } + } +} diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index dc370dbd2f..e7d8555386 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -30,11 +30,12 @@ import java.io.InputStream; import java.io.PrintStream; import java.lang.classfile.Annotation; -// import java.lang.classfile.Attribute; +import java.lang.classfile.Attribute; import java.lang.classfile.ClassBuilder; import java.lang.classfile.ClassElement; import java.lang.classfile.ClassFile; import java.lang.classfile.ClassModel; +import java.lang.classfile.ClassTransform; import java.lang.classfile.CodeBuilder; import java.lang.classfile.CodeElement; import java.lang.classfile.CodeModel; @@ -102,7 +103,6 @@ import java.util.function.Consumer; import java.util.regex.Pattern; import org.apache.bcel.Const; -import org.apache.bcel.classfile.JavaClass; import org.apache.bcel.classfile.Method; import org.apache.bcel.generic.AnnotationEntryGen; import org.apache.bcel.generic.ClassGen; @@ -123,7 +123,6 @@ import org.checkerframework.checker.signature.qual.ClassGetName; import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; import org.checkerframework.checker.signature.qual.FieldDescriptor; -import org.checkerframework.checker.signature.qual.FqBinaryName; import org.checkerframework.checker.signature.qual.MethodDescriptor; import org.checkerframework.dataflow.qual.Pure; @@ -469,8 +468,8 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; // TEMPORARY - debugInstrument.enabled = true; debugInstrument.enabled = false; + debugInstrument.enabled = true; bcelDebug = debugInstrument.enabled; @@ -505,7 +504,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // If a class has an EvoSuite annotation it may be instrumented by Evosuite; // thus, we should not instrument it before Evosuite does. - for (java.lang.classfile.Attribute attribute : classModel.attributes()) { + for (Attribute attribute : classModel.attributes()) { if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { for (final Annotation item : rvaa.annotations()) { if (item.className().stringValue().startsWith("Lorg/evosuite/runtime")) { @@ -550,7 +549,7 @@ private void instrumentClass( debug_transform.log("%nInstrumenting class: %s%n", classInfo.class_name); debugInstrument.log("Attributes:%n"); - for (java.lang.classfile.Attribute a : classModel.attributes()) { + for (Attribute a : classModel.attributes()) { debugInstrument.log(" %s%n", a); } @@ -691,7 +690,7 @@ private void instrumentClass( // need to check for junit Test annotation on a method searchloop: for (MethodModel mm : classModel.methods()) { - for (java.lang.classfile.Attribute attribute : mm.attributes()) { + for (Attribute attribute : mm.attributes()) { if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { if (debugJUnitAnalysis) { System.out.printf("attribute: %s%n", attribute); @@ -872,7 +871,8 @@ private void instrument_all_methods( for (int j = 0; j < paramTypes.length; j++) { @SuppressWarnings("signature:assignment") // need JDK annotations @FieldDescriptor String paramFD = paramTypes[j].descriptorString(); - types = types + convertDescriptorToFqBinaryName(paramFD) + " "; + types = + types + daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(paramFD) + " "; } for (int j = 0; j < paramNames.length; j++) { names = names + paramNames[j] + " "; @@ -880,13 +880,13 @@ private void instrument_all_methods( for (int j = 0; j < local_vars.length; j++) { locals = locals + local_vars[j].name().stringValue() + " "; } - debugInstrument.log("%nMethod = %s%n", mgen); + debugInstrument.log("%nMethod = %s%n", mgen.getName()); debugInstrument.log("paramTypes(%d): %s%n", paramTypes.length, types); debugInstrument.log("paramNames(%d): %s%n", paramNames.length, names); debugInstrument.log("localvars(%d): %s%n", local_vars.length, locals); // debugInstrument.log("Original code: %s%n", mgen.getMethod().getCode()); debugInstrument.log("Method Attributes:%n"); - for (java.lang.classfile.Attribute a : mm.attributes()) { + for (Attribute a : mm.attributes()) { debugInstrument.log(" %s%n", a); } debugInstrument.log("mgen.getSignature: %s%n", mgen.getSignature()); @@ -896,9 +896,7 @@ private void instrument_all_methods( } // Note whether we want to track the daikon variables in this method - // boolean track = should_track(classname, mgen.getName(), methodEntryName(classname, - // mgen)); - boolean track = should_track(classname, mgen.getName(), classname + mgen); + boolean track = should_track(classname, mgen.getName(), methodEntryName(classname, mgen)); // We do not want to track bridge methods the compiler has synthesized as // they are overloaded on return type which normal Java does not support. @@ -921,9 +919,8 @@ private void instrument_all_methods( // reset class access flags in case they have been changed classBuilder.withFlags(access_flags); - // debug_transform.log(" Processing method %s, track=%b%n", simplify_method_name(mgen), - // track); - debug_transform.log(" Processing method %s, track=%b%n", mgen, track); + debug_transform.log( + " Processing method %s, track=%b%n", simplify_method_name(mgen), track); debug_transform.indent(); // local variables referenced from a lambda expression must be final or effectively final @@ -1207,7 +1204,8 @@ private void instrumentCode( lv.slot(), lv.name().stringValue(), lv.typeSymbol(), lv.startScope(), lv.endScope()); @SuppressWarnings("signature:assignment") // need JDK annotations @FieldDescriptor String lvFD = lv.typeSymbol().descriptorString(); - debugInstrument.log(" %s : %s%n", lv, convertDescriptorToFqBinaryName(lvFD)); + debugInstrument.log( + " %s : %s%n", lv, daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(lvFD)); } // Copy the modified instruction list to the output class. @@ -1253,7 +1251,7 @@ private void instrumentCode( // no codeModel if DCInstrument24 generated the method if (codeModel != null) { debugInstrument.log("Code Attributes:%n"); - for (java.lang.classfile.Attribute a : codeModel.attributes()) { + for (Attribute a : codeModel.attributes()) { debugInstrument.log(" %s%n", a); } } @@ -1284,7 +1282,8 @@ private void instrumentCode( // debuging code // case LocalVariableType lvt -> { // @FieldDescriptor String lvFD = lvt.signatureSymbol().signatureString(); - // System.out.printf(" %s : %s%n", lvt, convertDescriptorToFqBinaryName(lvFD)); } + // System.out.printf(" %s : %s%n", lvt, + // daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(lvFD)); } case LabelTarget l -> { if (ca.labelToBci(l.label()) == 0) { oldStartLabel = l.label(); @@ -1313,7 +1312,8 @@ private void instrumentCode( lv.slot(), lv.name().stringValue(), lv.typeSymbol(), lv.startScope(), lv.endScope()); @SuppressWarnings("signature:assignment") // need JDK annotations @FieldDescriptor String lvFD = lv.typeSymbol().descriptorString(); - debugInstrument.log(" %s : %s%n", lv, convertDescriptorToFqBinaryName(lvFD)); + debugInstrument.log( + " %s : %s%n", lv, daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(lvFD)); } // Copy the modified instruction list to the output class. @@ -1404,6 +1404,8 @@ boolean isJunitTrigger(String classname, String method_name) { // method in daikon.dcomp.DCRuntime. The Java runtime does not enforce the security check in this // case. + // UNDONE + /** * Instruments a JDK class to perform dynamic comparability and returns the new class definition. * A second version of each method in the class is created which is instrumented for @@ -1411,16 +1413,18 @@ boolean isJunitTrigger(String classname, String method_name) { * * @return the modified JavaClass */ - public JavaClass instrument_jdk() { + public byte @Nullable [] instrument_jdk(ClassInfo classInfo) { - String classname = gen.getClassName(); + @BinaryName String classname = classInfo.class_name; + // Don't know where I got this idea. They are executed. Don't remember why + // adding dcomp marker causes problems. // Don't instrument annotations. They aren't executed and adding // the marker argument causes subtle errors - if ((gen.getModifiers() & Const.ACC_ANNOTATION) != 0) { + if (classModel.flags().has(AccessFlag.ANNOTATION)) { debug_transform.log("Not instrumenting annotation %s%n", classname); - // MUST NOT RETURN NULL - return gen.getJavaClass().copy(); + // Return classfile unmodified. + return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); } int i = classname.lastIndexOf('.'); @@ -1430,7 +1434,8 @@ public JavaClass instrument_jdk() { String packageName = classname.substring(0, i); if (Premain.problem_packages.contains(packageName)) { debug_transform.log("Skipping problem package %s%n", packageName); - return gen.getJavaClass().copy(); + // Return classfile unmodified. + return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); } } @@ -1439,7 +1444,8 @@ public JavaClass instrument_jdk() { // See Premain.java for a list and explainations. if (Premain.problem_classes.contains(classname)) { debug_transform.log("Skipping problem class %s%n", classname); - return gen.getJavaClass().copy(); + // Return classfile unmodified. + return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); } dcompRuntimeClassname = "java.lang.DCRuntime"; } @@ -1477,7 +1483,7 @@ public JavaClass instrument_jdk() { continue; } - debug_transform.log(" Processing method %s%n", simplify_method_name(m)); + // debug_transform.log(" Processing method %s%n", simplify_method_name(m)); debug_transform.indent(); MethodGen mg = new MethodGen(m, classname, pool); @@ -1608,7 +1614,9 @@ public JavaClass instrument_jdk() { debug_transform.exdent(); debug_transform.log("Instrumentation complete: %s%n", classname); - return gen.getJavaClass().copy(); + // UNDONE + // Return classfile unmodified. + return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); } /** @@ -2993,8 +3001,8 @@ private Integer getAccessFlags(String classname) { debugInstrument.log("getAccessFlags: %s%n", classname); // Now check for FunctionalInterface searchloop: - for (java.lang.classfile.Attribute attribute : cm.attributes()) { - debugInstrument.log("attribute: " + attribute); + for (Attribute attribute : cm.attributes()) { + debugInstrument.log("attribute: %s%n", attribute); if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { for (final Annotation item : rvaa.annotations()) { String annotation = item.className().stringValue(); @@ -3293,7 +3301,7 @@ private List load_store_field( MethodGen24 mgen, MethodGen24.MInfo24 minfo, FieldInstruction f) { ClassDesc field_type = f.typeSymbol(); - debugInstrument.log("field_type: " + field_type + ", " + f.field().typeSymbol()); + debugInstrument.log("field_type: %s%n", field_type); int field_size = TypeKind.from(field_type).slotSize(); if (!field_type.isPrimitive()) { return null; @@ -3731,28 +3739,29 @@ boolean should_track(@BinaryName String className, String methodName, String ppt * Constructs a ppt entry name from a Method. * * @param fullClassName class name - * @param m method + * @param mgen method * @return corresponding ppt name */ - static String methodEntryName(String fullClassName, Method m) { + static String methodEntryName(String fullClassName, MethodGen24 mgen) { - // System.out.printf("classname = %s, method = %s, short_name = %s%n", - // fullClassName, m, m.getName()); + // System.out.printf("classname = %s, short_name = %s%n", + // fullClassName, mgen.getName()); // Get an array of the type names - Type[] argTypes = m.getArgumentTypes(); + ClassDesc[] argTypes = mgen.getParameterTypes(); String[] type_names = new String[argTypes.length]; for (int ii = 0; ii < argTypes.length; ii++) { - type_names[ii] = argTypes[ii].toString(); + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String paramFD = argTypes[ii].descriptorString(); + type_names[ii] = daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(paramFD); } - // Remove exceptions from the name - String full_name = m.toString(); - full_name = full_name.replaceFirst("\\s*throws.*", ""); + // // Remove exceptions from the name + // String full_name = m.toString(); + // full_name = full_name.replaceFirst("\\s*throws.*", ""); + // Note that full_name is not used; replaced with "". - return fullClassName - + "." - + DaikonWriter.methodEntryName(fullClassName, type_names, full_name, m.getName()); + return DaikonWriter.methodEntryName(fullClassName, type_names, "", mgen.getName()); } /** @@ -4691,7 +4700,7 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn instructions, 3, // maxStack 2); // maxLocals - boolean track = should_track(classname, mgen.getName(), classname + mgen); + boolean track = should_track(classname, mgen.getName(), methodEntryName(classname, mgen)); classBuilder.withMethod( "equals_dcomp_instrumented", mtdDComp, @@ -4769,7 +4778,7 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo MethodGen24 mgen = new MethodGen24( classname, classBuilder, "equals", access_flags, mtdNormal, instructions, 2, 2); - boolean track = should_track(classname, mgen.getName(), classname + mgen); + boolean track = should_track(classname, mgen.getName(), methodEntryName(classname, mgen)); classBuilder.withMethod( "equals", mtdDComp, @@ -4945,14 +4954,15 @@ protected String full_name(ClassModel cm, FieldModel fm) { /** * Return simplified name of a method. Both exceptions and annotations are removed. * - * @param m the method + * @param mgen the method * @return string containing the simplified method name */ - protected String simplify_method_name(Method m) { + protected String simplify_method_name(MethodGen24 mgen) { // Remove exceptions from the full method name - String full_name = m.toString().replaceFirst("\\s*throws.*", ""); + // String full_name = m.toString().replaceFirst("\\s*throws.*", ""); // Remove annotations from full method name - return full_name.replaceFirst("(?s) \\[.*", ""); + // return full_name.replaceFirst("(?s) \\[.*", ""); + return mgen.toString(); } // UNDONE consider making this a Java record @@ -5057,142 +5067,6 @@ private CodeElement retargetStartLabel(CodeElement inst) { } } - /** - * Format a field descriptor for output. The main difference between a descriptor and a signature - * is that the latter may contain type arguments. This routine was orginaly written for - * descriptors, but some support for type arguments has been added. - * - *

The output format is an extension of binary name format that includes primitives and arrays. - * It is almost identical to a fully qualified name, but using “$” instead of “.” to separate - * nested classes from their enclosing classes. - * - * @param descriptor the object to format - * @return a @FqBinaryName formatted string - */ - @SuppressWarnings("signature") // conversion method - public static @FqBinaryName String convertDescriptorToFqBinaryName( - @FieldDescriptor String descriptor) { - StringBuilder result = new StringBuilder(); - - int arrayDimensions = 0; - while (descriptor.charAt(0) == '[') { - arrayDimensions++; - @SuppressWarnings("signature") // string manipulation - @FieldDescriptor String descriptorFd = descriptor.substring(1); - descriptor = descriptorFd; - } - - // Convert primitive types - switch (descriptor.charAt(0)) { - case 'B': - result.append("byte"); - break; - case 'C': - result.append("char"); - break; - case 'D': - result.append("double"); - break; - case 'F': - result.append("float"); - break; - case 'I': - result.append("int"); - break; - case 'J': - result.append("long"); - break; - case 'S': - result.append("short"); - break; - case 'Z': - result.append("boolean"); - break; - case 'V': - result.append("void"); - break; - case 'L': // Object type, starts with 'L' and ends with ';' - result.append(descriptorToFqBinaryName(descriptor)); - break; - default: - throw new DynCompError("Invalid descriptor: " + descriptor); - } - - // Append array brackets if applicable - for (int i = 0; i < arrayDimensions; i++) { - result.append("[]"); - } - - return result.toString(); - } - - /** - * Format a class name that may contain type arguments. - * - * @param descriptor the object to format - * @return a @FqBinaryName formatted string - */ - @SuppressWarnings("signature") // conversion method - private static @FqBinaryName String descriptorToFqBinaryName(String descriptor) { - StringBuilder result = new StringBuilder(); - int genericStart = descriptor.indexOf('<'); - int genericEnd = descriptor.lastIndexOf('>'); - int endOfBaseType = descriptor.indexOf(';'); - - if (genericStart > 0 && genericEnd > genericStart) { - // Base type with generics - String baseType = descriptor.substring(1, genericStart).replace('/', '.'); - result.append(baseType).append('<'); - String genericPart = descriptor.substring(genericStart + 1, genericEnd); - result.append(typeArgumentsToBinaryNames(genericPart)); - result.append('>'); - } else if (endOfBaseType > 0) { - // Regular object type - result.append(descriptor.substring(1, endOfBaseType).replace('/', '.')); - } else { - throw new DynCompError("Malformed object type descriptor: " + descriptor); - } - return result.toString(); - } - - /** - * Format one or more type parameters. - * - * @param genericPart the type parameter(s) to format - * @return a string containing a list of types as binary names - */ - @SuppressWarnings("signature") // string manipulation - private static String typeArgumentsToBinaryNames(String genericPart) { - StringBuilder result = new StringBuilder(); - int depth = 0; - StringBuilder current = new StringBuilder(); - List params = new ArrayList<>(); - - for (int i = 0; i < genericPart.length(); i++) { - char c = genericPart.charAt(i); - if (c == '<') { - depth++; - current.append(c); - } else if (c == '>') { - depth--; - current.append(c); - } else if (c == ';' && depth == 0) { - current.append(c); - params.add(convertDescriptorToFqBinaryName(current.toString())); - current.setLength(0); // Clear the buffer - } else { - current.append(c); - } - } - - if (current.length() > 0) { - params.add(convertDescriptorToFqBinaryName(current.toString())); - } - - result.append(String.join(", ", params)); - return result.toString(); - } - /** * Create a new local variable whose scope is the full method. * From d26c1a34a4e49a833df314d6c81b599a088500c5 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 2 Sep 2025 18:26:10 -0700 Subject: [PATCH 081/211] turn off some debugging --- java/daikon/dcomp/DCInstrument24.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index e7d8555386..b34df5b01f 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -468,8 +468,8 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; // TEMPORARY - debugInstrument.enabled = false; debugInstrument.enabled = true; + debugInstrument.enabled = false; bcelDebug = debugInstrument.enabled; From 9f1f8081dc744116495baa4bd2efe47324ac8505 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 5 Sep 2025 14:39:48 -0700 Subject: [PATCH 082/211] make method public for BuildJDK24 to use --- java/daikon/dcomp/Instrument24.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index baa782a18f..702b4a7ba8 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -92,7 +92,7 @@ public static void print_call_stack() { * @param directory output location for the files * @param className the current class */ - private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName String className) { + public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName String className) { // Convert the classBytes to a BCEL JavaClass JavaClass c; try (ByteArrayInputStream bais = new ByteArrayInputStream(classBytes)) { From 5131aec8a01eba5d80d69e24bd20c5031e06864e Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 5 Sep 2025 14:40:31 -0700 Subject: [PATCH 083/211] fix problem with ClassDesc for null --- java/daikon/dcomp/CalcStack24.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 8e81cfed65..ffd353f80c 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -46,8 +46,7 @@ public class CalcStack24 { /** ClassDesc for 'null'. */ - @SuppressWarnings("nullness:assignment") - protected static final ClassDesc nullCD = null; + protected static final ClassDesc nullCD = ClassDesc.of("fake.ClassDecs.for.null"); /** * Calculates changes in contents of operand stack based on the symbolic execution of a Java @@ -94,7 +93,7 @@ protected static boolean calcOperandStack( { stack.pop(); // discard the index final ClassDesc t = stack.pop(); // pop the arrayref - if (t == null) { + if (t == null || nullCD.equals(t)) { stack.push(nullCD); // Do nothing stackwise --- a NullPointerException will be thrown when executed } else { @@ -249,7 +248,7 @@ protected static boolean calcOperandStack( case Opcode.CHECKCAST: { final ClassDesc t = stack.pop(); // pop the objectref - if (t == null) { + if (t == null || nullCD.equals(t)) { stack.push(nullCD); } else { TypeCheckInstruction tci = (TypeCheckInstruction) inst; From 50d2fd9f45da0a22c949ec5a1bc6055d94a24aee Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 5 Sep 2025 14:41:38 -0700 Subject: [PATCH 084/211] get BuildJDK24 working --- java/daikon/dcomp/BuildJDK24.java | 44 +- java/daikon/dcomp/DCInstrument24.java | 635 ++++++++++---------------- 2 files changed, 261 insertions(+), 418 deletions(-) diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index dc93e9794b..2fb37c81be 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -44,13 +44,13 @@ import org.checkerframework.checker.signature.qual.BinaryName; /** - * BuildJDK(24) uses {@link DCInstrument} to add comparability instrumentation to Java class files, + * BuildJDK24 uses {@link DCInstrument24} to add comparability instrumentation to Java class files, * then stores the modified files into a directory identified by a (required) command line argument. * - *

DCInstrument duplicates each method of a class file. The new methods are distinguished by the - * addition of a final parameter of type DCompMarker and are instrumented to track comparability. - * Based on its invocation arguments, DynComp will decide whether to call the instrumented or - * uninstrumented version of a method. + *

DCInstrument24 duplicates each method of a class file. The new methods are distinguished by + * the addition of a final parameter of type DCompMarker and are instrumented to track + * comparability. Based on its invocation arguments, DynComp will decide whether to call the + * instrumented or uninstrumented version of a method. */ @SuppressWarnings({ "mustcall:type.argument", @@ -76,14 +76,17 @@ private BuildJDK24() {} /** Name of file in output jar containing the static-fields map. */ private static String static_field_id_filename = "dcomp_jdk_static_field_id"; + @SuppressWarnings("nullness") + private static daikon.dcomp.Instrument24 inst24; + /** - * Collects names of all methods that DCInstrument could not process. Should be empty. Format is + * Collects names of all methods that DCInstrument24 could not process. Should be empty. Format is * <fully-qualified class name>.<method name> */ private static List skipped_methods = new ArrayList<>(); /** - * A list of methods known to cause DCInstrument to fail. This is used to remove known problems + * A list of methods known to cause DCInstrument24 to fail. This is used to remove known problems * from the list of failures displayed at the end of BuildJDK's execution. Format is * <fully-qualified class name>.<method name> */ @@ -116,7 +119,7 @@ public static void main(String[] args) throws IOException { new Options( "daikon.BuildJDK24 [options] dest_dir [classfiles...]", DynComp.class, - DCInstrument.class); + DCInstrument24.class); String[] cl_args = options.parse(true, args); if (cl_args.length < 1) { System.err.println("must specify destination dir"); @@ -124,6 +127,7 @@ public static void main(String[] args) throws IOException { System.exit(1); } verbose = DynComp.verbose; + inst24 = new daikon.dcomp.Instrument24(); File dest_dir = new File(cl_args[0]); @@ -146,9 +150,9 @@ public static void main(String[] args) throws IOException { // But if we're using it to fix a broken classfile, then we need // to restore the static-fields map from when our runtime jar was originally // built. We assume it is in the destination directory. - DCInstrument.restore_static_field_id(new File(dest_dir, static_field_id_filename)); + DCInstrument24.restore_static_field_id(new File(dest_dir, static_field_id_filename)); System.out.printf( - "Restored %d entries in static map.%n", DCInstrument.static_field_id.size()); + "Restored %d entries in static map.%n", DCInstrument24.static_field_id.size()); class_stream_map = new HashMap<>(); for (String classFileName : class_files) { @@ -180,8 +184,8 @@ public static void main(String[] args) throws IOException { build.addInterfaceClasses(dest_dir.getName()); // Write out the file containing the static-fields map. - System.out.printf("Found %d static fields.%n", DCInstrument.static_field_id.size()); - DCInstrument.save_static_field_id(new File(dest_dir, static_field_id_filename)); + System.out.printf("Found %d static fields.%n", DCInstrument24.static_field_id.size()); + DCInstrument24.save_static_field_id(new File(dest_dir, static_field_id_filename)); // Write out the list of all classes in the jar file File jdk_classes_file = new File(dest_dir, "java/lang/jdk_classes.txt"); @@ -392,14 +396,22 @@ void instrument_classes(File dest_dir, Map class_stream_map ClassFile.ClassHierarchyResolverOption.of( ClassHierarchyResolver.ofResourceParsing(loader))); ClassModel classModel; + byte[] buffer; + // Parse the bytes of the classfile, die on any errors. try (InputStream is = class_stream_map.get(classFileName)) { - byte[] buffer = is.readAllBytes(); + buffer = is.readAllBytes(); classModel = classFile.parse(buffer); } catch (Throwable e) { throw new Error("Failed to parse classfile " + classFileName, e); } + @SuppressWarnings("signature:assignment") // type conversion + @BinaryName String classname = classFileName.replace(".class", "").replace('/', '.'); + if (DynComp.dump) { + inst24.outputDebugFiles(buffer, inst24.debug_uninstrumented_dir, classname); + } + // Instrument the class file. try { instrumentClassFile( @@ -505,14 +517,18 @@ private void instrumentClassFile( System.out.printf("processing target %s%n", classFileName); } + // remove '.class' first @SuppressWarnings("signature:assignment") // type conversion - @BinaryName String classname = classFileName.replace('/', '.'); + @BinaryName String classname = classFileName.replace(".class", "").replace('/', '.'); ClassInfo classInfo = new ClassInfo(classname, loader); DCInstrument24 dci = new DCInstrument24(classFile, classModel, true); byte[] classBytes = dci.instrument_jdk(classInfo); if (classBytes == null) { throw new Error("Instrumentation failed: " + classFile); } + if (DynComp.dump) { + inst24.outputDebugFiles(classBytes, inst24.debug_instrumented_dir, classname); + } skipped_methods.addAll(dci.get_skipped_methods()); File classfile = new File(classFileName); File dir; diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index b34df5b01f..eaf75673ff 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -102,17 +102,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.function.Consumer; import java.util.regex.Pattern; -import org.apache.bcel.Const; -import org.apache.bcel.classfile.Method; -import org.apache.bcel.generic.AnnotationEntryGen; -import org.apache.bcel.generic.ClassGen; -import org.apache.bcel.generic.ClassGenException; -import org.apache.bcel.generic.ConstantPoolGen; -import org.apache.bcel.generic.InstructionFactory; -import org.apache.bcel.generic.InstructionHandle; -import org.apache.bcel.generic.InstructionList; -import org.apache.bcel.generic.MethodGen; -import org.apache.bcel.generic.Type; import org.checkerframework.checker.lock.qual.GuardSatisfied; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; import org.checkerframework.checker.nullness.qual.KeyFor; @@ -143,9 +132,6 @@ @SuppressWarnings("nullness") public class DCInstrument24 { - /** UNDONE: bogus decl to compile old code. */ - protected ConstantPoolGen pool; - /** A log to which to print debugging information about program instrumentation. */ protected SimpleLog debugInstrument = new SimpleLog(false); @@ -162,9 +148,6 @@ public class DCInstrument24 { /** The index of this method in SharedData.methods. */ int cur_method_info_index = 0; - /** The MethodInfo for the current method. */ - @Nullable MethodInfo curMethodInfo; - /** Start of user code for current method, prior to instrumenting, as a CodeModel Label. */ protected @MonotonicNonNull Label oldStartLabel; @@ -220,21 +203,12 @@ public int compare(WorkItem w1, WorkItem w2) { /** True if we tracking any methods in the current class. */ private boolean trackClass = false; - /** ClassGen for the current class. */ - protected ClassGen gen; - /** ClassGen for the current class. */ protected ClassGen24 classGen; - /** MethodGen for the current method. */ - protected MethodGen mgen; - /** Is the current class a member of the JDK? */ protected boolean in_jdk; - /** The BCEL InstructionFactory for generating byte code instructions. */ - protected InstructionFactory ifact; - /** Has an {@code } method completed initialization? */ protected boolean constructor_is_initialized; @@ -461,7 +435,6 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk dcompRuntimeClassname = Signatures.addPackage(dcomp_prefix, "DCRuntime"); DCRuntime.instrumentation_interface = Signatures.addPackage(dcomp_prefix, "DCompInstrumented"); - // System.out.printf("DCInstrument %s%n", orig_class.getClassName()); // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; debug_native.enabled = DynComp.debug; @@ -486,8 +459,8 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk } /** - * Instruments the original class to perform dynamic comparabilty and returns the new class - * definition. + * Instruments a class to perform dynamic comparability and returns the new class definition. A + * second version of each method in the class is created which is instrumented for comparability. * * @return the modified JavaClass */ @@ -547,7 +520,13 @@ private void instrumentClass( runtimeCD = ClassDesc.of(dcompRuntimeClassname); poolBuilder = classBuilder.constantPool(); - debug_transform.log("%nInstrumenting class: %s%n", classInfo.class_name); + if (in_jdk) { + debug_transform.log("%nInstrumenting class(JDK): %s%n", classInfo.class_name); + } else { + debug_transform.log("%nInstrumenting class: %s%n", classInfo.class_name); + } + debug_transform.indent(); + debugInstrument.log("Attributes:%n"); for (Attribute a : classModel.attributes()) { debugInstrument.log(" %s%n", a); @@ -558,169 +537,171 @@ private void instrumentClass( debugInstrument.log(" %s%n", ce.asInternalName()); } - debug_transform.indent(); - trackClass = false; - // Handle object methods for this class handle_object(classGen); - // A very tricky special case: If JUnit is running and the current - // class has been passed to JUnit on the command line, then this - // is a JUnit test class and our normal instrumentation will - // cause JUnit to complain about multiple constructors and - // methods that should have no arguments. To work around these - // restrictions, we replace rather than duplicate each method - // we instrument and we do not add the dcomp marker argument. - // We must also remember the class name so if we see a subsequent - // call to one of its methods we do not add the dcomp argument. - - debugInstrument.log("junit_state: %s%n", junit_state); - - StackTraceElement[] stack_trace; - - switch (junit_state) { - case NOT_SEEN: - if (classname.startsWith("org.junit")) { - junit_state = JUnitState.STARTING; - } - break; + trackClass = false; + boolean junit_test_class = false; - case STARTING: - // Now check to see if JUnit is looking for test class(es). - stack_trace = Thread.currentThread().getStackTrace(); - // [0] is getStackTrace - for (int i = 1; i < stack_trace.length; i++) { - if (debugJUnitAnalysis) { - System.out.printf( - "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); - } - if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { - junit_parse_seen = true; - junit_state = JUnitState.TEST_DISCOVERY; - break; + if (!in_jdk) { + // A very tricky special case: If JUnit is running and the current + // class has been passed to JUnit on the command line, then this + // is a JUnit test class and our normal instrumentation will + // cause JUnit to complain about multiple constructors and + // methods that should have no arguments. To work around these + // restrictions, we replace rather than duplicate each method + // we instrument and we do not add the dcomp marker argument. + // We must also remember the class name so if we see a subsequent + // call to one of its methods we do not add the dcomp argument. + + debugInstrument.log("junit_state: %s%n", junit_state); + + StackTraceElement[] stack_trace; + + switch (junit_state) { + case NOT_SEEN: + if (classname.startsWith("org.junit")) { + junit_state = JUnitState.STARTING; } - } - break; - - case TEST_DISCOVERY: - // Now check to see if JUnit is done looking for test class(es). - boolean local_junit_parse_seen = false; - stack_trace = Thread.currentThread().getStackTrace(); - // [0] is getStackTrace - for (int i = 1; i < stack_trace.length; i++) { - if (debugJUnitAnalysis) { - System.out.printf( - "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); - } - if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { - local_junit_parse_seen = true; - break; + break; + + case STARTING: + // Now check to see if JUnit is looking for test class(es). + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + if (debugJUnitAnalysis) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + junit_parse_seen = true; + junit_state = JUnitState.TEST_DISCOVERY; + break; + } } - } - if (junit_parse_seen && !local_junit_parse_seen) { - junit_parse_seen = false; - junit_state = JUnitState.RUNNING; - } else if (!junit_parse_seen && local_junit_parse_seen) { - junit_parse_seen = true; - } - break; + break; - case RUNNING: - if (debugJUnitAnalysis) { + case TEST_DISCOVERY: + // Now check to see if JUnit is done looking for test class(es). + boolean local_junit_parse_seen = false; stack_trace = Thread.currentThread().getStackTrace(); // [0] is getStackTrace for (int i = 1; i < stack_trace.length; i++) { - System.out.printf( - "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + if (debugJUnitAnalysis) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + local_junit_parse_seen = true; + break; + } } - } - // nothing to do - break; + if (junit_parse_seen && !local_junit_parse_seen) { + junit_parse_seen = false; + junit_state = JUnitState.RUNNING; + } else if (!junit_parse_seen && local_junit_parse_seen) { + junit_parse_seen = true; + } + break; - default: - throw new DynCompError("invalid junit_state"); - } + case RUNNING: + if (debugJUnitAnalysis) { + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + } + // nothing to do + break; - debugInstrument.log("junit_state: %s%n", junit_state); + default: + throw new DynCompError("invalid junit_state"); + } - boolean junit_test_class = false; - if (junit_state == JUnitState.TEST_DISCOVERY) { - // We have a possible JUnit test class. We need to verify by - // one of two methods. Either the class is a subclass of - // junit.framework.TestCase or one of its methods has a - // RuntimeVisibleAnnotation of org/junit/Test. - Deque classnameStack = new ArrayDeque<>(); - String super_class; - String this_class = classname; - while (true) { - super_class = getSuperclassName(this_class); - if (super_class == null) { - // something has gone wrong - break; - } - if (debugJUnitAnalysis) { - System.out.printf("this_class: %s%n", this_class); - System.out.printf("super_class: %s%n", super_class); - } - if (super_class.equals("junit.framework.TestCase")) { - // This is a junit test class and so are the - // elements of classnameStack. - junit_test_class = true; - junitTestClasses.add(this_class); - while (!classnameStack.isEmpty()) { - junitTestClasses.add(classnameStack.pop()); + debugInstrument.log("junit_state: %s%n", junit_state); + + if (junit_state == JUnitState.TEST_DISCOVERY) { + // We have a possible JUnit test class. We need to verify by + // one of two methods. Either the class is a subclass of + // junit.framework.TestCase or one of its methods has a + // RuntimeVisibleAnnotation of org/junit/Test. + Deque classnameStack = new ArrayDeque<>(); + String super_class; + String this_class = classname; + while (true) { + super_class = getSuperclassName(this_class); + if (super_class == null) { + // something has gone wrong + break; } - break; - } else if (super_class.equals("java.lang.Object")) { - // We're done; not a junit test class. - // Ignore items on classnameStack. - break; + if (debugJUnitAnalysis) { + System.out.printf("this_class: %s%n", this_class); + System.out.printf("super_class: %s%n", super_class); + } + if (super_class.equals("junit.framework.TestCase")) { + // This is a junit test class and so are the + // elements of classnameStack. + junit_test_class = true; + junitTestClasses.add(this_class); + while (!classnameStack.isEmpty()) { + junitTestClasses.add(classnameStack.pop()); + } + break; + } else if (super_class.equals("java.lang.Object")) { + // We're done; not a junit test class. + // Ignore items on classnameStack. + break; + } + // Recurse and check the super_class. + classnameStack.push(this_class); + this_class = super_class; } - // Recurse and check the super_class. - classnameStack.push(this_class); - this_class = super_class; } - } - // Even if we have not detected that JUnit is active, any class that - // contains a method with a RuntimeVisibleAnnotation of org/junit/Test - // needs to be marked as a JUnit test class. (Daikon issue #536) + // Even if we have not detected that JUnit is active, any class that + // contains a method with a RuntimeVisibleAnnotation of org/junit/Test + // needs to be marked as a JUnit test class. (Daikon issue #536) - if (!junit_test_class) { - // need to check for junit Test annotation on a method - searchloop: - for (MethodModel mm : classModel.methods()) { - for (Attribute attribute : mm.attributes()) { - if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { - if (debugJUnitAnalysis) { - System.out.printf("attribute: %s%n", attribute); - } - for (final Annotation item : rvaa.annotations()) { - String description = item.className().stringValue(); + if (!junit_test_class) { + // need to check for junit Test annotation on a method + searchloop: + for (MethodModel mm : classModel.methods()) { + for (Attribute attribute : mm.attributes()) { + if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { if (debugJUnitAnalysis) { - System.out.printf("item: %s%n", description); + System.out.printf("attribute: %s%n", attribute); } - if (description.endsWith("org/junit/Test;") // JUnit 4 - || description.endsWith("org/junit/jupiter/api/Test;") // JUnit 5 - ) { - junit_test_class = true; - junitTestClasses.add(classname); - break searchloop; + for (final Annotation item : rvaa.annotations()) { + String description = item.className().stringValue(); + if (debugJUnitAnalysis) { + System.out.printf("item: %s%n", description); + } + if (description.endsWith("org/junit/Test;") // JUnit 4 + || description.endsWith("org/junit/jupiter/api/Test;") // JUnit 5 + ) { + junit_test_class = true; + junitTestClasses.add(classname); + break searchloop; + } } } } } } - } - if (junit_test_class) { - debugInstrument.log("JUnit test class: %s%n", classname); - } else { - debugInstrument.log("Not a JUnit test class: %s%n", classname); + if (junit_test_class) { + debugInstrument.log("JUnit test class: %s%n", classname); + } else { + debugInstrument.log("Not a JUnit test class: %s%n", classname); + } } + classInfo.isJunitTestClass = junit_test_class; - instrument_all_methods(classModel, classBuilder, classInfo); + instrumentAllMethods(classModel, classBuilder, classInfo); // Have all top-level classes implement our interface if (classGen.getSuperclassName().equals("java.lang.Object")) { @@ -743,23 +724,27 @@ private void instrumentClass( // Add tag accessor methods for each primitive in the class create_tag_accessors(classGen); - // If no clinit method, we need to add our own. - if (!classInfo.hasClinit) { - createClinit(classBuilder, classInfo); - } - - debug_transform.exdent(); + // We don't need to track class initialization in the JDK because + // that is only used when printing comparability which is only done + // for client classes + if (!in_jdk) { + // If no clinit method, we need to add our own. + if (!classInfo.hasClinit) { + createClinit(classBuilder, classInfo); + } - // The code that builds the list of daikon variables for each ppt - // needs to know what classes are instrumented. Its looks in the - // Chicory runtime for this information. - if (trackClass) { - debug_transform.log("DCInstrument adding %s to all class list%n", classInfo.class_name); - synchronized (daikon.chicory.SharedData.all_classes) { - daikon.chicory.SharedData.all_classes.add(classInfo); + // The code that builds the list of daikon variables for each ppt + // needs to know what classes are instrumented. Its looks in the + // Chicory runtime for this information. + if (trackClass) { + debug_transform.log("DCInstrument adding %s to all class list%n", classInfo.class_name); + synchronized (daikon.chicory.SharedData.all_classes) { + daikon.chicory.SharedData.all_classes.add(classInfo); + } } } + debug_transform.exdent(); debug_transform.log("Instrumentation complete: %s%n", classInfo.class_name); } @@ -843,7 +828,7 @@ private List call_initNotify(ConstantPoolBuilder poolBuilder, Class * @param classBuilder for current class * @param classInfo for the given class */ - private void instrument_all_methods( + private void instrumentAllMethods( ClassModel classModel, ClassBuilder classBuilder, ClassInfo classInfo) { @BinaryName String classname = classInfo.class_name; @@ -895,29 +880,44 @@ private void instrument_all_methods( debugInstrument.log("mtd.displayDescriptor: %s%n", mtd.displayDescriptor()); } - // Note whether we want to track the daikon variables in this method - boolean track = should_track(classname, mgen.getName(), methodEntryName(classname, mgen)); + boolean track = false; + if (!in_jdk) { + // Note whether we want to track the daikon variables in this method + track = should_track(classname, mgen.getName(), methodEntryName(classname, mgen)); - // We do not want to track bridge methods the compiler has synthesized as - // they are overloaded on return type which normal Java does not support. - if ((mgen.getAccessFlagsMask() & ClassFile.ACC_BRIDGE) != 0) { - track = false; - } + // We do not want to track bridge methods the compiler has synthesized as + // they are overloaded on return type which normal Java does not support. + if ((mgen.getAccessFlagsMask() & ClassFile.ACC_BRIDGE) != 0) { + track = false; + } - // If any one method is tracked, then the class is tracked. - if (track) { - trackClass = true; - } + // If any one method is tracked, then the class is tracked. + if (track) { + trackClass = true; + } - // If we are tracking variables, make sure the class is public - int access_flags = classModel.flags().flagsMask(); - if (track && (access_flags & ClassFile.ACC_PUBLIC) == 0) { - access_flags |= ClassFile.ACC_PUBLIC; - access_flags &= ~ClassFile.ACC_PROTECTED; - access_flags &= ~ClassFile.ACC_PRIVATE; + // If we are tracking variables, make sure the class is public + int access_flags = classModel.flags().flagsMask(); + if (track && (access_flags & ClassFile.ACC_PUBLIC) == 0) { + access_flags |= ClassFile.ACC_PUBLIC; + access_flags &= ~ClassFile.ACC_PROTECTED; + access_flags &= ~ClassFile.ACC_PRIVATE; + } + // reset class access flags in case they have been changed + classBuilder.withFlags(access_flags); + } else { + // If JDK, don't modify class initialization methods. They can't affect + // user comparability and there isn't any way to get a second + // copy of them. + if (mgen.isClinit()) { + debugInstrument.log("Copying method: %s%n", mgen.getName()); + debugInstrument.indent(); + outputMethodUnchanged(classBuilder, mm, mgen); + debugInstrument.exdent(); + debugInstrument.log("End of copy%n"); + continue; + } } - // reset class access flags in case they have been changed - classBuilder.withFlags(access_flags); debug_transform.log( " Processing method %s, track=%b%n", simplify_method_name(mgen), track); @@ -970,11 +970,20 @@ private void instrument_all_methods( debug_transform.exdent(); } catch (Throwable t) { - if (t instanceof DynCompError) { - throw t; + if (debugInstrument.enabled) { + t.printStackTrace(); + } + String method = classname + "." + mm.methodName().stringValue(); + skip_method(method); + if (quit_if_error) { + if (t instanceof DynCompError) { + throw t; + } + throw new DynCompError("Unexpected error processing " + method, t); + } else { + System.err.printf("Unexpected error processing %s: %s%n", method, t); + System.err.printf("Method is NOT instrumented.%n"); } - throw new DynCompError( - "Unexpected error processing " + classname + "." + mm.methodName().stringValue(), t); } } @@ -1239,7 +1248,7 @@ private void instrumentCode( // and exit line numbers (information not available via reflection) // and add it to the list for this class. MethodInfo mi = null; - if (trackMethod) { + if (trackMethod && !in_jdk) { mi = create_method_info(classInfo, mgen); classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); @@ -1275,15 +1284,7 @@ private void instrumentCode( debugInstrument.log("CodeElement: %s%n", ce); switch (ce) { case LocalVariable lv -> {} // we have alreay processed these - // debugging code - // case LocalVariable lv -> { - // System.out.printf("Local start: %s end: %s%n", lv.startScope(), lv.endScope()); } case LocalVariableType lvt -> {} // we can discard local variable types - // debuging code - // case LocalVariableType lvt -> { - // @FieldDescriptor String lvFD = lvt.signatureSymbol().signatureString(); - // System.out.printf(" %s : %s%n", lvt, - // daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(lvFD)); } case LabelTarget l -> { if (ca.labelToBci(l.label()) == 0) { oldStartLabel = l.label(); @@ -1300,7 +1301,7 @@ private void instrumentCode( // Instrument the method instrumentCodeList(codeModel, mgen, minfo, codeList); - if (trackMethod) { + if (trackMethod && !in_jdk) { add_enter(mgen, minfo, codeList, DCRuntime.methods.size() - 1); add_exit(mgen, mi, minfo, codeList, DCRuntime.methods.size() - 1); } @@ -1404,8 +1405,6 @@ boolean isJunitTrigger(String classname, String method_name) { // method in daikon.dcomp.DCRuntime. The Java runtime does not enforce the security check in this // case. - // UNDONE - /** * Instruments a JDK class to perform dynamic comparability and returns the new class definition. * A second version of each method in the class is created which is instrumented for @@ -1450,173 +1449,21 @@ boolean isJunitTrigger(String classname, String method_name) { dcompRuntimeClassname = "java.lang.DCRuntime"; } - debug_transform.log("Instrumenting class(JDK) %s%n", classname); - debug_transform.indent(); - - // Handle object methods for this class - // handle_object(classGen); - - // Have all top-level classes implement our interface - if (gen.getSuperclassName().equals("java.lang.Object")) { - // Add equals method if it doesn't already exist. This ensures - // that an instrumented version, equals(Object, DCompMarker), - // will be created in this class. - Method eq = gen.containsMethod("equals", "(Ljava/lang/Object;)Z"); - if (eq == null) { - debugInstrument.log("Added equals method%n"); - // add_equals_method(gen); - } - // Add DCompInstrumented interface and the required - // equals_dcomp_instrumented method. - // add_dcomp_interface(gen); - } - - // Process each method - for (Method m : gen.getMethods()) { - - // tag_frame_local = null; - try { - // Don't modify class initialization methods. They can't affect - // user comparability and there isn't any way to get a second - // copy of them. - if (BcelUtil.isClinit(m)) { - continue; - } - - // debug_transform.log(" Processing method %s%n", simplify_method_name(m)); - debug_transform.indent(); - - MethodGen mg = new MethodGen(m, classname, pool); - mgen = mg; // copy to global - - InstructionList il = mg.getInstructionList(); - boolean has_code = (il != null); - // if (has_code) { - // setCurrentStackMapTable(mg, gen.getMajor()); - // buildUninitializedNewMap(il); - // } - // - // fixLocalVariableTable(mg); - - // If the method is native - if (mg.isNative()) { - - // Create Java code that cleans up the tag stack and calls the real native method. - // fix_native(gen, mg); - has_code = true; - // setCurrentStackMapTable(mg, gen.getMajor()); - - // Add the DCompMarker argument to distinguish our version - // add_dcomp_arg(mg); - - } else { // normal method - - // Add the DCompMarker argument to distinguish our version - // add_dcomp_arg(mg); - - // Instrument the method - if (has_code) { - // Create the local to store the tag frame for this method - // tag_frame_local = create_tag_frame_local(mg); - // build_exception_handler(mg); - // instrument_method(mg); - // install_exception_handler(mg); - } - } - - if (has_code) { - // updateUninitializedNewOffsets(mg.getInstructionList()); - // createNewStackMapAttribute(mg); - mg.setMaxLocals(); - mg.setMaxStack(); - } else { - mg.removeCodeAttributes(); - mg.removeLocalVariables(); - } - - // remove_local_variable_type_table(mg); - - // We do not want to copy the @HotSpotIntrinsicCandidate annotations from - // the original method to our instrumented method as the signature will - // not match anything in the JVM's list. This won't cause an execution - // problem but will produce a massive number of warnings. - // JDK 11: @HotSpotIntrinsicCandidate - // JDK 17: @IntrinsicCandidate - AnnotationEntryGen[] aes = mg.getAnnotationEntries(); - for (AnnotationEntryGen item : aes) { - String type = item.getTypeName(); - if (type.endsWith("IntrinsicCandidate;")) { - mg.removeAnnotationEntry(item); - } - } - - try { - if (has_code) { - il = mg.getInstructionList(); - InstructionHandle end = il.getEnd(); - int length = end.getPosition() + end.getInstruction().getLength(); - if (length >= Const.MAX_CODE_SIZE) { - throw new ClassGenException( - "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); - } - } - gen.addMethod(mg.getMethod()); - } catch (Exception e) { - String s = e.getMessage(); - if (s == null) { - throw e; - } - if (s.startsWith("Branch target offset too large") - || s.startsWith("Code array too big")) { - System.err.printf( - "DynComp warning: ClassFile: %s - method %s is too large to instrument and is" - + " being skipped.%n", - classname, mg.getName()); - // Build a dummy instrumented method that has DCompMarker - // argument and no instrumentation. - // first, restore unmodified method - mg = new MethodGen(m, classname, pool); - // restore StackMapTable - // setCurrentStackMapTable(mg, gen.getMajor()); - // Add the DCompMarker argument - // add_dcomp_arg(mg); - // remove_local_variable_type_table(mg); - // try again - gen.addMethod(mg.getMethod()); - } else { - throw e; - } - } - - debug_transform.exdent(); - } catch (Throwable t) { - if (debugInstrument.enabled) { - t.printStackTrace(); - } - skip_method(mgen); - if (quit_if_error) { - throw new Error("Unexpected error processing " + classname + "." + m.getName(), t); - } else { - System.err.printf("Unexpected error processing %s.%s: %s%n", classname, m.getName(), t); - System.err.printf("Method is NOT instrumented.%n"); - } + try { + return classFile.build( + classModel.thisClass().asSymbol(), + classBuilder -> instrumentClass(classBuilder, classModel, classInfo)); + } catch (Throwable t) { + if (debugInstrument.enabled) { + t.printStackTrace(); } + System.err.printf( + "DynComp warning: Class %s is being skipped due to the following:%n", + classInfo.class_name); + System.err.printf("%s.%n", t); + // Return classfile unmodified. + return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); } - - // Add tag accessor methods for each primitive in the class - // create_tag_accessors(gen); - - // We don't need to track class initialization in the JDK because - // that is only used when printing comparability which is only done - // for client classes - // track_class_init(); - - debug_transform.exdent(); - debug_transform.log("Instrumentation complete: %s%n", classname); - - // UNDONE - // Return classfile unmodified. - return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); } /** @@ -1701,6 +1548,7 @@ private void instrumentCodeList( locals = new ClassDesc[mgen.getMaxLocals()]; // UNDONE: Should we init locals for 'this' and params only? for (final LocalVariable lv : mgen.localsTable) { + // System.out.printf("local(%d): %s%n", lv.slot(), lv.typeSymbol()); locals[lv.slot()] = lv.typeSymbol(); } @@ -1769,11 +1617,11 @@ private void instrumentCodeList( // This should match the index into stacks we used above. inst_index = li.nextIndex(); while (li.hasNext()) { - // System.out.println("inst indexes: " + inst_index + ", " + li.nextIndex()); inst = li.next(); if (DCInstrument24.debugOperandStack) { System.out.println("code element in: " + inst); + System.out.println("current stack: " + stacks[inst_index]); } // Get the translation for this instruction (if any) List new_il = instrumentInstruction(mgen, minfo, inst, stacks[inst_index]); @@ -1870,10 +1718,10 @@ protected static void verifyOperandStackMatches( * Adds the method name and containing class name to {@code skip_methods}, the list of * uninstrumented methods. * - * @param mg method to add to skipped_methods list + * @param method method to add to skipped_methods list */ - void skip_method(MethodGen mg) { - skipped_methods.add(mg.getClassName() + "." + mg.getName()); + void skip_method(String method) { + skipped_methods.add(method); } /** @@ -2675,7 +2523,6 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge System.out.println("InvokeInst: " + invoke); System.out.println("returnType: " + returnType); System.out.println("classname: " + classname); - // System.out.println("ref_type: " + invoke.getReferenceType(pool)); } if (is_object_equals(methodName, returnType, argTypes)) { @@ -3744,9 +3591,6 @@ boolean should_track(@BinaryName String className, String methodName, String ppt */ static String methodEntryName(String fullClassName, MethodGen24 mgen) { - // System.out.printf("classname = %s, short_name = %s%n", - // fullClassName, mgen.getName()); - // Get an array of the type names ClassDesc[] argTypes = mgen.getParameterTypes(); String[] type_names = new String[argTypes.length]; @@ -3778,21 +3622,6 @@ InvokeInstruction dcr_call(String methodName, ClassDesc returnType, ClassDesc[] return InvokeInstruction.of(Opcode.INVOKESTATIC, mre); } - /** - * Convenience function to construct a call to a static method in DCRuntime. - * - * @param methodName method to call - * @param returnType type of method return - * @param argTypes array of method argument types - * @return InvokeInstruction for the call - */ - org.apache.bcel.generic.InvokeInstruction dcr_call( - String methodName, Type returnType, Type[] argTypes) { - - return ifact.createInvoke( - dcompRuntimeClassname, methodName, returnType, argTypes, Const.INVOKESTATIC); - } - /** * Create the code to call discard_tag(tag_count). If inst is not null, append it to the end of * that code. @@ -4195,14 +4024,14 @@ void fix_native(MethodGen24 mgen) { // NOTE: This method was deleted in JDK 9. At some point we should remove support. if (mgen.getName().equals("getCallerClass") && (argTypes.length == 1) // 'int depth' - && gen.getClassName().equals("sun.reflect.Reflection")) { + && mgen.getClassName().equals("sun.reflect.Reflection")) { // The call returns the class 'depth' frames up the stack. Since we have added // our wrapper method call in between, we need to increment that number by 1. il.add(LoadInstruction.of(TypeKind.INT, 0)); // load depth il.add(loadIntegerConstant(1)); il.add(OperatorInstruction.of(Opcode.IADD)); - // System.out.printf("adding 1 in %s.%s%n", gen.getClassName(), + // System.out.printf("adding 1 in %s.%s%n", mgen.getClassName(), // mgen.getName()); } else { // normal call @@ -4933,8 +4762,6 @@ static void restore_static_field_id(File file) throws IOException { String[] key_val = line.split(" *"); assert !static_field_id.containsKey(key_val[0]) : key_val[0] + " " + key_val[1]; static_field_id.put(key_val[0], Integer.valueOf(key_val[1])); - // System.out.printf("Adding %s %s to static map%n", key_val[0], - // key_val[1]); } } } From c5b06c00835fa8e5743b3618026300bdc4588da7 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 6 Sep 2025 17:07:07 -0700 Subject: [PATCH 085/211] Update java/daikon/dcomp/BcelUtils24.java Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- java/daikon/dcomp/BcelUtils24.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 31b20f6904..5219c857da 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -16,7 +16,7 @@ import java.util.ListIterator; import org.checkerframework.checker.signature.qual.Identifier; -/** This class provides utility methods to ...??? */ +/** This class provides utility methods for manipulating bytecode structures in the Java 24 instrumentation pipeline, including operations on local variables, parameter types, and instruction adjustments. */ @SuppressWarnings("nullness") public class BcelUtils24 { From 013d9de6eceab779f1520626db3acdb3cde279a0 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 6 Sep 2025 17:20:24 -0700 Subject: [PATCH 086/211] add missing javadoc --- java/daikon/dcomp/BcelUtils24.java | 6 +++++- java/daikon/dcomp/BuildJDK24.java | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 5219c857da..7c305e35ca 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -16,7 +16,11 @@ import java.util.ListIterator; import org.checkerframework.checker.signature.qual.Identifier; -/** This class provides utility methods for manipulating bytecode structures in the Java 24 instrumentation pipeline, including operations on local variables, parameter types, and instruction adjustments. */ +/** + * This class provides utility methods for manipulating bytecode structures in the Java 24 + * instrumentation pipeline, including operations on local variables, parameter types, and + * instruction adjustments. + */ @SuppressWarnings("nullness") public class BcelUtils24 { diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 2fb37c81be..3c2ed5095a 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -76,6 +76,7 @@ private BuildJDK24() {} /** Name of file in output jar containing the static-fields map. */ private static String static_field_id_filename = "dcomp_jdk_static_field_id"; + /** Allow BuildJDK24 to access outputDebugFiles. */ @SuppressWarnings("nullness") private static daikon.dcomp.Instrument24 inst24; From d0fb80db44fefa19f46a2fc5abd15b9db366b5ac Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 8 Sep 2025 15:37:27 -0700 Subject: [PATCH 087/211] coderabbitai suggested changes --- java/daikon/chicory/Instrument24.java | 2 +- java/daikon/chicory/MethodGen24.java | 14 +++++++------- java/daikon/dcomp/BcelUtils24.java | 9 ++++----- java/daikon/dcomp/CalcStack24.java | 11 ++++++++--- java/daikon/dcomp/ClassGen24.java | 6 +++--- java/daikon/dcomp/OperandStack24.java | 2 +- java/daikon/dcomp/Premain.java | 2 +- tests/daikon-tests/junit5/Makefile.user | 4 ++-- tests/daikon-tests/ncalc/README | 4 ++-- 9 files changed, 29 insertions(+), 25 deletions(-) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 65ad06a2b6..61cafdf793 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -1314,7 +1314,7 @@ private void createPrimitiveWrapper( */ @Pure private boolean isConstructor(MethodGen24 mgen) { - if (mgen.getName().equals("") || mgen.getName().equals("")) { + if (mgen.getName().equals("")) { debugInstrument.log("isConstructor(%s) => true%n", mgen.getName()); return true; } else { diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index a99e340e19..c87ff6683f 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -78,8 +78,8 @@ public class MethodGen24 { * The method's CodeAttribute. This contains information about the bytecodes (instructions) of * this method. May be null if the method has no code. * - *

Several fields of CodeAttribute are declared as fields of MedthodGen24 to better model - * BCEL's version of MethodGen and to reduce re-computation. Note that we set these fields in the + *

Several fields of CodeAttribute are declared as fields of MethodGen24 to better model BCEL's + * version of MethodGen and to reduce re-computation. Note that we set these fields in the * constructor, but they could be calculated lazily on first reference. */ private @Nullable CodeAttribute codeAttribute; @@ -111,12 +111,12 @@ public class MethodGen24 { * The method's signature. This is a String that encodes type information about a (possibly * generic) method declaration. It describes any type parameters of the method; the (possibly * parameterized) types of any formal parameters; the (possibly parameterized) return type, if - * any. It is not a true method signature as documented in the Java Vitural Machine Specification + * any. It is not a true method signature as documented in the Java Virtual Machine Specification * as it does not include the types of any exceptions declared in the method's throws clause. */ private @MethodDescriptor String signature; - // Informatation extracted from {@code mtd}, the MethodTypeDescriptor. + // Information extracted from {@code mtd}, the MethodTypeDescriptor. /** The method's parameter types. */ private ClassDesc[] paramTypes; @@ -165,7 +165,7 @@ public static class MInfo24 { /** Label for last byte code of method, used to give new locals method scope. */ public final Label endLabel; - /** Label for start of orignal code, post insertion of entry instrumentation. */ + /** Label for start of original code, post insertion of entry instrumentation. */ public Label entryLabel; /** @@ -396,7 +396,7 @@ private void getParamInfo() { /** * Due to a Java compiler optimization, unused parameters may not be included in the local * variables. Some of DynComp's instrumentation requires their presence. This routine makes these - * changes, if neccesary. + * changes, if necessary. * * @param minfo MInfo24 object for current method * @return true if modified localsTable, false otherwise @@ -457,7 +457,7 @@ public boolean fixLocals(MInfo24 minfo) { lIndex++; } - // UNDONE: do we need to check for alignment gaps in locals after the paramerters? + // UNDONE: do we need to check for alignment gaps in locals after the parameters? // If we added locals, then table is no longer sorted by slot. if (modified) { diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 7c305e35ca..99f91c9d8a 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -60,7 +60,8 @@ public BcelUtils24() { */ public static ClassDesc[] postpendToArray(ClassDesc[] types, ClassDesc newType) { if (types.length == Integer.MAX_VALUE) { - throw new Error("array " + Arrays.toString(types) + " is too large to extend"); + throw new IllegalArgumentException( + "array " + Arrays.toString(types) + " is too large to extend"); } ClassDesc[] newTypes = new ClassDesc[types.length + 1]; System.arraycopy(types, 0, newTypes, 0, types.length); @@ -77,9 +78,7 @@ public static ClassDesc[] postpendToArray(ClassDesc[] types, ClassDesc newType) */ protected static String[] addString(String[] arr, String newString) { String[] newArr = new String[arr.length + 1]; - for (int ii = 0; ii < arr.length; ii++) { - newArr[ii] = arr[ii]; - } + System.arraycopy(arr, 0, newArr, 0, arr.length); newArr[arr.length] = newString; return newArr; } @@ -146,7 +145,7 @@ protected static void adjust_code_for_locals_change( *

  • the tag frame array - added as a local * * - *

    Must call fixLocals (in MethodGen24) before calling this routine. + *

    Must call {@link MethodGen24#fixLocals()} before calling this routine. * * @param mgen MethodGen to be modified * @param argName name of new parameter diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index ffd353f80c..49be97475c 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -94,8 +94,10 @@ protected static boolean calcOperandStack( stack.pop(); // discard the index final ClassDesc t = stack.pop(); // pop the arrayref if (t == null || nullCD.equals(t)) { + // Push nullCD to maintain stack consistency. The actual NullPointerException + // will be thrown at runtime if this code path is executed, not during + // instrumentation. stack.push(nullCD); - // Do nothing stackwise --- a NullPointerException will be thrown when executed } else { final ClassDesc ct = t.componentType(); if (ct == null) { @@ -682,7 +684,10 @@ protected static boolean calcOperandStack( stack.push(CD_int); return true; - // UNDONE should we just throw on jsr and ret? They are illegal post JDK 6. + // TODO: JSR and RET have been illegal since JDK 7 (class file version 51.0). + // Consider throwing an UnsupportedOperationException for these opcodes + // if we're only supporting modern class files (version 51.0+). + // Currently maintaining support for completeness. // operand stack: // ... @@ -842,7 +847,7 @@ protected static boolean calcOperandStack( descriptor = "[S"; } default -> { - throw new Error("unknow primitive array type: " + inst); + throw new Error("unknown primitive array type: " + inst); } } stack.push(ClassDesc.ofDescriptor(descriptor)); diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 9885ea92e4..c22dc6a78a 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -168,7 +168,7 @@ public final boolean isStatic() { /** * Returns the name of the super class of this class. In the case that this class is {@link - * Object}, it will return itself ({@link Object}). This is probably incorrect but is consistant + * Object}, it will return itself ({@link Object}). This is probably incorrect but is consistent * with the BCEL version of getSuperclassName. * * @return the binary name of the class that contains this class @@ -180,7 +180,7 @@ public final boolean isStatic() { /** * Returns the name of the super class of the argument. In the case that the argument class is * {@link Object}, it will return itself ({@link Object}). This is probably incorrect but is - * consistant with the BCEL version of getSuperclassName. + * consistent with the BCEL version of getSuperclassName. * * @param classModel the class to check * @return the binary name of the superclass of classModel or "java.lang.Object" if it has no @@ -193,7 +193,7 @@ public final boolean isStatic() { @BinaryName String scn = ce.get().asInternalName().replace('/', '.'); return scn; } else { - // This is probably incorrect but is consistant with the BCEL version of superclassName. + // This is probably incorrect but is consistent with the BCEL version of superclassName. // What about if this is module-info.class? return "java.lang.Object"; } diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index 9913b4a277..d7803bdf11 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -29,7 +29,7 @@ /** * This is a modified version of BCEL's OperandStack. We assume that the class file has been - * previously verified, so we check very few error contitions. + * previously verified, so we check very few error conditions. * *

    This class implements a stack used for symbolic JVM stack simulation. [It's used as an operand * stack substitute.] Elements of this stack are {@link ClassDesc} objects. diff --git a/java/daikon/dcomp/Premain.java b/java/daikon/dcomp/Premain.java index eb7ecc13e9..6594ab114a 100644 --- a/java/daikon/dcomp/Premain.java +++ b/java/daikon/dcomp/Premain.java @@ -211,7 +211,7 @@ public static void premain(String agentArgs, Instrumentation inst) throws IOExce (ClassFileTransformer) loader.loadClass(instrumenter).getDeclaredConstructor().newInstance(); } catch (Exception e) { - throw new RuntimeException("Unexpected error loading Instrument", e); + throw new RuntimeException("Unexpected error loading Instrumenter " + instrumenter, e); } if (verbose) { // If jdk_instrumented is true then the printf below will output diff --git a/tests/daikon-tests/junit5/Makefile.user b/tests/daikon-tests/junit5/Makefile.user index 4641b56972..9a3dedc849 100644 --- a/tests/daikon-tests/junit5/Makefile.user +++ b/tests/daikon-tests/junit5/Makefile.user @@ -10,9 +10,9 @@ else JAVA_RELEASE_NUMBER := $(shell echo ${JAVA_VERSION_STRING} | sed 's/\([0-9]\+\)\(\..*\)\?\(-.*\)\?/\1/') endif -ifeq (${JAVA_RELEASE_NUMBER},24) +ifeq ($(shell [ $(JAVA_RELEASE_NUMBER) -ge 24 ] && echo yes),yes) SKIP_TEST := 1 - $(info skipping this test for JDK 24) + $(info skipping this test for JDK $(JAVA_RELEASE_NUMBER)) endif ifeq ($(shell uname), Darwin) diff --git a/tests/daikon-tests/ncalc/README b/tests/daikon-tests/ncalc/README index 954d95926c..567d232e3e 100644 --- a/tests/daikon-tests/ncalc/README +++ b/tests/daikon-tests/ncalc/README @@ -13,7 +13,7 @@ First, compile the java code with the '-h' option: This creates the normal .class file but also a .h file that describes the JNI interface the java program is calling. -Then to create the shared libary: +Then to create the shared library: gcc -fPIC -I"$JAVA_HOME/include" -I"$JAVA_HOME/include/linux" -shared -o libcalculator.so ncalc.c In general, when running a Java program that uses JNI, you need to tell the JVM where to find @@ -23,4 +23,4 @@ For Daikon testing we do this by adding the line: export LD_LIBRARY_PATH=$(PROJECT) && \ in tests/Makefile.common. This is inserted prior to every use of DynComp or Chicory. Note that this means it is set for every test case, but that should not be a problem as no other -test uses 'loadLibary'. +test uses 'loadLibrary'. From 2832a64f6ce99e724d8f77db12af1e9af23f679b Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 9 Sep 2025 09:10:15 -0700 Subject: [PATCH 088/211] fix javadoc @link --- java/daikon/dcomp/BcelUtils24.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 99f91c9d8a..e4971326d1 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -145,7 +145,7 @@ protected static void adjust_code_for_locals_change( *

  • the tag frame array - added as a local * * - *

    Must call {@link MethodGen24#fixLocals()} before calling this routine. + *

    Must call {@link MethodGen24#fixLocals} before calling this routine. * * @param mgen MethodGen to be modified * @param argName name of new parameter From 9e5be62674a42eb980b673f99fc9554820109565 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 9 Sep 2025 17:04:14 -0700 Subject: [PATCH 089/211] get daikon-tests passing with BuildJDK24 --- java/daikon/dcomp/ClassGen24.java | 5 ++--- java/daikon/dcomp/DCInstrument24.java | 29 ++++++++++++++------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index c22dc6a78a..3e0c5f12ed 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -58,7 +58,7 @@ public class ClassGen24 { private @BinaryName String superclassName; /** The list of interfaces this class implements. */ - private List interfaceList; + protected static List interfaceList; /** * Creates a ClassGen24 object. @@ -67,6 +67,7 @@ public class ClassGen24 { * @param className the containing class, in binary name format * @param classBuilder for the class */ + @SuppressWarnings("StaticAssignmentInConstructor") public ClassGen24( final ClassModel classModel, final @BinaryName String className, @@ -83,7 +84,6 @@ public ClassGen24( superclassName = getSuperclassName(classModel); // The original interface list is immutable, so we need to make a copy. - // @SuppressWarnings("JdkObsolete") interfaceList = new ArrayList(classModel.interfaces()); } @@ -99,7 +99,6 @@ public void addInterface(@BinaryName String name) { return; } interfaceList.add(ce); - classBuilder.withInterfaces(interfaceList); } /** diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index eaf75673ff..b1e9e4abe0 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -721,6 +721,20 @@ private void instrumentClass( add_dcomp_interface(classBuilder, classGen, classInfo); } + // Output the list of interfaces. + classBuilder.withInterfaces(daikon.dcomp.ClassGen24.interfaceList); + + // Copy all other ClassElements to output class (unchanged). + for (ClassElement ce : classModel) { + debugInstrument.log("ClassElement: %s%n", ce); + switch (ce) { + case MethodModel mm -> {} + case Interfaces i -> {} + // Copy all other ClassElements to output class (unchanged). + default -> classBuilder.with(ce); + } + } + // Add tag accessor methods for each primitive in the class create_tag_accessors(classGen); @@ -986,17 +1000,6 @@ private void instrumentAllMethods( } } } - - // Copy all other ClassElements to output class (unchanged). - for (ClassElement ce : classModel) { - debugInstrument.log("ClassElement: %s%n", ce); - switch (ce) { - case MethodModel mm -> {} - case Interfaces i -> {} - // Copy all other ClassElements to output class (unchanged). - default -> classBuilder.with(ce); - } - } } /** @@ -3156,14 +3159,12 @@ private List load_store_field( List il = new ArrayList<>(); Opcode op = f.opcode(); - // ObjectType obj_type = (ObjectType) f.getReferenceType(pool); - @BinaryName String classname = classGen.getClassName(); String fieldName = f.name().stringValue(); String owner = f.owner().asInternalName().replace('/', '.'); ClassDesc ownerCD = f.owner().asSymbol(); // If this class doesn't support tag fields, don't load/store them - if (!tag_fields_ok(mgen, classname)) { + if (!tag_fields_ok(mgen, owner)) { if (op.equals(Opcode.GETFIELD) || op.equals(Opcode.GETSTATIC)) { il.add(dcr_call("push_const", CD_void, noArgsCD)); } else { From a712bdca93ddb018aa43d406e4a09e48077b37b3 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 9 Sep 2025 18:37:05 -0700 Subject: [PATCH 090/211] fix null checker issue --- java/daikon/dcomp/ClassGen24.java | 1 + 1 file changed, 1 insertion(+) diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 3e0c5f12ed..c229d19351 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -58,6 +58,7 @@ public class ClassGen24 { private @BinaryName String superclassName; /** The list of interfaces this class implements. */ + @SuppressWarnings("nullness:initialization") protected static List interfaceList; /** From 94cfe2614389e425f38c199cacddb22401726881 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 9 Sep 2025 20:46:53 -0700 Subject: [PATCH 091/211] fix signature checker issue --- java/daikon/dcomp/DCInstrument24.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index b1e9e4abe0..18138eba97 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -3160,7 +3160,8 @@ private List load_store_field( List il = new ArrayList<>(); Opcode op = f.opcode(); String fieldName = f.name().stringValue(); - String owner = f.owner().asInternalName().replace('/', '.'); + @SuppressWarnings("signature:assignment") // type conversion + @BinaryName String owner = f.owner().asInternalName().replace('/', '.'); ClassDesc ownerCD = f.owner().asSymbol(); // If this class doesn't support tag fields, don't load/store them From 0c3884925948948e2e585645585c062f73f1e864 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 10 Sep 2025 18:01:25 -0700 Subject: [PATCH 092/211] fix issue and turn on BuildJDK24 --- java/Makefile | 5 ++++- java/daikon/dcomp/CalcStack24.java | 19 ++++++++++++++----- java/daikon/dcomp/DCInstrument24.java | 11 +++++++++-- tests/daikon-tests/junit5/Makefile.user | 15 --------------- 4 files changed, 27 insertions(+), 23 deletions(-) diff --git a/java/Makefile b/java/Makefile index 7d927f42a4..4199e3bb57 100644 --- a/java/Makefile +++ b/java/Makefile @@ -21,6 +21,8 @@ JAVAC ?= javac JAVADOC ?= javadoc JAR ?= jar +BuildJDKTool = BuildJDK + # The "JAVANN" variables mean "at least version NN", except JAVA8. JAVA_VERSION_STRING_WITH_EA := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2) JAVA_VERSION_STRING := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2 | sed 's/-ea//') @@ -40,6 +42,7 @@ ifeq ($(shell test ${JAVA_RELEASE_NUMBER} -ge 17; echo $$?),0) endif ifeq ($(shell test ${JAVA_RELEASE_NUMBER} -ge 24; echo $$?),0) JAVA24 := 1 + BuildJDKTool = BuildJDK24 endif ifeq ($(shell test ${JAVA_RELEASE_NUMBER} -gt 20; echo $$?),0) @@ -608,7 +611,7 @@ dyncomp-jdk dcomp-jdk : dcomp_rt.jar $(DCOMP_RT) dcomp_rt.jar : dcomp_premain.jar /bin/rm -rf $(DCOMP_RT) $(INSTALL) -d $(DCOMP_RT) - $(JAVA_COMMAND) -Xmx3600m daikon.dcomp.BuildJDK $(DCOMP_RT) + $(JAVA_COMMAND) -Xmx3600m daikon.dcomp.$(BuildJDKTool) $(DCOMP_RT) # "then" clause is Java 8, "else" clause is Java 9+. # For Java 9+, there appears to be a bug in the Java reflection invoke code that it # does not check that the arg list matches. Hence, it tries to invoke diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 49be97475c..c0ae595fd3 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -23,6 +23,7 @@ import java.lang.classfile.instruction.BranchInstruction; import java.lang.classfile.instruction.ConstantInstruction; import java.lang.classfile.instruction.DiscontinuedInstruction; +import java.lang.classfile.instruction.ExceptionCatch; import java.lang.classfile.instruction.FieldInstruction; import java.lang.classfile.instruction.InvokeDynamicInstruction; import java.lang.classfile.instruction.InvokeInstruction; @@ -74,7 +75,7 @@ protected static boolean calcOperandStack( switch (ce) { case Instruction inst -> { if (DCInstrument24.stacks[inst_index] != null) { - throw new Error("instruction revisited: " + inst); + throw new DynCompError("instruction revisited: " + inst); } else { DCInstrument24.stacks[inst_index] = stack.getClone(); } @@ -101,7 +102,7 @@ protected static boolean calcOperandStack( } else { final ClassDesc ct = t.componentType(); if (ct == null) { - throw new Error("stack item not an arrayref: " + inst); + throw new DynCompError("stack item not an arrayref: " + inst); } stack.push(ct); } @@ -847,7 +848,7 @@ protected static boolean calcOperandStack( descriptor = "[S"; } default -> { - throw new Error("unknown primitive array type: " + inst); + throw new DynCompError("unknown primitive array type: " + inst); } } stack.push(ClassDesc.ofDescriptor(descriptor)); @@ -971,10 +972,18 @@ protected static boolean calcOperandStack( } default: - throw new Error("Unexpected instruction opcode: " + inst); + throw new DynCompError("Unexpected instruction opcode: " + inst); } } + // We ignore most PseudoInstructions. + + case ExceptionCatch ec -> { + // Nothing needs to be done. + return true; + } + + // Technically, a Classfile element, not a PseudoInstruction. case Label l -> { if (DCInstrument24.stacks[inst_index] != null) { // we've seen this label before @@ -999,7 +1008,7 @@ protected static boolean calcOperandStack( } default -> { - throw new Error("Unexpected CodeElement: " + ce); + throw new DynCompError("Unexpected CodeElement: " + ce); } } } diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 18138eba97..301d4536c2 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -2338,13 +2338,20 @@ private List callEnterOrExit( } } + // We ignore PseudoInstructions. + + case ExceptionCatch ec -> { + // Ignore ExceptionCatch CodeElements. + return null; + } + case Label l -> { - // Ignore Label CodeELements. + // Ignore Label CodeElements. return null; } case LineNumber ln -> { - // Ignore LineNumber CodeELements. + // Ignore LineNumber CodeElements. return null; } diff --git a/tests/daikon-tests/junit5/Makefile.user b/tests/daikon-tests/junit5/Makefile.user index 9a3dedc849..9c2889b925 100644 --- a/tests/daikon-tests/junit5/Makefile.user +++ b/tests/daikon-tests/junit5/Makefile.user @@ -1,20 +1,5 @@ ########################################################################### -JAVA_VERSION_STRING := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2 | sed 's/-ea//') -startJVS := $(shell echo start${JAVA_VERSION_STRING}) -ifneq (,$(findstring start1.8,$(startJVS))) - JAVA_RELEASE_NUMBER := 8 -else - # Old Java releases (e.g. 1.7) will set JAVA_RELEASE_NUMBER to 1. - # This will cause the JAVA8_OR_NEWER test to fail as desired. - JAVA_RELEASE_NUMBER := $(shell echo ${JAVA_VERSION_STRING} | sed 's/\([0-9]\+\)\(\..*\)\?\(-.*\)\?/\1/') -endif - -ifeq ($(shell [ $(JAVA_RELEASE_NUMBER) -ge 24 ] && echo yes),yes) - SKIP_TEST := 1 - $(info skipping this test for JDK $(JAVA_RELEASE_NUMBER)) -endif - ifeq ($(shell uname), Darwin) JAVA_HOME ?= $(/usr/libexec/java_home) else From e75ee3533749ca0415957d7d6a87966e80ba5239 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 11 Sep 2025 12:00:16 -0700 Subject: [PATCH 093/211] clean up some comments --- java/daikon/dcomp/DCInstrument24.java | 31 +++------------------------ 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 301d4536c2..c1637c800c 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1348,17 +1348,6 @@ private void instrumentCode( codeBuilder.exceptionCatch(newStartLabel, handlerLabel, handlerLabel, CD_Throwable); } } - - // UNDONE - // can we do this with java.lang.classfile? - // needs to be moved? - // il = mg.getInstructionList(); - // InstructionHandle end = il.getEnd(); - // int length = end.getPosition() + end.getInstruction().getLength(); - // if (length >= Const.MAX_CODE_SIZE) { - // throw new ClassGenException( - // "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); - // } } /** @@ -1637,15 +1626,6 @@ private void instrumentCodeList( li.add(ce); } } - - // UNDONE: can we check this with java.lang.classfile api? - // If the modified method is now too large, we quit instrumenting the method - // and will rediscover the problem in the main instrumentation loop above - // and deal with it there. - // if (ih.getPosition() >= Const.MAX_CODE_SIZE) { - // break; - // } - inst_index++; } } catch (Throwable t) { @@ -2966,7 +2946,7 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met // (Typical of random() algorithms.) This has the undesirable side // effect of putting all the generated values in the same comparison // set when they should be distinct. - // NOTE: If we find other classes that should not use the instrumented + // Note: If we find other classes that should not use the instrumented // versions, we should consider making this a searchable list. if (classname.equals("java.util.Random")) { return false; @@ -3609,11 +3589,6 @@ static String methodEntryName(String fullClassName, MethodGen24 mgen) { type_names[ii] = daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(paramFD); } - // // Remove exceptions from the name - // String full_name = m.toString(); - // full_name = full_name.replaceFirst("\\s*throws.*", ""); - // Note that full_name is not used; replaced with "". - return DaikonWriter.methodEntryName(fullClassName, type_names, "", mgen.getName()); } @@ -4030,7 +4005,7 @@ void fix_native(MethodGen24 mgen) { } // if call is sun.reflect.Reflection.getCallerClass(int depth) - // NOTE: This method was deleted in JDK 9. At some point we should remove support. + // TODO: This method was deleted in JDK 9. At some point we should remove support. if (mgen.getName().equals("getCallerClass") && (argTypes.length == 1) // 'int depth' && mgen.getClassName().equals("sun.reflect.Reflection")) { @@ -4684,7 +4659,7 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { */ @Pure boolean is_object_method(String methodName, ClassDesc[] argTypes) { - // UNDONE: kind of wierd we don't check that classname = Object but it's been + // Note: kind of wierd we don't check that classname = Object but it's been // that way forever. just means foo.finialize(), e.g., will be marked uninstrumented. for (MethodDef md : obj_methods) { if (md.equals(methodName, argTypes)) { From c6162e9888e6716847fb3b69c17f3a18d60ba970 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 11 Sep 2025 14:48:53 -0700 Subject: [PATCH 094/211] correct new sed command --- java/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/Makefile b/java/Makefile index 5870763a16..230f17b1fe 100644 --- a/java/Makefile +++ b/java/Makefile @@ -54,7 +54,7 @@ ifeq ($(shell test ${JAVA_RELEASE_NUMBER} -gt 20; echo $$?),0) endif OS_ID := $(shell sed -n -e 's/^NAME="\(.*\)"/\1/p' /etc/os-release) -OS_REL := $(shell sed -n -e 's/^VERSION_ID="(.*)"/\1/' /etc/os-release) +OS_REL := $(shell sed -n -e 's/^VERSION_ID="\(.*\)"/\1/p' /etc/os-release) # Users can set JAVAC_TARGET_FLAGS, taking precedence over these settings. # Use "--source 25 --target 25" because Java 25 is an LTS version. From ce70ed8372a98fe3965ba1f5b6ba4fe5961be7a5 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 11 Sep 2025 14:49:39 -0700 Subject: [PATCH 095/211] more comment clean up --- java/daikon/dcomp/BcelUtils24.java | 16 +++++----------- java/daikon/dcomp/CalcStack24.java | 5 ++++- java/daikon/dcomp/ClassGen24.java | 8 +++++--- java/daikon/dcomp/Instrument24.java | 10 ++-------- 4 files changed, 16 insertions(+), 23 deletions(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index e4971326d1..de3245db93 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -21,7 +21,6 @@ * instrumentation pipeline, including operations on local variables, parameter types, and * instruction adjustments. */ -@SuppressWarnings("nullness") public class BcelUtils24 { /** Create a new BcelUtils24 object. */ @@ -41,11 +40,6 @@ public BcelUtils24() { * The Java Virtual Machine Specification uses * 'index into the local variable array of the current frame' * or 'slot number' to describe this second case. - * - * Unfortunately, BCEL uses the method names getIndex and setIndex - * to refer to 'offset's into the local stack frame. - * It uses getPosition and setPosition to refer to 'offset's into - * the byte codes. */ /** A log to which to print debugging information about program instrumentation. */ @@ -84,7 +78,7 @@ protected static String[] addString(String[] arr, String newString) { } /** - * Process the instruction list, adding size (1 or 2) to the index of each Instruction that + * Process the instruction list, adding size (1 or 2) to the slot number of each Instruction that * references a local that is equal or higher in the local map than offsetFirstMovedlocal. Size * should be the size of the new local that was just inserted at offsetFirstMovedlocal. * @@ -135,7 +129,7 @@ protected static void adjust_code_for_locals_change( /** * Add a new local variable to the method. This will be inserted after last current parameter and * before the first local variable. This might have the side effect of causing us to rewrite the - * method byte codes to adjust the offsets for the existing local variables - see below for + * method byte codes to adjust the slot numbers for the existing local variables - see below for * details. * *

    DCInstrument24 uses this routine for two special variables: @@ -165,14 +159,14 @@ public static final LocalVariable addNewSpecialLocal( // We add a new local variable, after any parameters and before any // existing local variables. We then need to make a pass over the - // byte codes to update the local offset values of any locals we just shifted up. + // byte codes to update the slot number of any locals we just shifted up. LocalVariable argNew; // get a copy of the locals before modification ArrayList locals = mgen.localsTable; ClassDesc[] argTypes = mgen.getParameterTypes(); - int newIndex = 0; - int newOffset = 0; + int newIndex = 0; // index into 'locals' + int newOffset = 0; // current local slot number boolean hasCode = !mgen.getInstructionList().isEmpty(); int argSize = TypeKind.from(argType).slotSize(); diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index c0ae595fd3..1e42bfb544 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -892,7 +892,10 @@ protected static boolean calcOperandStack( stack.pop(); // discard the value return true; - // UNDONE should we just throw on jsr and ret? They are illegal post JDK 6. + // TODO: JSR and RET have been illegal since JDK 7 (class file version 51.0). + // Consider throwing an UnsupportedOperationException for these opcodes + // if we're only supporting modern class files (version 51.0+). + // Currently maintaining support for completeness. // operand stack: // [no change] diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index c229d19351..8a731f7360 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -193,8 +193,6 @@ public final boolean isStatic() { @BinaryName String scn = ce.get().asInternalName().replace('/', '.'); return scn; } else { - // This is probably incorrect but is consistent with the BCEL version of superclassName. - // What about if this is module-info.class? return "java.lang.Object"; } } @@ -208,7 +206,11 @@ public ClassBuilder getClassBuilder() { return classBuilder; } - // need to fancy up! + /** + * Return the class name. + * + * @return the class name + */ @Override public final String toString(@GuardSatisfied ClassGen24 this) { return className; diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 702b4a7ba8..e517de4cb6 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -85,6 +85,8 @@ public static void print_call_stack() { System.out.println(); } + // UNDONE: Should we stop using bcel and use classModel.toDebugString() instead? + /** * Output a .class file and a .bcel version of the class file. * @@ -112,14 +114,6 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri Files.write(outputFile.toPath(), classBytes); // Write a BCEL-like file. BcelUtil.dump(c, directory); - // TEMPORARY - REMOVE when DCInstrument24 is working - // rename .bcel file to .nbcel - outputFile = new File(directory, className + ".bcel"); - boolean ok = outputFile.renameTo(new File(directory, className + ".nbcel")); - if (!ok) { - System.err.printf("Unexpected error renaming %s file for: %s%n", outputFile, className); - // ignore the error, it shouldn't affect the instrumentation - } } catch (Throwable t) { System.err.printf("Unexpected error %s writing debug files for: %s%n", t, className); t.printStackTrace(); From 67c9593ac03bef2490a3c49576b139fd8e9ef410 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 17 Sep 2025 23:03:29 -0700 Subject: [PATCH 096/211] Don't use helper method to initialize fields --- java/daikon/chicory/MethodGen24.java | 61 +++++++++++++++++++--------- 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index c87ff6683f..0b33d9e2c9 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -27,9 +27,11 @@ import java.util.List; import java.util.Map; import java.util.Optional; +import org.checkerframework.checker.initialization.qual.UnderInitialization; import org.checkerframework.checker.lock.qual.GuardSatisfied; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.signature.qual.BinaryName; import org.checkerframework.checker.signature.qual.FieldDescriptor; import org.checkerframework.checker.signature.qual.Identifier; @@ -203,7 +205,6 @@ public MInfo24(int method_info_index, int nextLocalIndex, CodeBuilder codeBuilde * @param className the containing class, in binary name format * @param classBuilder for the class */ - @SuppressWarnings({"nullness:initialization", "nullness:method.invocation"}) public MethodGen24( final MethodModel methodModel, final @BinaryName String className, @@ -277,7 +278,9 @@ public MethodGen24( // Set up the parameter types and names. mtd = methodModel.methodTypeSymbol(); - getParamInfo(); + returnType = mtd.returnType(); + paramTypes = getParamTypes(); + paramNames = getParamNames(); } /** @@ -292,7 +295,6 @@ public MethodGen24( * @param maxStack for the method * @param maxLocals for the method */ - @SuppressWarnings({"nullness:initialization", "nullness:method.invocation"}) public MethodGen24( final @BinaryName String className, ClassBuilder classBuilder, @@ -324,14 +326,20 @@ public MethodGen24( poolBuilder = classBuilder.constantPool(); - // Set up the parameter types and names. - getParamInfo(); + returnType = mtd.returnType(); + paramTypes = getParamTypes(); + paramNames = getParamNames(); } - /** Setup the paramTypes and paramNames arrays. */ - private void getParamInfo() { - paramTypes = mtd.parameterArray(); - returnType = mtd.returnType(); + /** + * Returns the value for the {@link #paramTypes} field. Intended to be called only once, from the + * constructor. + * + * @return the value for the {@link #paramTypes} field + */ + @RequiresNonNull({"mtd", "methodName", "origLocalVariables", "className"}) + private ClassDesc[] getParamTypes(@UnderInitialization(Object.class) MethodGen24 this) { + ClassDesc[] result = mtd.parameterArray(); // java.lang.classfile seems to be inconsistent with the parameter types // of an inner class constructor. It may optimize away the hidden 'this$0' @@ -339,10 +347,10 @@ private void getParamInfo() { // parameterArray(). In order to correctly derive the names of the // parameters I need to detect this special case and remove the // incorrect entry from the parameterArray(). This check is ugly. - if (methodName.equals("") && paramTypes.length > 0 && origLocalVariables.length > 1) { + if (methodName.equals("") && result.length > 0 && origLocalVariables.length > 1) { int dollarPos = className.lastIndexOf("$"); @SuppressWarnings("signature:assignment") // need JDK annotations - @FieldDescriptor String arg0Fd = paramTypes[0].descriptorString(); + @FieldDescriptor String arg0Fd = result[0].descriptorString(); String arg0Type = Instrument24.convertDescriptorToFqBinaryName(arg0Fd); // Note for tests below: first local will always be 'this'. if (dollarPos >= 0 @@ -354,21 +362,34 @@ private void getParamInfo() { !(origLocalVariables[1].slot() == 2) && // don't change if type of first param matches type of second local - !origLocalVariables[1].typeSymbol().equals(paramTypes[0]) + !origLocalVariables[1].typeSymbol().equals(result[0]) && - // don't change paramTypes if 'this$0' is present + // don't change result if 'this$0' is present !origLocalVariables[1].name().stringValue().equals("this$0")) { // some need some don't. what is difference? // remove first param type so consistent with other methods - ClassDesc[] newArray = new ClassDesc[paramTypes.length - 1]; - System.arraycopy(paramTypes, 1, newArray, 0, paramTypes.length - 1); - paramTypes = newArray; + ClassDesc[] newArray = new ClassDesc[result.length - 1]; + System.arraycopy(result, 1, newArray, 0, result.length - 1); + result = newArray; } } + return result; + } + + /** + * Returns the value for the {@link #paramNames} field. Intended to be called only once, from the + * constructor. + * + * @return the value for the {@link #paramNames} field + */ + @RequiresNonNull({"mtd", "paramTypes", "origLocalVariables"}) + private @Identifier String[] getParamNames(@UnderInitialization(Object.class) MethodGen24 this) { + // These initial values for {@code paramNames} may be incorrect. They could // be altered in {@code fixLocals}. - paramNames = new String[paramTypes.length]; + @Identifier String[] result = new String[paramTypes.length]; + int pIndex = 0; int lIndex = isStatic ? 0 : 1; int slot = isStatic ? 0 : 1; @@ -378,19 +399,21 @@ private void getParamInfo() { if ((lIndex >= origLocalVariables.length) || (pIndex >= lLen) || (origLocalVariables[lIndex].slot() != slot)) { - paramNames[pIndex] = "param" + slot; + result[pIndex] = "param" + slot; } else { // UNDONE: should we assert type of paramTypes[pIndex] == type of // origLocalVariables[lindex]? @SuppressWarnings("signature:assignment") // need JDK annotations @Identifier String paramName = origLocalVariables[lIndex].name().stringValue(); - paramNames[pIndex] = paramName; + result[pIndex] = paramName; lIndex++; lLen++; // pretend there is one more local } slot += TypeKind.from(paramTypes[pIndex]).slotSize(); pIndex++; } + + return result; } /** From 24b2171bed2bfd8d4416f7d4018a161993a0b450 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 18 Sep 2025 07:53:21 -0700 Subject: [PATCH 097/211] Clean more generated files --- java/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/Makefile b/java/Makefile index 9e61ff18fc..78da216789 100644 --- a/java/Makefile +++ b/java/Makefile @@ -757,6 +757,9 @@ very-clean: clean clean-generated-files -rm -rf api -rm -rf daikon/dcomp/std_dcomp_out.diff daikon/dcomp/std_dcomp_out.txt -rm -rf daikon/chicory/ChicoryTest.inv.out + -rm -rf daikon/dcomp/debug/ + -rm -rf daikon/dcomp/DcompTest.log + -rm -rf daikon/chicory/debug run: all ${JAVA_COMMAND} daikon.Daikon From a7961b6dee050f6548b28390c6b48ca5a2d9c5bc Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 18 Sep 2025 07:53:48 -0700 Subject: [PATCH 098/211] Use `List` rather than `ArrayList` --- java/daikon/chicory/MethodGen24.java | 2 +- java/daikon/dcomp/BcelUtils24.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 22d5a764d2..c0309378db 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -135,7 +135,7 @@ public class MethodGen24 { * The method's local variable table. Often modified by clients, normally to add additional local * variables needed for instrumentation. */ - public ArrayList localsTable; + public List localsTable; /** ConstantPool builder for entire class. */ // TODO: Should uses of this be synchronized? diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index de3245db93..ee046e563a 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -10,7 +10,6 @@ import java.lang.classfile.instruction.LocalVariable; import java.lang.classfile.instruction.StoreInstruction; import java.lang.constant.ClassDesc; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.ListIterator; @@ -163,7 +162,7 @@ public static final LocalVariable addNewSpecialLocal( LocalVariable argNew; // get a copy of the locals before modification - ArrayList locals = mgen.localsTable; + List locals = mgen.localsTable; ClassDesc[] argTypes = mgen.getParameterTypes(); int newIndex = 0; // index into 'locals' int newOffset = 0; // current local slot number From 954210618d67e518c7467c776ec0720acb8c5de1 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 30 Sep 2025 15:42:37 -0700 Subject: [PATCH 099/211] recommended changes from PMD --- java/daikon/dcomp/BcelUtils24.java | 15 +-- java/daikon/dcomp/BuildJDK24.java | 6 +- java/daikon/dcomp/CalcStack24.java | 15 ++- java/daikon/dcomp/DCInstrument24.java | 160 ++++++++++++-------------- java/daikon/dcomp/Instrument24.java | 10 +- java/daikon/dcomp/OperandStack24.java | 40 +++---- java/daikon/dcomp/Premain.java | 2 +- 7 files changed, 115 insertions(+), 133 deletions(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index ee046e563a..b1f31485cc 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -20,12 +20,10 @@ * instrumentation pipeline, including operations on local variables, parameter types, and * instruction adjustments. */ -public class BcelUtils24 { +public final class BcelUtils24 { - /** Create a new BcelUtils24 object. */ - public BcelUtils24() { - // Nothing to do. - } + /** Don't allow others to create a new BcelUtils24 object. */ + private BcelUtils24() {} /* * NOMENCLATURE @@ -69,7 +67,7 @@ public static ClassDesc[] postpendToArray(ClassDesc[] types, ClassDesc newType) * @param newString string to be added * @return the new string array */ - protected static String[] addString(String[] arr, String newString) { + static String[] addString(String[] arr, String newString) { String[] newArr = new String[arr.length + 1]; System.arraycopy(arr, 0, newArr, 0, arr.length); newArr[arr.length] = newString; @@ -85,8 +83,7 @@ protected static String[] addString(String[] arr, String newString) { * @param offsetFirstMovedLocal original offset of first local moved "up" * @param size size of new local added (1 or 2) */ - protected static void adjust_code_for_locals_change( - MethodGen24 mgen, int offsetFirstMovedLocal, int size) { + static void adjust_code_for_locals_change(MethodGen24 mgen, int offsetFirstMovedLocal, int size) { debugInstrument.log("adjust code: %d %d%n", offsetFirstMovedLocal, size); try { @@ -147,7 +144,7 @@ protected static void adjust_code_for_locals_change( * @param isParam if true, the new local is a new parameter * @return a LocalVariable for the new variable */ - public static final LocalVariable addNewSpecialLocal( + public static LocalVariable addNewSpecialLocal( MethodGen24 mgen, String argName, ClassDesc argType, diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 3c2ed5095a..017b8c6167 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -56,9 +56,9 @@ "mustcall:type.argument", "mustcall:type.arguments.not.inferred" }) // assignments into owning collection -public class BuildJDK24 { +public final class BuildJDK24 { - /** Creates a new BuildJDK24. */ + /** Don't allow others to create a new BuildJDK24 object. */ private BuildJDK24() {} /** @@ -513,7 +513,7 @@ private void instrumentClassFile( File outputDir, String classFileName, int classTotal) - throws java.io.IOException { + throws IOException { if (verbose) { System.out.printf("processing target %s%n", classFileName); } diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 1e42bfb544..f32d12504a 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -44,10 +44,13 @@ import org.checkerframework.checker.nullness.qual.Nullable; /** This class calculates the state of the operand stack via simulation. */ -public class CalcStack24 { +public final class CalcStack24 { + + /** Don't allow others to create a new CalcStack24 object. */ + private CalcStack24() {} /** ClassDesc for 'null'. */ - protected static final ClassDesc nullCD = ClassDesc.of("fake.ClassDecs.for.null"); + static final ClassDesc nullCD = ClassDesc.of("fake.ClassDecs.for.null"); /** * Calculates changes in contents of operand stack based on the symbolic execution of a Java @@ -62,7 +65,7 @@ public class CalcStack24 { * @return true if should continue with next instruction, false otherwise */ @SuppressWarnings("fallthrough") - protected static boolean calcOperandStack( + static boolean calcOperandStack( MethodGen24 mgen, MethodGen24.MInfo24 minfo, CodeElement ce, @@ -1023,10 +1026,12 @@ protected static boolean calcOperandStack( * @param cases a set of case statement labels; additional start points for simulation * @param stack state of operand stack at target and case labels */ - protected static void addLabelsToWorklist( + static void addLabelsToWorklist( Label target, @Nullable List cases, OperandStack24 stack) { DCInstrument24.addLabelToWorklist(target, stack); - if (cases == null) return; + if (cases == null) { + return; + } for (SwitchCase item : cases) { DCInstrument24.addLabelToWorklist(item.target(), stack); } diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index c1637c800c..c463cebc88 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -13,6 +13,7 @@ import static java.lang.constant.ConstantDescs.CD_long; import static java.lang.constant.ConstantDescs.CD_short; import static java.lang.constant.ConstantDescs.CD_void; +import static java.nio.charset.StandardCharsets.UTF_8; import daikon.DynComp; import daikon.chicory.ClassInfo; @@ -179,7 +180,7 @@ record WorkItem(int instructionIndex, OperandStack24 stack) {} /** Comparator to sort WorkItems with lowest address first. */ protected static Comparator indexComparator = - new Comparator() { + new Comparator<>() { @Override public int compare(WorkItem w1, WorkItem w2) { return Integer.compare(w1.instructionIndex, w2.instructionIndex); @@ -220,13 +221,13 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} // Argument descriptors /** Type array with two objects. */ - protected static ClassDesc[] two_objects_arg = new ClassDesc[] {CD_Object, CD_Object}; + protected static ClassDesc[] two_objects_arg = {CD_Object, CD_Object}; /** Type array with an int. */ - protected static ClassDesc[] integer_arg = new ClassDesc[] {CD_int}; + protected static ClassDesc[] integer_arg = {CD_int}; /** Type array with an object. */ - protected static ClassDesc[] object_arg = new ClassDesc[] {CD_Object}; + protected static ClassDesc[] object_arg = {CD_Object}; /** ClassDesc for the special dcomp_marker argument. */ protected final ClassDesc dcomp_marker; @@ -235,7 +236,7 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} protected static final ClassDesc objectArrayCD = CD_Object.arrayType(1); /** Type array with an Object array. */ - protected static final ClassDesc[] objectArrayCD_arg = new ClassDesc[] {objectArrayCD}; + protected static final ClassDesc[] objectArrayCD_arg = {objectArrayCD}; /** Type array with no arguments. */ protected static final ClassDesc[] noArgsCD = new ClassDesc[0]; @@ -291,7 +292,7 @@ protected enum JUnitState { TEST_DISCOVERY, /** Have completed identifing junit test classes. */ RUNNING - }; + } /** Current state of JUnit test discovery. */ protected static JUnitState junit_state = JUnitState.NOT_SEEN; @@ -323,31 +324,29 @@ protected enum JUnitState { * be allocated as part of a load. We call a special runtime method for this so that we can check * for this in other cases. */ - protected static String[] uninit_classes = - new String[] { - "java.lang.String", - "java.lang.Class", - "java.lang.StringBuilder", - "java.lang.AbstractStringBuilder", - }; + protected static String[] uninit_classes = { + "java.lang.String", + "java.lang.Class", + "java.lang.StringBuilder", + "java.lang.AbstractStringBuilder", + }; /** * List of Object methods. Since we can't instrument Object, none of these can be instrumented, * and most of them don't provide useful comparability information anyway. The equals method and * the clone method are special-cased in the {@link #handleInvoke} routine. */ - protected static MethodDef[] obj_methods = - new MethodDef[] { - new MethodDef("finalize", new ClassDesc[0]), - new MethodDef("getClass", new ClassDesc[0]), - new MethodDef("hashCode", new ClassDesc[0]), - new MethodDef("notify", new ClassDesc[0]), - new MethodDef("notifyall", new ClassDesc[0]), - new MethodDef("toString", new ClassDesc[0]), - new MethodDef("wait", new ClassDesc[0]), - new MethodDef("wait", new ClassDesc[] {CD_long}), - new MethodDef("wait", new ClassDesc[] {CD_long, CD_int}), - }; + protected static MethodDef[] obj_methods = { + new MethodDef("finalize", new ClassDesc[0]), + new MethodDef("getClass", new ClassDesc[0]), + new MethodDef("hashCode", new ClassDesc[0]), + new MethodDef("notify", new ClassDesc[0]), + new MethodDef("notifyall", new ClassDesc[0]), + new MethodDef("toString", new ClassDesc[0]), + new MethodDef("wait", new ClassDesc[0]), + new MethodDef("wait", new ClassDesc[] {CD_long}), + new MethodDef("wait", new ClassDesc[] {CD_long, CD_int}), + }; /** Class that defines a method (by its name and argument types) */ static class MethodDef { @@ -441,18 +440,18 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; // TEMPORARY - debugInstrument.enabled = true; debugInstrument.enabled = false; + debugInstrument.enabled = true; bcelDebug = debugInstrument.enabled; if (debugOperandStack) { // Create a new PrintStream with autoflush enabled - PrintStream newOut = new PrintStream(System.out, true); + PrintStream newOut = new PrintStream(System.out, true, UTF_8); // Reassign System.out to the new PrintStream System.setOut(newOut); // Create a new PrintStream with autoflush enabled - PrintStream newErr = new PrintStream(System.err, true); + PrintStream newErr = new PrintStream(System.err, true, UTF_8); // Reassign System.err to the new PrintStream System.setErr(newErr); } @@ -779,10 +778,9 @@ private void addInvokeToClinit(MethodGen24 mgen, ClassInfo classInfo) { for (CodeElement ce : call_initNotify(poolBuilder, classInfo)) { li.add(ce); } + } catch (DynCompError e) { + throw e; } catch (Throwable t) { - if (t instanceof DynCompError) { - throw t; - } throw new DynCompError( String.format( "Unexpected error processing %s.%s.%n", mgen.getClassName(), mgen.getName()), @@ -1130,10 +1128,9 @@ private void instrumentMethod( // Interface and/or Abstract; do nothing. } } + } catch (DynCompError e) { + throw e; } catch (Throwable t) { - if (t instanceof DynCompError) { - throw t; - } throw new DynCompError( "Unexpected error processing " + classInfo.class_name + "." + mgen.getName(), t); } @@ -1192,8 +1189,8 @@ private void instrumentCode( if (debugInstrument.enabled) { String[] paramNames = mgen.getParameterNames(); debugInstrument.log("paramNames: %s%n", paramNames.length); - for (int i = 0; i < paramNames.length; i++) { - debugInstrument.log("param: %s%n", paramNames[i]); + for (String paramName : paramNames) { + debugInstrument.log("param name: %s%n", paramName); } } @@ -1322,7 +1319,7 @@ private void instrumentCode( // Copy the modified instruction list to the output class. ListIterator li = codeList.listIterator(); - CodeElement ce = null; + CodeElement ce; while (li.hasNext()) { if (li.nextIndex() == newStartIndex) { codeBuilder.labelBinding(newStartLabel); @@ -1483,7 +1480,7 @@ private void instrumentCodeList( // We want to insert the tag_frame setup code after the LocalVariables (if any) and after the // inital label (if present), but before any LineNumber or Instruction. ListIterator li = instructions.listIterator(); - CodeElement inst = null; + CodeElement inst; try { while (li.hasNext()) { inst = li.next(); @@ -1584,7 +1581,9 @@ private void instrumentCodeList( stack = item.stack(); boolean proceed = true; while (proceed) { - if (!li.hasNext()) throw new DynCompError("error in instruction list"); + if (!li.hasNext()) { + throw new DynCompError("error in instruction list"); + } inst_index = li.nextIndex(); inst = li.next(); if (debugOperandStack) { @@ -1611,7 +1610,7 @@ private void instrumentCodeList( while (li.hasNext()) { inst = li.next(); - if (DCInstrument24.debugOperandStack) { + if (debugOperandStack) { System.out.println("code element in: " + inst); System.out.println("current stack: " + stacks[inst_index]); } @@ -1620,7 +1619,7 @@ private void instrumentCodeList( if (new_il != null) { li.remove(); // remove the instruction we instrumented for (CodeElement ce : new_il) { - if (DCInstrument24.debugOperandStack) { + if (debugOperandStack) { System.out.println("code element out: " + ce); } li.add(ce); @@ -1628,10 +1627,9 @@ private void instrumentCodeList( } inst_index++; } + } catch (DynCompError e) { + throw e; } catch (Throwable t) { - if (t instanceof DynCompError) { - throw t; - } throw new DynCompError( String.format( "Unexpected error processing %s.%s.%n", mgen.getClassName(), mgen.getName()), @@ -1712,7 +1710,7 @@ void skip_method(String method) { * first.) */ public List get_skipped_methods() { - return new ArrayList(skipped_methods); + return new ArrayList<>(skipped_methods); } /** @@ -1732,10 +1730,8 @@ public List build_exception_handler(MethodGen24 mgen) { // the exception handler should be after the primary object is // initialized - but this is hard to determine without a full // analysis of the code. Hence, we just skip these methods. - if (!mgen.isStatic()) { - if (mgen.isConstructor()) { - return null; - } + if (!mgen.isStatic() && mgen.isConstructor()) { + return null; } List instructions = new ArrayList<>(); @@ -2533,8 +2529,7 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge // Replace calls to Object's clone method with calls to our // replacement, a static method in DCRuntime. - List il = instrument_clone_call(invoke, returnType, classname); - return il; + return instrument_clone_call(invoke, returnType, classname); } boolean callee_instrumented = @@ -2641,7 +2636,7 @@ private boolean isTargetInstrumented( String methodName, ClassDesc[] argTypes) { - boolean targetInstrumented = true; + boolean targetInstrumented; Opcode op = invoke.opcode(); if (is_object_method(methodName, argTypes)) { @@ -2696,7 +2691,7 @@ private boolean isTargetInstrumented( && (op.equals(Opcode.INVOKEINTERFACE) || op.equals(Opcode.INVOKEVIRTUAL))) { Integer access = getAccessFlags(classname); - if ((access.intValue() & ClassFile.ACC_ANNOTATION) != 0) { + if ((access & ClassFile.ACC_ANNOTATION) != 0) { targetInstrumented = false; } @@ -2890,10 +2885,8 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met // When a class contains an existing , it will be instrumented. Thus, we need to mark // our // added call to 'DCRuntime.set_class_initialized' as not instrumented. - if (classname.endsWith("DCRuntime")) { - if (methodName.equals("set_class_initialized")) { - return false; - } + if (classname.endsWith("DCRuntime") && methodName.equals("set_class_initialized")) { + return false; } // Special-case JUnit test classes. @@ -2928,12 +2921,10 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met } int i = classname.lastIndexOf('.'); - if (i > 0) { - if (Premain.problem_packages.contains(classname.substring(0, i))) { - debugInstrument.log( - "Don't call instrumented member of problem package %s%n", classname.substring(0, i)); - return false; - } + if (i > 0 && Premain.problem_packages.contains(classname.substring(0, i))) { + debugInstrument.log( + "Don't call instrumented member of problem package %s%n", classname.substring(0, i)); + return false; } if (Premain.problem_classes.contains(classname)) { @@ -2995,8 +2986,7 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met } /** Cache for {@link #getClassModel} method. */ - private static Map classModelCache = - new ConcurrentHashMap(); + private static Map classModelCache = new ConcurrentHashMap<>(); /** * There are times when it is useful to inspect a class file other than the one we are currently @@ -3354,8 +3344,8 @@ private LocalVariable getReturnLocal( if (debugInstrument.enabled) { debugInstrument.log("create_method_info: %s%n", paramNames.length); - for (int i = 0; i < paramNames.length; i++) { - debugInstrument.log("param: %s%n", paramNames[i]); + for (String paramName : paramNames) { + debugInstrument.log("param name: %s%n", paramName); } } @@ -4053,12 +4043,7 @@ void fix_native(MethodGen24 mgen) { * @return an instruction list */ private List build_il(CodeElement... instructions) { - List il = new ArrayList<>(); - - for (CodeElement inst : instructions) { - il.add(inst); - } - return il; + return new ArrayList<>(Arrays.asList(instructions)); } /** @@ -4097,14 +4082,10 @@ boolean tag_fields_ok(@Nullable MethodGen24 mgen, @BinaryName String classname) return true; } - if (classname.equals("java.lang.String") + return !(classname.equals("java.lang.String") || classname.equals("java.lang.Class") || classname.equals("java.lang.Object") - || classname.equals("java.lang.ClassLoader")) { - return false; - } - - return true; + || classname.equals("java.lang.ClassLoader")); } /** @@ -4148,7 +4129,9 @@ static String stack_contents(OperandStack24 stack, int max_items) { void create_tag_accessors(ClassGen24 classGen) { // If this class doesn't support tag fields, don't create them - if (!tag_fields_ok(null, classGen.getClassName())) return; + if (!tag_fields_ok(null, classGen.getClassName())) { + return; + } Set field_set = new HashSet<>(); Map field_map = build_field_map(classModel); @@ -4244,7 +4227,9 @@ Map build_field_map(ClassModel classModel) { if (fm.flags().has(AccessFlag.STATIC)) { if (!in_jdk) { int min_size = static_field_id.size() + DCRuntime.max_jdk_static; - while (DCRuntime.static_tags.size() <= min_size) DCRuntime.static_tags.add(null); + while (DCRuntime.static_tags.size() <= min_size) { + DCRuntime.static_tags.add(null); + } static_field_id.put(full_name(classModel, fm), min_size); } else { // building jdk String full_name = full_name(classModel, fm); @@ -4726,7 +4711,7 @@ void createMainStub(MethodGen24 mgen, ClassBuilder classBuilder, ClassInfo class */ static void save_static_field_id(File file) throws IOException { - PrintStream ps = new PrintStream(file); + PrintStream ps = new PrintStream(file, UTF_8); for (Map.Entry<@KeyFor("static_field_id") String, Integer> entry : static_field_id.entrySet()) { ps.printf("%s %d%n", entry.getKey(), entry.getValue()); } @@ -4758,8 +4743,7 @@ static void restore_static_field_id(File file) throws IOException { * @return string containing the fully qualified name */ protected String full_name(ClassModel cm, FieldModel fm) { - String temp = ClassGen24.getClassName(cm) + "." + fm.fieldName().stringValue(); - return temp; + return ClassGen24.getClassName(cm) + "." + fm.fieldName().stringValue(); } /** @@ -4782,10 +4766,10 @@ protected String simplify_method_name(MethodGen24 mgen) { private static class ModifiedSwitchInfo { /** Possibly modified default switch target. */ - public Label modifiedTarget; + Label modifiedTarget; /** Possibly modified switch case list. */ - public List modifiedCaseList; + List modifiedCaseList; /** * Creates a ModifiedSwitchInfo. @@ -4793,7 +4777,7 @@ private static class ModifiedSwitchInfo { * @param modifiedTarget possibly modified default swith target * @param modifiedCaseList possibly modified switch case list */ - public ModifiedSwitchInfo(Label modifiedTarget, List modifiedCaseList) { + ModifiedSwitchInfo(Label modifiedTarget, List modifiedCaseList) { this.modifiedTarget = modifiedTarget; this.modifiedCaseList = modifiedCaseList; } @@ -4861,7 +4845,7 @@ private CodeElement retargetStartLabel(CodeElement inst) { modifiedTarget = defaultTarget; } - List newCaseList = new ArrayList(); + List newCaseList = new ArrayList<>(); for (SwitchCase item : caseList) { if (item.target().equals(oldStartLabel)) { newCaseList.add(SwitchCase.of(item.caseValue(), newStartLabel)); diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index e517de4cb6..299bb0a31d 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -181,11 +181,9 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri } } - if (BcelUtil.javaVersion > 8) { - if (Premain.problem_classes.contains(binaryClassName)) { - debug_transform.log("Skipping problem class %s%n", binaryClassName); - return null; - } + if ((BcelUtil.javaVersion > 8) && Premain.problem_classes.contains(binaryClassName)) { + debug_transform.log("Skipping problem class %s%n", binaryClassName); + return null; } if (className.contains("/$Proxy")) { @@ -265,7 +263,7 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri // Instrument the classfile, die on any errors. ClassInfo classInfo = new ClassInfo(binaryClassName, cfLoader); DCInstrument24 dci = new DCInstrument24(classFile, classModel, in_jdk); - byte @Nullable [] newBytes = null; + byte @Nullable [] newBytes; // debug_transform.log("%nTransforming: %s%n", binaryClassName); try { newBytes = dci.instrument(classInfo); diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index d7803bdf11..6e0f4af825 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -57,8 +57,13 @@ public void clear() { * ClassDesc objects on the stack are shared. */ @Override - public Object clone(@GuardSatisfied OperandStack24 this) { - final OperandStack24 newstack = new OperandStack24(this.maxStack); + public OperandStack24 clone(@GuardSatisfied OperandStack24 this) { + final OperandStack24 newstack; + try { + newstack = (OperandStack24) super.clone(); + } catch (CloneNotSupportedException e) { + throw new DynCompError("Unexpected error: ", e); + } newstack.stack = new ArrayList<>(this.stack); return newstack; } @@ -83,10 +88,8 @@ public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Null ClassDesc thisItem = this.stack.get(i); ClassDesc otherItem = other.stack.get(i); if (thisItem == null) { - if (otherItem != null) { - if (otherItem.isPrimitive()) { - return false; - } + if (otherItem != null && otherItem.isPrimitive()) { + return false; } } else if (otherItem == null) { // we know thisItem != null @@ -107,10 +110,8 @@ public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Null } // We assume a class matches any array or any class as they all have Object as super class // at some point. - } else if (thisItem.isPrimitive()) { - if (!otherItem.isPrimitive()) { - return false; - } + } else if (thisItem.isPrimitive() && !otherItem.isPrimitive()) { + return false; // We don't bother to check they are the same primitive. } } @@ -123,7 +124,7 @@ public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Null * @see #clone() */ public OperandStack24 getClone() { - return (OperandStack24) this.clone(); + return this.clone(); } /** @@ -204,17 +205,14 @@ public void push(final ClassDesc type) { /** Returns a String representation of this OperandStack instance. */ @Override public String toString(@GuardSatisfied OperandStack24 this) { - final StringBuilder sb = new StringBuilder(); - sb.append("Slots used: "); - sb.append(slotsUsed()); - sb.append(" MaxStack: "); - sb.append(maxStack); - sb.append(".\n"); + final StringBuilder sb = new StringBuilder(60); + sb.append("Slots used: ") + .append(slotsUsed()) + .append(" MaxStack: ") + .append(maxStack) + .append('\n'); for (int i = 0; i < size(); i++) { - sb.append(peek(i)); - sb.append(" (Size: "); - sb.append(String.valueOf(slotSize(peek(i)))); - sb.append(")\n"); + sb.append(peek(i)).append(" (Size: ").append(String.valueOf(slotSize(peek(i)))).append(")\n"); } return sb.toString(); } diff --git a/java/daikon/dcomp/Premain.java b/java/daikon/dcomp/Premain.java index 6594ab114a..e4deceda1d 100644 --- a/java/daikon/dcomp/Premain.java +++ b/java/daikon/dcomp/Premain.java @@ -193,7 +193,7 @@ public static void premain(String agentArgs, Instrumentation inst) throws IOExce // Setup the shutdown hook Thread shutdown_thread = new ShutdownThread(); - java.lang.Runtime.getRuntime().addShutdownHook(shutdown_thread); + Runtime.getRuntime().addShutdownHook(shutdown_thread); String instrumenter; if (BcelUtil.javaVersion >= 24) { From 6f59eb8dfb34a08e31ec5d860768d29cc086472f Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 3 Oct 2025 13:55:14 -0700 Subject: [PATCH 100/211] a new pull request of DynComp for Java 24 to get CodeRabbit to run --- java/Makefile | 9 +- java/daikon/DynComp.java | 4 + java/daikon/chicory/ClassInfo.java | 3 + java/daikon/chicory/Instrument24.java | 1 + java/daikon/chicory/MethodGen24.java | 430 ++- java/daikon/dcomp/BcelUtils24.java | 224 ++ java/daikon/dcomp/BuildJDK24.java | 593 +++ java/daikon/dcomp/CalcStack24.java | 1039 ++++++ java/daikon/dcomp/ClassGen24.java | 218 ++ java/daikon/dcomp/DCInstrument.java | 18 +- java/daikon/dcomp/DCInstrument24.java | 4937 +++++++++++++++++++++++++ java/daikon/dcomp/DynCompError.java | 26 + java/daikon/dcomp/Instrument24.java | 344 ++ java/daikon/dcomp/OperandStack24.java | 233 ++ java/daikon/dcomp/Premain.java | 18 +- java/lib/commons-io-2.19.0.jar | Bin 0 -> 556073 bytes tests/daikon-tests/ncalc/README | 2 +- 17 files changed, 8035 insertions(+), 64 deletions(-) create mode 100644 java/daikon/dcomp/BcelUtils24.java create mode 100644 java/daikon/dcomp/BuildJDK24.java create mode 100644 java/daikon/dcomp/CalcStack24.java create mode 100644 java/daikon/dcomp/ClassGen24.java create mode 100644 java/daikon/dcomp/DCInstrument24.java create mode 100644 java/daikon/dcomp/DynCompError.java create mode 100644 java/daikon/dcomp/Instrument24.java create mode 100644 java/daikon/dcomp/OperandStack24.java create mode 100644 java/lib/commons-io-2.19.0.jar diff --git a/java/Makefile b/java/Makefile index 87c0938498..7b9c706bdb 100644 --- a/java/Makefile +++ b/java/Makefile @@ -21,6 +21,8 @@ JAVAC ?= javac JAVADOC ?= javadoc JAR ?= jar +BuildJDKTool = BuildJDK + # The "JAVANN" variables mean "at least version NN", except JAVA8. JAVA_VERSION_STRING_WITH_EA := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2) JAVA_VERSION_STRING := $(shell javac -version 2>&1 | head -1 | cut "-d " -f2 | sed 's/-ea//') @@ -41,6 +43,7 @@ endif # Temporary, since Java 24 is not a LTS release. ifeq ($(shell test ${JAVA_RELEASE_NUMBER} -ge 24; echo $$?),0) JAVA24 := 1 + BuildJDKTool = BuildJDK24 endif ifeq ($(shell test ${JAVA_RELEASE_NUMBER} -ge 25; echo $$?),0) JAVA25 := 1 @@ -625,7 +628,7 @@ dyncomp-jdk dcomp-jdk : dcomp_rt.jar ${DCOMP_RT} dcomp_rt.jar : dcomp_premain.jar /bin/rm -rf ${DCOMP_RT} ${INSTALL} -d ${DCOMP_RT} - ${JAVA_COMMAND} -Xmx3600m daikon.dcomp.BuildJDK ${DCOMP_RT} + ${JAVA_COMMAND} -Xmx3600m daikon.dcomp.${BuildJDKTool} ${DCOMP_RT} # "then" clause is Java 8, "else" clause is Java 9+. # For Java 9+, there appears to be a bug in the Java reflection invoke code that it # does not check that the arg list matches. Hence, it tries to invoke @@ -754,6 +757,10 @@ very-clean: clean clean-generated-files -rm -rf api -rm -rf daikon/dcomp/std_dcomp_out.diff daikon/dcomp/std_dcomp_out.txt -rm -rf daikon/chicory/ChicoryTest.inv.out + -rm -rf daikon/dcomp/debug/ + -rm -rf daikon/dcomp/DcompTest.log + -rm -rf daikon/chicory/debug + run: all ${JAVA_COMMAND} daikon.Daikon diff --git a/java/daikon/DynComp.java b/java/daikon/DynComp.java index a9216b798a..48d1fe862c 100644 --- a/java/daikon/DynComp.java +++ b/java/daikon/DynComp.java @@ -304,6 +304,10 @@ void start_target(String premain_args, String[] targetArgs) { // allow DCRuntime to make reflective access to java.land.Object.clone() without a warning cmdlist.add("--add-opens"); cmdlist.add("java.base/java.lang=ALL-UNNAMED"); + if (BcelUtil.javaVersion >= 24) { + // needed to eliminate warning for JNI access to native code + cmdlist.add("--enable-native-access=ALL-UNNAMED"); + } if (!no_jdk) { // If we are processing JDK classes, then we need our code on the boot classpath as well. // Otherwise, references to DCRuntime from the JDK would fail. diff --git a/java/daikon/chicory/ClassInfo.java b/java/daikon/chicory/ClassInfo.java index 7a7d0d3459..7e01059c36 100644 --- a/java/daikon/chicory/ClassInfo.java +++ b/java/daikon/chicory/ClassInfo.java @@ -25,6 +25,9 @@ public class ClassInfo { /** True if the class has a class initializer. */ public boolean hasClinit; + /** True if the class is a JUnit test class. */ + public boolean isJunitTestClass; + // set by initViaReflection() /** reflection object for this class. */ public @MonotonicNonNull Class clazz; diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index fd8e8e20a2..2c93a4a57a 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -1719,6 +1719,7 @@ protected LocalVariable createLocalWithMethodScope( minfo.nextLocalIndex, localName, localType, minfo.startLabel, minfo.endLabel); mgen.localsTable.add(newVar); minfo.nextLocalIndex += TypeKind.from(localType).slotSize(); + mgen.setMaxLocals(minfo.nextLocalIndex); return newVar; } diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index e3b93483a0..8217260322 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -1,5 +1,9 @@ package daikon.chicory; +import static java.lang.constant.ConstantDescs.CD_Object; +import static java.lang.constant.ConstantDescs.CD_String; +import static java.lang.constant.ConstantDescs.CD_void; + import java.lang.classfile.Attributes; import java.lang.classfile.ClassBuilder; import java.lang.classfile.ClassFile; @@ -9,6 +13,7 @@ import java.lang.classfile.Instruction; import java.lang.classfile.Label; import java.lang.classfile.MethodModel; +import java.lang.classfile.TypeKind; import java.lang.classfile.attribute.CodeAttribute; import java.lang.classfile.attribute.SignatureAttribute; import java.lang.classfile.constantpool.ConstantPoolBuilder; @@ -22,10 +27,13 @@ import java.util.List; import java.util.Map; import java.util.Optional; +import org.checkerframework.checker.initialization.qual.UnderInitialization; import org.checkerframework.checker.lock.qual.GuardSatisfied; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.signature.qual.BinaryName; +import org.checkerframework.checker.signature.qual.FieldDescriptor; import org.checkerframework.checker.signature.qual.Identifier; import org.checkerframework.checker.signature.qual.MethodDescriptor; @@ -78,7 +86,7 @@ public class MethodGen24 { */ private @Nullable CodeAttribute codeAttribute; - /** The method's maximum number of locals. */ + /** The method's maximum number of local slots. */ private int maxLocals; /** The method's maximum stack size. */ @@ -127,19 +135,22 @@ public class MethodGen24 { * The method's local variable table. Often modified by clients, normally to add additional local * variables needed for instrumentation. */ - protected List localsTable; + public List localsTable; /** ConstantPool builder for entire class. */ // TODO: Should uses of this be synchronized? private ConstantPoolBuilder poolBuilder; /** Variables used for processing the current method. */ - protected static class MInfo24 { + public static class MInfo24 { /** The index of this method in SharedData.methods. */ public final int method_info_index; - /** Next available slot in localsTable, currently always = max locals. */ + /** + * Next available slot in localsTable, user is expected to maintain and update maxLocals as + * needed. + */ public int nextLocalIndex; /** @@ -175,7 +186,7 @@ protected static class MInfo24 { * Creates a MInfo24. * * @param method_info_index the index of the method in SharedData.methods - * @param nextLocalIndex next available slot in localsTable, currently always = max locals + * @param nextLocalIndex next available slot in localsTable, user should set to maxLocals * @param codeBuilder a CodeBuilder */ public MInfo24(int method_info_index, int nextLocalIndex, CodeBuilder codeBuilder) { @@ -245,10 +256,6 @@ public MethodGen24( signature = descriptor; } - mtd = methodModel.methodTypeSymbol(); - paramTypes = mtd.parameterArray(); - returnType = mtd.returnType(); - // Set up the localsTable. localsTable = new ArrayList<>(); @@ -267,21 +274,234 @@ public MethodGen24( localsTable.sort(Comparator.comparing(LocalVariable::slot)); origLocalVariables = localsTable.toArray(new LocalVariable[localsTable.size()]); - // System.out.println("locals:" + Arrays.toString(origLocalVariables)); - // System.out.println("types:" + Arrays.toString(paramTypes)); - // System.out.println("length: " + paramTypes.length + ", offset: " + offset); + poolBuilder = classBuilder.constantPool(); + + // Set up the parameter types and names. + mtd = methodModel.methodTypeSymbol(); + returnType = mtd.returnType(); + paramTypes = getParamTypes(); + paramNames = getParamNames(); + } + + /** + * Creates a MethodGen24 object for a new method created by DCInstrument24. + * + * @param className the containing class, in binary name format + * @param classBuilder for the class + * @param methodName for the method + * @param accessFlagsMask for the method + * @param mtd MethodTypeDescriptor for the method + * @param instructions instruction list for the method + * @param maxStack for the method + * @param maxLocals for the method + */ + public MethodGen24( + final @BinaryName String className, + ClassBuilder classBuilder, + final String methodName, + final int accessFlagsMask, + final MethodTypeDesc mtd, + List instructions, + int maxStack, + int maxLocals) { + + this.className = className; + this.accessFlagsMask = accessFlagsMask; + this.methodName = methodName; + this.mtd = mtd; + @SuppressWarnings("signature") // JDK 24 is not annotated as yet + @MethodDescriptor String descriptor1 = mtd.descriptorString(); + descriptor = descriptor1; + signature = descriptor; + code = null; + codeList = instructions; + codeAttribute = null; + this.maxStack = maxStack; + this.maxLocals = maxLocals; + isStatic = (accessFlagsMask & ClassFile.ACC_STATIC) != 0; + + // Create an empty localsTable. This will be filled in when InstrumentCode calls fixLocals. + localsTable = new ArrayList<>(); + origLocalVariables = localsTable.toArray(new LocalVariable[localsTable.size()]); + + poolBuilder = classBuilder.constantPool(); + + returnType = mtd.returnType(); + paramTypes = getParamTypes(); + paramNames = getParamNames(); + } + + /** + * Returns the value for the {@link #paramTypes} field. Intended to be called only once, from the + * constructor. + * + * @return the value for the {@link #paramTypes} field + */ + @RequiresNonNull({"mtd", "methodName", "origLocalVariables", "className"}) + private ClassDesc[] getParamTypes(@UnderInitialization(Object.class) MethodGen24 this) { + ClassDesc[] result = mtd.parameterArray(); + + // java.lang.classfile seems to be inconsistent with the parameter types + // of an inner class constructor. It may optimize away the hidden 'this$0' + // parameter, but it does not remove the corresponding entry from the + // parameterArray(). In order to correctly derive the names of the + // parameters I need to detect this special case and remove the + // incorrect entry from the parameterArray(). This check is ugly. + if (methodName.equals("") && result.length > 0 && origLocalVariables.length > 1) { + int dollarPos = className.lastIndexOf("$"); + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String arg0Fd = result[0].descriptorString(); + String arg0Type = Instrument24.convertDescriptorToFqBinaryName(arg0Fd); + // Note for tests below: first local will always be 'this'. + if (dollarPos >= 0 + && + // see if type of first parameter is classname up to the "$" + className.substring(0, dollarPos).equals(arg0Type) + && + // don't change if second local is in slot 2 + !(origLocalVariables[1].slot() == 2) + && + // don't change if type of first param matches type of second local + !origLocalVariables[1].typeSymbol().equals(result[0]) + && + // don't change result if 'this$0' is present + !origLocalVariables[1].name().stringValue().equals("this$0")) { + // some need some don't. what is difference? + // remove first param type so consistent with other methods + ClassDesc[] newArray = new ClassDesc[result.length - 1]; + System.arraycopy(result, 1, newArray, 0, result.length - 1); + result = newArray; + } + } + + return result; + } - paramNames = new String[paramTypes.length]; - int offset = isStatic ? 0 : 1; - for (int i = 0; i < paramTypes.length; i++) { - if ((offset + i) < origLocalVariables.length) { + /** + * Returns the value for the {@link #paramNames} field. Intended to be called only once, from the + * constructor. + * + * @return the value for the {@link #paramNames} field + */ + @RequiresNonNull({"mtd", "paramTypes", "origLocalVariables"}) + private @Identifier String[] getParamNames(@UnderInitialization(Object.class) MethodGen24 this) { + + // These initial values for {@code paramNames} may be incorrect. They could + // be altered in {@code fixLocals}. + @Identifier String[] result = new String[paramTypes.length]; + + int pIndex = 0; + int lIndex = isStatic ? 0 : 1; + int slot = isStatic ? 0 : 1; + int lLen = origLocalVariables.length; // we may add dummy param names + + while (pIndex < paramTypes.length) { + if ((lIndex >= origLocalVariables.length) + || (pIndex >= lLen) + || (origLocalVariables[lIndex].slot() != slot)) { + result[pIndex] = "param" + slot; + } else { + // UNDONE: should we assert type of paramTypes[pIndex] == type of + // origLocalVariables[lindex]? @SuppressWarnings("signature:assignment") // need JDK annotations - @Identifier String paramName = origLocalVariables[offset + i].name().stringValue(); - paramNames[i] = paramName; + @Identifier String paramName = origLocalVariables[lIndex].name().stringValue(); + result[pIndex] = paramName; + lIndex++; + lLen++; // pretend there is one more local } + slot += TypeKind.from(paramTypes[pIndex]).slotSize(); + pIndex++; } - poolBuilder = classBuilder.constantPool(); + return result; + } + + /** + * Due to a Java compiler optimization, unused parameters may not be included in the local + * variables. Some of DynComp's instrumentation requires their presence. This routine makes these + * changes, if necessary. + * + * @param minfo MInfo24 object for current method + * @return true if modified localsTable, false otherwise + */ + public boolean fixLocals(MInfo24 minfo) { + boolean modified = false; + // If this is a native method the + // localsTable may not exist. We may need to add a 'this' pointer. + if ((localsTable.size() == 0) && !isStatic) { + LocalVariable newVar = + LocalVariable.of(0, "this", CD_Object, minfo.startLabel, minfo.endLabel); + localsTable.add(newVar); + modified = true; + } + + int lBase = isStatic ? 0 : 1; + int slot = isStatic ? 0 : 1; + int pLen = paramTypes.length; // we may add dummy params + int lIndex = lBase; + for (int pIndex = 0; pIndex < pLen; pIndex++) { + if (lIndex >= origLocalVariables.length) { + // more parameters than locals; need to add a LocalVariable for this parameter + LocalVariable newVar = + LocalVariable.of( + slot, paramNames[pIndex], paramTypes[pIndex], minfo.startLabel, minfo.endLabel); + localsTable.add(newVar); + modified = true; + } else if (slot != origLocalVariables[lIndex].slot()) { + // we have an alignment gap or missing local + if ((TypeKind.from(paramTypes[pIndex]).slotSize() == 2) + && paramTypes[pIndex].equals(origLocalVariables[lIndex].typeSymbol())) { + // has to have length 2 otherwise slot would be equal + // we have an alignment gap + // insert a dummy entry into the param tables + int newLen = paramTypes.length + 1; + ClassDesc[] newTypes = new ClassDesc[newLen]; + @Identifier String[] newNames = new String[newLen]; + System.arraycopy(paramTypes, 0, newTypes, 0, pIndex); + System.arraycopy(paramNames, 0, newNames, 0, pIndex); + newTypes[pIndex] = CD_Object; // good as any for dummy + newNames[pIndex] = "align" + pIndex; + System.arraycopy(paramTypes, pIndex, newTypes, pIndex + 1, paramTypes.length - pIndex); + System.arraycopy(paramNames, pIndex, newNames, pIndex + 1, paramTypes.length - pIndex); + paramTypes = newTypes; + paramNames = newNames; + pLen++; // we've added a new param; will create corresponding local below + } + // create an alignment temp or a local that compiler has optimized out + LocalVariable newVar = + LocalVariable.of( + slot, paramNames[pIndex], paramTypes[pIndex], minfo.startLabel, minfo.endLabel); + localsTable.add(newVar); + lIndex--; // we've added an alignment local or missing local, we need to visit current local + // again + modified = true; + } + slot += TypeKind.from(paramTypes[pIndex]).slotSize(); + lIndex++; + } + + // UNDONE: do we need to check for alignment gaps in locals after the parameters? + + // If we added locals, then table is no longer sorted by slot. + if (modified) { + localsTable.sort(Comparator.comparing(LocalVariable::slot)); + } + + // Now that we have updated and/or corrected the locals table, the paramNames + // may need to be updated. + for (int pIndex = 0; pIndex < paramTypes.length; pIndex++) { + lIndex = lBase + pIndex; + if (lIndex < localsTable.size()) { + @SuppressWarnings("signature:assignment") // need JDK annotations + @Identifier String localName = localsTable.get(lIndex).name().stringValue(); + if (!paramNames[pIndex].equals(localName)) { + paramNames[pIndex] = localName; + modified = true; + } + } + } + + return modified; } /** @@ -293,6 +513,38 @@ public int getAccessFlagsMask() { return accessFlagsMask; } + /** + * Returns true if the method is a constructor. + * + * @return true iff the method is a constructor + */ + public final boolean isConstructor() { + return methodName.equals(""); + } + + /** + * Returns true if the method is a class initializer. + * + * @return true iff the method is a class initializer + */ + public final boolean isClinit() { + return methodName.equals(""); + } + + /** + * Returns true if this is a standard main method (static, void, name is 'main', and one formal + * parameter: a string array). + * + * @return true iff the method is a main method + */ + public final boolean isMain() { + return isStatic + && returnType.equals(CD_void) + && methodName.equals("main") + && (paramTypes.length == 1) + && paramTypes[0].equals(CD_String.arrayType(1)); + } + /** * Returns true if the method is static. * @@ -339,6 +591,15 @@ public ClassDesc getReturnType() { return paramNames.clone(); } + /** + * Set the parameter names. + * + * @param paramNames the new paramNames array + */ + public void setParameterNames(final @Identifier String[] paramNames) { + this.paramNames = paramNames; + } + /** * Returns the type of the ith parameter. * @@ -358,6 +619,15 @@ public ClassDesc[] getParameterTypes() { return paramTypes.clone(); } + /** + * Set the parameter types. + * + * @param paramTypes the new paramTypes array + */ + public void setParameterTypes(final ClassDesc[] paramTypes) { + this.paramTypes = paramTypes; + } + /** * Returns the original local variable table. In most cases, instrumentation code should use the * {@code localsTable} instead. @@ -368,6 +638,16 @@ public LocalVariable[] getOriginalLocalVariables() { return origLocalVariables.clone(); } + /** + * Set the original local variable table. This method is only used when DCInstrument24 creates a + * new user method. + * + * @param locals the new original local variable table + */ + public void setOriginalLocalVariables(LocalVariable[] locals) { + origLocalVariables = locals.clone(); + } + /** * Returns the name of the containing class. * @@ -396,6 +676,15 @@ public int getMaxLocals() { return maxLocals; } + /** + * Set the current size of the locals table. + * + * @param size the current size of the locals table + */ + public void setMaxLocals(int size) { + maxLocals = size; + } + /** * Returns the maximum stack size. * @@ -445,37 +734,86 @@ public ConstantPoolBuilder getPoolBuilder() { return poolBuilder; } - // Not sure we need this - // public void setInstructionList(List il) { - // codeList = il; - // } + /** + * Set the method's instruction list. Used to add instruction list to our native code wrapper. + * + * @param il the instruction list + */ + public void setInstructionList(List il) { + codeList = il; + } - // need to fancy up! + /** + * Return string representation close to declaration format, 'public static void main(String[])', + * e.g. + * + * @return String representation of the method declaration. + */ @Override public final String toString(@GuardSatisfied MethodGen24 this) { - return methodName; + StringBuilder result = new StringBuilder(getAccess(accessFlagsMask)); + result.append(returnType.equals(CD_void) ? "void" : convertClassDesc(returnType)); + result.append(" " + methodName + "("); + if (paramTypes.length > 0) { + for (int i = 0; i < paramTypes.length; i++) { + String arg = convertClassDesc(paramTypes[i]); + if ((accessFlagsMask & ClassFile.ACC_VARARGS) != 0 && (i == (paramTypes.length - 1))) { + arg = arg.replace("[]", "..."); + } + result.append(arg + " " + paramNames[i] + ", "); + } + result.setLength(result.length() - 2); // remove last ", " + } + result.append(")"); + return result.toString(); } - /* - @Override - public final String toString() { - final String access = Utility.accessToString(super.getAccessFlags()); - String signature = Type.getMethodSignature(super.getType(), paramTypes); - signature = Utility.methodSignatureToString(signature, super.getName(), access, true, getLocalVariableTable(super.getConstantPool())); - final StringBuilder buf = new StringBuilder(signature); - for (final Attribute a : getAttributes()) { - if (!(a instanceof Code || a instanceof ExceptionTable)) { - buf.append(" [").append(a).append("]"); - } - } - - if (!throwsList.isEmpty()) { - for (final String throwsDescriptor : throwsList) { - buf.append("\n\t\tthrows ").append(throwsDescriptor); - } - } - return buf.toString(); - } - */ + /** + * Returns a string representation of a ClassDesc. Removes a leading "java.lang.". + * + * @param type the ClassDesc to translate + */ + private String convertClassDesc(@GuardSatisfied MethodGen24 this, ClassDesc type) { + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String arg0Fd = type.descriptorString(); + String result = daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(arg0Fd); + if (result.startsWith("java.lang.")) { + result = result.replace("java.lang.", ""); + } + return result; + } + /** + * Returns a string representation of a method's access flags. + * + * @param accessFlagsMask some access flags. + */ + private String getAccess(@GuardSatisfied MethodGen24 this, final int accessFlagsMask) { + StringBuilder result = new StringBuilder(); + if ((accessFlagsMask & ClassFile.ACC_PUBLIC) != 0) { + result.append("public "); + } + if ((accessFlagsMask & ClassFile.ACC_PRIVATE) != 0) { + result.append("private "); + } + if ((accessFlagsMask & ClassFile.ACC_PROTECTED) != 0) { + result.append("protected "); + } + if ((accessFlagsMask & ClassFile.ACC_ABSTRACT) != 0) { + result.append("abstract "); + } + if ((accessFlagsMask & ClassFile.ACC_STATIC) != 0) { + result.append("static "); + } + if ((accessFlagsMask & ClassFile.ACC_FINAL) != 0) { + result.append("final "); + } + if ((accessFlagsMask & ClassFile.ACC_SYNCHRONIZED) != 0) { + result.append("synchronized "); + } + if ((accessFlagsMask & ClassFile.ACC_NATIVE) != 0) { + result.append("native "); + } + return result.toString(); + } } diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java new file mode 100644 index 0000000000..b1f31485cc --- /dev/null +++ b/java/daikon/dcomp/BcelUtils24.java @@ -0,0 +1,224 @@ +package daikon.dcomp; + +import daikon.chicory.MethodGen24; +import daikon.plumelib.bcelutil.SimpleLog; +import java.lang.classfile.CodeElement; +import java.lang.classfile.TypeKind; +import java.lang.classfile.instruction.DiscontinuedInstruction; +import java.lang.classfile.instruction.IncrementInstruction; +import java.lang.classfile.instruction.LoadInstruction; +import java.lang.classfile.instruction.LocalVariable; +import java.lang.classfile.instruction.StoreInstruction; +import java.lang.constant.ClassDesc; +import java.util.Arrays; +import java.util.List; +import java.util.ListIterator; +import org.checkerframework.checker.signature.qual.Identifier; + +/** + * This class provides utility methods for manipulating bytecode structures in the Java 24 + * instrumentation pipeline, including operations on local variables, parameter types, and + * instruction adjustments. + */ +public final class BcelUtils24 { + + /** Don't allow others to create a new BcelUtils24 object. */ + private BcelUtils24() {} + + /* + * NOMENCLATURE + * + * 'index' is an item's subscript into a data structure. + * + * 'offset' is used to describe two different address types: + * * the offset of a byte code from the start of a method's byte codes + * * the offset of a variable from the start of a method's stack frame + * + * The Java Virtual Machine Specification uses + * 'index into the local variable array of the current frame' + * or 'slot number' to describe this second case. + */ + + /** A log to which to print debugging information about program instrumentation. */ + private static SimpleLog debugInstrument = new SimpleLog(false); + + /** + * Returns a copy of the given type array, with newType added to the end. + * + * @param types the array to extend + * @param newType the element to add to the end of the array + * @return a new array, with newType at the end + */ + public static ClassDesc[] postpendToArray(ClassDesc[] types, ClassDesc newType) { + if (types.length == Integer.MAX_VALUE) { + throw new IllegalArgumentException( + "array " + Arrays.toString(types) + " is too large to extend"); + } + ClassDesc[] newTypes = new ClassDesc[types.length + 1]; + System.arraycopy(types, 0, newTypes, 0, types.length); + newTypes[types.length] = newType; + return newTypes; + } + + /** + * Returns a String array with newString added to the end of arr. + * + * @param arr original string array + * @param newString string to be added + * @return the new string array + */ + static String[] addString(String[] arr, String newString) { + String[] newArr = new String[arr.length + 1]; + System.arraycopy(arr, 0, newArr, 0, arr.length); + newArr[arr.length] = newString; + return newArr; + } + + /** + * Process the instruction list, adding size (1 or 2) to the slot number of each Instruction that + * references a local that is equal or higher in the local map than offsetFirstMovedlocal. Size + * should be the size of the new local that was just inserted at offsetFirstMovedlocal. + * + * @param mgen MethodGen to be modified + * @param offsetFirstMovedLocal original offset of first local moved "up" + * @param size size of new local added (1 or 2) + */ + static void adjust_code_for_locals_change(MethodGen24 mgen, int offsetFirstMovedLocal, int size) { + + debugInstrument.log("adjust code: %d %d%n", offsetFirstMovedLocal, size); + try { + List il = mgen.getInstructionList(); + ListIterator iter = il.listIterator(); + while (iter.hasNext()) { + + CodeElement inst = iter.next(); + switch (inst) { + case DiscontinuedInstruction.RetInstruction ret -> { + if (ret.slot() >= offsetFirstMovedLocal) { + iter.set(DiscontinuedInstruction.RetInstruction.of(ret.slot() + size)); + } + } + case IncrementInstruction inc -> { + if (inc.slot() >= offsetFirstMovedLocal) { + iter.set(IncrementInstruction.of(inc.slot() + size, inc.constant())); + } + } + case LoadInstruction load -> { + if (load.slot() >= offsetFirstMovedLocal) { + iter.set(LoadInstruction.of(load.typeKind(), load.slot() + size)); + } + } + case StoreInstruction store -> { + if (store.slot() >= offsetFirstMovedLocal) { + iter.set(StoreInstruction.of(store.typeKind(), store.slot() + size)); + } + } + default -> {} // ignore all other instructions + } + } + } catch (Exception e) { + System.err.printf("Unexpected exception encountered: %s", e); + e.printStackTrace(); + } + } + + /** + * Add a new local variable to the method. This will be inserted after last current parameter and + * before the first local variable. This might have the side effect of causing us to rewrite the + * method byte codes to adjust the slot numbers for the existing local variables - see below for + * details. + * + *

    DCInstrument24 uses this routine for two special variables: + * + *

      + *
    1. the dcomp marker - added as a parameter + *
    2. the tag frame array - added as a local + *
    + * + *

    Must call {@link MethodGen24#fixLocals} before calling this routine. + * + * @param mgen MethodGen to be modified + * @param argName name of new parameter + * @param argType type of new parameter + * @param minfo for the given method's code + * @param isParam if true, the new local is a new parameter + * @return a LocalVariable for the new variable + */ + public static LocalVariable addNewSpecialLocal( + MethodGen24 mgen, + String argName, + ClassDesc argType, + MethodGen24.MInfo24 minfo, + boolean isParam) { + + debugInstrument.enabled = daikon.dcomp.DCInstrument24.bcelDebug; + + // We add a new local variable, after any parameters and before any + // existing local variables. We then need to make a pass over the + // byte codes to update the slot number of any locals we just shifted up. + + LocalVariable argNew; + // get a copy of the locals before modification + List locals = mgen.localsTable; + ClassDesc[] argTypes = mgen.getParameterTypes(); + int newIndex = 0; // index into 'locals' + int newOffset = 0; // current local slot number + + boolean hasCode = !mgen.getInstructionList().isEmpty(); + int argSize = TypeKind.from(argType).slotSize(); + + if (!mgen.isStatic()) { + // Skip the 'this' pointer. + newIndex++; + newOffset++; // size of 'this' is 1 + } + + if (argTypes.length > 0) { + LocalVariable lastArg; + newIndex = newIndex + argTypes.length; + // newIndex is now positive, because argTypes.length is + lastArg = locals.get(newIndex - 1); + newOffset = lastArg.slot() + TypeKind.from(lastArg.typeSymbol()).slotSize(); + } + + // Insert our new local variable into existing table at 'newOffset'. + argNew = LocalVariable.of(newOffset, argName, argType, minfo.startLabel, minfo.endLabel); + mgen.localsTable.add(newIndex, argNew); + minfo.nextLocalIndex += argSize; + mgen.setMaxLocals(minfo.nextLocalIndex); + + if (isParam) { + // Update the method's parameter information. + argTypes = postpendToArray(argTypes, argType); + @SuppressWarnings("signature:assignment") // string manipulation + @Identifier String[] argNames = addString(mgen.getParameterNames(), argName); + mgen.setParameterTypes(argTypes); + mgen.setParameterNames(argNames); + } + + String varType = isParam ? "arg" : "local"; + debugInstrument.log( + "Added %s at %s%n", + varType, argNew.slot() + ": " + argNew.name() + ", " + argNew.type() + ", " + argSize); + + if (hasCode) { + // we need to adjust the offset of any locals after our insertion + for (int i = newIndex + 1; i < locals.size(); i++) { + LocalVariable lv = locals.get(i); + locals.set( + i, + LocalVariable.of( + lv.slot() + argSize, lv.name(), lv.type(), lv.startScope(), lv.endScope())); + } + + // Now process the instruction list, adding one to the offset + // within each LocalVariableInstruction that references a + // local that is 'higher' in the local map than new local + // we just inserted. + adjust_code_for_locals_change(mgen, newOffset, argSize); + + // debugInstrument.log("New LocalVariableTable:%n%s%n", mgen.localsTable); + } + return argNew; + } +} diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java new file mode 100644 index 0000000000..017b8c6167 --- /dev/null +++ b/java/daikon/dcomp/BuildJDK24.java @@ -0,0 +1,593 @@ +package daikon.dcomp; + +import static java.lang.constant.ConstantDescs.CD_Object; +import static java.lang.constant.ConstantDescs.CD_boolean; +import static java.nio.charset.StandardCharsets.UTF_8; + +import daikon.DynComp; +import daikon.chicory.ClassInfo; +import daikon.plumelib.bcelutil.BcelUtil; +import daikon.plumelib.options.Options; +import daikon.plumelib.reflection.Signatures; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; +import java.io.UncheckedIOException; +import java.lang.classfile.ClassBuilder; +import java.lang.classfile.ClassFile; +import java.lang.classfile.ClassHierarchyResolver; +import java.lang.classfile.ClassModel; +import java.lang.classfile.attribute.SourceFileAttribute; +import java.lang.constant.ClassDesc; +import java.lang.constant.MethodTypeDesc; +import java.net.URI; +import java.nio.file.DirectoryStream; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.signature.qual.BinaryName; + +/** + * BuildJDK24 uses {@link DCInstrument24} to add comparability instrumentation to Java class files, + * then stores the modified files into a directory identified by a (required) command line argument. + * + *

    DCInstrument24 duplicates each method of a class file. The new methods are distinguished by + * the addition of a final parameter of type DCompMarker and are instrumented to track + * comparability. Based on its invocation arguments, DynComp will decide whether to call the + * instrumented or uninstrumented version of a method. + */ +@SuppressWarnings({ + "mustcall:type.argument", + "mustcall:type.arguments.not.inferred" +}) // assignments into owning collection +public final class BuildJDK24 { + + /** Don't allow others to create a new BuildJDK24 object. */ + private BuildJDK24() {} + + /** + * The "java.home" system property. Note that there is also a JAVA_HOME variable that contains + * {@code System.getenv("JAVA_HOME")}. + */ + public static final String java_home = System.getProperty("java.home"); + + /** If true, print information about the classes being instrumented. */ + private static boolean verbose = false; + + /** Number of class files processed; used for progress display. */ + private int _numFilesProcessed = 0; + + /** Name of file in output jar containing the static-fields map. */ + private static String static_field_id_filename = "dcomp_jdk_static_field_id"; + + /** Allow BuildJDK24 to access outputDebugFiles. */ + @SuppressWarnings("nullness") + private static daikon.dcomp.Instrument24 inst24; + + /** + * Collects names of all methods that DCInstrument24 could not process. Should be empty. Format is + * <fully-qualified class name>.<method name> + */ + private static List skipped_methods = new ArrayList<>(); + + /** + * A list of methods known to cause DCInstrument24 to fail. This is used to remove known problems + * from the list of failures displayed at the end of BuildJDK's execution. Format is + * <fully-qualified class name>.<method name> + */ + public static List known_uninstrumentable_methods = + Arrays.asList( + // None at present + ); + + /** + * Instruments each class file in the Java runtime and puts the result in the first non-option + * command-line argument. + * + *

    By default, BuildJDK will locate the appropriate Java runtime library and instrument each of + * its member class files. However, if there are additional arguments on the command line after + * the destination directory, then we assume these are class files to be instrumented and the Java + * runtime library is not used. This usage is primarily for testing purposes. + * + * @param args arguments being passed to BuildJDK + * @throws IOException if unable to read or write file {@code dcomp_jdk_static_field_id} or if + * unable to write {@code jdk_classes.txt} + */ + @SuppressWarnings("builder:required.method.not.called") // assignment into collection of @Owning + public static void main(String[] args) throws IOException { + + System.out.println("BuildJDK24 starting at " + LocalDateTime.now(ZoneId.systemDefault())); + + BuildJDK24 build = new BuildJDK24(); + + Options options = + new Options( + "daikon.BuildJDK24 [options] dest_dir [classfiles...]", + DynComp.class, + DCInstrument24.class); + String[] cl_args = options.parse(true, args); + if (cl_args.length < 1) { + System.err.println("must specify destination dir"); + options.printUsage(); + System.exit(1); + } + verbose = DynComp.verbose; + inst24 = new daikon.dcomp.Instrument24(); + + File dest_dir = new File(cl_args[0]); + + // Key is a class file name, value is a stream that opens that file name. + // + //

    We want to share code to read and instrument the Java class file members of a jar file + // (JDK 8) or a module file (JDK 9+). However, jar files and module files are located in two + // completely different file systems. So we open an InputStream for each class file we wish to + // instrument and save it in the class_stream_map with the file pathname as the key. From that + // point the code to instrument a class file can be shared. + Map class_stream_map; + + if (cl_args.length > 1) { + + // Arguments are [...] + @SuppressWarnings("nullness:assignment") // https://tinyurl.com/cfissue/3224 + @NonNull String[] class_files = Arrays.copyOfRange(cl_args, 1, cl_args.length); + + // Instrumenting a specific list of class files is usually used for testing. + // But if we're using it to fix a broken classfile, then we need + // to restore the static-fields map from when our runtime jar was originally + // built. We assume it is in the destination directory. + DCInstrument24.restore_static_field_id(new File(dest_dir, static_field_id_filename)); + System.out.printf( + "Restored %d entries in static map.%n", DCInstrument24.static_field_id.size()); + + class_stream_map = new HashMap<>(); + for (String classFileName : class_files) { + try { + class_stream_map.put(classFileName, new FileInputStream(classFileName)); + } catch (FileNotFoundException e) { + throw new Error("File not found: " + classFileName, e); + } + } + + // Instrument the classes identified in class_stream_map. + build.instrument_classes(dest_dir, class_stream_map); + + } else { + + check_java_home(); + + if (BcelUtil.javaVersion > 8) { + class_stream_map = build.gather_runtime_from_modules(); + } else { + class_stream_map = build.gather_runtime_from_jar(); + } + + // Instrument the Java runtime classes identified in class_stream_map. + build.instrument_classes(dest_dir, class_stream_map); + + // We've finished instrumenting all the class files. Now we create some + // abstract interface classes for use by the DynComp runtime. + build.addInterfaceClasses(dest_dir.getName()); + + // Write out the file containing the static-fields map. + System.out.printf("Found %d static fields.%n", DCInstrument24.static_field_id.size()); + DCInstrument24.save_static_field_id(new File(dest_dir, static_field_id_filename)); + + // Write out the list of all classes in the jar file + File jdk_classes_file = new File(dest_dir, "java/lang/jdk_classes.txt"); + System.out.printf("Writing a list of class names to %s%n", jdk_classes_file); + // Class names are written in internal form. + try (PrintWriter pw = new PrintWriter(jdk_classes_file, UTF_8.name())) { + for (String classFileName : class_stream_map.keySet()) { + pw.println(classFileName.replace(".class", "")); + } + } + } + + // Print out any methods that could not be instrumented + print_skipped_methods(); + + System.out.println("BuildJDK24 done at " + LocalDateTime.now(ZoneId.systemDefault())); + } + + /** Verify that java.home and JAVA_HOME match. Exits the JVM if there is an error. */ + public static void check_java_home() { + + // We are going to instrument the default Java runtime library. + // We need to verify where we should look for it. + + String JAVA_HOME = System.getenv("JAVA_HOME"); + if (JAVA_HOME == null) { + if (verbose) { + System.out.println("JAVA_HOME not defined; using java.home: " + java_home); + } + JAVA_HOME = java_home; + } + + File jrt = new File(JAVA_HOME); + if (!jrt.exists()) { + System.err.printf("Java home directory %s does not exist.%n", jrt); + System.exit(1); + } + + try { + jrt = jrt.getCanonicalFile(); + } catch (Exception e) { + System.err.printf("Error geting canonical file for %s: %s", jrt, e.getMessage()); + System.exit(1); + } + + JAVA_HOME = jrt.getAbsolutePath(); + if (!java_home.startsWith(JAVA_HOME)) { + System.err.printf( + "JAVA_HOME (%s) does not agree with java.home (%s).%n", JAVA_HOME, java_home); + System.err.printf("Please correct your Java environment.%n"); + System.exit(1); + } + } + + /** + * For Java 8 the Java runtime is located in rt.jar. This method creates an InputStream for each + * class in rt.jar and returns this information in a map from class file name to InputStream. + * + * @return a map from class file name to the associated InputStream + */ + @SuppressWarnings({ + "JdkObsolete", // JarEntry.entries() returns Enumeration + "builder:required.method.not.called" // assignment into collection of @Owning + }) + Map gather_runtime_from_jar() { + + Map class_stream_map = new HashMap<>(); + String jar_name = java_home + "/lib/rt.jar"; + System.out.printf("using jar file %s%n", jar_name); + try { + JarFile jfile = new JarFile(jar_name); + // Get each class to be instrumented and store it away + Enumeration entries = jfile.entries(); + while (entries.hasMoreElements()) { + JarEntry entry = entries.nextElement(); + // System.out.printf("processing entry %s%n", entry); + final String entryName = entry.getName(); + if (entryName.endsWith("/") || entryName.endsWith("~")) { + continue; + } + + // Get the InputStream for this file + InputStream is = jfile.getInputStream(entry); + class_stream_map.put(entryName, is); + } + } catch (Exception e) { + throw new Error("Problem while reading " + jar_name, e); + } + return class_stream_map; + } + + /** + * For Java 9+ the Java runtime is located in a series of modules. At this time, we are only + * pre-instrumenting the java.base module. This method initializes the DirectoryStream used to + * explore java.base. It calls gather_runtime_from_modules_directory to process the directory + * structure. + * + * @return a map from class file name to the associated InputStream + */ + Map gather_runtime_from_modules() { + + Map class_stream_map = new HashMap<>(); + FileSystem fs = FileSystems.getFileSystem(URI.create("jrt:/")); + Path modules = fs.getPath("/modules"); + // The path java_home+/lib/modules is the file in the host file system that + // corresponds to the modules file in the jrt: file system. + System.out.printf("using modules directory %s%n", java_home + "/lib/modules"); + try (DirectoryStream directoryStream = Files.newDirectoryStream(modules, "java.base*")) { + for (Path moduleDir : directoryStream) { + gather_runtime_from_modules_directory( + moduleDir, moduleDir.toString().length(), class_stream_map); + } + } catch (IOException e) { + throw new UncheckedIOException(e); + } + return class_stream_map; + } + + /** + * This is a helper method for {@link #gather_runtime_from_modules}. It recurses down the module + * directory tree, selects the classes we want to instrument, creates an InputStream for each of + * these classes, and adds this information to the {@code class_stream_map} argument. + * + * @param path module file, which might be subdirectory + * @param modulePrefixLength length of "/module/..." path prefix before start of actual member + * path + * @param class_stream_map a map from class file name to InputStream that collects the results + */ + @SuppressWarnings("builder:required.method.not.called") // assignment into collection of @Owning + void gather_runtime_from_modules_directory( + Path path, int modulePrefixLength, Map class_stream_map) { + + if (Files.isDirectory(path)) { + try (DirectoryStream directoryStream = Files.newDirectoryStream(path)) { + for (Path subpath : directoryStream) { + gather_runtime_from_modules_directory(subpath, modulePrefixLength, class_stream_map); + } + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } else { + String entryName = path.toString().substring(modulePrefixLength + 1); + try { + // Get the InputStream for this file + InputStream is = Files.newInputStream(path); + class_stream_map.put(entryName, is); + } catch (Exception e) { + throw new Error(e); + } + } + } + + /** + * Instrument each of the classes indentified by the class_stream_map argument. + * + * @param dest_dir where to store the instrumented classes + * @param class_stream_map maps from class file name to an input stream on that file + */ + void instrument_classes(File dest_dir, Map class_stream_map) { + + // Get our ClassLoader. + ClassLoader loader = BuildJDK24.class.getClassLoader(); + if (loader == null) { + loader = ClassLoader.getSystemClassLoader(); + } + + try { + // Create the destination directory + dest_dir.mkdirs(); + + // Process each file. + for (String classFileName : class_stream_map.keySet()) { + if (verbose) { + System.out.println("instrument_classes: " + classFileName); + } + + if (classFileName.equals("module-info.class")) { + System.out.printf("Skipping file %s%n", classFileName); + continue; + } + + // Handle non-.class files and Object.class. In JDK 8, copy them unchanged. + // For JDK 9+ we do not copy as these items will be loaded from the original module file. + if (!classFileName.endsWith(".class") || classFileName.equals("java/lang/Object.class")) { + if (BcelUtil.javaVersion > 8) { + if (verbose) { + System.out.printf("Skipping file %s%n", classFileName); + } + continue; + } + // This File constructor ignores dest_dir if classFileName is absolute. + File classFile = new File(dest_dir, classFileName); + if (classFile.getParentFile() == null) { + throw new Error("This can't happen: " + classFile); + } + classFile.getParentFile().mkdirs(); + if (verbose) { + System.out.println("Copying Object.class or non-classfile: " + classFile); + } + try (InputStream in = class_stream_map.get(classFileName)) { + Files.copy(in, classFile.toPath()); + } + continue; + } + + ClassFile classFile = + ClassFile.of( + ClassFile.ClassHierarchyResolverOption.of( + ClassHierarchyResolver.ofResourceParsing(loader))); + ClassModel classModel; + byte[] buffer; + + // Parse the bytes of the classfile, die on any errors. + try (InputStream is = class_stream_map.get(classFileName)) { + buffer = is.readAllBytes(); + classModel = classFile.parse(buffer); + } catch (Throwable e) { + throw new Error("Failed to parse classfile " + classFileName, e); + } + + @SuppressWarnings("signature:assignment") // type conversion + @BinaryName String classname = classFileName.replace(".class", "").replace('/', '.'); + if (DynComp.dump) { + inst24.outputDebugFiles(buffer, inst24.debug_uninstrumented_dir, classname); + } + + // Instrument the class file. + try { + instrumentClassFile( + classFile, classModel, loader, dest_dir, classFileName, class_stream_map.size()); + } catch (Throwable e) { + throw new Error("Couldn't instrument " + classFileName, e); + } + } + } catch (Exception e) { + throw new Error(e); + } + } + + /** + * Add abstract interface classes needed by the DynComp runtime. + * + * @param destDir where to store the interface classes + */ + private void addInterfaceClasses(String destDir) { + // Create the DcompMarker class which is used to identify instrumented calls. + createDCompClass(destDir, "DCompMarker", false); + + // The remainer of the generated classes are needed for JDK 9+ only. + if (BcelUtil.javaVersion > 8) { + createDCompClass(destDir, "DCompInstrumented", true); + createDCompClass(destDir, "DCompClone", false); + createDCompClass(destDir, "DCompToString", false); + } + } + + /** + * Create an abstract interface class for use by the DynComp runtime. + * + * @param destDir where to store the new class + * @param className name of class + * @param dcompInstrumented if true, add equals_dcomp_instrumented method to class + */ + private void createDCompClass( + String destDir, @BinaryName String className, boolean dcompInstrumented) { + byte[] classBytes; + + try { + classBytes = + ClassFile.of() + .build( + ClassDesc.of(Signatures.addPackage("java.lang", className)), + classBuilder -> finishCreateDCompClass(classBuilder, dcompInstrumented)); + // Write the byte array to a .class file. + File outputFile = new File(new File(new File(destDir, "java"), "lang"), className + ".class"); + Files.write(outputFile.toPath(), classBytes); + } catch (Exception e) { + throw new Error(e); + } + } + + /** + * Create an abstract interface class for use by the DynComp runtime. + * + * @param classBuilder for the class + * @param dcompInstrumented if true, add equals_dcomp_instrumented method to class + */ + private void finishCreateDCompClass(ClassBuilder classBuilder, boolean dcompInstrumented) { + classBuilder.withSuperclass(ClassDesc.of("java.lang.Object")); + classBuilder.withFlags(ClassFile.ACC_INTERFACE | ClassFile.ACC_PUBLIC | ClassFile.ACC_ABSTRACT); + // Convert from JDK version number to ClassFile major_version. + classBuilder.withVersion(BcelUtil.javaVersion + 44, 0); + classBuilder.with(SourceFileAttribute.of("daikon.dcomp.BuildJDK24 tool")); + + if (dcompInstrumented) { + classBuilder.withMethod( + "equals_dcomp_instrumented", + MethodTypeDesc.of(CD_boolean, CD_Object), + ClassFile.ACC_PUBLIC | ClassFile.ACC_ABSTRACT, + methodBuilder -> {}); + } + } + + /** Formats just the time part of a DateTime. */ + private DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); + + /** + * Instruments the JavaClass {@code jc} (whose name is {@code classFileName}). Writes the + * resulting class to its corresponding location in the directory outputDir. + * + * @param classFile ClassFile of class to be instrumented + * @param classModel ClassModel of class to be instrumented + * @param loader ClassLoader of class to be instrumented + * @param outputDir output directory for instrumented class + * @param classFileName name of class to be instrumented (in internal form) + * @param classTotal total number of classes to be processed; used for progress display + * @throws IOException if unable to write out instrumented class + */ + @SuppressWarnings("SystemConsoleNull") // https://errorprone.info/bugpattern/SystemConsoleNull + private void instrumentClassFile( + ClassFile classFile, + ClassModel classModel, + ClassLoader loader, + File outputDir, + String classFileName, + int classTotal) + throws IOException { + if (verbose) { + System.out.printf("processing target %s%n", classFileName); + } + + // remove '.class' first + @SuppressWarnings("signature:assignment") // type conversion + @BinaryName String classname = classFileName.replace(".class", "").replace('/', '.'); + ClassInfo classInfo = new ClassInfo(classname, loader); + DCInstrument24 dci = new DCInstrument24(classFile, classModel, true); + byte[] classBytes = dci.instrument_jdk(classInfo); + if (classBytes == null) { + throw new Error("Instrumentation failed: " + classFile); + } + if (DynComp.dump) { + inst24.outputDebugFiles(classBytes, inst24.debug_instrumented_dir, classname); + } + skipped_methods.addAll(dci.get_skipped_methods()); + File classfile = new File(classFileName); + File dir; + if (classfile.getParent() == null) { + dir = outputDir; + } else { + dir = new File(outputDir, classfile.getParent()); + } + dir.mkdirs(); + File classpath = new File(dir, classfile.getName()); + if (verbose) { + System.out.printf("writing to file %s%n", classpath); + } + Files.write(classpath.toPath(), classBytes); + _numFilesProcessed++; + if (((_numFilesProcessed % 100) == 0) && (System.console() != null)) { + System.out.printf( + "Processed %d/%d classes at %s%n", + _numFilesProcessed, + classTotal, + LocalDateTime.now(ZoneId.systemDefault()).format(timeFormatter)); + } + } + + /** + * Print information about methods that were not instrumented. This happens when a method fails + * BCEL's verifier (which is more strict than Java's). + */ + private static void print_skipped_methods() { + + if (skipped_methods.isEmpty()) { + // System.out.printf("No methods were skipped.%n"); + return; + } + + System.err.println( + "Warning: The following JDK methods could not be instrumented. DynComp will"); + System.err.println("still work as long as these methods are not called by your application."); + System.err.println("If your application calls one, it will throw a NoSuchMethodException."); + + List unknown = new ArrayList<>(skipped_methods); + unknown.removeAll(known_uninstrumentable_methods); + List known = new ArrayList<>(skipped_methods); + known.retainAll(known_uninstrumentable_methods); + + if (!unknown.isEmpty()) { + System.err.println("Please report the following problems to the Daikon maintainers."); + System.err.println( + "Please give sufficient details; see \"Reporting problems\" in the Daikon manual."); + for (String method : unknown) { + System.err.printf(" %s%n", method); + } + } + if (!known.isEmpty()) { + System.err.printf("The following are known problems; you do not need to report them."); + for (String method : known) { + System.err.printf(" %s%n", method); + } + } + } +} diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java new file mode 100644 index 0000000000..f32d12504a --- /dev/null +++ b/java/daikon/dcomp/CalcStack24.java @@ -0,0 +1,1039 @@ +package daikon.dcomp; + +import static java.lang.constant.ConstantDescs.CD_Object; +import static java.lang.constant.ConstantDescs.CD_String; +import static java.lang.constant.ConstantDescs.CD_double; +import static java.lang.constant.ConstantDescs.CD_float; +import static java.lang.constant.ConstantDescs.CD_int; +import static java.lang.constant.ConstantDescs.CD_long; +import static java.lang.constant.ConstantDescs.CD_void; + +import daikon.chicory.MethodGen24; +import java.lang.classfile.CodeElement; +import java.lang.classfile.Instruction; +import java.lang.classfile.Label; +import java.lang.classfile.Opcode; +import java.lang.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.DoubleEntry; +import java.lang.classfile.constantpool.FloatEntry; +import java.lang.classfile.constantpool.IntegerEntry; +import java.lang.classfile.constantpool.LoadableConstantEntry; +import java.lang.classfile.constantpool.LongEntry; +import java.lang.classfile.constantpool.StringEntry; +import java.lang.classfile.instruction.BranchInstruction; +import java.lang.classfile.instruction.ConstantInstruction; +import java.lang.classfile.instruction.DiscontinuedInstruction; +import java.lang.classfile.instruction.ExceptionCatch; +import java.lang.classfile.instruction.FieldInstruction; +import java.lang.classfile.instruction.InvokeDynamicInstruction; +import java.lang.classfile.instruction.InvokeInstruction; +import java.lang.classfile.instruction.LineNumber; +import java.lang.classfile.instruction.LoadInstruction; +import java.lang.classfile.instruction.LookupSwitchInstruction; +import java.lang.classfile.instruction.NewMultiArrayInstruction; +import java.lang.classfile.instruction.NewObjectInstruction; +import java.lang.classfile.instruction.NewPrimitiveArrayInstruction; +import java.lang.classfile.instruction.NewReferenceArrayInstruction; +import java.lang.classfile.instruction.StoreInstruction; +import java.lang.classfile.instruction.SwitchCase; +import java.lang.classfile.instruction.TableSwitchInstruction; +import java.lang.classfile.instruction.TypeCheckInstruction; +import java.lang.constant.ClassDesc; +import java.lang.constant.MethodTypeDesc; +import java.util.List; +import org.checkerframework.checker.nullness.qual.Nullable; + +/** This class calculates the state of the operand stack via simulation. */ +public final class CalcStack24 { + + /** Don't allow others to create a new CalcStack24 object. */ + private CalcStack24() {} + + /** ClassDesc for 'null'. */ + static final ClassDesc nullCD = ClassDesc.of("fake.ClassDecs.for.null"); + + /** + * Calculates changes in contents of operand stack based on the symbolic execution of a Java + * bytecode instruction. Note that we assume the class file is valid and make no attempt to verify + * the code's correctness. + * + * @param mgen method containing the instruction (currently unused) + * @param minfo for the given method's code (currently unused) + * @param ce instruction to be interpreted + * @param inst_index index of ce in code element list + * @param stack current state of operand stack + * @return true if should continue with next instruction, false otherwise + */ + @SuppressWarnings("fallthrough") + static boolean calcOperandStack( + MethodGen24 mgen, + MethodGen24.MInfo24 minfo, + CodeElement ce, + int inst_index, + OperandStack24 stack) { + + if (DCInstrument24.debugOperandStack) { + System.out.println("code element: " + ce); + } + switch (ce) { + case Instruction inst -> { + if (DCInstrument24.stacks[inst_index] != null) { + throw new DynCompError("instruction revisited: " + inst); + } else { + DCInstrument24.stacks[inst_index] = stack.getClone(); + } + if (DCInstrument24.debugOperandStack) { + System.out.println( + "save stack state at: " + inst_index + ", " + DCInstrument24.stacks[inst_index]); + System.out.println("opcode: " + inst.opcode()); + } + // caculate stack changes + switch (inst.opcode()) { + + // operand stack: + // ..., arrayref, index + // ..., value + case Opcode.AALOAD: + { + stack.pop(); // discard the index + final ClassDesc t = stack.pop(); // pop the arrayref + if (t == null || nullCD.equals(t)) { + // Push nullCD to maintain stack consistency. The actual NullPointerException + // will be thrown at runtime if this code path is executed, not during + // instrumentation. + stack.push(nullCD); + } else { + final ClassDesc ct = t.componentType(); + if (ct == null) { + throw new DynCompError("stack item not an arrayref: " + inst); + } + stack.push(ct); + } + return true; + } + + // operand stack: + // ..., arrayref, index, value + // ... + case Opcode.AASTORE: + case Opcode.BASTORE: + case Opcode.CASTORE: + case Opcode.DASTORE: + case Opcode.FASTORE: + case Opcode.IASTORE: + case Opcode.LASTORE: + case Opcode.SASTORE: + stack.pop(3); + return true; + + // operand stack: + // ... + // ..., null + case Opcode.ACONST_NULL: + stack.push(nullCD); + return true; + + // operand stack: + // ... + // ..., objectref + case Opcode.ALOAD: + case Opcode.ALOAD_0: + case Opcode.ALOAD_1: + case Opcode.ALOAD_2: + case Opcode.ALOAD_3: + case Opcode.ALOAD_W: + LoadInstruction li = (LoadInstruction) inst; + stack.push(DCInstrument24.locals[li.slot()]); + return true; + + // operand stack: + // ..., count + // ..., arrayref + case Opcode.ANEWARRAY: + stack.pop(); // discard the count + final NewReferenceArrayInstruction nrai = (NewReferenceArrayInstruction) inst; + // make an array type from the component type + stack.push(nrai.componentType().asSymbol().arrayType(1)); + return true; + + // operand stack: + // ... + // [empty] + case Opcode.ARETURN: + case Opcode.DRETURN: + case Opcode.FRETURN: + case Opcode.IRETURN: + case Opcode.LRETURN: + case Opcode.RETURN: + // execution pump will reset stack + return false; + + // operand stack: + // ..., arrayref + // ..., length + case Opcode.ARRAYLENGTH: + stack.pop(); // discard the arrayref + stack.push(CD_int); + return true; + + // operand stack: + // ..., value + // ... + case Opcode.ASTORE: + case Opcode.ASTORE_0: + case Opcode.ASTORE_1: + case Opcode.ASTORE_2: + case Opcode.ASTORE_3: + case Opcode.ASTORE_W: + case Opcode.DSTORE: + case Opcode.DSTORE_0: + case Opcode.DSTORE_1: + case Opcode.DSTORE_2: + case Opcode.DSTORE_3: + case Opcode.DSTORE_W: + case Opcode.FSTORE: + case Opcode.FSTORE_0: + case Opcode.FSTORE_1: + case Opcode.FSTORE_2: + case Opcode.FSTORE_3: + case Opcode.FSTORE_W: + case Opcode.ISTORE: + case Opcode.ISTORE_0: + case Opcode.ISTORE_1: + case Opcode.ISTORE_2: + case Opcode.ISTORE_3: + case Opcode.ISTORE_W: + case Opcode.LSTORE: + case Opcode.LSTORE_0: + case Opcode.LSTORE_1: + case Opcode.LSTORE_2: + case Opcode.LSTORE_3: + case Opcode.LSTORE_W: + StoreInstruction si = (StoreInstruction) inst; + // We assume code is correct and do not verify that si.typeKind() matches stack.pop(). + DCInstrument24.locals[si.slot()] = stack.pop(); + return true; + + // operand stack: + // ..., objectref + // objectref + case Opcode.ATHROW: + // execution pump will reset stack + return false; + + // UNDONE: the JVM says result is int, but should we track 'true' type? + // operand stack: + // ..., arrayref, index + // ..., value + case Opcode.BALOAD: + case Opcode.CALOAD: + case Opcode.IALOAD: + case Opcode.SALOAD: + stack.pop(2); + stack.push(CD_int); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.BIPUSH: + case Opcode.ICONST_0: + case Opcode.ICONST_1: + case Opcode.ICONST_2: + case Opcode.ICONST_3: + case Opcode.ICONST_4: + case Opcode.ICONST_5: + case Opcode.ICONST_M1: + case Opcode.SIPUSH: + stack.push(CD_int); + return true; + + // operand stack: + // ..., objectref + // ..., objectref + case Opcode.CHECKCAST: + { + final ClassDesc t = stack.pop(); // pop the objectref + if (t == null || nullCD.equals(t)) { + stack.push(nullCD); + } else { + TypeCheckInstruction tci = (TypeCheckInstruction) inst; + final ClassDesc ct = tci.type().asSymbol(); + // We assume the type check will succeed + stack.push(ct); + } + // just assume it will be ok, otherwise it will throw when executed + return true; + } + + // operand stack: + // ..., value + // ..., result + case Opcode.D2F: // double to float + case Opcode.I2F: // integer to float + case Opcode.L2F: // long to float + stack.pop(); // discard the value + stack.push(CD_float); + return true; + + // operand stack: + // ..., value + // ..., result + case Opcode.D2L: // double to long + case Opcode.F2L: // float to long + case Opcode.I2L: // integer to long + stack.pop(); // discard the value + stack.push(CD_long); + return true; + + // operand stack: + // ..., value1, value2 + // ..., result + case Opcode.DADD: + case Opcode.DDIV: + case Opcode.DMUL: + case Opcode.DREM: + case Opcode.DSUB: + stack.pop(2); // discard the values + stack.push(CD_double); + return true; + + // operand stack: + // ..., arrayref, index + // ..., value + case Opcode.DALOAD: + stack.pop(2); // discard the arrayref and index + stack.push(CD_double); + return true; + + // operand stack: + // ..., value1, value2 + // ..., result + case Opcode.DCMPG: + case Opcode.DCMPL: + case Opcode.FCMPG: + case Opcode.FCMPL: + stack.pop(2); // discard the values + stack.push(CD_int); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.DCONST_0: + case Opcode.DCONST_1: + stack.push(CD_double); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.DLOAD: + case Opcode.DLOAD_0: + case Opcode.DLOAD_1: + case Opcode.DLOAD_2: + case Opcode.DLOAD_3: + case Opcode.DLOAD_W: + stack.push(CD_double); + return true; + + // operand stack: + // ..., value + // ..., result + case Opcode.DNEG: + stack.pop(); // discard the value + stack.push(CD_double); + return true; + + // operand stack: + // ..., value + // ..., value, value + case Opcode.DUP: + { + final ClassDesc t = stack.pop(); + stack.push(t); + stack.push(t); + return true; + } + + // operand stack: + // ..., value2, value1 + // ..., value1, value2, value1 + case Opcode.DUP_X1: + { + final ClassDesc v1 = stack.pop(); + final ClassDesc v2 = stack.pop(); + stack.push(v1); + stack.push(v2); + stack.push(v1); + return true; + } + + // operand stack: + // ..., value3, value2, value1 + // ..., value1, value3, value2, value1 + // where value1, value2, and value3 are all a category 1 computational type + // OR + // ..., value2, value1 + // ..., value1, value2, value1 + // where value1 is a category 1 computational type and value2 is a category 2 + // computational type + case Opcode.DUP_X2: + { + final ClassDesc v1 = stack.pop(); + final ClassDesc v2 = stack.pop(); + if (stack.slotSize(v2) == 2) { + stack.push(v1); + } else { + final ClassDesc v3 = stack.pop(); + stack.push(v1); + stack.push(v3); + } + stack.push(v2); + stack.push(v1); + return true; + } + + // operand stack: + // ..., value2, value1 + // ..., value2, value1, value2, value1 + // where value1, and value2 are all a category 1 computational type + // OR + // ..., value + // ..., value, value + // where value is a category 2 computational type + case Opcode.DUP2: + { + final ClassDesc v1 = stack.pop(); + if (stack.slotSize(v1) == 2) { + stack.push(v1); + } else { // slotSize(v1) == 1 + final ClassDesc v2 = stack.pop(); + stack.push(v2); + stack.push(v1); + stack.push(v2); + } + stack.push(v1); + return true; + } + + // operand stack: + // ..., value3, value2, value1 + // ..., value2, value1, value3, value2, value1 + // where value1, value2, and value3 are all a category 1 computational type + // OR + // ..., value2, value1 + // ..., value1, value2, value1 + // where value1 is a category 2 computational type and value2 a category 1 computational + // type + case Opcode.DUP2_X1: + { + final ClassDesc v1 = stack.pop(); + if (stack.slotSize(v1) == 2) { + final ClassDesc v2 = stack.pop(); + stack.push(v1); + stack.push(v2); + } else { // slotSize(v1) == 1 + final ClassDesc v2 = stack.pop(); + final ClassDesc v3 = stack.pop(); + stack.push(v2); + stack.push(v1); + stack.push(v3); + stack.push(v2); + } + stack.push(v1); + return true; + } + + // ..., value4, value3, value2, value1 + // ..., value2, value1, value4, value3, value2, value1 + // where value1, value2, value3, and value4 are all a category 1 computational type + // OR + // ..., value3, value2, value1 + // ..., value1, value3, value2, value1 + // where value1 is a category 2 computational type and value2 and value3 are both a + // category 1 computational type + // OR + // ..., value3, value2, value1 + // ..., value2, value1, value3, value2, value1 + // where value1 and value2 are both a category 1 computational type and value3 is a + // category 2 computational type + // OR + // ..., value2, value1 + // ..., value1, value2, value1 + // where value1 and value2 are both a category 2 computational type + case Opcode.DUP2_X2: + { + final ClassDesc v1 = stack.pop(); + if (stack.slotSize(v1) == 2) { + final ClassDesc v2 = stack.pop(); + if (stack.slotSize(v2) == 2) { + stack.push(v1); + } else { + final ClassDesc v3 = stack.pop(); + stack.push(v1); + stack.push(v3); + } + stack.push(v2); + stack.push(v1); + } else { // slotSize(v1) is 1 + final ClassDesc v2 = stack.pop(); + final ClassDesc v3 = stack.pop(); + if (stack.slotSize(v3) == 2) { + stack.push(v2); + stack.push(v1); + } else { + final ClassDesc v4 = stack.pop(); + stack.push(v2); + stack.push(v1); + stack.push(v4); + } + stack.push(v3); + stack.push(v2); + stack.push(v1); + } + return true; + } + + // operand stack: + // ..., value + // ..., result + case Opcode.F2D: // float to double + case Opcode.I2D: // integer to double + case Opcode.L2D: // long to double + stack.pop(); // discard the value + stack.push(CD_double); + return true; + + // operand stack: + // ..., value1, value2 + // ..., result + case Opcode.FADD: + case Opcode.FDIV: + case Opcode.FMUL: + case Opcode.FREM: + case Opcode.FSUB: + stack.pop(2); // discard the values + stack.push(CD_float); + return true; + + // operand stack: + // ..., arrayref, index + // ..., value + case Opcode.FALOAD: + stack.pop(2); // discard the arrayref and index + stack.push(CD_float); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.FCONST_0: + case Opcode.FCONST_1: + case Opcode.FCONST_2: + stack.push(CD_float); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.FLOAD: + case Opcode.FLOAD_0: + case Opcode.FLOAD_1: + case Opcode.FLOAD_2: + case Opcode.FLOAD_3: + case Opcode.FLOAD_W: + stack.push(CD_float); + return true; + + // operand stack: + // ..., value + // ..., result + case Opcode.FNEG: + stack.pop(); // discard the value + stack.push(CD_float); + return true; + + // operand stack: + // ..., objectref + // ..., value + case Opcode.GETFIELD: + { + stack.pop(); // discard the value + FieldInstruction fi = (FieldInstruction) inst; + stack.push(fi.typeSymbol()); + return true; + } + + // operand stack: + // ... + // ..., value + case Opcode.GETSTATIC: + { + FieldInstruction fi = (FieldInstruction) inst; + stack.push(fi.typeSymbol()); + return true; + } + + // operand stack: + // [no change] + case Opcode.GOTO: + case Opcode.GOTO_W: + { + BranchInstruction bi = (BranchInstruction) inst; + addLabelsToWorklist(bi.target(), null, stack); + return false; + } + + // UNDONE: the JVM says result is int, but should we track 'true' type? + // operand stack: + // ..., value + // ..., result + case Opcode.I2B: // integer to byte + case Opcode.I2C: // integer to char + case Opcode.D2I: // double to integer + case Opcode.F2I: // float to integer + case Opcode.L2I: // long to int + case Opcode.I2S: // integer to short + stack.pop(); // discard the value + stack.push(CD_int); + return true; + + // operand stack: + // ..., value1, value2 + // ..., result + case Opcode.IADD: + case Opcode.IAND: + case Opcode.IDIV: + case Opcode.IMUL: + case Opcode.IOR: + case Opcode.IREM: + case Opcode.ISHL: + case Opcode.ISHR: + case Opcode.ISUB: + case Opcode.IUSHR: + case Opcode.IXOR: + case Opcode.LCMP: + stack.pop(2); // discard the values + stack.push(CD_int); + return true; + + // operand stack: + // ..., value1, value2 + // ... + case Opcode.IF_ACMPEQ: + case Opcode.IF_ACMPNE: + case Opcode.IF_ICMPEQ: + case Opcode.IF_ICMPGE: + case Opcode.IF_ICMPGT: + case Opcode.IF_ICMPLE: + case Opcode.IF_ICMPLT: + case Opcode.IF_ICMPNE: + { + stack.pop(2); // discard the values + BranchInstruction bi = (BranchInstruction) inst; + addLabelsToWorklist(bi.target(), null, stack); + return true; + } + + // operand stack: + // ..., value + // ... + case Opcode.IFEQ: + case Opcode.IFNE: + case Opcode.IFLT: + case Opcode.IFGE: + case Opcode.IFGT: + case Opcode.IFLE: + case Opcode.IFNONNULL: + case Opcode.IFNULL: + stack.pop(); // discard the value + BranchInstruction bi = (BranchInstruction) inst; + addLabelsToWorklist(bi.target(), null, stack); + return true; + + // operand stack: + // [no change] + case Opcode.IINC: + case Opcode.IINC_W: + case Opcode.NOP: + return true; + + // operand stack: + // ... + // ..., value + case Opcode.ILOAD: + case Opcode.ILOAD_0: + case Opcode.ILOAD_1: + case Opcode.ILOAD_2: + case Opcode.ILOAD_3: + case Opcode.ILOAD_W: + stack.push(CD_int); + return true; + + // operand stack: + // ..., value + // ..., result + case Opcode.INEG: + stack.pop(); // discard the value + stack.push(CD_int); + return true; + + // UNDONE: the JVM says result is int, but should we track 'true' type? + // operand stack: + // ..., objectref + // ..., result + case Opcode.INSTANCEOF: + stack.pop(); // discard the value + stack.push(CD_int); + return true; + + // TODO: JSR and RET have been illegal since JDK 7 (class file version 51.0). + // Consider throwing an UnsupportedOperationException for these opcodes + // if we're only supporting modern class files (version 51.0+). + // Currently maintaining support for completeness. + + // operand stack: + // ... + // ..., [return address] + case Opcode.JSR: + case Opcode.JSR_W: + // Perhaps we should add label of next instruction to work list but we have no idea + // what stack will be after return from the JSR. + stack.push(CD_Object); // there is no way to represent a return address, fake it + DiscontinuedInstruction.JsrInstruction ji = + (DiscontinuedInstruction.JsrInstruction) inst; + addLabelsToWorklist(ji.target(), null, stack); + return false; + + // operand stack: + // ..., value1, value2 + // ..., result + case Opcode.LADD: + case Opcode.LAND: + case Opcode.LDIV: + case Opcode.LMUL: + case Opcode.LOR: + case Opcode.LREM: + case Opcode.LSHL: + case Opcode.LSHR: + case Opcode.LSUB: + case Opcode.LUSHR: + case Opcode.LXOR: + stack.pop(2); // discard the values + stack.push(CD_long); + return true; + + // operand stack: + // ..., arrayref, index + // ..., value + case Opcode.LALOAD: + stack.pop(2); // discard the arrayref and index + stack.push(CD_long); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.LCONST_0: + case Opcode.LCONST_1: + stack.push(CD_long); + return true; + + // operand stack: + // ... + // ..., value + case Opcode.LDC: + case Opcode.LDC_W: + case Opcode.LDC2_W: + ConstantInstruction.LoadConstantInstruction ldc = + (ConstantInstruction.LoadConstantInstruction) inst; + LoadableConstantEntry lce = ldc.constantEntry(); + if (lce instanceof IntegerEntry) { + stack.push(CD_int); + } else if (lce instanceof LongEntry) { + stack.push(CD_long); + } else if (lce instanceof FloatEntry) { + stack.push(CD_float); + } else if (lce instanceof DoubleEntry) { + stack.push(CD_double); + } else if (lce instanceof StringEntry) { + stack.push(CD_String); + } else if (lce instanceof ClassEntry cent) { + stack.push(cent.asSymbol()); + } + return true; + + // operand stack: + // ... + // ..., value + case Opcode.LLOAD: + case Opcode.LLOAD_0: + case Opcode.LLOAD_1: + case Opcode.LLOAD_2: + case Opcode.LLOAD_3: + case Opcode.LLOAD_W: + stack.push(CD_long); + return true; + + // operand stack: + // ..., value + // ..., result + case Opcode.LNEG: + stack.pop(); // discard the value + stack.push(CD_long); + return true; + + // operand stack: + // ..., key + // ... + case Opcode.LOOKUPSWITCH: + stack.pop(); // discard the value + LookupSwitchInstruction lsi = (LookupSwitchInstruction) inst; + addLabelsToWorklist(lsi.defaultTarget(), lsi.cases(), stack); + return false; + + // operand stack: + // ..., objectref + // ... + case Opcode.MONITORENTER: + case Opcode.MONITOREXIT: + stack.pop(); // discard the value + return true; + + // operand stack: + // ..., count1, [count2, ...] + // ..., arrayref + case Opcode.MULTIANEWARRAY: + final NewMultiArrayInstruction nmai = (NewMultiArrayInstruction) inst; + stack.pop(nmai.dimensions()); // discard all the counts + stack.push(nmai.arrayType().asSymbol()); + return true; + + // operand stack: + // ... + // ..., objectref + case Opcode.NEW: + final NewObjectInstruction noi = (NewObjectInstruction) inst; + stack.push(noi.className().asSymbol()); + return true; + + // operand stack: + // ..., count + // ..., arrayref + case Opcode.NEWARRAY: + stack.pop(); // discard the count + final NewPrimitiveArrayInstruction npai = (NewPrimitiveArrayInstruction) inst; + String descriptor; + switch (npai.typeKind()) { + case BOOLEAN -> { + descriptor = "[Z"; + } + case BYTE -> { + descriptor = "[B"; + } + case CHAR -> { + descriptor = "[C"; + } + case DOUBLE -> { + descriptor = "[D"; + } + case FLOAT -> { + descriptor = "[F"; + } + case INT -> { + descriptor = "[I"; + } + case LONG -> { + descriptor = "[J"; + } + case SHORT -> { + descriptor = "[S"; + } + default -> { + throw new DynCompError("unknown primitive array type: " + inst); + } + } + stack.push(ClassDesc.ofDescriptor(descriptor)); + return true; + + // operand stack: + // ..., value + // ... + case Opcode.POP: + stack.pop(); // discard the value + return true; + + // operand stack: + // ..., value2, value1 + // ... + // where each of value1 and value2 is a category 1 computational type + // OR + // ..., value + // ... + // where value is of a category 2 computational type + case Opcode.POP2: + { + final ClassDesc v1 = stack.pop(); + if (stack.slotSize(v1) == 1) { + stack.pop(); + } + return true; + } + + // operand stack: + // ..., objectref, value + // ... + case Opcode.PUTFIELD: + stack.pop(2); + return true; + + // operand stack: + // ..., value + // ... + case Opcode.PUTSTATIC: + stack.pop(); // discard the value + return true; + + // TODO: JSR and RET have been illegal since JDK 7 (class file version 51.0). + // Consider throwing an UnsupportedOperationException for these opcodes + // if we're only supporting modern class files (version 51.0+). + // Currently maintaining support for completeness. + + // operand stack: + // [no change] + case Opcode.RET: + case Opcode.RET_W: + // the variable referenced must contain a return address + // that we would treat as target of jump; no way to do that + return false; + + // operand stack: + // ..., value1, value2 + // ..., value2, value1 + case Opcode.SWAP: + { + final ClassDesc v2 = stack.pop(); + final ClassDesc v1 = stack.pop(); + stack.push(v2); + stack.push(v1); + return true; + } + + // operand stack: + // ..., index + // ... + case Opcode.TABLESWITCH: + stack.pop(); // discard the index + TableSwitchInstruction tsi = (TableSwitchInstruction) inst; + addLabelsToWorklist(tsi.defaultTarget(), tsi.cases(), stack); + return false; + + // operand stack: + // ..., objectref, [arg1, [arg2 ...]] + // ... + case Opcode.INVOKEINTERFACE: + case Opcode.INVOKESPECIAL: + case Opcode.INVOKEVIRTUAL: + stack.pop(); // discard the objectref + // may actually be removing an arg, but we'll + // account for that when we remove args below + + // fall through is intentional: + + // operand stack: + // ..., [arg1, [arg2 ...]] + // ... + case Opcode.INVOKESTATIC: + { + final InvokeInstruction ii = (InvokeInstruction) inst; + final MethodTypeDesc mtd = ii.typeSymbol(); + stack.pop(mtd.parameterCount()); // discard the arguments + // We are sure the invoked method will xRETURN eventually. + // We simulate xRETURNs functionality here because we don't + // really "jump into" and simulate the invoked method. + final ClassDesc rt = mtd.returnType(); + if (!rt.equals(CD_void)) { + stack.push(rt); + } + return true; + } + + // operand stack: + // ..., [arg1, [arg2 ...]] + // ... + case Opcode.INVOKEDYNAMIC: + { + final InvokeDynamicInstruction idi = (InvokeDynamicInstruction) inst; + final MethodTypeDesc mtd = idi.typeSymbol(); + stack.pop(mtd.parameterCount()); // discard the arguments + // We are sure the invoked method will xRETURN eventually. + // We simulate xRETURNs functionality here because we don't + // really "jump into" and simulate the invoked method. + final ClassDesc rt = mtd.returnType(); + if (!rt.equals(CD_void)) { + stack.push(rt); + } + return true; + } + + default: + throw new DynCompError("Unexpected instruction opcode: " + inst); + } + } + + // We ignore most PseudoInstructions. + + case ExceptionCatch ec -> { + // Nothing needs to be done. + return true; + } + + // Technically, a Classfile element, not a PseudoInstruction. + case Label l -> { + if (DCInstrument24.stacks[inst_index] != null) { + // we've seen this label before + // will throw if stacks don't match + DCInstrument24.verifyOperandStackMatches(l, DCInstrument24.stacks[inst_index], stack); + // stacks match; we're done with this worklist + return false; + } else { + // have not seen this label before; remember state of operand stack + DCInstrument24.stacks[inst_index] = stack.getClone(); + if (DCInstrument24.debugOperandStack) { + System.out.println("save stack state at: " + l); + System.out.println(" " + inst_index + ", " + DCInstrument24.stacks[inst_index]); + } + return true; + } + } + + case LineNumber ln -> { + // Nothing needs to be done. + return true; + } + + default -> { + throw new DynCompError("Unexpected CodeElement: " + ce); + } + } + } + + /** + * Create a set of worklist items. + * + * @param target label where to start operand stack simulation + * @param cases a set of case statement labels; additional start points for simulation + * @param stack state of operand stack at target and case labels + */ + static void addLabelsToWorklist( + Label target, @Nullable List cases, OperandStack24 stack) { + DCInstrument24.addLabelToWorklist(target, stack); + if (cases == null) { + return; + } + for (SwitchCase item : cases) { + DCInstrument24.addLabelToWorklist(item.target(), stack); + } + } +} diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java new file mode 100644 index 0000000000..8a731f7360 --- /dev/null +++ b/java/daikon/dcomp/ClassGen24.java @@ -0,0 +1,218 @@ +package daikon.dcomp; + +import daikon.plumelib.reflection.Signatures; +import java.lang.classfile.AccessFlags; +import java.lang.classfile.ClassBuilder; +import java.lang.classfile.ClassModel; +import java.lang.classfile.MethodModel; +import java.lang.classfile.constantpool.ClassEntry; +import java.lang.constant.ClassDesc; +import java.lang.reflect.AccessFlag; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import org.checkerframework.checker.lock.qual.GuardSatisfied; +import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.checker.signature.qual.BinaryName; +import org.checkerframework.checker.signature.qual.InternalForm; +import org.checkerframework.checker.signature.qual.MethodDescriptor; + +/** + * ClassGen24 collects and stores all the relevant information about a class that DCInstrument24 + * might need. ClassGen24 is analogous to the BCEL ClassGen class. The similarity makes it easier to + * keep DCInstrument.java and DCInstrument24.java in sync. + * + *

    ClassGen24 uses Java's ({@code java.lang.classfile}) APIs for reading and modifying .class + * files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more complete and robust + * (no more fiddling with StackMaps) and are always up to date with any .class file changes (since + * they are part of the JDK). (We will need to continue to support Instrument.java using BCEL, as we + * anticipate our clients using JDK 21 or less for quite some time.) + */ +public class ClassGen24 { + + /** + * Models the body of the class. + * + *

    Several fields of ClassModel are declared as fields of ClassGen24 to better correspond to + * BCEL's version of ClassGen and to reduce re-computation. Currently we set these fields in the + * constructor, but they could be calculated lazily on first reference. + */ + private ClassModel classModel; + + /** The class's access flags. */ + private AccessFlags accessFlags; + + /** The class's name. */ + private @BinaryName String className; + + /** The ClassBuilder for this class. */ + private ClassBuilder classBuilder; + + /** True if the class is an interface. */ + private boolean isInterface; + + /** True if the class is static. */ + private boolean isStatic; + + /** The name of the class's enclosing class, in binary name format. */ + private @BinaryName String superclassName; + + /** The list of interfaces this class implements. */ + @SuppressWarnings("nullness:initialization") + protected static List interfaceList; + + /** + * Creates a ClassGen24 object. + * + * @param classModel the class + * @param className the containing class, in binary name format + * @param classBuilder for the class + */ + @SuppressWarnings("StaticAssignmentInConstructor") + public ClassGen24( + final ClassModel classModel, + final @BinaryName String className, + final ClassBuilder classBuilder) { + + this.classModel = classModel; + this.className = className; + this.classBuilder = classBuilder; + + accessFlags = classModel.flags(); + isInterface = accessFlags.has(AccessFlag.INTERFACE); + isStatic = accessFlags.has(AccessFlag.STATIC); + + superclassName = getSuperclassName(classModel); + + // The original interface list is immutable, so we need to make a copy. + interfaceList = new ArrayList(classModel.interfaces()); + } + + /** + * Add an interface to this class. + * + * @param name the interface name (binary format) + */ + public void addInterface(@BinaryName String name) { + ClassDesc ue = ClassDesc.of(name); + ClassEntry ce = classBuilder.constantPool().classEntry(ue); + if (interfaceList.contains(ce)) { + return; + } + interfaceList.add(ce); + } + + /** + * Determine if this class contains the indicatated method. + * + * @param name the method's name + * @param descriptor the method's type descriptor + * @return the MethodModel if found, null otherwise + */ + public @Nullable MethodModel containsMethod(String name, @MethodDescriptor String descriptor) { + for (MethodModel mm : classModel.methods()) { + if (mm.methodName().stringValue().equals(name) + && mm.methodType().stringValue().equals(descriptor)) { + return mm; + } + } + return null; + } + + /** + * Return the class's access flags. + * + * @return the access flags + */ + public AccessFlags getAccessFlags() { + return accessFlags; + } + + /** + * Return true if the class is an interface. + * + * @return interface flag + */ + public final boolean isInterface() { + return isInterface; + } + + /** + * Return true if the class is static. + * + * @return static flag + */ + public final boolean isStatic() { + return isStatic; + } + + /** + * Return the class's name. + * + * @return the class's name + */ + public @BinaryName String getClassName() { + return className; + } + + /** + * Returns a {@code ClassModel}'s class name. + * + * @return the class's name + */ + public static @BinaryName String getClassName(ClassModel classModel) { + @SuppressWarnings("signature:assignment") // type conversion + @InternalForm String temp = classModel.thisClass().asInternalName(); + return Signatures.internalFormToBinaryName(temp); + } + + /** + * Returns the name of the super class of this class. In the case that this class is {@link + * Object}, it will return itself ({@link Object}). This is probably incorrect but is consistent + * with the BCEL version of getSuperclassName. + * + * @return the binary name of the class that contains this class + */ + public @BinaryName String getSuperclassName() { + return superclassName; + } + + /** + * Returns the name of the super class of the argument. In the case that the argument class is + * {@link Object}, it will return itself ({@link Object}). This is probably incorrect but is + * consistent with the BCEL version of getSuperclassName. + * + * @param classModel the class to check + * @return the binary name of the superclass of classModel or "java.lang.Object" if it has no + * superclass + */ + public static @BinaryName String getSuperclassName(ClassModel classModel) { + Optional ce = classModel.superclass(); + if (ce.isPresent()) { + @SuppressWarnings("signature:assignment") // type conversion + @BinaryName String scn = ce.get().asInternalName().replace('/', '.'); + return scn; + } else { + return "java.lang.Object"; + } + } + + /** + * Return the class builder. + * + * @return the class builder + */ + public ClassBuilder getClassBuilder() { + return classBuilder; + } + + /** + * Return the class name. + * + * @return the class name + */ + @Override + public final String toString(@GuardSatisfied ClassGen24 this) { + return className; + } +} diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 1bcabf2d3b..0c7c3b2b59 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -415,7 +415,9 @@ public JavaClass instrument() { // We must also remember the class name so if we see a subsequent // call to one of its methods we do not add the dcomp argument. - debugInstrument.log("junit_state: %s%n", junit_state); + if (debugJUnitAnalysis) { + System.out.printf("junit_state 1: %s%n", junit_state); + } StackTraceElement[] stack_trace; @@ -482,7 +484,9 @@ public JavaClass instrument() { throw new Error("invalid junit_state"); } - debugInstrument.log("junit_state: %s%n", junit_state); + if (debugJUnitAnalysis) { + System.out.printf("junit_state 2: %s%n", junit_state); + } boolean junit_test_class = false; if (junit_state == JUnitState.TEST_DISCOVERY) { @@ -553,10 +557,12 @@ public JavaClass instrument() { } } - if (junit_test_class) { - debugInstrument.log("JUnit test class: %s%n", classname); - } else { - debugInstrument.log("Not a JUnit test class: %s%n", classname); + if (debugJUnitAnalysis) { + if (junit_test_class) { + System.out.printf("JUnit test class: %s%n", classname); + } else { + System.out.printf("Not a JUnit test class: %s%n", classname); + } } // Process each method diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java new file mode 100644 index 0000000000..c463cebc88 --- /dev/null +++ b/java/daikon/dcomp/DCInstrument24.java @@ -0,0 +1,4937 @@ +package daikon.dcomp; + +import static java.lang.constant.ConstantDescs.CD_Class; +import static java.lang.constant.ConstantDescs.CD_Object; +import static java.lang.constant.ConstantDescs.CD_String; +import static java.lang.constant.ConstantDescs.CD_Throwable; +import static java.lang.constant.ConstantDescs.CD_boolean; +import static java.lang.constant.ConstantDescs.CD_byte; +import static java.lang.constant.ConstantDescs.CD_char; +import static java.lang.constant.ConstantDescs.CD_double; +import static java.lang.constant.ConstantDescs.CD_float; +import static java.lang.constant.ConstantDescs.CD_int; +import static java.lang.constant.ConstantDescs.CD_long; +import static java.lang.constant.ConstantDescs.CD_short; +import static java.lang.constant.ConstantDescs.CD_void; +import static java.nio.charset.StandardCharsets.UTF_8; + +import daikon.DynComp; +import daikon.chicory.ClassInfo; +import daikon.chicory.DaikonWriter; +import daikon.chicory.Instrument24; +import daikon.chicory.MethodGen24; +import daikon.chicory.MethodInfo; +import daikon.plumelib.bcelutil.BcelUtil; +import daikon.plumelib.bcelutil.SimpleLog; +import daikon.plumelib.options.Option; +import daikon.plumelib.reflection.Signatures; +import daikon.plumelib.util.EntryReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintStream; +import java.lang.classfile.Annotation; +import java.lang.classfile.Attribute; +import java.lang.classfile.ClassBuilder; +import java.lang.classfile.ClassElement; +import java.lang.classfile.ClassFile; +import java.lang.classfile.ClassModel; +import java.lang.classfile.ClassTransform; +import java.lang.classfile.CodeBuilder; +import java.lang.classfile.CodeElement; +import java.lang.classfile.CodeModel; +import java.lang.classfile.FieldModel; +import java.lang.classfile.Instruction; +import java.lang.classfile.Interfaces; +import java.lang.classfile.Label; +import java.lang.classfile.MethodBuilder; +import java.lang.classfile.MethodElement; +import java.lang.classfile.MethodModel; +import java.lang.classfile.Opcode; +import java.lang.classfile.TypeKind; +import java.lang.classfile.attribute.CodeAttribute; +import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import java.lang.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.ConstantPoolBuilder; +import java.lang.classfile.constantpool.LoadableConstantEntry; +import java.lang.classfile.constantpool.MethodRefEntry; +import java.lang.classfile.constantpool.NameAndTypeEntry; +import java.lang.classfile.instruction.ArrayLoadInstruction; +import java.lang.classfile.instruction.ArrayStoreInstruction; +import java.lang.classfile.instruction.BranchInstruction; +import java.lang.classfile.instruction.ConstantInstruction; +import java.lang.classfile.instruction.ExceptionCatch; +import java.lang.classfile.instruction.FieldInstruction; +import java.lang.classfile.instruction.InvokeDynamicInstruction; +import java.lang.classfile.instruction.InvokeInstruction; +import java.lang.classfile.instruction.LabelTarget; +import java.lang.classfile.instruction.LineNumber; +import java.lang.classfile.instruction.LoadInstruction; +import java.lang.classfile.instruction.LocalVariable; +import java.lang.classfile.instruction.LocalVariableType; +import java.lang.classfile.instruction.LookupSwitchInstruction; +import java.lang.classfile.instruction.NewMultiArrayInstruction; +import java.lang.classfile.instruction.NewReferenceArrayInstruction; +import java.lang.classfile.instruction.OperatorInstruction; +import java.lang.classfile.instruction.ReturnInstruction; +import java.lang.classfile.instruction.StackInstruction; +import java.lang.classfile.instruction.StoreInstruction; +import java.lang.classfile.instruction.SwitchCase; +import java.lang.classfile.instruction.TableSwitchInstruction; +import java.lang.classfile.instruction.ThrowInstruction; +import java.lang.constant.ClassDesc; +import java.lang.constant.MethodTypeDesc; +import java.lang.reflect.AccessFlag; +import java.net.URL; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.Deque; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.ListIterator; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Consumer; +import java.util.regex.Pattern; +import org.checkerframework.checker.lock.qual.GuardSatisfied; +import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; +import org.checkerframework.checker.nullness.qual.KeyFor; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.checker.signature.qual.BinaryName; +import org.checkerframework.checker.signature.qual.ClassGetName; +import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; +import org.checkerframework.checker.signature.qual.FieldDescriptor; +import org.checkerframework.checker.signature.qual.MethodDescriptor; +import org.checkerframework.dataflow.qual.Pure; + +/** + * Instruments a class file to perform Dynamic Comparability. + * + *

    The DCInstrument24 class is responsible for modifying another class's bytecodes. Specifically, + * its main task is to add calls into the DynComp Runtime to calculate comparability values. These + * added calls are sometimes referred to as "hooks". + * + *

    Instrument24 and DCInstrument24 use Java's ({@code java.lang.classfile}) APIs for reading and + * modifying .class files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more + * complete and robust (no more fiddling with StackMaps) and are always up to date with any .class + * file changes (since they are part of the JDK). (We will need to continue to support + * Instrument.java using BCEL, as we anticipate our clients using JDK 21 or less for quite some + * time.) + */ +@SuppressWarnings("nullness") +public class DCInstrument24 { + + /** A log to which to print debugging information about program instrumentation. */ + protected SimpleLog debugInstrument = new SimpleLog(false); + + /** Debug flag for BcelUtils24. */ + public static boolean bcelDebug; + + /** + * Used when testing to continue processing if an error occurs. Currently, This flag is only used + * by BuildJDK. + */ + @Option("Halt if an instrumentation error occurs") + public static boolean quit_if_error = true; + + /** The index of this method in SharedData.methods. */ + int cur_method_info_index = 0; + + /** Start of user code for current method, prior to instrumenting, as a CodeModel Label. */ + protected @MonotonicNonNull Label oldStartLabel; + + /** Start of user code for current method, after instrumenting, as a CodeBuilder Label. */ + protected @MonotonicNonNull Label newStartLabel; + + /** + * Index into current method's instruction list that points to where a call to the DynComp runtime + * enter routine should be inserted (if needed) and where to define the newStartLabel. + */ + protected int newStartIndex; + + // Variables used for calculating the state of the operand stack. + + /** Mapping from a label to its index in the method's codeList. */ + protected static Map labelIndexMap; + + /** Mapping from a label to its operand stack. */ + protected static Map worklistHistory; + + /** State of operand stack prior to each byte code instruction. */ + protected static OperandStack24[] stacks; + + /** The type of each local variable. */ + protected static ClassDesc[] locals; + + /** Record containing a work item for the operand stack calculation. */ + record WorkItem(int instructionIndex, OperandStack24 stack) {} + + /** Comparator to sort WorkItems with lowest address first. */ + protected static Comparator indexComparator = + new Comparator<>() { + @Override + public int compare(WorkItem w1, WorkItem w2) { + return Integer.compare(w1.instructionIndex, w2.instructionIndex); + } + }; + + /** Queue of items for the operand stack calculation. */ + protected static SortedSet worklist = new TreeSet<>(indexComparator); + + // Variables used for the entire class. + + /** The current ClassFile. */ + protected ClassFile classFile; + + /** The current ClassModel. */ + protected ClassModel classModel; + + /** ConstantPool builder for current class. */ + private ConstantPoolBuilder poolBuilder; + + /** True if we tracking any methods in the current class. */ + private boolean trackClass = false; + + /** ClassGen for the current class. */ + protected ClassGen24 classGen; + + /** Is the current class a member of the JDK? */ + protected boolean in_jdk; + + /** Has an {@code } method completed initialization? */ + protected boolean constructor_is_initialized; + + /** Record containing subset of LocalVariable fields. */ + public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} + + /** Local that stores the tag frame for the current method. */ + protected LocalVariable tagFrameLocal; + + // Argument descriptors + /** Type array with two objects. */ + protected static ClassDesc[] two_objects_arg = {CD_Object, CD_Object}; + + /** Type array with an int. */ + protected static ClassDesc[] integer_arg = {CD_int}; + + /** Type array with an object. */ + protected static ClassDesc[] object_arg = {CD_Object}; + + /** ClassDesc for the special dcomp_marker argument. */ + protected final ClassDesc dcomp_marker; + + /** ClassDesc for an Object array. */ + protected static final ClassDesc objectArrayCD = CD_Object.arrayType(1); + + /** Type array with an Object array. */ + protected static final ClassDesc[] objectArrayCD_arg = {objectArrayCD}; + + /** Type array with no arguments. */ + protected static final ClassDesc[] noArgsCD = new ClassDesc[0]; + + // Debug loggers + /** Log file if debug_native is enabled. */ + protected static SimpleLog debug_native = new SimpleLog(false); + + /** Log file if debug_dup is enabled. */ + protected static SimpleLog debug_dup = new SimpleLog(false); + + /** + * Debug information about which classes and/or methods are transformed and why. Use + * debugInstrument for actual instrumentation details. + */ + protected static SimpleLog debug_transform = new SimpleLog(false); + + // Flags to enable additional console output for debugging + /** If true, enable JUnit analysis debugging. */ + protected static final boolean debugJUnitAnalysis = false; + + /** If true, enable {@link #getDefiningInterface} debugging. */ + protected static final boolean debugGetDefiningInterface = false; + + /** If true, enable {@link #handleInvoke} debugging. */ + protected static final boolean debugHandleInvoke = false; + + /** If true, enable operand stack debugging. */ + protected static final boolean debugOperandStack = false; + + /** Keeps track of the methods that were not successfully instrumented. */ + protected List skipped_methods = new ArrayList<>(); + + /** Either "java.lang" or "daikon.dcomp". */ + protected @DotSeparatedIdentifiers String dcomp_prefix; + + /** Either "daikon.dcomp.DCRuntime" or "java.lang.DCRuntime". */ + private @BinaryName String dcompRuntimeClassname; + + /** The ClassDesc for the DynComp runtime support class. */ + private ClassDesc runtimeCD; + + /** Set of JUnit test classes. */ + protected static Set junitTestClasses = new HashSet<>(); + + /** Possible states of JUnit test discovery. */ + protected enum JUnitState { + /** Have not seen a junit class file. */ + NOT_SEEN, + /** Have seen a junit class file. */ + STARTING, + /** Have seen a junit class file that loads junit test classes. */ + TEST_DISCOVERY, + /** Have completed identifing junit test classes. */ + RUNNING + } + + /** Current state of JUnit test discovery. */ + protected static JUnitState junit_state = JUnitState.NOT_SEEN; + + /** Have we seen 'JUnitCommandLineParseResult.parse'? */ + protected static boolean junit_parse_seen = false; + + /** + * Map from each static field name to its unique integer id. Note that while it's intuitive to + * think that each static should show up exactly once, that is not the case. A static defined in a + * superclass can be accessed through each of its subclasses. Tag accessor methods must be added + * in each subclass and each should return the same id. We thus will lookup the same name multiple + * times. + */ + static Map static_field_id = new LinkedHashMap<>(); + + /** + * Map from class name to its access_flags. Used to cache the results of the lookup done in {@link + * #getAccessFlags}. If a class is marked ACC_ANNOTATION then it will not have been instrumented. + */ + static Map accessFlags = new HashMap<>(); + + /** Integer constant of access_flag value of ACC_ANNOTATION. */ + static Integer Integer_ACC_ANNOTATION = Integer.valueOf(ClassFile.ACC_ANNOTATION); + + /** + * Array of classes whose fields are not initialized from java. Since the fields are not + * initialized from java, their tag storage is not allocated as part of a store, but rather must + * be allocated as part of a load. We call a special runtime method for this so that we can check + * for this in other cases. + */ + protected static String[] uninit_classes = { + "java.lang.String", + "java.lang.Class", + "java.lang.StringBuilder", + "java.lang.AbstractStringBuilder", + }; + + /** + * List of Object methods. Since we can't instrument Object, none of these can be instrumented, + * and most of them don't provide useful comparability information anyway. The equals method and + * the clone method are special-cased in the {@link #handleInvoke} routine. + */ + protected static MethodDef[] obj_methods = { + new MethodDef("finalize", new ClassDesc[0]), + new MethodDef("getClass", new ClassDesc[0]), + new MethodDef("hashCode", new ClassDesc[0]), + new MethodDef("notify", new ClassDesc[0]), + new MethodDef("notifyall", new ClassDesc[0]), + new MethodDef("toString", new ClassDesc[0]), + new MethodDef("wait", new ClassDesc[0]), + new MethodDef("wait", new ClassDesc[] {CD_long}), + new MethodDef("wait", new ClassDesc[] {CD_long, CD_int}), + }; + + /** Class that defines a method (by its name and argument types) */ + static class MethodDef { + /** Name of method. */ + String name; + + /** Arument types for the method. */ + ClassDesc[] arg_types; + + /** + * Create a new MethodDef. + * + * @param name of method + * @param arg_types of method + */ + MethodDef(String name, ClassDesc[] arg_types) { + this.name = name; + this.arg_types = arg_types; + } + + /** + * Equality test for MethodDef. + * + * @param name of method + * @param arg_types of method + */ + @EnsuresNonNullIf(result = true, expression = "#1") + boolean equals(@GuardSatisfied MethodDef this, String name, ClassDesc[] arg_types) { + if (!name.equals(this.name)) { + return false; + } + if (this.arg_types.length != arg_types.length) { + return false; + } + for (int ii = 0; ii < arg_types.length; ii++) { + if (!arg_types[ii].equals(this.arg_types[ii])) { + return false; + } + } + return true; + } + + @EnsuresNonNullIf(result = true, expression = "#1") + @Pure + @Override + public boolean equals(@GuardSatisfied MethodDef this, @GuardSatisfied @Nullable Object obj) { + if (!(obj instanceof MethodDef)) { + return false; + } + MethodDef md = (MethodDef) obj; + return equals(md.name, md.arg_types); + } + + @Pure + @Override + public int hashCode(@GuardSatisfied MethodDef this) { + int code = name.hashCode(); + for (ClassDesc arg : arg_types) { + code += arg.hashCode(); + } + return code; + } + } + + /** Initialize with the original class and whether or not the class is part of the JDK. */ + @SuppressWarnings({ + "nullness:StaticAssignmentInConstructor", // instrumentation_interface + "nullness:initialization", + "StaticAssignmentInConstructor" // ErrorProne: instrumentation_interface + }) + public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk) { + this.classFile = classFile; + this.classModel = classModel; + this.in_jdk = in_jdk; + constructor_is_initialized = false; + if (Premain.jdk_instrumented) { + dcomp_prefix = "java.lang"; + } else { + dcomp_prefix = "daikon.dcomp"; + } + dcomp_marker = ClassDesc.of(Signatures.addPackage(dcomp_prefix, "DCompMarker")); + if (BcelUtil.javaVersion == 8) { + dcomp_prefix = "daikon.dcomp"; + } + dcompRuntimeClassname = Signatures.addPackage(dcomp_prefix, "DCRuntime"); + DCRuntime.instrumentation_interface = Signatures.addPackage(dcomp_prefix, "DCompInstrumented"); + + // Turn on some of the logging based on debug option. + debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; + debug_native.enabled = DynComp.debug; + debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; + + // TEMPORARY + debugInstrument.enabled = false; + debugInstrument.enabled = true; + + bcelDebug = debugInstrument.enabled; + + if (debugOperandStack) { + // Create a new PrintStream with autoflush enabled + PrintStream newOut = new PrintStream(System.out, true, UTF_8); + // Reassign System.out to the new PrintStream + System.setOut(newOut); + // Create a new PrintStream with autoflush enabled + PrintStream newErr = new PrintStream(System.err, true, UTF_8); + // Reassign System.err to the new PrintStream + System.setErr(newErr); + } + } + + /** + * Instruments a class to perform dynamic comparability and returns the new class definition. A + * second version of each method in the class is created which is instrumented for comparability. + * + * @return the modified JavaClass + */ + public byte @Nullable [] instrument(ClassInfo classInfo) { + + // Don't know where I got this idea. They are executed. Don't remember why + // adding dcomp marker causes problems. + // Don't instrument annotations. They aren't executed and adding + // the marker argument causes subtle errors + if (classModel.flags().has(AccessFlag.ANNOTATION)) { + debug_transform.log("Not instrumenting annotation %s%n", classInfo.class_name); + return null; + } + + // If a class has an EvoSuite annotation it may be instrumented by Evosuite; + // thus, we should not instrument it before Evosuite does. + for (Attribute attribute : classModel.attributes()) { + if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { + for (final Annotation item : rvaa.annotations()) { + if (item.className().stringValue().startsWith("Lorg/evosuite/runtime")) { + debug_transform.log( + "Not instrumenting possible Evosuite target: %s%n", classInfo.class_name); + return null; + } + } + } + } + + try { + return classFile.build( + classModel.thisClass().asSymbol(), + classBuilder -> instrumentClass(classBuilder, classModel, classInfo)); + } catch (Throwable t) { + if (debugInstrument.enabled) { + t.printStackTrace(); + } + System.err.printf( + "DynComp warning: Class %s is being skipped due to the following:%n", + classInfo.class_name); + System.err.printf("%s.%n", t); + return null; + } + } + + /** + * Instrument the current class. + * + * @param classBuilder for the class + * @param classModel for the class + * @param classInfo for the given class + */ + private void instrumentClass( + ClassBuilder classBuilder, ClassModel classModel, ClassInfo classInfo) { + + @BinaryName String classname = classInfo.class_name; + classGen = new ClassGen24(classModel, classname, classBuilder); + runtimeCD = ClassDesc.of(dcompRuntimeClassname); + poolBuilder = classBuilder.constantPool(); + + if (in_jdk) { + debug_transform.log("%nInstrumenting class(JDK): %s%n", classInfo.class_name); + } else { + debug_transform.log("%nInstrumenting class: %s%n", classInfo.class_name); + } + debug_transform.indent(); + + debugInstrument.log("Attributes:%n"); + for (Attribute a : classModel.attributes()) { + debugInstrument.log(" %s%n", a); + } + + debugInstrument.log("Class Interfaces:%n"); + for (ClassEntry ce : classModel.interfaces()) { + debugInstrument.log(" %s%n", ce.asInternalName()); + } + + // Handle object methods for this class + handle_object(classGen); + + trackClass = false; + boolean junit_test_class = false; + + if (!in_jdk) { + // A very tricky special case: If JUnit is running and the current + // class has been passed to JUnit on the command line, then this + // is a JUnit test class and our normal instrumentation will + // cause JUnit to complain about multiple constructors and + // methods that should have no arguments. To work around these + // restrictions, we replace rather than duplicate each method + // we instrument and we do not add the dcomp marker argument. + // We must also remember the class name so if we see a subsequent + // call to one of its methods we do not add the dcomp argument. + + debugInstrument.log("junit_state: %s%n", junit_state); + + StackTraceElement[] stack_trace; + + switch (junit_state) { + case NOT_SEEN: + if (classname.startsWith("org.junit")) { + junit_state = JUnitState.STARTING; + } + break; + + case STARTING: + // Now check to see if JUnit is looking for test class(es). + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + if (debugJUnitAnalysis) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + junit_parse_seen = true; + junit_state = JUnitState.TEST_DISCOVERY; + break; + } + } + break; + + case TEST_DISCOVERY: + // Now check to see if JUnit is done looking for test class(es). + boolean local_junit_parse_seen = false; + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + if (debugJUnitAnalysis) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + local_junit_parse_seen = true; + break; + } + } + if (junit_parse_seen && !local_junit_parse_seen) { + junit_parse_seen = false; + junit_state = JUnitState.RUNNING; + } else if (!junit_parse_seen && local_junit_parse_seen) { + junit_parse_seen = true; + } + break; + + case RUNNING: + if (debugJUnitAnalysis) { + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + } + // nothing to do + break; + + default: + throw new DynCompError("invalid junit_state"); + } + + debugInstrument.log("junit_state: %s%n", junit_state); + + if (junit_state == JUnitState.TEST_DISCOVERY) { + // We have a possible JUnit test class. We need to verify by + // one of two methods. Either the class is a subclass of + // junit.framework.TestCase or one of its methods has a + // RuntimeVisibleAnnotation of org/junit/Test. + Deque classnameStack = new ArrayDeque<>(); + String super_class; + String this_class = classname; + while (true) { + super_class = getSuperclassName(this_class); + if (super_class == null) { + // something has gone wrong + break; + } + if (debugJUnitAnalysis) { + System.out.printf("this_class: %s%n", this_class); + System.out.printf("super_class: %s%n", super_class); + } + if (super_class.equals("junit.framework.TestCase")) { + // This is a junit test class and so are the + // elements of classnameStack. + junit_test_class = true; + junitTestClasses.add(this_class); + while (!classnameStack.isEmpty()) { + junitTestClasses.add(classnameStack.pop()); + } + break; + } else if (super_class.equals("java.lang.Object")) { + // We're done; not a junit test class. + // Ignore items on classnameStack. + break; + } + // Recurse and check the super_class. + classnameStack.push(this_class); + this_class = super_class; + } + } + + // Even if we have not detected that JUnit is active, any class that + // contains a method with a RuntimeVisibleAnnotation of org/junit/Test + // needs to be marked as a JUnit test class. (Daikon issue #536) + + if (!junit_test_class) { + // need to check for junit Test annotation on a method + searchloop: + for (MethodModel mm : classModel.methods()) { + for (Attribute attribute : mm.attributes()) { + if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { + if (debugJUnitAnalysis) { + System.out.printf("attribute: %s%n", attribute); + } + for (final Annotation item : rvaa.annotations()) { + String description = item.className().stringValue(); + if (debugJUnitAnalysis) { + System.out.printf("item: %s%n", description); + } + if (description.endsWith("org/junit/Test;") // JUnit 4 + || description.endsWith("org/junit/jupiter/api/Test;") // JUnit 5 + ) { + junit_test_class = true; + junitTestClasses.add(classname); + break searchloop; + } + } + } + } + } + } + + if (junit_test_class) { + debugInstrument.log("JUnit test class: %s%n", classname); + } else { + debugInstrument.log("Not a JUnit test class: %s%n", classname); + } + } + + classInfo.isJunitTestClass = junit_test_class; + + instrumentAllMethods(classModel, classBuilder, classInfo); + + // Have all top-level classes implement our interface + if (classGen.getSuperclassName().equals("java.lang.Object")) { + @SuppressWarnings("signature:assignment") + @MethodDescriptor String objectArgReturnBoolean = "(Ljava/lang/Object;)Z"; + // Add equals method if it doesn't already exist. This ensures + // that an instrumented version, equals(Object, DCompMarker), + // will be created in this class. + MethodModel eq = classGen.containsMethod("equals", objectArgReturnBoolean); + if (eq == null) { + debugInstrument.log("Added equals method%n"); + add_equals_method(classBuilder, classGen, classInfo); + } + + // Add DCompInstrumented interface and the required + // equals_dcomp_instrumented method. + add_dcomp_interface(classBuilder, classGen, classInfo); + } + + // Output the list of interfaces. + classBuilder.withInterfaces(daikon.dcomp.ClassGen24.interfaceList); + + // Copy all other ClassElements to output class (unchanged). + for (ClassElement ce : classModel) { + debugInstrument.log("ClassElement: %s%n", ce); + switch (ce) { + case MethodModel mm -> {} + case Interfaces i -> {} + // Copy all other ClassElements to output class (unchanged). + default -> classBuilder.with(ce); + } + } + + // Add tag accessor methods for each primitive in the class + create_tag_accessors(classGen); + + // We don't need to track class initialization in the JDK because + // that is only used when printing comparability which is only done + // for client classes + if (!in_jdk) { + // If no clinit method, we need to add our own. + if (!classInfo.hasClinit) { + createClinit(classBuilder, classInfo); + } + + // The code that builds the list of daikon variables for each ppt + // needs to know what classes are instrumented. Its looks in the + // Chicory runtime for this information. + if (trackClass) { + debug_transform.log("DCInstrument adding %s to all class list%n", classInfo.class_name); + synchronized (daikon.chicory.SharedData.all_classes) { + daikon.chicory.SharedData.all_classes.add(classInfo); + } + } + } + + debug_transform.exdent(); + debug_transform.log("Instrumentation complete: %s%n", classInfo.class_name); + } + + /** + * Adds a call to the DynComp Runtime {@code set_class_initialized} method at the begining of the + * given method. Clients pass the class static initializer {@code } as the method. + * + * @param mgen the method to modify, should be the class static initializer {@code } + * @param classInfo for the given class + */ + private void addInvokeToClinit(MethodGen24 mgen, ClassInfo classInfo) { + + try { + List il = mgen.getInstructionList(); + // point to start of list + ListIterator li = il.listIterator(); + + for (CodeElement ce : call_initNotify(poolBuilder, classInfo)) { + li.add(ce); + } + } catch (DynCompError e) { + throw e; + } catch (Throwable t) { + throw new DynCompError( + String.format( + "Unexpected error processing %s.%s.%n", mgen.getClassName(), mgen.getName()), + t); + } + } + + /** + * Create a class initializer method, if none exists. We need a class initializer to have a place + * to insert a call to the DynComp Runtime {@code set_class_initialized} method. + * + * @param classBuilder for the given class + * @param classInfo for the given class + */ + private void createClinit(ClassBuilder classBuilder, ClassInfo classInfo) { + + List instructions = call_initNotify(poolBuilder, classInfo); + instructions.add(ReturnInstruction.of(TypeKind.VOID)); // need to return! + + classBuilder.withMethod( + "", + MethodTypeDesc.of(CD_void), + ClassFile.ACC_STATIC, + methodBuilder -> + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions, null))); + } + + /** + * Create the list of instructions for a call to {@code set_class_initialized}. This is used to + * keep track of when the class is initialized (so we don't look for fields in uninitialized + * classes). + * + * @param poolBuilder for the given class + * @param classInfo for the given class + * @return the instruction list + */ + private List call_initNotify(ConstantPoolBuilder poolBuilder, ClassInfo classInfo) { + + List instructions = new ArrayList<>(); + + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, "set_class_initialized", MethodTypeDesc.of(CD_void, CD_String)); + instructions.add(buildLDCInstruction(poolBuilder.stringEntry(classInfo.class_name))); + instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + + return instructions; + } + + /** + * Instruments all the methods in a class. For each method, adds instrumentation code at the entry + * and at each return from the method. In addition, changes each return statement to first place + * the value being returned into a local and then return. This allows us to work around the JDI + * deficiency of not being able to query return values. + * + * @param classModel for current class + * @param classBuilder for current class + * @param classInfo for the given class + */ + private void instrumentAllMethods( + ClassModel classModel, ClassBuilder classBuilder, ClassInfo classInfo) { + + @BinaryName String classname = classInfo.class_name; + + if (classModel.majorVersion() < ClassFile.JAVA_6_VERSION) { + System.out.printf( + "DynComp warning: ClassFile: %s - classfile version (%d) is out of date and may not be" + + " processed correctly.%n", + classname, classModel.majorVersion()); + // throw new DynCompError("Classfile out of date"); + } + + // Process each method in the class + for (MethodModel mm : classModel.methods()) { + + try { + MethodGen24 mgen = new MethodGen24(mm, classname, classBuilder); + + if (debugInstrument.enabled) { + ClassDesc[] paramTypes = mgen.getParameterTypes(); + String[] paramNames = mgen.getParameterNames(); + LocalVariable[] local_vars = mgen.getOriginalLocalVariables(); + String types = "", names = "", locals = ""; + + for (int j = 0; j < paramTypes.length; j++) { + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String paramFD = paramTypes[j].descriptorString(); + types = + types + daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(paramFD) + " "; + } + for (int j = 0; j < paramNames.length; j++) { + names = names + paramNames[j] + " "; + } + for (int j = 0; j < local_vars.length; j++) { + locals = locals + local_vars[j].name().stringValue() + " "; + } + debugInstrument.log("%nMethod = %s%n", mgen.getName()); + debugInstrument.log("paramTypes(%d): %s%n", paramTypes.length, types); + debugInstrument.log("paramNames(%d): %s%n", paramNames.length, names); + debugInstrument.log("localvars(%d): %s%n", local_vars.length, locals); + // debugInstrument.log("Original code: %s%n", mgen.getMethod().getCode()); + debugInstrument.log("Method Attributes:%n"); + for (Attribute a : mm.attributes()) { + debugInstrument.log(" %s%n", a); + } + debugInstrument.log("mgen.getSignature: %s%n", mgen.getSignature()); + MethodTypeDesc mtd = mm.methodTypeSymbol(); + debugInstrument.log("mtd.descriptorString: %s%n", mtd.descriptorString()); + debugInstrument.log("mtd.displayDescriptor: %s%n", mtd.displayDescriptor()); + } + + boolean track = false; + if (!in_jdk) { + // Note whether we want to track the daikon variables in this method + track = should_track(classname, mgen.getName(), methodEntryName(classname, mgen)); + + // We do not want to track bridge methods the compiler has synthesized as + // they are overloaded on return type which normal Java does not support. + if ((mgen.getAccessFlagsMask() & ClassFile.ACC_BRIDGE) != 0) { + track = false; + } + + // If any one method is tracked, then the class is tracked. + if (track) { + trackClass = true; + } + + // If we are tracking variables, make sure the class is public + int access_flags = classModel.flags().flagsMask(); + if (track && (access_flags & ClassFile.ACC_PUBLIC) == 0) { + access_flags |= ClassFile.ACC_PUBLIC; + access_flags &= ~ClassFile.ACC_PROTECTED; + access_flags &= ~ClassFile.ACC_PRIVATE; + } + // reset class access flags in case they have been changed + classBuilder.withFlags(access_flags); + } else { + // If JDK, don't modify class initialization methods. They can't affect + // user comparability and there isn't any way to get a second + // copy of them. + if (mgen.isClinit()) { + debugInstrument.log("Copying method: %s%n", mgen.getName()); + debugInstrument.indent(); + outputMethodUnchanged(classBuilder, mm, mgen); + debugInstrument.exdent(); + debugInstrument.log("End of copy%n"); + continue; + } + } + + debug_transform.log( + " Processing method %s, track=%b%n", simplify_method_name(mgen), track); + debug_transform.indent(); + + // local variables referenced from a lambda expression must be final or effectively final + final boolean trackMethod = track; + + // main methods, methods and all methods in a JUnit test class + // need special treatment. They are not duplicated and they do not have + // a DCompMarker added to their argument list. + boolean addingDcompArg = true; + + if (mgen.isClinit()) { + classInfo.hasClinit = true; + addInvokeToClinit(mgen, classInfo); + addingDcompArg = false; + } + + if (mgen.isMain()) { + addingDcompArg = false; + createMainStub(mgen, classBuilder, classInfo); + } + + if (classInfo.isJunitTestClass) { + addingDcompArg = false; + } + + if (addingDcompArg) { + // make copy of original method + debugInstrument.log("Copying method: %s%n", mgen.getName()); + debugInstrument.indent(); + outputMethodUnchanged(classBuilder, mm, mgen); + debugInstrument.exdent(); + debugInstrument.log("End of copy%n"); + } + + MethodTypeDesc mtd = mm.methodTypeSymbol(); + if (addingDcompArg) { + // The original parameterList is immutable, so we need to make a copy. + List paramList = new ArrayList(mtd.parameterList()); + paramList.add(dcomp_marker); + mtd = MethodTypeDesc.of(mtd.returnType(), paramList); + } + classBuilder.withMethod( + mm.methodName().stringValue(), + mtd, + mm.flags().flagsMask(), + methodBuilder -> instrumentMethod(methodBuilder, mm, mgen, classInfo, trackMethod)); + + debug_transform.exdent(); + } catch (Throwable t) { + if (debugInstrument.enabled) { + t.printStackTrace(); + } + String method = classname + "." + mm.methodName().stringValue(); + skip_method(method); + if (quit_if_error) { + if (t instanceof DynCompError) { + throw t; + } + throw new DynCompError("Unexpected error processing " + method, t); + } else { + System.err.printf("Unexpected error processing %s: %s%n", method, t); + System.err.printf("Method is NOT instrumented.%n"); + } + } + } + } + + /** + * Copy the given method from the input class file to the output output class with no changes. + * Uses {@code copyMethod} to perform the actual copy. + * + * @param classBuilder for the output class + * @param mm MethodModel describes the input method + * @param mgen describes the output method + */ + private void outputMethodUnchanged(ClassBuilder classBuilder, MethodModel mm, MethodGen24 mgen) { + classBuilder.withMethod( + mm.methodName().stringValue(), + mm.methodTypeSymbol(), + mm.flags().flagsMask(), + methodBuilder -> copyMethod(methodBuilder, mm, mgen)); + } + + /** + * Copy the given method from the input class file to the output output class with no changes. + * + * @param methodBuilder for the output class + * @param methodModel describes the input method + * @param mgen describes the output method + */ + private void copyMethod(MethodBuilder methodBuilder, MethodModel methodModel, MethodGen24 mgen) { + + for (MethodElement me : methodModel) { + debugInstrument.log("MethodElement: %s%n", me); + switch (me) { + case CodeModel codeModel -> + methodBuilder.withCode( + codeBuilder -> copyCode(codeBuilder, mgen.getInstructionList(), null)); + + // copy all other MethodElements to output class (unchanged) + default -> methodBuilder.with(me); + } + } + } + + /** + * Copy an instruction list into the given method. + * + * @param codeBuilder for the given method's code + * @param instructions instruction list to copy + * @param newLocals method scope locals to define; may be null if none + */ + private void copyCode( + CodeBuilder codeBuilder, List instructions, List newLocals) { + + if (newLocals != null) { + for (myLocalVariable lv : newLocals) { + codeBuilder.localVariable( + lv.slot(), + lv.name(), + lv.descriptor(), + codeBuilder.startLabel(), + codeBuilder.endLabel()); + } + } + + for (CodeElement ce : instructions) { + debugInstrument.log("CodeElement: %s%n", ce); + codeBuilder.with(ce); + } + } + + /** + * Instrument the given method using {@link #instrumentCode}. + * + * @param methodBuilder for the given method + * @param methodModel for the given method + * @param mgen describes the given method + * @param classInfo for the current class + * @param trackMethod true iff we need to track the daikon variables in this method + */ + private void instrumentMethod( + MethodBuilder methodBuilder, + MethodModel methodModel, + MethodGen24 mgen, + ClassInfo classInfo, + boolean trackMethod) { + + try { + boolean codeModelSeen = false; + for (MethodElement me : methodModel) { + debugInstrument.log("MethodElement: %s%n", me); + switch (me) { + case CodeModel codeModel -> { + codeModelSeen = true; + methodBuilder.withCode( + codeBuilder -> + instrumentCode(codeBuilder, codeModel, null, mgen, classInfo, trackMethod)); + } + case RuntimeVisibleAnnotationsAttribute rvaa -> { + // We do not want to copy the @HotSpotIntrinsicCandidate annotations from + // the original method to our instrumented method as the signature will + // not match anything in the JVM's list. This won't cause an execution + // problem but will produce a number of warnings. + // JDK 11: @HotSpotIntrinsicCandidate + // JDK 17: @IntrinsicCandidate + boolean output = true; + for (final Annotation item : rvaa.annotations()) { + String description = item.className().stringValue(); + if (description.endsWith("IntrinsicCandidate;")) { + output = false; + debugInstrument.log("Annotation not copied: %s%n", description); + } + } + if (output) { + methodBuilder.with(me); + } + } + // copy all other MethodElements to output class (unchanged) + default -> methodBuilder.with(me); + } + } + if (!codeModelSeen) { + debugInstrument.log("No CodeModel for method: %s%n", mgen.getName()); + if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { + // We need to build our wrapper method for a call to native code. + methodBuilder.withCode( + codeBuilder -> instrumentCode(codeBuilder, null, null, mgen, classInfo, trackMethod)); + + // Turn off the native flag in wrapper method. + methodBuilder.withFlags(mgen.getAccessFlagsMask() & ~ClassFile.ACC_NATIVE); + } else { + // Interface and/or Abstract; do nothing. + } + } + } catch (DynCompError e) { + throw e; + } catch (Throwable t) { + throw new DynCompError( + "Unexpected error processing " + classInfo.class_name + "." + mgen.getName(), t); + } + } + + /** + * Generate instrumentation code for the given method. This includes reading in and processing the + * original instruction list, calling {@code insertInstrumentationCode} to add the instrumentation + * code, and then copying the modified instruction list to the output method while updating the + * code labels, if needed. If DCInstrument24 generated the method or if it is a native method, + * then codeModel == null. If DCInstrument24 generated the method then localsTable will be set. + * + * @param codeBuilder for the given method's code + * @param codeModel for the input method's code; may be null + * @param newLocals method scope locals to define; may be null if none + * @param mgen describes the output method + * @param classInfo for the current class + * @param trackMethod true iff we need to track the daikon variables in this method + */ + private void instrumentCode( + CodeBuilder codeBuilder, + CodeModel codeModel, + List newLocals, + MethodGen24 mgen, + ClassInfo classInfo, + boolean trackMethod) { + + // method_info_index is not used at this point in DCInstrument + MethodGen24.MInfo24 minfo = new MethodGen24.MInfo24(0, mgen.getMaxLocals(), codeBuilder); + debugInstrument.log("nextLocalIndex: %d%n", minfo.nextLocalIndex); + + if (newLocals != null) { + for (myLocalVariable lv : newLocals) { + mgen.localsTable.add( + LocalVariable.of( + lv.slot(), + lv.name(), + lv.descriptor(), + codeBuilder.startLabel(), + codeBuilder.endLabel())); + } + mgen.setOriginalLocalVariables( + mgen.localsTable.toArray(new LocalVariable[mgen.localsTable.size()])); + } + + // Clean up parameter names and add in any unused parameters that the Java compiler has + // optimized out. + if (mgen.fixLocals(minfo)) { + // localsTable was changed + debugInstrument.log("Revised LocalVariableTable:%n"); + for (LocalVariable lv : mgen.localsTable) { + debugInstrument.log(" %s%n", lv); + } + } + + if (debugInstrument.enabled) { + String[] paramNames = mgen.getParameterNames(); + debugInstrument.log("paramNames: %s%n", paramNames.length); + for (String paramName : paramNames) { + debugInstrument.log("param name: %s%n", paramName); + } + } + + debugInstrument.log("nextLocalIndex: %d%n", minfo.nextLocalIndex); + + // If the method is native + if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { + + debugInstrument.log("Native Method%n"); + // Create Java code that cleans up the tag stack and calls the real native method. + fix_native(mgen); + + // Add the DCompMarker argument to distinguish our version + add_dcomp_arg(mgen, minfo); + + // Copy the modified local variable table to the output class. + debugInstrument.log("LocalVariableTable:%n"); + for (LocalVariable lv : mgen.localsTable) { + codeBuilder.localVariable( + lv.slot(), lv.name().stringValue(), lv.typeSymbol(), lv.startScope(), lv.endScope()); + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String lvFD = lv.typeSymbol().descriptorString(); + debugInstrument.log( + " %s : %s%n", lv, daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(lvFD)); + } + + // Copy the modified instruction list to the output class. + for (CodeElement ce : mgen.getInstructionList()) { + debugInstrument.log("CodeElement: %s%n", ce); + codeBuilder.with(ce); + } + + } else { // normal method + + if (!classInfo.isJunitTestClass) { + // Add the DCompMarker argument to distinguish our version + add_dcomp_arg(mgen, minfo); + } + + if (debugInstrument.enabled) { + System.out.printf("nextLocalIndex: %d%n", minfo.nextLocalIndex); + System.out.printf("LocalVariableTable:%n"); + for (LocalVariable lv : mgen.localsTable) { + System.out.printf(" %s%n", lv); + } + System.out.println( + "instrumentCode - param types: " + Arrays.toString(mgen.getParameterTypes())); + System.out.printf("length: %d%n", mgen.getParameterTypes().length); + } + + int paramCount = (mgen.isStatic() ? 0 : 1) + mgen.getParameterTypes().length; + debugInstrument.log("paramCount: %d%n", paramCount); + + // Create a MethodInfo that describes this method's arguments + // and exit line numbers (information not available via reflection) + // and add it to the list for this class. + MethodInfo mi = null; + if (trackMethod && !in_jdk) { + mi = create_method_info(classInfo, mgen); + classInfo.method_infos.add(mi); + DCRuntime.methods.add(mi); + } + + @SuppressWarnings("JdkObsolete") + List codeList = new LinkedList<>(); + + // no codeModel if DCInstrument24 generated the method + if (codeModel != null) { + debugInstrument.log("Code Attributes:%n"); + for (Attribute a : codeModel.attributes()) { + debugInstrument.log(" %s%n", a); + } + } + + // Create the local to store the tag frame for this method + tagFrameLocal = createTagFrameLocal(mgen, minfo); + + debugInstrument.log("nextLocalIndex: %d%n", minfo.nextLocalIndex); + debugInstrument.log("maxlocals: %d%n", mgen.getMaxLocals()); + + // The localsTable was initialized in the MethodGen24 constructor. Here we initialize the + // codeList. We also remove the local variable type records. Some instrumentation changes + // require these to be updated, but it should be safe to just delete them since the + // LocalVariableTypeTable is optional and really only of use to a debugger. We also save the + // CodeModel label at the start of the byte codes, if there is one. If there isn't, that is + // okay as it means the original code did not reference byte code offset 0 so inserting our + // instrumentation code at that point will not cause a problem. + @SuppressWarnings("nullness:assignment") // can't have gotten here if CodeAttribute is null + @NonNull CodeAttribute ca = mgen.getCodeAttribute(); + for (CodeElement ce : mgen.getInstructionList()) { + debugInstrument.log("CodeElement: %s%n", ce); + switch (ce) { + case LocalVariable lv -> {} // we have alreay processed these + case LocalVariableType lvt -> {} // we can discard local variable types + case LabelTarget l -> { + if (ca.labelToBci(l.label()) == 0) { + oldStartLabel = l.label(); + } + codeList.add(ce); + } + default -> codeList.add(ce); // save all other elements + } + } + + // Create newStartLabel now so instrumentCodeList can use it. + newStartLabel = codeBuilder.newLabel(); + + // Instrument the method + instrumentCodeList(codeModel, mgen, minfo, codeList); + + if (trackMethod && !in_jdk) { + add_enter(mgen, minfo, codeList, DCRuntime.methods.size() - 1); + add_exit(mgen, mi, minfo, codeList, DCRuntime.methods.size() - 1); + } + + // Copy the modified local variable table to the output class. + debugInstrument.log("LocalVariableTable:%n"); + for (LocalVariable lv : mgen.localsTable) { + codeBuilder.localVariable( + lv.slot(), lv.name().stringValue(), lv.typeSymbol(), lv.startScope(), lv.endScope()); + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String lvFD = lv.typeSymbol().descriptorString(); + debugInstrument.log( + " %s : %s%n", lv, daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(lvFD)); + } + + // Copy the modified instruction list to the output class. + ListIterator li = codeList.listIterator(); + CodeElement ce; + while (li.hasNext()) { + if (li.nextIndex() == newStartIndex) { + codeBuilder.labelBinding(newStartLabel); + debugInstrument.log("Label: %s%n", newStartLabel); + } + ce = li.next(); + // If this instruction references a Label, we need to see if it is the oldStartLabel + // and, if so, replace the target with the newStartLabel. + ce = retargetStartLabel(ce); + debugInstrument.log("CodeElement: %s%n", ce); + codeBuilder.with(ce); + } + + // build_exception_handler returns null if there isn't one. + List handlerCode = build_exception_handler(mgen); + if (handlerCode != null) { + Label handlerLabel = codeBuilder.newBoundLabel(); + for (CodeElement ceh : handlerCode) { + codeBuilder.with(ceh); + } + // Using handlerLabel for the end of the try region is technically one instruction + // too many, but it shouldn't matter and is easily available. + codeBuilder.exceptionCatch(newStartLabel, handlerLabel, handlerLabel, CD_Throwable); + } + } + } + + /** + * Returns true if the specified classname.method_name is the root of JUnit startup code. + * + * @param classname class to be checked + * @param method_name method to be checked + * @return true if the given method is a JUnit trigger + */ + boolean isJunitTrigger(String classname, String method_name) { + if ((classname.contains("JUnitCommandLineParseResult") + && method_name.equals("parse")) // JUnit 4 + || (classname.contains("EngineDiscoveryRequestResolution") + && method_name.equals("resolve")) // JUnit 5 + ) { + return true; + } + return false; + } + + // General Java Runtime instrumentation strategy: + // + //

    It is a bit of a misnomer, but the Daikon code and documentation uses the term JDK to refer + // to the Java Runtime Environment class libraries. In Java 8 and earlier, they were usually found + // in {@code /jre/lib/rt.jar}. For these versions of Java, we + // pre-instrumented the entire rt.jar. + // + //

    In Java 9 and later, the Java Runtime classes have been divided into modules that are + // usually found in: {@code /jmods/*.jmod}. + // + //

    With the conversion to modules for Java 9 and beyond, we have elected to pre-instrument only + // java.base.jmod and instrument all other Java Runtime (aka JDK) classes dynamically as they are + // loaded. + // + //

    Post Java 8 there are increased security checks when loading JDK classes. In particular, the + // core classes contained in the java.base module may not reference anything outside of java.base. + // This means we cannot pre-instrument classes in the same manner as was done for Java 8 as this + // would introduce external references to the DynComp runtime (DCRuntime.java). + // + //

    However, we can get around this restriction in the following manner: We create a shadow + // DynComp runtime called java.lang.DCRuntime that contains all the public methods of + // daikon.dcomp.DCRuntime, but with method bodies that contain only a return statement. We + // pre-instrument java.base the same as we would for JDK 8, but change all references to + // daikon.dcomp.DCRuntime to refer to java.lang.DCRuntime instead, and thus pass the security load + // test. During DynComp initialization (in Premain) we use java.lang.instrument.redefineClasses to + // replace the dummy java.lang.DCRuntime with a version where each method calls the corresponding + // method in daikon.dcomp.DCRuntime. The Java runtime does not enforce the security check in this + // case. + + /** + * Instruments a JDK class to perform dynamic comparability and returns the new class definition. + * A second version of each method in the class is created which is instrumented for + * comparability. + * + * @return the modified JavaClass + */ + public byte @Nullable [] instrument_jdk(ClassInfo classInfo) { + + @BinaryName String classname = classInfo.class_name; + + // Don't know where I got this idea. They are executed. Don't remember why + // adding dcomp marker causes problems. + // Don't instrument annotations. They aren't executed and adding + // the marker argument causes subtle errors + if (classModel.flags().has(AccessFlag.ANNOTATION)) { + debug_transform.log("Not instrumenting annotation %s%n", classname); + // Return classfile unmodified. + return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); + } + + int i = classname.lastIndexOf('.'); + if (i > 0) { + // Don't instrument problem packages. + // See Premain.java for a list and explainations. + String packageName = classname.substring(0, i); + if (Premain.problem_packages.contains(packageName)) { + debug_transform.log("Skipping problem package %s%n", packageName); + // Return classfile unmodified. + return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); + } + } + + if (BcelUtil.javaVersion > 8) { + // Don't instrument problem classes. + // See Premain.java for a list and explainations. + if (Premain.problem_classes.contains(classname)) { + debug_transform.log("Skipping problem class %s%n", classname); + // Return classfile unmodified. + return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); + } + dcompRuntimeClassname = "java.lang.DCRuntime"; + } + + try { + return classFile.build( + classModel.thisClass().asSymbol(), + classBuilder -> instrumentClass(classBuilder, classModel, classInfo)); + } catch (Throwable t) { + if (debugInstrument.enabled) { + t.printStackTrace(); + } + System.err.printf( + "DynComp warning: Class %s is being skipped due to the following:%n", + classInfo.class_name); + System.err.printf("%s.%n", t); + // Return classfile unmodified. + return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); + } + } + + /** + * Instrument the specified method for dynamic comparability. + * + * @param codeModel for the method's code + * @param mgen describes the given method + * @param minfo for the given method's code + * @param instructions instruction list for method + */ + private void instrumentCodeList( + CodeModel codeModel, + MethodGen24 mgen, + MethodGen24.MInfo24 minfo, + List instructions) { + + List newCode = createTagFrame(mgen); + + // The start of the list of CodeElements looks as follows: + // LocalVariable declarations (if any) + // Label for start of code (if present) + // LineNumber for start of code (if present) + // + // + // We want to insert the tag_frame setup code after the LocalVariables (if any) and after the + // inital label (if present), but before any LineNumber or Instruction. + ListIterator li = instructions.listIterator(); + CodeElement inst; + try { + while (li.hasNext()) { + inst = li.next(); + if ((inst instanceof LineNumber) || (inst instanceof Instruction)) { + break; + } + } + + // Insert the TagFrame code before the LineNumber or Instruction we just located. + // Back up the iterator to point to just before 'inst', then copy the newCode. + li.previous(); + for (CodeElement ce : newCode) { + li.add(ce); + } + + // We want to remember the current location in the instruction list. It is where a call to the + // DynComp runtime enter routine should be inserted, if we are tracking this method. + // This will also be used to indicate where the newStartLabel should be defined. + // Finally, we will also return to this location for code instrumentation after calculating + // the operand stack values. + newStartIndex = li.nextIndex(); + + // The next section of code calculates the operand stack value(s) for the current method. + if (debugOperandStack) { + System.out.printf("%nStarting operand stack calculation%n"); + } + + // Build a map of labels to instruction list offsets + labelIndexMap = new HashMap<>(); + li = instructions.listIterator(); + while (li.hasNext()) { + inst = li.next(); + if (inst instanceof LabelTarget lt) { + if (debugOperandStack) { + System.out.println("label target: " + lt.label() + ", index: " + li.previousIndex()); + } + // remember where this label is located within the instruction list + labelIndexMap.put(lt.label(), li.previousIndex()); + } + } + if (oldStartLabel != null) { + // change offset of oldStartLabel to where we will define newStartLabel + labelIndexMap.put(oldStartLabel, newStartIndex); + } + labelIndexMap.put(newStartLabel, newStartIndex); + + // Create an array to hold the calculated operand stack + // prior to each byte code instruction. + stacks = new OperandStack24[instructions.size()]; + + // Create an array containing the type of each local variable. + // This will be indexed by the local variable's slot number. + // There may be a gap for the second slot of a variable of type long or double. + locals = new ClassDesc[mgen.getMaxLocals()]; + // UNDONE: Should we init locals for 'this' and params only? + for (final LocalVariable lv : mgen.localsTable) { + // System.out.printf("local(%d): %s%n", lv.slot(), lv.typeSymbol()); + locals[lv.slot()] = lv.typeSymbol(); + } + + worklistHistory = new HashMap<>(); + + // Create a worklist of instruction locations and operand stacks. + + // Create a work item for start of users code. + if (oldStartLabel != null) { + addLabelToWorklist(oldStartLabel, new OperandStack24(mgen.getMaxStack())); + } else { + addLabelToWorklist(newStartLabel, new OperandStack24(mgen.getMaxStack())); + } + + if (codeModel != null) { + // Create a work item for each exception handler. + for (ExceptionCatch ec : codeModel.exceptionHandlers()) { + Label l = ec.handler(); + Optional catchType = ec.catchType(); + OperandStack24 temp = new OperandStack24(mgen.getMaxStack()); + if (catchType.isPresent()) { + temp.push(catchType.get().asSymbol()); + } else { + temp.push(CD_Throwable); + } + addLabelToWorklist(l, temp); + } + } + + WorkItem item; + OperandStack24 stack; + int inst_index; + while (!worklist.isEmpty()) { + item = worklist.first(); + worklist.remove(item); + if (debugOperandStack) { + System.out.println( + "pull from worklist: " + item.instructionIndex() + ", stack: " + item.stack()); + } + li = instructions.listIterator(item.instructionIndex()); + stack = item.stack(); + boolean proceed = true; + while (proceed) { + if (!li.hasNext()) { + throw new DynCompError("error in instruction list"); + } + inst_index = li.nextIndex(); + inst = li.next(); + if (debugOperandStack) { + System.out.println("inst_index: " + inst_index); + System.out.println("Operand Stack in: " + stack); + } + proceed = CalcStack24.calcOperandStack(mgen, minfo, inst, inst_index, stack); + if (debugOperandStack) { + System.out.println("Operand Stack out: " + stack); + System.out.println("proceed: " + proceed); + } + } + } + + if (debugOperandStack) { + System.out.printf("%nStarting instruction instrumentation%n"); + } + // set list iterator to start of the user instructions + li = instructions.listIterator(newStartIndex); + + // We set inst_index here and increment each time through loop. + // This should match the index into stacks we used above. + inst_index = li.nextIndex(); + while (li.hasNext()) { + inst = li.next(); + + if (debugOperandStack) { + System.out.println("code element in: " + inst); + System.out.println("current stack: " + stacks[inst_index]); + } + // Get the translation for this instruction (if any) + List new_il = instrumentInstruction(mgen, minfo, inst, stacks[inst_index]); + if (new_il != null) { + li.remove(); // remove the instruction we instrumented + for (CodeElement ce : new_il) { + if (debugOperandStack) { + System.out.println("code element out: " + ce); + } + li.add(ce); + } + } + inst_index++; + } + } catch (DynCompError e) { + throw e; + } catch (Throwable t) { + throw new DynCompError( + String.format( + "Unexpected error processing %s.%s.%n", mgen.getClassName(), mgen.getName()), + t); + } + } + + /** + * Create a worklist item. + * + * @param target label where to start operand stack simulation + * @param stack state of operand stack at target + */ + protected static void addLabelToWorklist(Label target, OperandStack24 stack) { + OperandStack24 existing = worklistHistory.get(target); + if (existing == null) { + if (debugOperandStack) { + System.out.println( + "push to worklist: " + target + ", " + labelIndexMap.get(target) + ", stack: " + stack); + } + worklistHistory.put(target, stack.getClone()); + worklist.add(new WorkItem(labelIndexMap.get(target), stack.getClone())); + } else { + // will throw if stacks don't match + verifyOperandStackMatches(target, existing, stack); + // stacks match, don't add duplicate to worklist + if (debugOperandStack) { + System.out.println( + "duplicate worklist item: " + + target + + ", " + + labelIndexMap.get(target) + + ", stack: " + + stack); + } + } + } + + /** + * Verify that the operand stacks match at a label. + * + * @param target label where control flow merges + * @param existing state of operand stack at target + * @param current state of operand stack at transfer to target + */ + protected static void verifyOperandStackMatches( + Label target, OperandStack24 existing, OperandStack24 current) { + if (existing.equals(current)) { + if (debugOperandStack) { + System.out.println("operand stacks match at: " + target); + } + return; + } + // stacks don't match + if (debugOperandStack) { + System.err.flush(); + System.out.flush(); + System.out.println("operand stacks do not match at label:" + target); + System.out.println("existing stack: " + existing); + System.out.println("current stack: " + current); + System.out.flush(); + } + throw new DynCompError("operand stacks do not match at label:" + target); + } + + /** + * Adds the method name and containing class name to {@code skip_methods}, the list of + * uninstrumented methods. + * + * @param method method to add to skipped_methods list + */ + void skip_method(String method) { + skipped_methods.add(method); + } + + /** + * Returns the list of uninstrumented methods. (Note: instrument_jdk() needs to have been called + * first.) + */ + public List get_skipped_methods() { + return new ArrayList<>(skipped_methods); + } + + /** + * Adds a try/catch block around the entire method. If an exception occurs, the tag stack is + * cleaned up and the exception is rethrown. + * + * @param mgen method to add exception handler + * @return code list for handler, or null if method should not have a handler + */ + public List build_exception_handler(MethodGen24 mgen) { + + if (mgen.getName().equals("main")) { + return null; + } + // methods (constructors) turn out to be problematic + // for adding a whole method exception handler. The start of + // the exception handler should be after the primary object is + // initialized - but this is hard to determine without a full + // analysis of the code. Hence, we just skip these methods. + if (!mgen.isStatic() && mgen.isConstructor()) { + return null; + } + + List instructions = new ArrayList<>(); + + instructions.add(StackInstruction.of(Opcode.DUP)); + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, "exception_exit", MethodTypeDesc.of(CD_void, CD_Object)); + instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + instructions.add(ThrowInstruction.of()); + return instructions; + } + + /** + * Adds the call to DCRuntime.enter to the beginning of the method. + * + * @param mgen method to modify + * @param minfo for the given method's code + * @param instructions instruction list for method + * @param method_info_index index for MethodInfo + */ + private void add_enter( + MethodGen24 mgen, + MethodGen24.MInfo24 minfo, + List instructions, + int method_info_index) { + List newCode = callEnterOrExit(mgen, minfo, method_info_index, "enter", -1); + instructions.addAll(newStartIndex, newCode); + // Update the newStartIndex to account for the instrumentation code we just added. + newStartIndex += newCode.size(); + } + + /** + * Creates the local used to store the tag frame and returns it. + * + * @param mgen method to modify + * @param minfo for the given method's code + * @return LocalVariable for the tag_frame local + */ + LocalVariable createTagFrameLocal(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { + return BcelUtils24.addNewSpecialLocal(mgen, "dcomp_tag_frame$5a", objectArrayCD, minfo, false); + } + + /** + * Generates the code to create the tag frame for this method and store it in tag_frame_local. + * This needs to be before the call to DCRuntime.enter (since it passed to that method). + * + * @param mgen describes the given method + * @return instruction list for tag_frame setup code + */ + private List createTagFrame(MethodGen24 mgen) { + + ClassDesc arg_types[] = mgen.getParameterTypes(); + + // Determine the offset of the first argument in the frame + int offset = 1; + if (mgen.isStatic()) { + offset = 0; + } + + // allocate an extra slot to save the tag frame depth for debugging + int frame_size = mgen.getMaxLocals() + 2; + + // unsigned byte max = 255. minus the character '0' (decimal 48) + // Largest frame size noted so far is 123. + if (frame_size > 206) { + throw new DynCompError("method too large to instrument: " + mgen.getName()); + } + String params = "" + (char) (frame_size + '0'); + // Character.forDigit (frame_size, Character.MAX_RADIX); + List plist = new ArrayList<>(); + for (ClassDesc argType : arg_types) { + if (argType.isPrimitive()) { + plist.add(offset); + } + offset += TypeKind.from(argType).slotSize(); + } + for (int ii = plist.size() - 1; ii >= 0; ii--) { + char tmpChar = (char) (plist.get(ii) + '0'); + params += tmpChar; + // Character.forDigit (plist.get(ii), Character.MAX_RADIX); + } + + // Create code to create and init the tag_frame and store the result in tag_frame_local + List instructions = new ArrayList<>(); + + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, "create_tag_frame", MethodTypeDesc.of(objectArrayCD, CD_String)); + instructions.add(buildLDCInstruction(poolBuilder.stringEntry(params))); + instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + instructions.add(StoreInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); + + debugInstrument.log("Store Tag frame local at index %d%n", tagFrameLocal.slot()); + + return instructions; + } + + /** + * Pushes the object, method info index, parameters, and return value on the stack and calls the + * specified Method (normally enter or exit) in DCRuntime. The parameters are passed as an array + * of objects. + * + * @param mgen method to modify + * @param minfo for the given method's code + * @param method_info_index index for MethodInfo + * @param methodToCall "enter" or "exit" + * @param line source line number if type is exit + * @return instruction list for the enter or exit code + */ + private List callEnterOrExit( + MethodGen24 mgen, + MethodGen24.MInfo24 minfo, + int method_info_index, + String methodToCall, + int line) { + + List instructions = new ArrayList<>(); + ClassDesc paramTypes[] = mgen.getParameterTypes(); + + // Push the tag frame + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); + + // Push the object. Push null if this is a static method or a constructor. + if (mgen.isStatic() || (methodToCall.equals("enter") && mgen.isConstructor())) { + instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + } else { // must be an instance method + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); + } + + // The offset of the first parameter. + int param_offset = mgen.isStatic() ? 0 : 1; + + // Push the MethodInfo index + instructions.add(loadIntegerConstant(method_info_index)); + + // Create an array of objects with elements for each parameter. + instructions.add(loadIntegerConstant(paramTypes.length)); + instructions.add(NewReferenceArrayInstruction.of(poolBuilder.classEntry(CD_Object))); + + // Put each parameter into the array. + int param_index = param_offset; + for (int ii = 0; ii < paramTypes.length; ii++) { + instructions.add(StackInstruction.of(Opcode.DUP)); + instructions.add(loadIntegerConstant(ii)); + ClassDesc at = paramTypes[ii]; + if (at.isPrimitive()) { + instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + } else { // it's a reference of some sort + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, param_index)); + } + instructions.add(ArrayStoreInstruction.of(Opcode.AASTORE)); + param_index += TypeKind.from(at).slotSize(); + } + + // If this is an exit, push the return value and line number. + // The return value is stored in the local "return__$trace2_val". + // If the return value is a primitive, push a null. + if (methodToCall.equals("exit")) { + ClassDesc returnType = mgen.getReturnType(); + if (returnType.equals(CD_void)) { + instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + } else { + LocalVariable return_local = getReturnLocal(mgen, returnType, minfo); + if (returnType.isPrimitive()) { + instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + } else { + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, return_local.slot())); + } + } + // push line number + instructions.add(loadIntegerConstant(line)); + } + + MethodTypeDesc methodArgs; + // Call the specified method. + if (methodToCall.equals("exit")) { + methodArgs = + MethodTypeDesc.of( + CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD, CD_Object, CD_int); + } else { + methodArgs = MethodTypeDesc.of(CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD); + } + MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, methodToCall, methodArgs); + instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + + return instructions; + } + + /** + * Transforms instructions to track comparability. Returns a list of instructions that replaces + * the specified instruction. Returns null if the instruction should not be replaced. + * + * @param mgen method to modify + * @param minfo for the given method's code + * @param ce instruction to be instrumented + * @param stack current contents of the operand stack + * @return instrumentation for inst, or null if none + */ + @Nullable List instrumentInstruction( + MethodGen24 mgen, MethodGen24.MInfo24 minfo, CodeElement ce, OperandStack24 stack) { + + switch (ce) { + case Instruction inst -> { + switch (inst.opcode()) { + + // Replace the object comparison instructions with a call to + // DCRuntime.object_eq or DCRuntime.object_ne. Those methods + // return a boolean which is used in a ifeq/ifne instruction + case Opcode.IF_ACMPEQ: + return object_comparison((BranchInstruction) inst, "object_eq", Opcode.IFNE); + case Opcode.IF_ACMPNE: + return object_comparison((BranchInstruction) inst, "object_ne", Opcode.IFNE); + + // These instructions compare the integer on the top of the stack + // to zero. Nothing is made comparable by this, so we need only + // discard the tag on the top of the stack. + case Opcode.IFEQ: + case Opcode.IFNE: + case Opcode.IFLT: + case Opcode.IFGE: + case Opcode.IFGT: + case Opcode.IFLE: + { + return discard_tag_code(inst, 1); + } + + // Instanceof pushes either 0 or 1 on the stack depending on whether + // the object on top of stack is of the specified type. We push a + // tag for a constant, since nothing is made comparable by this. + case Opcode.INSTANCEOF: + return build_il(dcr_call("push_const", CD_void, noArgsCD), inst); + + // all the DUP opcodes go here + + case Opcode.IF_ICMPEQ: + case Opcode.IF_ICMPGE: + case Opcode.IF_ICMPGT: + case Opcode.IF_ICMPLE: + case Opcode.IF_ICMPLT: + case Opcode.IF_ICMPNE: + { + return build_il(dcr_call("cmp_op", CD_void, noArgsCD), inst); + } + + case Opcode.GETFIELD: + case Opcode.PUTFIELD: + case Opcode.GETSTATIC: + case Opcode.PUTSTATIC: + { + return load_store_field(mgen, minfo, ((FieldInstruction) inst)); + } + + case Opcode.DLOAD: + case Opcode.DLOAD_0: + case Opcode.DLOAD_1: + case Opcode.DLOAD_2: + case Opcode.DLOAD_3: + case Opcode.FLOAD: + case Opcode.FLOAD_0: + case Opcode.FLOAD_1: + case Opcode.FLOAD_2: + case Opcode.FLOAD_3: + case Opcode.ILOAD: + case Opcode.ILOAD_0: + case Opcode.ILOAD_1: + case Opcode.ILOAD_2: + case Opcode.ILOAD_3: + case Opcode.LLOAD: + case Opcode.LLOAD_0: + case Opcode.LLOAD_1: + case Opcode.LLOAD_2: + case Opcode.LLOAD_3: + { + return load_local((LoadInstruction) inst, tagFrameLocal, "push_local_tag"); + } + + case Opcode.DSTORE: + case Opcode.DSTORE_0: + case Opcode.DSTORE_1: + case Opcode.DSTORE_2: + case Opcode.DSTORE_3: + case Opcode.FSTORE: + case Opcode.FSTORE_0: + case Opcode.FSTORE_1: + case Opcode.FSTORE_2: + case Opcode.FSTORE_3: + case Opcode.ISTORE: + case Opcode.ISTORE_0: + case Opcode.ISTORE_1: + case Opcode.ISTORE_2: + case Opcode.ISTORE_3: + case Opcode.LSTORE: + case Opcode.LSTORE_0: + case Opcode.LSTORE_1: + case Opcode.LSTORE_2: + case Opcode.LSTORE_3: + { + return store_local((StoreInstruction) inst, tagFrameLocal, "pop_local_tag"); + } + + // Adjusts the tag stack for load constant opcodes. If the constant is a primitive, pushes + // its tag + // on the tag stack. If the constant is a reference (string, class), does nothing. + case Opcode.LDC: + case Opcode.LDC_W: + case Opcode.LDC2_W: + { + if (((ConstantInstruction) inst).typeKind().equals(TypeKind.REFERENCE)) { + return null; + } + return build_il(dcr_call("push_const", CD_void, noArgsCD), inst); + } + + // Push the tag for the array onto the tag stack. This causes + // anything comparable to the length to be comparable to the array + // as an index. + case Opcode.ARRAYLENGTH: + { + return array_length(inst); + } + + case Opcode.BIPUSH: + case Opcode.SIPUSH: + case Opcode.DCONST_0: + case Opcode.DCONST_1: + case Opcode.FCONST_0: + case Opcode.FCONST_1: + case Opcode.FCONST_2: + case Opcode.ICONST_0: + case Opcode.ICONST_1: + case Opcode.ICONST_2: + case Opcode.ICONST_3: + case Opcode.ICONST_4: + case Opcode.ICONST_5: + case Opcode.ICONST_M1: + case Opcode.LCONST_0: + case Opcode.LCONST_1: + { + return build_il(dcr_call("push_const", CD_void, noArgsCD), inst); + } + + // Primitive Binary operators. Each is augmented with a call to + // DCRuntime.binary_tag_op that merges the tags and updates the tag + // Stack. + case Opcode.DADD: + case Opcode.DCMPG: + case Opcode.DCMPL: + case Opcode.DDIV: + case Opcode.DMUL: + case Opcode.DREM: + case Opcode.DSUB: + case Opcode.FADD: + case Opcode.FCMPG: + case Opcode.FCMPL: + case Opcode.FDIV: + case Opcode.FMUL: + case Opcode.FREM: + case Opcode.FSUB: + case Opcode.IADD: + case Opcode.IAND: + case Opcode.IDIV: + case Opcode.IMUL: + case Opcode.IOR: + case Opcode.IREM: + case Opcode.ISHL: + case Opcode.ISHR: + case Opcode.ISUB: + case Opcode.IUSHR: + case Opcode.IXOR: + case Opcode.LADD: + case Opcode.LAND: + case Opcode.LCMP: + case Opcode.LDIV: + case Opcode.LMUL: + case Opcode.LOR: + case Opcode.LREM: + case Opcode.LSHL: + case Opcode.LSHR: + case Opcode.LSUB: + case Opcode.LUSHR: + case Opcode.LXOR: + return build_il(dcr_call("binary_tag_op", CD_void, noArgsCD), inst); + + // Computed jump based on the int on the top of stack. Since that int + // is not made comparable to anything, we just discard its tag. One + // might argue that the key should be made comparable to each value in + // the jump table. But the tags for those values are not available. + // And since they are all constants, its not clear how interesting it + // would be anyway. + case Opcode.LOOKUPSWITCH: + case Opcode.TABLESWITCH: + return discard_tag_code(inst, 1); + + // Make the integer argument to ANEWARRAY comparable to the new + // array's index. + case Opcode.ANEWARRAY: + case Opcode.NEWARRAY: + return new_array(inst); + + // If the new array has 2 dimensions, make the integer arguments + // comparable to the corresponding indices of the new array. + // For any other number of dimensions, discard the tags for the + // arguments. + case Opcode.MULTIANEWARRAY: + return multi_newarray_dc((NewMultiArrayInstruction) inst); + + // Mark the array and its index as comparable. Also for primitives, + // push the tag of the array element on the tag stack + case Opcode.AALOAD: + case Opcode.BALOAD: + case Opcode.CALOAD: + case Opcode.DALOAD: + case Opcode.FALOAD: + case Opcode.IALOAD: + case Opcode.LALOAD: + case Opcode.SALOAD: + return array_load(mgen, (ArrayLoadInstruction) inst); + + // Prefix the return with a call to the correct normal_exit method + // to handle the tag stack + case Opcode.ARETURN: + case Opcode.DRETURN: + case Opcode.FRETURN: + case Opcode.IRETURN: + case Opcode.LRETURN: + case Opcode.RETURN: + return return_tag(mgen, inst); + + // Throws an exception. This clears the operand stack of the current + // frame. We need to clear the tag stack as well. + case Opcode.ATHROW: + return build_il(dcr_call("throw_op", CD_void, noArgsCD), inst); + + // Opcodes that don't need any modifications. Here for reference + case Opcode.ACONST_NULL: + case Opcode.ALOAD: + case Opcode.ALOAD_0: + case Opcode.ALOAD_1: + case Opcode.ALOAD_2: + case Opcode.ALOAD_3: + case Opcode.ASTORE: + case Opcode.ASTORE_0: + case Opcode.ASTORE_1: + case Opcode.ASTORE_2: + case Opcode.ASTORE_3: + case Opcode.CHECKCAST: + case Opcode.D2F: // double to float + case Opcode.D2I: // double to integer + case Opcode.D2L: // double to long + case Opcode.DNEG: // Negate double on top of stack + case Opcode.F2D: // float to double + case Opcode.F2I: // float to integer + case Opcode.F2L: // float to long + case Opcode.FNEG: // Negate float on top of stack + case Opcode.GOTO: + case Opcode.GOTO_W: + case Opcode.I2B: // integer to byte + case Opcode.I2C: // integer to char + case Opcode.I2D: // integer to double + case Opcode.I2F: // integer to float + case Opcode.I2L: // integer to long + case Opcode.I2S: // integer to short + case Opcode.IFNONNULL: + case Opcode.IFNULL: + case Opcode.IINC: // increment local variable by a constant + case Opcode.IINC_W: // increment local variable by a constant + case Opcode.INEG: // negate integer on top of stack + case Opcode.JSR: // pushes return address on the stack, but that + // is thought of as an object, so we don't need a tag for it. + case Opcode.JSR_W: + case Opcode.L2D: // long to double + case Opcode.L2F: // long to float + case Opcode.L2I: // long to int + case Opcode.LNEG: // negate long on top of stack + case Opcode.MONITORENTER: + case Opcode.MONITOREXIT: + case Opcode.NEW: + case Opcode.NOP: + case Opcode.RET: // this is the internal JSR return + return null; + + // Handle subroutine calls. Calls to instrumented code are modified + // to call the instrumented version (with the DCompMarker argument). + // Calls to uninstrumented code (rare) discard primitive arguments + // from the tag stack and produce an arbitrary return tag. + case Opcode.INVOKESTATIC: + case Opcode.INVOKEVIRTUAL: + case Opcode.INVOKESPECIAL: + case Opcode.INVOKEINTERFACE: + return handleInvoke((InvokeInstruction) inst, mgen); + + case Opcode.INVOKEDYNAMIC: + return handleInvokeDynamic((InvokeDynamicInstruction) inst); + + // Duplicates the item on the top of stack. If the value on the + // top of the stack is a primitive, we need to do the same on the + // tag stack. Otherwise, we need do nothing. + case Opcode.DUP: + return dup_tag(inst, stack); + + // Duplicates the item on the top of the stack and inserts it 2 + // values down in the stack. If the value at the top of the stack + // is not a primitive, there is nothing to do. If the second + // value is not a primitive, then we need only to insert the duped + // value down 1 on the tag stack (which contains only primitives). + case Opcode.DUP_X1: + return dup_x1_tag(inst, stack); + + // Duplicate the category 1 item on the top of the stack and insert it either + // two or three items down in the stack. + case Opcode.DUP_X2: + return dup_x2_tag(inst, stack); + + // Duplicate either one category 2 item or two category 1 items. + case Opcode.DUP2: + return dup2_tag(inst, stack); + + // Duplicate either the top 2 category 1 items or a single + // category 2 item and insert it 2 or 3 values down on the + // stack. + case Opcode.DUP2_X1: + return dup2_x1_tag(inst, stack); + + // Duplicate the top one or two items and insert them two, three, or four values down. + case Opcode.DUP2_X2: + return dup2_x2_tag(inst, stack); + + // Pop a category 1 item from the top of the stack. We want to discard + // the top of the tag stack iff the item on the top of the stack is a + // primitive. + case Opcode.POP: + return pop_tag(inst, stack); + + // Pops either the top 2 category 1 items or a single category 2 item + // from the top of the stack. We must do the same to the tag stack + // if the values are primitives. + case Opcode.POP2: + return pop2_tag(inst, stack); + + // Swaps the two category 1 items on the top of the stack. We need + // to swap the top of the tag stack if the two top elements on the + // real stack are primitives. + case Opcode.SWAP: + return swap_tag(inst, stack); + + // Mark the array and its index as comparable. For primitives, store + // the tag for the value on the top of the stack in the tag storage + // for the array. + case Opcode.AASTORE: + return array_store(inst, "aastore", CD_Object); + case Opcode.BASTORE: + // The JVM uses bastore for both byte and boolean. + // We need to differentiate. + ClassDesc arrayref = stack.peek(2); + ClassDesc ct = arrayref.componentType(); + if (ct == null) { + throw new Error("stack item not an arrayref: " + inst); + } + if (ct.equals(CD_boolean)) { + return array_store(inst, "zastore", CD_boolean); + } else { + return array_store(inst, "bastore", CD_byte); + } + case Opcode.CASTORE: + return array_store(inst, "castore", CD_char); + case Opcode.DASTORE: + return array_store(inst, "dastore", CD_double); + case Opcode.FASTORE: + return array_store(inst, "fastore", CD_float); + case Opcode.IASTORE: + return array_store(inst, "iastore", CD_int); + case Opcode.LASTORE: + return array_store(inst, "lastore", CD_long); + case Opcode.SASTORE: + return array_store(inst, "sastore", CD_short); + + default: + throw new DynCompError("Unexpected instruction opcode: " + inst.opcode()); + } + } + + // We ignore PseudoInstructions. + + case ExceptionCatch ec -> { + // Ignore ExceptionCatch CodeElements. + return null; + } + + case Label l -> { + // Ignore Label CodeElements. + return null; + } + + case LineNumber ln -> { + // Ignore LineNumber CodeElements. + return null; + } + + default -> { + throw new DynCompError("Unexpected CodeElement: " + ce); + } + } + } + + /** + * Adds a call to DCruntime.exit() at each return from the method. This call calculates + * comparability on the daikon variables. It is only necessary if we are tracking comparability + * for the variables of this method. + * + * @param mgen method to modify + * @param mi MethodInfo for the given method's code + * @param minfo MInfo24 for the given method's code + * @param instructions instruction list for method + * @param method_info_index index for MethodInfo + */ + private void add_exit( + MethodGen24 mgen, + MethodInfo mi, + MethodGen24.MInfo24 minfo, + List instructions, + int method_info_index) { + + // Iterator over all of the exit line numbers for this method, in order. + // We will read one element from it each time that we encounter a + // return instruction. + Iterator exitLocationIter = mi.exit_locations.iterator(); + + // Loop through each instruction, looking for return instructions. + ListIterator li = instructions.listIterator(); + while (li.hasNext()) { + CodeElement inst = li.next(); + + // If this is a return instruction, Call DCRuntime.exit to calculate + // comparability on Daikon variables + if (inst instanceof ReturnInstruction) { + List newCode = new ArrayList<>(); + ClassDesc type = mgen.getReturnType(); + if (!type.equals(CD_void)) { + TypeKind typeKind = TypeKind.from(type); + LocalVariable returnLocal = getReturnLocal(mgen, type, minfo); + if (typeKind.slotSize() == 1) { + newCode.add(StackInstruction.of(Opcode.DUP)); + } else { + newCode.add(StackInstruction.of(Opcode.DUP2)); + } + newCode.add(StoreInstruction.of(typeKind, returnLocal.slot())); + } + if (!exitLocationIter.hasNext()) { + throw new DynCompError("Not enough exit locations in the exitLocationIter"); + } + newCode.addAll( + callEnterOrExit(mgen, minfo, method_info_index, "exit", exitLocationIter.next())); + + // back up iterator to point to 'inst', the return instruction, and insert the + // instrumentation + li.previous(); + for (CodeElement ce : newCode) { + li.add(ce); + } + // skip over the return instruction + li.next(); + } + } + } + + /** + * Return the interface class containing the implementation of the given method. The interfaces of + * {@code startClass} are recursively searched. + * + * @param startClass the ClassModel whose interfaces are to be searched + * @param methodName the target method to search for + * @param argTypes the target method's argument types + * @return the name of the interface class containing target method, or null if not found + */ + private @Nullable @BinaryName String getDefiningInterface( + ClassModel startClass, String methodName, ClassDesc[] argTypes) { + + if (debugGetDefiningInterface) { + System.out.println("searching interfaces of: " + ClassGen24.getClassName(startClass)); + } + for (ClassEntry classEntry : startClass.interfaces()) { + @SuppressWarnings("signature:assignment") // need JDK annotations + @BinaryName String interfaceName = classEntry.asInternalName().replace('/', '.'); + if (debugGetDefiningInterface) { + System.out.println("interface: " + interfaceName); + } + ClassModel cm; + try { + cm = getClassModel(interfaceName); + } catch (Throwable t) { + throw new DynCompError(String.format("Unable to load class: %s", interfaceName), t); + } + for (MethodModel jm : cm.methods()) { + String jmName = jm.methodName().stringValue(); + MethodTypeDesc mtd = jm.methodTypeSymbol(); + if (debugGetDefiningInterface) { + System.out.println(" " + jmName + Arrays.toString(mtd.parameterArray())); + } + if (jmName.equals(methodName) && Arrays.equals(mtd.parameterArray(), argTypes)) { + // We have a match. + return interfaceName; + } + } + // no match found; does this interface extend other interfaces? + @BinaryName String foundAbove = getDefiningInterface(cm, methodName, argTypes); + if (foundAbove != null) { + // We have a match. + return foundAbove; + } + } + // nothing found + return null; + } + + /** + * Process an InvokeDynamic instruction. We don't instrument lambda methods, so just clean up the + * tag stack. + * + * @param invoke a method invocation bytecode instruction + * @return instructions to replace the given instruction + */ + private List handleInvokeDynamic(InvokeDynamicInstruction invoke) { + + // Get information about the call + // There isn't really a class holding the method. + String classname = ""; + MethodTypeDesc mtd = invoke.typeSymbol(); + ClassDesc returnType = mtd.returnType(); + ClassDesc[] argTypes = mtd.parameterArray(); + if (debugHandleInvoke) { + System.out.println("invokedynamic: " + invoke); + System.out.printf(" callee_instrumented: false%n"); + } + + return cleanInvokeTagStack(invoke, classname, returnType, argTypes); + } + + /** + * Process an Invoke instruction. There are three cases: + * + *

      + *
    • convert calls to Object.equals to calls to dcomp_equals or dcomp_super_equals + *
    • convert calls to Object.clone to calls to dcomp_clone or dcomp_super_clone + *
    • otherwise, determine whether the target of the invoke is instrumented or not (this is the + * {@code callee_instrumented} variable) + *
        + *
      • If the target method is instrumented, add a DCompMarker argument to the end of the + * argument list. + *
      • If the target method is not instrumented, we must account for the fact that the + * instrumentation code generated up to this point has assumed that the target method + * is instrumented. Hence, generate code to discard a primitive tag from the + * DCRuntime's per-thread comparability data stack for each primitive argument. If the + * return type of the target method is a primitive, add code to push a tag onto the + * runtime comparability data stack to represent the primitive return value. + *
      + *
    + * + * @param invoke a method invocation bytecode instruction + * @param mgen host method of invoke + * @return instructions to replace the given instruction + */ + private List handleInvoke(InvokeInstruction invoke, MethodGen24 mgen) { + + // Get information about the call + String methodName = invoke.name().stringValue(); + @SuppressWarnings("signature:assignment") // JDK 24 is not annotated as yet + @BinaryName String classname = invoke.owner().asInternalName().replace('/', '.'); + MethodTypeDesc mtd = invoke.typeSymbol(); + ClassDesc returnType = mtd.returnType(); + ClassDesc[] argTypes = mtd.parameterArray(); + + if (debugHandleInvoke) { + System.out.println(); + System.out.println("InvokeInst: " + invoke); + System.out.println("returnType: " + returnType); + System.out.println("classname: " + classname); + } + + if (is_object_equals(methodName, returnType, argTypes)) { + + // Replace calls to Object's equals method with calls to our + // replacement, a static method in DCRuntime. + List il = new ArrayList<>(); + il.add( + dcr_call( + invoke.opcode().equals(Opcode.INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", + returnType, + new ClassDesc[] {CD_Object, CD_Object})); + return il; + } + + if (is_object_clone(methodName, returnType, argTypes)) { + + // Replace calls to Object's clone method with calls to our + // replacement, a static method in DCRuntime. + + return instrument_clone_call(invoke, returnType, classname); + } + + boolean callee_instrumented = + isTargetInstrumented(invoke, mgen, classname, methodName, argTypes); + + if (debugHandleInvoke) { + System.out.printf("handleInvoke(%s)%n", invoke); + System.out.printf(" invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); + System.out.printf(" invoke targ: %s%n", classname + "." + methodName); + System.out.printf(" callee_instrumented: %s%n", callee_instrumented); + } + + if (callee_instrumented) { + + List il = new ArrayList<>(); + + // Push the DCompMarker argument as we are calling the instrumented version. + il.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + + // Add the DCompMarker to the arg types list. + List new_arg_types = new ArrayList<>(Arrays.asList(argTypes)); + new_arg_types.add(dcomp_marker); + + NameAndTypeEntry nte = + poolBuilder.nameAndTypeEntry(methodName, MethodTypeDesc.of(returnType, new_arg_types)); + il.add(InvokeInstruction.of(invoke.opcode(), invoke.owner(), nte, invoke.isInterface())); + return il; + + } else { // not instrumented, discard the tags before making the call + return cleanInvokeTagStack(invoke, classname, returnType, argTypes); + } + } + + /** + * Process an invoke instruction that calls a non-instrumented method. We need to clean up the tag + * stack. + * + * @param invoke a method invocation bytecode instruction + * @param classname target class of the invoke + * @param returnType return type of method + * @param argTypes argument types of target method + * @return instructions to replace the given instruction + */ + private List cleanInvokeTagStack( + Instruction invoke, String classname, ClassDesc returnType, ClassDesc[] argTypes) { + List il = new ArrayList<>(); + + // JUnit test classes are a bit strange. They are marked as not being callee_instrumented + // because they do not have the dcomp_marker added to the argument list, but + // they actually contain instrumentation code. So we do not want to discard + // the primitive tags prior to the call. + if (!junitTestClasses.contains(classname)) { + il = discard_primitive_tags(argTypes); + } + + // Add a tag for the return type if it is primitive. + if (is_primitive(returnType)) { + if (debugHandleInvoke) { + System.out.printf("push tag for return type of %s%n", returnType); + } + il.add(dcr_call("push_const", CD_void, noArgsCD)); + } + il.add(invoke); + return il; + } + + /** + * Returns instructions that will discard any primitive tags corresponding to the specified + * arguments. Returns an empty instruction list if there are no primitive arguments to discard. + * + * @param argTypes argument types of target method + * @return an instruction list that discards primitive tags from DCRuntime's per-thread + * comparability data stack + */ + private List discard_primitive_tags(ClassDesc[] argTypes) { + List il = new ArrayList<>(); + + int primitive_cnt = 0; + for (ClassDesc argType : argTypes) { + if (argType.isPrimitive()) { + primitive_cnt++; + } + } + if (primitive_cnt > 0) { + il.addAll(discard_tag_code(null, primitive_cnt)); + } + return il; + } + + /** + * Returns true if the invoke target is instrumented. + * + * @param invoke instruction whose target is to be checked + * @param mgen host method of invoke + * @param classname target class of the invoke + * @param methodName target method of the invoke + * @param argTypes argument types of target method + * @return true if the target is instrumented + */ + private boolean isTargetInstrumented( + InvokeInstruction invoke, + MethodGen24 mgen, + @BinaryName String classname, + String methodName, + ClassDesc[] argTypes) { + + boolean targetInstrumented; + Opcode op = invoke.opcode(); + + if (is_object_method(methodName, argTypes)) { + targetInstrumented = false; + } else { + // At this point, we will never see classname = java.lang.Object. + targetInstrumented = isClassnameInstrumented(classname, methodName); + + if (debugHandleInvoke) { + System.out.printf("isClassnameInstrumented: %s%n", targetInstrumented); + System.out.printf("invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); + System.out.printf("invoke targ: %s%n", classname + "." + methodName); + } + + if (Premain.problem_methods.contains(classname + "." + methodName)) { + debugInstrument.log( + "Don't call instrumented version of problem method %s.%n", + classname + "." + methodName); + targetInstrumented = false; + } + + // targetInstrumented (the return value of this method) has been set. + // Now, adjust it for some special cases. + // Every adjustment is from `true` to `false`. + + // There are two special cases we need to detect: + // calls to annotations + // calls to functional interfaces + // + // Annotation classes are never instrumented so we must set + // the targetInstrumented flag to false. + // + // Functional interfaces are a bit more complicated. These are primarily (only?) + // used by Lambda functions. Lambda methods are generated dynamically at + // run time via the InvokeDynamic instruction. They are not seen by our + // ClassFileTransformer so are never instrumented. Thus we must set the + // targetInstrumented flag to false when we see a call to a Lambda method. + // The heuristic we use is to assume that any InvokeInterface or InvokeVirtual + // call to a functional interface is a call to a Lambda method. + // + // The Java compiler detects functional interfaces automatically, but the + // user can declare their intent with the @FunctionInterface annotation. + // The Java runtime is annotated in this manner. Hence, we look for this + // annotation to detect a call to a functional interface. In practice, we + // could detect functional interfaces in a manner similar to the Java + // compiler, but for now we will go with this simpler method. + // + // Note that to simplify our code we set the access flags for a functional + // interface to ANNOTATION in our accessFlags map. + // + if (targetInstrumented == true + && (op.equals(Opcode.INVOKEINTERFACE) || op.equals(Opcode.INVOKEVIRTUAL))) { + Integer access = getAccessFlags(classname); + + if ((access & ClassFile.ACC_ANNOTATION) != 0) { + targetInstrumented = false; + } + + // UNDONE: New code added above should handle the case below. Need to find a test + // case and verify this code is no longer needed. + // This is a bit of a hack. An invokeinterface instruction with a + // a target of "java.util.stream." might be calling a + // Lambda method in which case we don't want to add the dcomp_marker. + // Might lose something in 'normal' cases, but no easy way to detect. + if (classname.startsWith("java.util.stream")) { + targetInstrumented = false; + } + + // In a similar fashion, when the Java runtime is processing annotations, there might + // be an invoke (via reflection) of a member of the java.lang.annotation package; this + // too should not have the dcomp_marker added. + if (classname.startsWith("java.lang.annotation")) { + targetInstrumented = false; + } + } + + // If we are not using the instrumented JDK, then we need to track down the + // actual target of an INVOKEVIRTUAL to see if it has been instrumented or not. + if (targetInstrumented == true && op.equals(Opcode.INVOKEVIRTUAL)) { + if (!Premain.jdk_instrumented && !mgen.getName().equals("equals_dcomp_instrumented")) { + + if (debugHandleInvoke) { + System.out.println("method: " + methodName); + System.out.println("argTypes: " + Arrays.toString(argTypes)); + System.out.printf("invoke host: %s%n", mgen.getClassName() + "." + mgen.getName()); + } + + @BinaryName String targetClassname = classname; + // Search this class for the target method. If not found, set targetClassname to + // its superclass and try again. + mainloop: + while (true) { + // Check that the class exists + ClassModel targetClass; + try { + targetClass = getClassModel(targetClassname); + } catch (Throwable e) { + targetClass = null; + } + if (targetClass == null) { + // We cannot locate or read the .class file, better assume not instrumented. + if (debugHandleInvoke) { + System.out.printf("Unable to locate class: %s%n%n", targetClassname); + } + targetInstrumented = false; + break; + } + if (debugHandleInvoke) { + System.out.println("target class: " + targetClassname); + } + + for (MethodModel jm : targetClass.methods()) { + String jmName = jm.methodName().stringValue(); + MethodTypeDesc mtd = jm.methodTypeSymbol(); + if (debugHandleInvoke) { + System.out.println(" " + jmName + Arrays.toString(mtd.parameterArray())); + } + if (jmName.equals(methodName) && Arrays.equals(mtd.parameterArray(), argTypes)) { + // We have a match. + if (debugHandleInvoke) { + System.out.printf("we have a match%n%n"); + } + if (BcelUtil.inJdk(targetClassname)) { + targetInstrumented = false; + } + break mainloop; + } + } + + { + // no methods match - search this class's interfaces + @BinaryName String found; + try { + found = getDefiningInterface(targetClass, methodName, argTypes); + } catch (Throwable e) { + // We cannot locate or read the .class file, better assume it is not instrumented. + targetInstrumented = false; + break; + } + if (found != null) { + // We have a match. + if (debugHandleInvoke) { + System.out.printf("we have a match%n%n"); + } + if (BcelUtil.inJdk(found)) { + targetInstrumented = false; + } + break; + } + } + + // Method not found; perhaps inherited from superclass. + if (targetClassname.equals("java.lang.Object")) { + // The target class was Object; the search completed without finding a matching + // method. + if (debugHandleInvoke) { + System.out.printf("Unable to locate method: %s%n%n", methodName); + } + targetInstrumented = false; + break; + } + // Recurse looking in the superclass. + targetClassname = getSuperclassName(targetClassname); + } + } + } + } + + if (op.equals(Opcode.INVOKESPECIAL)) { + if (classname.equals(classGen.getSuperclassName()) && methodName.equals("")) { + this.constructor_is_initialized = true; + } + } + + return targetInstrumented; + } + + /** + * Returns the access flags for the given class. + * + * @param classname the class whose access flags to return + * @return the access flags for the given class + */ + private Integer getAccessFlags(String classname) { + Integer access = accessFlags.get(classname); + if (access == null) { + // We have not seen this class before. Check to see if the target class is + // an Annotation or a FunctionalInterface. + ClassModel cm = getClassModel(classname); + if (cm != null) { + access = cm.flags().flagsMask(); + + debugInstrument.log("classModel: %s%n", cm.thisClass().name().stringValue()); + debugInstrument.log("getAccessFlags: %s%n", classname); + // Now check for FunctionalInterface + searchloop: + for (Attribute attribute : cm.attributes()) { + debugInstrument.log("attribute: %s%n", attribute); + if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { + for (final Annotation item : rvaa.annotations()) { + String annotation = item.className().stringValue(); + if (debugHandleInvoke) { + System.out.println("annotation: " + annotation); + } + if (annotation.endsWith("FunctionalInterface;")) { + access = Integer_ACC_ANNOTATION; + if (debugHandleInvoke) { + System.out.println("FunctionalInterface is true"); + } + break searchloop; + } + } + } + } + } else { + // We cannot locate or read the .class file, better pretend it is an Annotation. + if (debugHandleInvoke) { + System.out.printf("Unable to locate class: %s%n", classname); + } + access = Integer_ACC_ANNOTATION; + } + accessFlags.put(classname, access); + } + return access; + } + + /** + * Returns true if the specified classname is instrumented. + * + * @param classname class to be checked + * @param methodName method to be checked (currently unused) + * @return true if classname is instrumented + */ + private boolean isClassnameInstrumented(@BinaryName String classname, String methodName) { + + if (debugHandleInvoke) { + System.out.printf("Checking callee instrumented on %s.%s%n", classname, methodName); + } + + // Our copy of daikon.plumelib is not instrumented. It would be odd, though, + // to see calls to this. + if (classname.startsWith("daikon.plumelib")) { + return false; + } + + // When a class contains an existing , it will be instrumented. Thus, we need to mark + // our + // added call to 'DCRuntime.set_class_initialized' as not instrumented. + if (classname.endsWith("DCRuntime") && methodName.equals("set_class_initialized")) { + return false; + } + + // Special-case JUnit test classes. + if (junitTestClasses.contains(classname)) { + return false; + } + + if (daikon.dcomp.Instrument24.is_transformer(classname.replace('.', '/'))) { + return false; + } + + // Special case the execution trace tool. + if (classname.startsWith("minst.Minst")) { + return false; + } + + // We should probably change the interface to include method name + // and use "classname.methodname" as arg to pattern matcher. + // If any of the omit patterns match, use the uninstrumented version of the method + for (Pattern p : DynComp.ppt_omit_pattern) { + if (p.matcher(classname).find()) { + if (debugHandleInvoke) { + System.out.printf("callee instrumented = false: %s.%s%n", classname, methodName); + } + return false; + } + } + + // If its not a JDK class, presume its instrumented. + if (!BcelUtil.inJdk(classname)) { + return true; + } + + int i = classname.lastIndexOf('.'); + if (i > 0 && Premain.problem_packages.contains(classname.substring(0, i))) { + debugInstrument.log( + "Don't call instrumented member of problem package %s%n", classname.substring(0, i)); + return false; + } + + if (Premain.problem_classes.contains(classname)) { + debugInstrument.log("Don't call instrumented member of problem class %s%n", classname); + return false; + } + + // We have decided not to use the instrumented version of Random as + // the method generates values based on an initial seed value. + // (Typical of random() algorithms.) This has the undesirable side + // effect of putting all the generated values in the same comparison + // set when they should be distinct. + // Note: If we find other classes that should not use the instrumented + // versions, we should consider making this a searchable list. + if (classname.equals("java.util.Random")) { + return false; + } + + // If using the instrumented JDK, then everthing but object is instrumented + if (Premain.jdk_instrumented && !classname.equals("java.lang.Object")) { + return true; + } + + return false; + } + + /** + * Return a list of the super classes of this class in ascending order, i.e., java.lang.Object is + * always the last element. + * + * @return list of super classes + */ + public List<@BinaryName String> getSuperClassNames() { + final List<@BinaryName String> allSuperClassNames = new ArrayList<>(); + @BinaryName String classname = classGen.getClassName(); + while (!classname.equals("java.lang.Object")) { + classname = getSuperclassName(classname); + allSuperClassNames.add(classname); + } + return allSuperClassNames; + } + + /** + * Given a classname return it's superclass name. Note that we copy BCEL and report that the + * superclass of 'java.lang.Object' is 'java.lang.Object' rather than saying there is no + * superclass. We are assured this will not cause a problem because we never call this method with + * 'java.lang.Object' as the argument. + * + * @param classname the fully qualified name of the class in binary form. E.g., "java.util.List" + * @return superclass name of classname or null if there is an error + */ + private @BinaryName String getSuperclassName(String classname) { + ClassModel cm = getClassModel(classname); + if (cm != null) { + return ClassGen24.getSuperclassName(cm); + } else { + return null; + } + } + + /** Cache for {@link #getClassModel} method. */ + private static Map classModelCache = new ConcurrentHashMap<>(); + + /** + * There are times when it is useful to inspect a class file other than the one we are currently + * instrumenting. Note we cannot use classForName to do this as it might trigger a recursive call + * to Instrument which would not work at this point. + * + *

    Given a class name, we treat it as a system resource, create a {@code Path} to it and have + * {@code java.lang.classfile} read and create a {@code ClassModel} object. + * + * @param classname the fully qualified name of the class in binary form, e.g., "java.util.List" + * @return the ClassModel of the corresponding classname or null + */ + private @Nullable ClassModel getClassModel(String classname) { + ClassModel cached = classModelCache.get(classname); + if (cached != null) { + return cached; + } + + ClassFile classFile = ClassFile.of(); + URL class_url = ClassLoader.getSystemResource(classname.replace('.', '/') + ".class"); + if (class_url != null) { + try (InputStream inputStream = class_url.openStream()) { + if (inputStream != null) { + byte[] buffer = inputStream.readAllBytes(); + ClassModel result = classFile.parse(buffer); + classModelCache.put(classname, result); + return result; + } + } catch (Throwable t) { + throw new DynCompError(String.format("Unexpected error while reading %s%n", classname), t); + } + } + // Do not cache a null result, because a subsequent invocation might return non-null. + return null; + } + + /** + * Returns whether or not the method is Object.equals(). + * + * @param methodName method to check + * @param returnType return type of method + * @param args array of argument types to method + * @return true if method is Object.equals() + */ + @Pure + boolean is_object_equals(String methodName, ClassDesc returnType, ClassDesc[] args) { + return (methodName.equals("equals") + && returnType.equals(CD_boolean) + && args.length == 1 + && args[0].equals(CD_Object)); + } + + /** + * Returns true if the specified method is Object.clone(). + * + * @param methodName method to check + * @param returnType return type of method + * @param args array of argument types to method + * @return true if method is Object.clone() + */ + @Pure + boolean is_object_clone(String methodName, ClassDesc returnType, ClassDesc[] args) { + return methodName.equals("clone") && returnType.equals(CD_Object) && (args.length == 0); + } + + /** + * Instrument calls to the Object method clone. An instrumented version is called if it exists, + * the non-instrumented version if it does not. + * + * @param invoke invoke instruction to inspect and replace + * @param returnType return type of method + * @param classname target class + * @return instruction list to call the correct version of clone or toString + */ + private List instrument_clone_call( + InvokeInstruction invoke, ClassDesc returnType, @BinaryName String classname) { + + List il = new ArrayList<>(); + if (classname.startsWith("[")) { + // .clone() is never instrumented, return original invoke. + il.add(invoke); + return il; + } + + // push the target class + il.add(buildLDCInstruction(poolBuilder.classEntry(ClassDesc.of(classname)))); + + // if this is a super call + if (invoke.opcode().equals(Opcode.INVOKESPECIAL)) { + + // Runtime will discover if the object's superclass has an instrumented clone method. + // If so, call it; otherwise call the uninstrumented version. + // use CD_Class + il.add(dcr_call("dcomp_super_clone", returnType, new ClassDesc[] {CD_Object, CD_Class})); + + } else { // a regular (non-super) clone() call + + // Runtime will discover if the object has an instrumented clone method. + // If so, call it; otherwise call the uninstrumented version. + il.add(dcr_call("dcomp_clone", returnType, new ClassDesc[] {CD_Object, CD_Class})); + } + + return il; + } + + /** + * Create the instructions that replace the object eq or ne branch instruction. They are replaced + * by a call to the specified compare_method (which returns a boolean) followed by the specified + * boolean ifeq or ifne instruction. + * + * @param branch a branch instruction + * @param compare_method name of DCRuntime routine to call + * @param boolean_if branch instruction to gerate of the runtime call + * @return instruction list to do object comparison + */ + private List object_comparison( + BranchInstruction branch, String compare_method, Opcode boolean_if) { + List il = new ArrayList<>(); + + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, compare_method, MethodTypeDesc.of(CD_boolean, two_objects_arg)); + il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + il.add(BranchInstruction.of(boolean_if, branch.target())); + return il; + } + + /** + * Handles load and store field instructions. The instructions must be augmented to either push + * (load) or pop (store) the tag on the tag stack. This is accomplished by calling the tag get/set + * method for this field. + * + * @param mgen describes the given method + * @param minfo for the given method's code + * @param f the field instruction + * @return instruction list to access the field + */ + private List load_store_field( + MethodGen24 mgen, MethodGen24.MInfo24 minfo, FieldInstruction f) { + + ClassDesc field_type = f.typeSymbol(); + debugInstrument.log("field_type: %s%n", field_type); + int field_size = TypeKind.from(field_type).slotSize(); + if (!field_type.isPrimitive()) { + return null; + } + + List il = new ArrayList<>(); + Opcode op = f.opcode(); + String fieldName = f.name().stringValue(); + @SuppressWarnings("signature:assignment") // type conversion + @BinaryName String owner = f.owner().asInternalName().replace('/', '.'); + ClassDesc ownerCD = f.owner().asSymbol(); + + // If this class doesn't support tag fields, don't load/store them + if (!tag_fields_ok(mgen, owner)) { + if (op.equals(Opcode.GETFIELD) || op.equals(Opcode.GETSTATIC)) { + il.add(dcr_call("push_const", CD_void, noArgsCD)); + } else { + il.add(loadIntegerConstant(1)); + il.add(dcr_call("discard_tag", CD_void, integer_arg)); + } + + // Perform the normal field command + il.add(f); + return il; + } + + if (op.equals(Opcode.GETSTATIC)) { + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ownerCD, + Premain.tag_method_name(Premain.GET_TAG, owner, fieldName), + MethodTypeDesc.of(CD_void, noArgsCD)); + il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + } else if (op.equals(Opcode.PUTSTATIC)) { + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ownerCD, + Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), + MethodTypeDesc.of(CD_void, noArgsCD)); + il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + } else if (op.equals(Opcode.GETFIELD)) { + il.add(StackInstruction.of(Opcode.DUP)); // dup 'this' + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ownerCD, + Premain.tag_method_name(Premain.GET_TAG, owner, fieldName), + MethodTypeDesc.of(CD_void, noArgsCD)); + il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + } else { // must be Opcode.PUTFIELD + if (field_size == 2) { + LocalVariable lv = get_tmp2_local(mgen, minfo, field_type); + il.add(StoreInstruction.of(TypeKind.from(field_type), lv.slot())); + il.add(StackInstruction.of(Opcode.DUP)); // dup 'this' + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ownerCD, + Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), + MethodTypeDesc.of(CD_void, noArgsCD)); + il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + il.add(LoadInstruction.of(TypeKind.from(field_type), lv.slot())); + } else { + il.add(StackInstruction.of(Opcode.SWAP)); // swap 'this' and 'value' + il.add(StackInstruction.of(Opcode.DUP)); // dup 'this' + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ownerCD, + Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), + MethodTypeDesc.of(CD_void, noArgsCD)); + il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + il.add(StackInstruction.of(Opcode.SWAP)); // swap 'value' and 'this' back + } + } + + // Perform the normal field command + il.add(f); + + return il; + } + + /** + * Handles load local instructions. The instructions must be augmented to push the tag on the tag + * stack. This is accomplished by calling the specified method in DCRuntime and passing that + * method the tag_frame frame and the offset of local/parameter. + * + * @param load a load instruction + * @param tagFrameLocal local variable for the tag_frame + * @param method name of DCRuntime routine to call + * @return instruction list to do object comparison + */ + private List load_local( + LoadInstruction load, LocalVariable tagFrameLocal, String method) { + List il = new ArrayList<>(); + + // debugInstrument.log("CreateLoad %s %d%n", load.opcode(), load.slot()); + + // Push the tag_frame frame + il.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); + + // push index of local + il.add(loadIntegerConstant(load.slot())); + + // Call the runtime method to handle loading the local/parameter + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, method, MethodTypeDesc.of(CD_void, objectArrayCD, CD_int)); + il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + + // the original load instruction + il.add(load); + return il; + } + + /** + * Handles store local instructions. The instructions must be augmented to pop the tag off the tag + * stack. This is accomplished by calling the specified method in DCRuntime and passing that + * method the tag_frame frame and the offset of local/parameter. + * + * @param store a store instruction + * @param tagFrameLocal local variable for the tag_frame + * @param method name of DCRuntime routine to call + * @return instruction list to do object comparison + */ + private List store_local( + StoreInstruction store, LocalVariable tagFrameLocal, String method) { + List il = new ArrayList<>(); + + // debugInstrument.log("CreateStore %s %d%n", store.opcode(), store.slot()); + + // Push the tag_frame frame + il.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); + + // push index of local + il.add(loadIntegerConstant(store.slot())); + + // Call the runtime method to handle storeing the local/parameter + MethodRefEntry mre = + poolBuilder.methodRefEntry( + runtimeCD, method, MethodTypeDesc.of(CD_void, objectArrayCD, CD_int)); + il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + + // the original store instruction + il.add(store); + return il; + } + + /** + * Gets the local variable used to store a category2 temporary. This is used in the PUTFIELD code + * to temporarily store the value being placed in the field. + * + * @param mgen describes the given method + * @param minfo for the given method's code + * @param type type of the local temp + * @return the local temp + */ + LocalVariable get_tmp2_local(MethodGen24 mgen, MethodGen24.MInfo24 minfo, ClassDesc type) { + + String name = "dcomp_$tmp_" + type.descriptorString(); + + // See if the local has already been created + for (LocalVariable lv : mgen.localsTable) { + if (lv.name().stringValue().equals(name)) { + assert lv.typeSymbol().equals(type) : lv + " " + type; + return lv; + } + } + + // Create the variable + return createLocalWithMethodScope(mgen, minfo, name, type); + } + + /** + * Returns the local variable used to store the return result. If it is not present, creates it + * with the specified type. If the variable is known to already exist, the type can be null. + * + * @param mgen describes the given method + * @param returnType the type of the return; may be null if the variable is known to already exist + * @param minfo for the given method's code + * @return a local variable to save the return value + */ + @SuppressWarnings("nullness") + private LocalVariable getReturnLocal( + MethodGen24 mgen, @Nullable ClassDesc returnType, MethodGen24.MInfo24 minfo) { + + // If a type was specified and the variable was found, they must match. + if (minfo.returnLocal == null) { + assert returnType != null : " return__$trace2_val doesn't exist"; + } else { + assert minfo.returnLocal.typeSymbol().equals((Object) returnType) + : " returnType = " + returnType + "; current type = " + minfo.returnLocal.typeSymbol(); + } + + if (minfo.returnLocal == null) { + debugInstrument.log("Adding return local of type %s%n", returnType); + minfo.returnLocal = + createLocalWithMethodScope(mgen, minfo, "return__$trace2_val", returnType); + } + + return minfo.returnLocal; + } + + /** + * Creates a MethodInfo corresponding to the specified method. The exit locations are filled in, + * but the reflection information is not generated. Returns null if there are no instructions. + * + * @param classInfo class containing the method + * @param mgen method to inspect + * @return MethodInfo for the method + */ + private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen24 mgen) { + + // Get the argument names for this method + String[] paramNames = mgen.getParameterNames(); + + if (debugInstrument.enabled) { + debugInstrument.log("create_method_info: %s%n", paramNames.length); + for (String paramName : paramNames) { + debugInstrument.log("param name: %s%n", paramName); + } + } + + // Get the parameter types for this method. + ClassDesc[] paramTypes = mgen.getParameterTypes(); + @ClassGetName String[] arg_type_strings = new @ClassGetName String[paramTypes.length]; + for (int i = 0; i < paramTypes.length; i++) { + arg_type_strings[i] = Instrument24.typeToClassGetName(paramTypes[i]); + } + + // Loop through each instruction and find the line number for each return opcode. + List exit_locs = new ArrayList<>(); + + // Tells whether each exit loc in the method is included or not (based on filters). + List isIncluded = new ArrayList<>(); + + debugInstrument.log("Looking for exit points in %s%n", mgen.getName()); + List il = mgen.getInstructionList(); + if (il.isEmpty()) { + return null; + } + + int line_number = 0; + int last_line_number = 0; + + for (CodeElement inst : il) { + boolean foundLine = false; + + if (inst instanceof LineNumber ln) { + line_number = ln.line(); + foundLine = true; + } + + if (inst instanceof ReturnInstruction) { + debugInstrument.log("Exit at line %d%n", line_number); + + // Only do incremental lines if we don't have the line generator. + if (line_number == last_line_number && foundLine == false) { + debugInstrument.log("Could not find line %d%n", line_number); + line_number++; + } + last_line_number = line_number; + + exit_locs.add(line_number); + isIncluded.add(true); + } + } + + return new MethodInfo( + classInfo, mgen.getName(), paramNames, arg_type_strings, exit_locs, isIncluded); + } + + /** + * Creates code that makes the index comparable (for indexing purposes) with the array in array + * load instructions. First the arrayref and its index are duplicated on the stack. Then the + * appropriate array load method is called to mark them as comparable and update the tag stack. + * Finally the original load instruction is performed. + * + * @param mgen method to check + * @param inst an array load instruction + * @return instruction list that calls the runtime to handle the array load instruction + */ + private List array_load(MethodGen24 mgen, ArrayLoadInstruction inst) { + List il = new ArrayList<>(); + + // Duplicate the array ref and index and pass them to DCRuntime + // which will make the index comparable with the array. In the case + // of primtives it will also get the tag for the primitive and push + // it on the tag stack. + il.add(StackInstruction.of(Opcode.DUP2)); + String method = "primitive_array_load"; + if (inst.typeKind().equals(TypeKind.REFERENCE)) { + method = "ref_array_load"; + } else if (is_uninit_class(mgen.getClassName())) { + method = "primitive_array_load_null_ok"; + } + + il.add(dcr_call(method, CD_void, new ClassDesc[] {CD_Object, CD_int})); + + // Perform the original instruction + il.add(inst); + + return il; + } + + // static int counter = 0; + + /** + * Creates code to make the index comparable (for indexing purposes) with the array in the array + * store instruction. This is accomplished by calling the specified method and passing it the + * array reference, index, and value (of base_type). The method will mark the array and index as + * comparable and perform the array store. + * + * @param inst an array store instruction + * @param method runtime method to call + * @param base_type type of array store + * @return instruction list that calls the runtime to handle the array store instruction + */ + List array_store(CodeElement inst, String method, ClassDesc base_type) { + List il = new ArrayList<>(); + ClassDesc array_type = base_type.arrayType(1); + // if (method.equals("aastore")) { + // System.out.println("array_store aastore: " + method); + // il.add(loadIntegerConstant(counter++)); + // il.add(dcr_call(method, CD_void, new ClassDesc[] {array_type, CD_int, base_type, CD_int})); + // } else { + // System.out.println("array_store other: " + method); + il.add(dcr_call(method, CD_void, new ClassDesc[] {array_type, CD_int, base_type})); + // } + return il; + } + + /** + * Creates code that pushes the array's tag onto the tag stack, so that the index is comparable to + * the array length. First, the arrayref is duplicated on the stack. Then a method is called to + * push the array's tag onto the tag stack. Finally the original arraylength instruction is + * performed. + * + * @param inst an arraylength instruction + * @return instruction list that calls the runtime to handle the arraylength instruction + */ + private List array_length(Instruction inst) { + List il = new ArrayList<>(); + + // Duplicate the array ref and pass it to DCRuntime which will push + // it onto the tag stack. + il.add(StackInstruction.of(Opcode.DUP)); + il.add(dcr_call("push_array_tag", CD_void, object_arg)); + + // Perform the original instruction + il.add(inst); + + return il; + } + + /** + * Creates code to make the declared length of a new array comparable to its index. + * + * @param inst a anewarray or newarray instruction + * @return instruction list that calls the runtime to handle the newarray instruction + */ + private List new_array(Instruction inst) { + List il = new ArrayList<>(); + + // Perform the original instruction + il.add(inst); + + // Duplicate the array ref from the top of the stack and pass it + // to DCRuntime which will push it onto the tag stack. + il.add(StackInstruction.of(Opcode.DUP)); + il.add(dcr_call("push_array_tag", CD_void, object_arg)); + + // Make the array and the count comparable. Also, pop the tags for + // the array and the count off the tag stack. + il.add(dcr_call("cmp_op", CD_void, noArgsCD)); + + return il; + } + + /** + * Creates code to make the declared lengths of a new two-dimensional array comparable to the + * corresponding indices. + * + * @param inst a multianewarray instruction + * @return instruction list that calls the runtime to handle the multianewarray instruction + */ + private List multiarray2(Instruction inst) { + List il = new ArrayList<>(); + + // Duplicate both count arguments + il.add(StackInstruction.of(Opcode.DUP2)); + + // Perform the original instruction + il.add(inst); + + // Duplicate the new arrayref and put it below the count arguments + // Stack is now: ..., arrayref, count1, count2, arrayref + il.add(StackInstruction.of(Opcode.DUP_X2)); + + il.add(dcr_call("multianewarray2", CD_void, new ClassDesc[] {CD_int, CD_int, objectArrayCD})); + + return il; + } + + /** + * Returns whether or not this ppt should be included. A ppt is included if it matches ones of the + * select patterns and doesn't match any of the omit patterns. + * + * @param className class to test + * @param methodName method to test + * @param pptName ppt to look for + * @return true if this ppt should be included + */ + boolean should_track(@BinaryName String className, String methodName, String pptName) { + + debugInstrument.log( + "Considering tracking (24) ppt: %s, %s, %s%n", className, methodName, pptName); + + // Don't track any JDK classes + if (BcelUtil.inJdk(className)) { + debug_transform.log("ignoring %s, is a JDK class%n", className); + return false; + } + + // Don't track toString methods because we call them in + // our debug statements. + if (pptName.contains("toString")) { + debug_transform.log("ignoring %s, is a toString method%n", pptName); + return false; + } + + // call shouldIgnore to check ppt-omit-pattern(s) and ppt-select-pattern(s) + return !daikon.chicory.Instrument24.shouldIgnore(className, methodName, pptName); + } + + /** + * Constructs a ppt entry name from a Method. + * + * @param fullClassName class name + * @param mgen method + * @return corresponding ppt name + */ + static String methodEntryName(String fullClassName, MethodGen24 mgen) { + + // Get an array of the type names + ClassDesc[] argTypes = mgen.getParameterTypes(); + String[] type_names = new String[argTypes.length]; + for (int ii = 0; ii < argTypes.length; ii++) { + @SuppressWarnings("signature:assignment") // need JDK annotations + @FieldDescriptor String paramFD = argTypes[ii].descriptorString(); + type_names[ii] = daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(paramFD); + } + + return DaikonWriter.methodEntryName(fullClassName, type_names, "", mgen.getName()); + } + + /** + * Convenience function to construct a call to a static method in DCRuntime. + * + * @param methodName method to call + * @param returnType type of method return + * @param argTypes array of method argument types + * @return InvokeInstruction for the call + */ + InvokeInstruction dcr_call(String methodName, ClassDesc returnType, ClassDesc[] argTypes) { + MethodRefEntry mre = + poolBuilder.methodRefEntry(runtimeCD, methodName, MethodTypeDesc.of(returnType, argTypes)); + return InvokeInstruction.of(Opcode.INVOKESTATIC, mre); + } + + /** + * Create the code to call discard_tag(tag_count). If inst is not null, append it to the end of + * that code. + * + * @param inst instruction to be replaced + * @param tag_count number of tags to discard + * @return instruction list to discard tag(s) + */ + List discard_tag_code(CodeElement inst, int tag_count) { + List il = new ArrayList<>(); + il.add(loadIntegerConstant(tag_count)); + il.add(dcr_call("discard_tag", CD_void, integer_arg)); + if (inst != null) { + il.add(inst); + } + return il; + } + + /** + * Duplicates a category 1 item on the top of stack. If it is a primitive, we need to do the same + * to the tag stack. Otherwise, we do nothing. + */ + List dup_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc top = stack.peek(); + if (debug_dup.enabled) { + debug_dup.log("DUP -> %s [... %s]%n", "dup", stack_contents(stack, 2)); + } + if (top.isPrimitive()) { + return build_il(dcr_call("dup", CD_void, noArgsCD), inst); + } + return null; + } + + /** + * Duplicates the item on the top of the stack and inserts it 2 values down in the stack. If the + * value at the top of the stack is not a primitive, there is nothing to do here. If the second + * value is not a primitive, then we need only to insert the duped value down 1 on the tag stack + * (which contains only primitives). + */ + List dup_x1_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc top = stack.peek(); + String op; + if (!top.isPrimitive()) { + op = null; + } else if (stack.peek(1).isPrimitive()) { + op = "dup_x1"; + } else { + op = "dup"; + } + if (debug_dup.enabled) { + debug_dup.log("DUP_X1 -> %s [... %s]%n", op, stack_contents(stack, 2)); + } + if (op != null) { + return build_il(dcr_call(op, CD_void, noArgsCD), inst); + } + return null; + } + + /** + * Dup the category 1 value on the top of the stack and insert it either two or three values down + * on the stack. + */ + List dup_x2_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc value1 = stack.peek(); + ClassDesc value2 = stack.peek(1); + String op = null; + if (value1.isPrimitive()) { + if (is_category2(value2)) { + op = "dup_x1"; + } else { + ClassDesc value3 = stack.peek(2); + if (value2.isPrimitive() && value3.isPrimitive()) { + op = "dup_x2"; + } else if (value2.isPrimitive() || value3.isPrimitive()) { + op = "dup_x1"; + } else { + op = "dup"; + } + } + } + if (debug_dup.enabled) { + debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); + } + if (op != null) { + return build_il(dcr_call(op, CD_void, noArgsCD), inst); + } + return null; + } + + /** + * Duplicate either one category 2 value or two category 1 values. If the value(s) are primitives + * we need to do the same to the tag stack. Otherwise, we do nothing. + */ + List dup2_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc top = stack.peek(); + String op; + if (is_category2(top)) { + op = "dup"; + } else if (top.isPrimitive() && stack.peek(1).isPrimitive()) { + op = "dup2"; + } else if (top.isPrimitive() || stack.peek(1).isPrimitive()) { + op = "dup"; + } else { + // both of the top two items are not primitive, nothing to dup + op = null; + } + if (debug_dup.enabled) { + debug_dup.log("DUP2 -> %s [... %s]%n", op, stack_contents(stack, 2)); + } + if (op != null) { + return build_il(dcr_call(op, CD_void, noArgsCD), inst); + } + return null; + } + + /** + * Duplicates either the top 2 category 1 values or a single category 2 value and inserts it 2 or + * 3 values down on the stack. + */ + List dup2_x1_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc value1 = stack.peek(); + ClassDesc value2 = stack.peek(1); + String op; + if (is_category2(value1)) { + if (value2.isPrimitive()) { + op = "dup_x1"; + } else { // not a primitive, so just dup + op = "dup"; + } + } else { // value1 is not category 2 + ClassDesc value3 = stack.peek(2); + if (value1.isPrimitive()) { + if (value2.isPrimitive() && value3.isPrimitive()) { + op = "dup2_x1"; + } else if (value2.isPrimitive()) { + op = "dup2"; + } else if (value3.isPrimitive()) { + op = "dup_x1"; + } else { + // neither value2 nor value3 is primitive + op = "dup"; + } + } else { // value1 is not primitive + if (value2.isPrimitive() && value3.isPrimitive()) { + op = "dup_x1"; + } else if (value2.isPrimitive()) { + op = "dup"; + } else { // neither value2 or value3 is primitive + op = null; + } + } + } + if (debug_dup.enabled) { + debug_dup.log("DUP2_X1 -> %s [... %s]%n", op, stack_contents(stack, 3)); + } + if (op != null) { + return build_il(dcr_call(op, CD_void, noArgsCD), inst); + } + return null; + } + + /** + * Duplicate the top one or two operand stack values and insert two, three, or four values down. + */ + List dup2_x2_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc value1 = stack.peek(); + ClassDesc value2 = stack.peek(1); + String op; + if (is_category2(value1)) { + if (is_category2(value2)) { + op = "dup_x1"; + } else { + ClassDesc value3 = stack.peek(2); + if (value2.isPrimitive() && value3.isPrimitive()) { + op = "dup_x2"; + } else if (value2.isPrimitive() || value3.isPrimitive()) { + op = "dup_x1"; + } else { + // neither value2 or value3 is primitive + op = "dup"; + } + } + } else { // value1 and value2 are not category 2 + ClassDesc value3 = stack.peek(2); + if (value1.isPrimitive()) { + if (is_category2(value2)) { + throw new DynCompError("not supposed to happen " + stack_contents(stack, 3)); + } else if (is_category2(value3)) { + if (value2.isPrimitive()) { + op = "dup2_x1"; + } else { + op = "dup_x1"; + } + } else if (value2.isPrimitive()) { + // value1 and value2 are primitive + ClassDesc value4 = stack.peek(3); + if (value3.isPrimitive() && value4.isPrimitive()) { + op = "dup2_x2"; + } else if (value3.isPrimitive() || value4.isPrimitive()) { + op = "dup2_x1"; + } else { + // neither value3 or value4 is primitive + op = "dup2"; + } + } else { // value1 is primitive value2 is not primitive + ClassDesc value4 = stack.peek(3); + if (value3.isPrimitive() && value4.isPrimitive()) { + op = "dup_x2"; + } else if (value3.isPrimitive() || value4.isPrimitive()) { + op = "dup_x1"; + } else { + // neither value3 or value4 is primitive + op = "dup"; + } + } + } else { // value1 is not primitive + if (is_category2(value2)) { + throw new DynCompError("not supposed to happen " + stack_contents(stack, 3)); + } else if (is_category2(value3)) { + if (value2.isPrimitive()) { + op = "dup_x1"; + } else { + op = null; // nothing to dup + } + } else if (value2.isPrimitive()) { + // value1 is not primitive value2 is primitive + ClassDesc value4 = stack.peek(3); + if (value3.isPrimitive() && value4.isPrimitive()) { + op = "dup_x2"; + } else if (value3.isPrimitive() || value4.isPrimitive()) { + op = "dup_x1"; + } else { + // neither value3 or value4 is primitive + op = "dup"; + } + } else { // neither value1 or value2 is primitive + op = null; // nothing to dup + } + } + } + if (debug_dup.enabled) { + debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); + } + if (op != null) { + return build_il(dcr_call(op, CD_void, noArgsCD), inst); + } + return null; + } + + /** + * Pops a category 1 value from the top of the stack. We want to discard the top of the tag stack + * iff the item on the top of the stack is a primitive. + */ + List pop_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc top = stack.peek(); + if (debug_dup.enabled) { + debug_dup.log("POP -> %s [... %s]%n", "pop", stack_contents(stack, 1)); + } + if (top.isPrimitive()) { + return discard_tag_code(inst, 1); + } + return null; + } + + /** + * Pops either the top 2 category 1 values or a single category 2 value from the top of the stack. + * We must do the same to the tag stack if the values are primitives. + */ + List pop2_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc top = stack.peek(); + if (debug_dup.enabled) { + debug_dup.log("POP2 -> %s [... %s]%n", "pop2", stack_contents(stack, 1)); + } + if (is_category2(top)) { + return discard_tag_code(inst, 1); + } else { + int cnt = 0; + if (top.isPrimitive()) { + cnt++; + } + if (stack.peek(1).isPrimitive()) { + cnt++; + } + if (cnt > 0) { + return discard_tag_code(inst, cnt); + } + } + return null; + } + + /** + * Swaps the two category 1 values on the top of the stack. We need to swap the top of the tag + * stack if the two top elements on the real stack are primitives. + */ + List swap_tag(CodeElement inst, OperandStack24 stack) { + ClassDesc type1 = stack.peek(); + ClassDesc type2 = stack.peek(1); + if (debug_dup.enabled) { + debug_dup.log("SWAP -> %s [... %s]%n", "swap", stack_contents(stack, 2)); + } + if (type1.isPrimitive() && type2.isPrimitive()) { + return build_il(dcr_call("swap", CD_void, noArgsCD), inst); + } + return null; + } + + /** + * Handle the instruction that allocates multi-dimensional arrays. If the new array has 2 + * dimensions, make the integer arguments comparable to the corresponding indices of the new + * array. For any other number of dimensions, discard the tags for the arguments. Higher + * dimensions should really be handled as well, but there are very few cases of this and the + * resulting code would be quite complex (see multiarray2 for details). + */ + private List multi_newarray_dc(NewMultiArrayInstruction inst) { + int dims = inst.dimensions(); + if (dims == 2) { + return multiarray2(inst); + } else { + return discard_tag_code(inst, dims); + } + } + + /** + * Create an instruction list that calls the runtime to handle returns for the tag stack follow by + * the original return instruction. + * + * @param mgen method to check + * @param inst return instruction to be replaced + * @return the instruction list + */ + private List return_tag(MethodGen24 mgen, Instruction inst) { + List il = new ArrayList<>(); + + ClassDesc type = mgen.getReturnType(); + + // Push the tag frame + il.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); + + if (is_primitive(type)) { + il.add(dcr_call("normal_exit_primitive", CD_void, objectArrayCD_arg)); + } else { + il.add(dcr_call("normal_exit", CD_void, objectArrayCD_arg)); + } + il.add(inst); + return il; + } + + /** + * Returns whether or not the specified type is a primitive (int, float, double, etc). + * + * @param type type to check + * @return true if type is primitive + */ + @Pure + boolean is_primitive(ClassDesc type) { + return type.isPrimitive() && !type.equals(CD_void); + } + + /** + * Returns whether or not the specified type is a category 2 (8 byte) type. + * + * @param type type to check + * @return true if type requires 8 bytes + */ + @Pure + boolean is_category2(ClassDesc type) { + return type.equals(CD_double) || type.equals(CD_long); + } + + /** + * Modify a doubled native method to call its original method. It pops all of the parameter tags + * off of the tag stack. If there is a primitive return value it puts a new tag value on the stack + * for it. + * + *

    TODO: add a way to provide a synopsis for native methods that affect comparability. + * + * @param mgen the interface method. Must be native. + */ + void fix_native(MethodGen24 mgen) { + + ClassDesc[] argTypes = mgen.getParameterTypes(); + + debug_native.log("Native call %s%n", mgen); + + // Discard the tags for any primitive arguments passed to the method. + List il = discard_primitive_tags(argTypes); + + // push a tag if there is a primitive return value + ClassDesc returnType = mgen.getReturnType(); + if (is_primitive(returnType)) { + il.add(dcr_call("push_const", CD_void, noArgsCD)); + } + + // If the method is not static, push the instance on the stack + if (!mgen.isStatic()) { + il.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this + } + + // if call is sun.reflect.Reflection.getCallerClass(int depth) + // TODO: This method was deleted in JDK 9. At some point we should remove support. + if (mgen.getName().equals("getCallerClass") + && (argTypes.length == 1) // 'int depth' + && mgen.getClassName().equals("sun.reflect.Reflection")) { + + // The call returns the class 'depth' frames up the stack. Since we have added + // our wrapper method call in between, we need to increment that number by 1. + il.add(LoadInstruction.of(TypeKind.INT, 0)); // load depth + il.add(loadIntegerConstant(1)); + il.add(OperatorInstruction.of(Opcode.IADD)); + // System.out.printf("adding 1 in %s.%s%n", mgen.getClassName(), + // mgen.getName()); + + } else { // normal call + + // push each argument on the stack + int param_index = 1; + if (mgen.isStatic()) { + param_index = 0; + } + for (ClassDesc argType : argTypes) { + il.add(LoadInstruction.of(TypeKind.from(argType), param_index)); + param_index += TypeKind.from(argType).slotSize(); + } + } + + // Call the native method + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ClassDesc.of(mgen.getClassName()), + mgen.getName(), + MethodTypeDesc.of(returnType, argTypes)); + Opcode op = mgen.isStatic() ? Opcode.INVOKESTATIC : Opcode.INVOKEVIRTUAL; + il.add(InvokeInstruction.of(op, mre)); + + // generate return instruction + il.add(ReturnInstruction.of(TypeKind.from(returnType))); + + mgen.setInstructionList(il); + } + + /** + * Convenience function to build an instruction list. + * + * @param instructions a variable number of instructions + * @return an instruction list + */ + private List build_il(CodeElement... instructions) { + return new ArrayList<>(Arrays.asList(instructions)); + } + + /** + * Returns whether or not tag fields are used within the specified method of the specified class. + * We can safely use class fields except in Object, String, and Class. If checking a class, mgen + * is null. + * + * @param mgen method to check + * @param classname class to check + * @return true if tag fields may be used in class for method + */ + boolean tag_fields_ok(@Nullable MethodGen24 mgen, @BinaryName String classname) { + + // Prior to Java 8 an interface could not contain any implementations. + if (classGen.isInterface()) { + if (classModel.majorVersion() < ClassFile.JAVA_8_VERSION) { + return false; + } + } + + if (mgen != null) { + if (mgen.getName().equals("")) { + if (!this.constructor_is_initialized) { + return false; + } + } + } + + if (!Premain.jdk_instrumented) { + if (BcelUtil.inJdk(classname)) { + return false; + } + } + + if (!classname.startsWith("java.lang")) { + return true; + } + + return !(classname.equals("java.lang.String") + || classname.equals("java.lang.Class") + || classname.equals("java.lang.Object") + || classname.equals("java.lang.ClassLoader")); + } + + /** + * Returns a string describing the top max_items items on the stack. + * + * @param stack OperandStack + * @param max_items number of items to describe + * @return string describing the top max_items on the operand stack + */ + static String stack_contents(OperandStack24 stack, int max_items) { + String contents = ""; + if (max_items >= stack.size()) { + max_items = stack.size() - 1; + } + for (int ii = max_items; ii >= 0; ii--) { + if (contents.length() != 0) { + contents += ", "; + } + contents += stack.peek(ii); + } + return contents; + } + + /** + * Creates tag get and set accessor methods for each field in gen. An accessor is created for each + * field (including final, static, and private fields). The accessors share the modifiers of their + * field (except that all are final). Accessors are named {@code ___$get_tag} and + * {@code ___$set_tag}. The class name must be included because field names can + * shadow one another. + * + *

    If tag_fields_ok is true for the class, then tag fields are created and the accessor uses + * the tag fields. If not, tag storage is created separately and accessed via the field number. + * + *

    Accessors are also created for each visible superclass field that is not hidden by a field + * in this class. These accessors just call the superclasses accessor. + * + *

    Any accessors created are added to the class. + * + * @param classGen class to check for fields + */ + void create_tag_accessors(ClassGen24 classGen) { + + // If this class doesn't support tag fields, don't create them + if (!tag_fields_ok(null, classGen.getClassName())) { + return; + } + + Set field_set = new HashSet<>(); + Map field_map = build_field_map(classModel); + + // Build accessors for all fields declared in this class + for (FieldModel fm : classModel.fields()) { + + String fieldName = fm.fieldName().stringValue(); + assert !field_set.contains(fieldName) : fieldName + "-" + classGen.getClassName(); + field_set.add(fieldName); + + // skip primitive fields + // MLR: skip non primitive fields? + if (!fm.fieldTypeSymbol().isPrimitive()) { + continue; + } + + if (fm.flags().has(AccessFlag.STATIC)) { + String full_name = full_name(classModel, fm); + create_get_tag(classGen, fm, static_field_id.get(full_name)); + create_set_tag(classGen, fm, static_field_id.get(full_name)); + } else { + create_get_tag(classGen, fm, field_map.get(fm)); + create_set_tag(classGen, fm, field_map.get(fm)); + } + } + + // Build accessors for each field declared in a superclass that is + // is not shadowed in a subclass + for (@BinaryName String scn : getSuperClassNames()) { + ClassModel scm = getClassModel(scn); + if (scm == null) { + throw new DynCompError("Can't load ClassModel for: " + scn); + } + + for (FieldModel fm : scm.fields()) { + if (fm.flags().has(AccessFlag.PRIVATE)) { + continue; + } + if (field_set.contains(fm.fieldName().stringValue())) { + continue; + } + if (!fm.fieldTypeSymbol().isPrimitive()) { + continue; + } + + field_set.add(fm.fieldName().stringValue()); + if (fm.flags().has(AccessFlag.STATIC)) { + String full_name = full_name(scm, fm); + create_get_tag(classGen, fm, static_field_id.get(full_name)); + create_set_tag(classGen, fm, static_field_id.get(full_name)); + } else { + create_get_tag(classGen, fm, field_map.get(fm)); + create_set_tag(classGen, fm, field_map.get(fm)); + } + } + } + } + + /** + * Builds a Map that relates each field in jc and each of its superclasses to a unique offset. The + * offset can be used to index into a tag array for this class. Instance fields are placed in the + * returned map and static fields are placed in static map (shared between all classes). + * + * @param classModel class to check for fields + * @return field offset map + */ + Map build_field_map(ClassModel classModel) { + + Optional ce = classModel.superclass(); + if (!ce.isPresent()) { + // class is java.lang.Object, no primitive fields + return new LinkedHashMap<>(); + } + + // Get the offsets for each field in the superclass. + String superclassName = ce.get().asInternalName().replace('/', '.'); + ClassModel super_cm = getClassModel(superclassName); + if (super_cm == null) { + throw new DynCompError("Can't get superclass for " + superclassName); + } + + Map field_map = build_field_map(super_cm); + int offset = field_map.size(); + + // Determine the offset for each primitive field in the class + // Also make sure the static_tags list is large enough for all + // of the tags. + for (FieldModel fm : classModel.fields()) { + if (!fm.fieldTypeSymbol().isPrimitive()) { + continue; + } + if (fm.flags().has(AccessFlag.STATIC)) { + if (!in_jdk) { + int min_size = static_field_id.size() + DCRuntime.max_jdk_static; + while (DCRuntime.static_tags.size() <= min_size) { + DCRuntime.static_tags.add(null); + } + static_field_id.put(full_name(classModel, fm), min_size); + } else { // building jdk + String full_name = full_name(classModel, fm); + if (static_field_id.containsKey(full_name)) { + // System.out.printf("Reusing static field %s value %d%n", + // full_name, static_field_id.get(full_name)); + } else { + // System.out.printf("Allocating new static field %s%n", + // full_name); + static_field_id.put(full_name, static_field_id.size() + 1); + } + } + } else { + field_map.put(fm, offset); + offset++; + } + } + + return field_map; + } + + /** + * Creates a get tag method for field fm. The tag corresponding to field fm will be pushed on the + * tag stack. + * + *

    {@code
    +   * void ___$get_tag() {
    +   *   #if fm.isStatic()
    +   *     DCRuntime.push_static_tag (tag_offset)
    +   *   #else
    +   *     DCRuntime.push_field_tag (this, tag_offset);
    +   * }
    +   * }
    + * + * @param classGen class whose accessors are being built. Not necessarily the class declaring fm + * (if fm is inherited). + * @param fm field to build an accessor for + * @param tag_offset offset of fm in the tag storage for this field + */ + void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { + + // Determine the method to call in DCRuntime. Instance fields and static + // fields are handled separately. Also instance fields in special + // classes that are created by the JVM are handled separately since only + // in those classes can fields be read without being written (in java) + String methodname = "push_field_tag"; + String classname = classGen.getClassName(); + ClassDesc[] args = {CD_Object, CD_int}; + final boolean isStatic = fm.flags().has(AccessFlag.STATIC) ? true : false; + + if (isStatic) { + methodname = "push_static_tag"; + args = new ClassDesc[] {CD_int}; + } else if (is_uninit_class(classname)) { + methodname = "push_field_tag_null_ok"; + } + + String accessor_name = + Premain.tag_method_name(Premain.GET_TAG, classname, fm.fieldName().stringValue()); + + List newCode = new ArrayList<>(); + + newCode.add(loadIntegerConstant(tag_offset)); + newCode.add(dcr_call(methodname, CD_void, args)); + newCode.add(ReturnInstruction.of(TypeKind.VOID)); + + int access_flags = fm.flags().flagsMask(); + if (classGen.isInterface()) { + // method in interface cannot be final + access_flags &= ~AccessFlag.FINAL.mask(); + if (classModel.majorVersion() < ClassFile.JAVA_8_VERSION) { + // If class file version is prior to 8 then a method in an interface + // cannot be static (it's implicit) and must be abstract. + access_flags &= ~AccessFlag.STATIC.mask(); + access_flags |= AccessFlag.ABSTRACT.mask(); + } + } else { + access_flags |= AccessFlag.FINAL.mask(); + } + + // make method public + access_flags &= ~ClassFile.ACC_PRIVATE; + access_flags &= ~ClassFile.ACC_PROTECTED; + access_flags |= ClassFile.ACC_PUBLIC; + + // Create the get accessor method + classGen + .getClassBuilder() + .withMethod( + accessor_name, + MethodTypeDesc.of(CD_void), + access_flags, + methodBuilder -> + methodBuilder.withCode( + codeBuilder -> buildTagAccessor(codeBuilder, newCode, isStatic, classname))); + } + + /** + * Creates a set tag method for field fm. The tag on the top of the tag stack will be popped off + * and placed in the tag storeage corresponding to field + * + *
    {@code
    +   * void ___$set_tag() {
    +   *   #if fm.isStatic()
    +   *     DCRuntime.pop_static_tag (tag_offset)
    +   *   #else
    +   *     DCRuntime.pop_field_tag (this, tag_offset);
    +   * }
    +   * }
    + * + * @param classGen class whose accessors are being built. Not necessarily the class declaring fm + * (if fm is inherited). + * @param fm field to build an accessor for + * @param tag_offset offset of fm in the tag storage for this field + */ + void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { + + String methodname = "pop_field_tag"; + String classname = classGen.getClassName(); + ClassDesc[] args = {CD_Object, CD_int}; + final boolean isStatic = fm.flags().has(AccessFlag.STATIC) ? true : false; + + if (isStatic) { + methodname = "pop_static_tag"; + args = new ClassDesc[] {CD_int}; + } + + String setter_name = + Premain.tag_method_name(Premain.SET_TAG, classname, fm.fieldName().stringValue()); + + List newCode = new ArrayList<>(); + + newCode.add(loadIntegerConstant(tag_offset)); + newCode.add(dcr_call(methodname, CD_void, args)); + newCode.add(ReturnInstruction.of(TypeKind.VOID)); + + int access_flags = fm.flags().flagsMask(); + if (classGen.isInterface()) { + // method in interface cannot be final + access_flags &= ~AccessFlag.FINAL.mask(); + if (classModel.majorVersion() < ClassFile.JAVA_8_VERSION) { + // If class file version is prior to 8 then a method in an interface + // cannot be static (it's implicit) and must be abstract. + access_flags &= ~AccessFlag.STATIC.mask(); + access_flags |= AccessFlag.ABSTRACT.mask(); + } + } else { + access_flags |= AccessFlag.FINAL.mask(); + } + + // Create the setter method + classGen + .getClassBuilder() + .withMethod( + setter_name, + MethodTypeDesc.of(CD_void), + access_flags, + methodBuilder -> + methodBuilder.withCode( + codeBuilder -> buildTagAccessor(codeBuilder, newCode, isStatic, classname))); + } + + /** + * Build a tag accessor method. + * + * @param codeBuilder for the given method's code + * @param instructions instruction list to copy + * @param isStatic true iff accessor is static + * @param classname classname holding accessor + */ + private void buildTagAccessor( + CodeBuilder codeBuilder, List instructions, boolean isStatic, String classname) { + + Label startLabel = codeBuilder.newLabel(); + Label endLabel = codeBuilder.newLabel(); + if (!isStatic) { + codeBuilder.localVariable(0, "this", ClassDesc.of(classname), startLabel, endLabel); + codeBuilder.labelBinding(startLabel); + codeBuilder.with(LoadInstruction.of(TypeKind.REFERENCE, 0)); // aload_0 (load this) + } + for (CodeElement ce : instructions) { + debugInstrument.log("CodeElement: %s%n", ce); + codeBuilder.with(ce); + } + codeBuilder.labelBinding(endLabel); // shouldn't matter if isStatic + } + + /** + * Adds the DCompInstrumented interface to the given class. Adds the following method to the + * class, so that it implements the DCompInstrumented interface: + * + *
    {@code
    +   * public boolean equals_dcomp_instrumented(Object o) {
    +   *   return this.equals(o, null);
    +   * }
    +   * }
    + * + * The method does nothing except call the instrumented equals method (boolean equals(Object, + * DCompMarker)). + * + * @param classBuilder for the class + * @param classGen class to add method to + */ + void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo classInfo) { + + classGen.addInterface(DCRuntime.instrumentation_interface); + debugInstrument.log("Added interface DCompInstrumented%n"); + + List instructions = new ArrayList<>(); + List localsTable = new ArrayList<>(); + Consumer codeHandler1 = + methodBuilder -> { + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions, localsTable)); + }; + + int access_flags = ClassFile.ACC_PUBLIC; + if (classGen.isInterface()) { + access_flags |= ClassFile.ACC_ABSTRACT; + codeHandler1 = methodBuilder -> {}; + } + + // Defining local variables is not strictly necessary, but we do + // it to reduce the diffs with previous versions of DynComp. + localsTable.add(new myLocalVariable(0, "this", CD_Object)); + localsTable.add(new myLocalVariable(1, "obj", CD_Object)); + + MethodTypeDesc mtdNormal, mtdDComp; + mtdNormal = MethodTypeDesc.of(CD_boolean, CD_Object); + + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj + + if (!classInfo.isJunitTestClass) { + instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); // use null for marker + mtdDComp = MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker); + } else { + // for junit test class, the instrumented version has no dcomp arg + mtdDComp = mtdNormal; + } + + MethodRefEntry mre = + poolBuilder.methodRefEntry(ClassDesc.of(classGen.getClassName()), "equals", mtdDComp); + instructions.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); + + if (!classInfo.isJunitTestClass) { + // build the uninstrumented equals_dcomp_instrumented method + classBuilder.withMethod("equals_dcomp_instrumented", mtdNormal, access_flags, codeHandler1); + } + + // now build the instrumented version of the equals_dcomp_instrumented method + if (classGen.isInterface()) { + // no code if interface + classBuilder.withMethod( + "equals_dcomp_instrumented", mtdDComp, access_flags, methodBuilder -> {}); + } else { + @BinaryName String classname = classInfo.class_name; + // create pseudo MethodGen24 + MethodGen24 mgen = + new MethodGen24( + classname, + classBuilder, + "equals_dcomp_instrumented", + access_flags, + mtdNormal, + instructions, + 3, // maxStack + 2); // maxLocals + boolean track = should_track(classname, mgen.getName(), methodEntryName(classname, mgen)); + classBuilder.withMethod( + "equals_dcomp_instrumented", + mtdDComp, + access_flags, + methodBuilder -> + methodBuilder.withCode( + codeBuilder -> + instrumentCode(codeBuilder, null, localsTable, mgen, classInfo, track))); + } + } + + /** + * Adds the following method to a class: + * + *
    {@code
    +   * public boolean equals (Object obj) {
    +   *   return super.equals(obj);
    +   * }
    +   * }
    + * + * Must only be called if the Object equals method has not been overridden; if the equals method + * is already defined in the class, a ClassFormatError will result because of the duplicate + * method. + * + * @param classBuilder for the class + * @param classGen class to add method to + */ + void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo classInfo) { + + List instructions = new ArrayList<>(); + List localsTable = new ArrayList<>(); + Consumer codeHandler1 = + methodBuilder -> { + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions, localsTable)); + }; + + int access_flags = ClassFile.ACC_PUBLIC; + if (classGen.isInterface()) { + access_flags |= ClassFile.ACC_ABSTRACT; + codeHandler1 = methodBuilder -> {}; + } + + // Defining local variables is not strictly necessary, but we do + // it to reduce the diffs with previous versions of DynComp. + localsTable.add(new myLocalVariable(0, "this", CD_Object)); + localsTable.add(new myLocalVariable(1, "obj", CD_Object)); + + MethodTypeDesc mtdNormal, mtdDComp; + mtdNormal = MethodTypeDesc.of(CD_boolean, CD_Object); + + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj + MethodRefEntry mre = + poolBuilder.methodRefEntry(ClassDesc.of(classGen.getSuperclassName()), "equals", mtdNormal); + instructions.add(InvokeInstruction.of(Opcode.INVOKESPECIAL, mre)); + instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); + + if (!classInfo.isJunitTestClass) { + // build the uninstrumented equals method + classBuilder.withMethod("equals", mtdNormal, access_flags, codeHandler1); + // since not junit test class, add dcomp_marker to instrumented version of equals built below + mtdDComp = MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker); + } else { + // for junit test class, we build only the instrumented version with no dcomp arg + mtdDComp = mtdNormal; + } + + // now build the instrumented version of the equals method + if (classGen.isInterface()) { + // no code if interface + classBuilder.withMethod("equals", mtdDComp, access_flags, methodBuilder -> {}); + } else { + @BinaryName String classname = classInfo.class_name; + // create pseudo MethodGen24 + MethodGen24 mgen = + new MethodGen24( + classname, classBuilder, "equals", access_flags, mtdNormal, instructions, 2, 2); + boolean track = should_track(classname, mgen.getName(), methodEntryName(classname, mgen)); + classBuilder.withMethod( + "equals", + mtdDComp, + access_flags, + methodBuilder -> + methodBuilder.withCode( + codeBuilder -> + instrumentCode(codeBuilder, null, localsTable, mgen, classInfo, track))); + } + } + + /** + * Marks the class as implementing various object methods (currently clone and toString). Callers + * will call the instrumented version of the method if it exists, otherwise they will call the + * uninstrumented version. + * + * @param classGen class to check + */ + void handle_object(ClassGen24 classGen) { + + @SuppressWarnings("signature:assignment") + @MethodDescriptor String noArgsReturnObject = "()Ljava/lang/Object;"; + MethodModel cl = classGen.containsMethod("clone", noArgsReturnObject); + if (cl != null) { + classGen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompClone")); + } + + @SuppressWarnings("signature:assignment") + @MethodDescriptor String noArgsReturnString = "()Ljava/lang/String;"; + MethodModel ts = classGen.containsMethod("toString", noArgsReturnString); + if (ts != null) { + classGen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompToString")); + } + } + + /** + * Add a dcomp marker argument to indicate this is the instrumented version of the method. + * + * @param mgen method to add dcomp marker to + * @param minfo for the given method's code + */ + void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { + + // Don't modify main or the JVM won't be able to find it. + if (mgen.isMain()) { + return; + } + + // Don't modify class init methods, they don't take arguments + if (mgen.isClinit()) { + return; + } + + // Add the dcomp marker argument to indicate this is the + // instrumented version of the method. + BcelUtils24.addNewSpecialLocal(mgen, "marker", dcomp_marker, minfo, true); + } + + /** + * Returns whether or not the method is defined in Object. + * + * @param methodName method to check + * @param argTypes array of argument types to method + * @return true if method is member of Object + */ + @Pure + boolean is_object_method(String methodName, ClassDesc[] argTypes) { + // Note: kind of wierd we don't check that classname = Object but it's been + // that way forever. just means foo.finialize(), e.g., will be marked uninstrumented. + for (MethodDef md : obj_methods) { + if (md.equals(methodName, argTypes)) { + return true; + } + } + return false; + } + + /** + * Returns whether or not the class is one of those that has values initialized by the JVM or + * native methods. + * + * @param classname class to check + * @return true if classname has members that are uninitialized + */ + @Pure + boolean is_uninit_class(String classname) { + + for (String u_name : uninit_classes) { + if (u_name.equals(classname)) { + return true; + } + } + + return false; + } + + /** + * Creates a pseudo 'main' method with a DcompMarker argument that does nothing but call the + * original 'main' method without the DCompMarker argument. + * + * @param mgen describes the 'main' method + * @param classBuilder for current class + * @param classInfo for the given class + */ + void createMainStub(MethodGen24 mgen, ClassBuilder classBuilder, ClassInfo classInfo) { + List instructions = new ArrayList<>(); + instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load arg0 + + MethodRefEntry mre = + poolBuilder.methodRefEntry( + ClassDesc.of(classInfo.class_name), + "main", + MethodTypeDesc.of(CD_void, CD_String.arrayType(1))); + instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); // call real main + instructions.add(ReturnInstruction.of(TypeKind.VOID)); + + classBuilder.withMethod( + "main", + MethodTypeDesc.of(CD_void, CD_String.arrayType(1), dcomp_marker), + mgen.getAccessFlagsMask(), + methodBuilder -> + methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions, null))); + } + + /** + * Writes the static map from field names to their integer ids to the specified file. Can be read + * with restore_static_field_id. Each line contains a key/value combination with a blank + * separating them. + * + * @param file where to write the static field ids + * @throws IOException if unable to find or open the file + */ + static void save_static_field_id(File file) throws IOException { + + PrintStream ps = new PrintStream(file, UTF_8); + for (Map.Entry<@KeyFor("static_field_id") String, Integer> entry : static_field_id.entrySet()) { + ps.printf("%s %d%n", entry.getKey(), entry.getValue()); + } + ps.close(); + } + + /** + * Restores the static map from the specified file. + * + * @param file where to read the static field ids + * @throws IOException if unable to create an EntryReader + * @see #save_static_field_id(File) + */ + static void restore_static_field_id(File file) throws IOException { + try (EntryReader er = new EntryReader(file, "UTF-8")) { + for (String line : er) { + String[] key_val = line.split(" *"); + assert !static_field_id.containsKey(key_val[0]) : key_val[0] + " " + key_val[1]; + static_field_id.put(key_val[0], Integer.valueOf(key_val[1])); + } + } + } + + /** + * Return the fully qualified fieldname of the specified field. + * + * @param cm class containing the field + * @param fm the field + * @return string containing the fully qualified name + */ + protected String full_name(ClassModel cm, FieldModel fm) { + return ClassGen24.getClassName(cm) + "." + fm.fieldName().stringValue(); + } + + /** + * Return simplified name of a method. Both exceptions and annotations are removed. + * + * @param mgen the method + * @return string containing the simplified method name + */ + protected String simplify_method_name(MethodGen24 mgen) { + // Remove exceptions from the full method name + // String full_name = m.toString().replaceFirst("\\s*throws.*", ""); + // Remove annotations from full method name + // return full_name.replaceFirst("(?s) \\[.*", ""); + return mgen.toString(); + } + + // UNDONE consider making this a Java record + + /** Variables used for processing a switch instruction. */ + private static class ModifiedSwitchInfo { + + /** Possibly modified default switch target. */ + Label modifiedTarget; + + /** Possibly modified switch case list. */ + List modifiedCaseList; + + /** + * Creates a ModifiedSwitchInfo. + * + * @param modifiedTarget possibly modified default swith target + * @param modifiedCaseList possibly modified switch case list + */ + ModifiedSwitchInfo(Label modifiedTarget, List modifiedCaseList) { + this.modifiedTarget = modifiedTarget; + this.modifiedCaseList = modifiedCaseList; + } + } + + /** + * Checks to see if the instruction targets the method's CodeModel startLabel (held in + * oldStartLabel). If so, it replaces the target with the newStartLabel. Unfortunately, the + * classfile API does not allow us to simply replace the label, we have to replace the entire + * instruction. Note that oldStartLabel may be null, but that is okay as any comparison to it will + * fail and we will do nothing. + * + * @param inst the instruction to check + * @return the original instruction or its replacement + */ + private CodeElement retargetStartLabel(CodeElement inst) { + ModifiedSwitchInfo info; + switch (inst) { + case BranchInstruction bi -> { + if (bi.target().equals(oldStartLabel)) { + return BranchInstruction.of(bi.opcode(), newStartLabel); + } + } + case ExceptionCatch ec -> { + if (ec.tryStart().equals(oldStartLabel)) { + return ExceptionCatch.of(ec.handler(), newStartLabel, ec.tryEnd(), ec.catchType()); + } + } + case LookupSwitchInstruction ls -> { + info = retargetStartLabel(ls.defaultTarget(), ls.cases()); + if (info != null) { + return LookupSwitchInstruction.of(info.modifiedTarget, info.modifiedCaseList); + } + } + case TableSwitchInstruction ts -> { + info = retargetStartLabel(ts.defaultTarget(), ts.cases()); + if (info != null) { + return TableSwitchInstruction.of( + ts.lowValue(), ts.highValue(), info.modifiedTarget, info.modifiedCaseList); + } + } + default -> {} + } + return inst; + } + + /** + * Checks to see if a switch instruction's default target or any of the case targets refer to + * oldStartLabel. If so, replace those targets with the newStartLabel, and return the result in a + * ModifiedSwitchInfo. Otherwise, return null. + * + * @param defaultTarget the default target for the switch instruction + * @param caseList the case list for the switch instruction + * @return a ModifiedSwitchInfo with the changed values, or null if no changes + */ + private @Nullable ModifiedSwitchInfo retargetStartLabel( + Label defaultTarget, List caseList) { + Label modifiedTarget; + boolean modified = false; + + if (defaultTarget.equals(oldStartLabel)) { + modifiedTarget = newStartLabel; + modified = true; + } else { + modifiedTarget = defaultTarget; + } + + List newCaseList = new ArrayList<>(); + for (SwitchCase item : caseList) { + if (item.target().equals(oldStartLabel)) { + newCaseList.add(SwitchCase.of(item.caseValue(), newStartLabel)); + modified = true; + } else { + newCaseList.add(item); + } + } + + if (modified) { + return new ModifiedSwitchInfo(modifiedTarget, newCaseList); + } else { + return null; + } + } + + /** + * Create a new local variable whose scope is the full method. + * + * @param mgen describes the given method + * @param minfo for the given method's code + * @param localName name of new local variable + * @param localType type of new local variable + * @return the new local variable + */ + protected LocalVariable createLocalWithMethodScope( + MethodGen24 mgen, MethodGen24.MInfo24 minfo, String localName, ClassDesc localType) { + LocalVariable newVar = + LocalVariable.of( + minfo.nextLocalIndex, localName, localType, minfo.startLabel, minfo.endLabel); + mgen.localsTable.add(newVar); + minfo.nextLocalIndex += TypeKind.from(localType).slotSize(); + mgen.setMaxLocals(minfo.nextLocalIndex); + return newVar; + } + + /** + * Build a dup instruction based on item size. + * + * @param size size of item to be duplicated + * @return a DUP or DUP2 instruction + */ + protected CodeElement buildDUPInstruction(int size) { + if (size == 1) { + return StackInstruction.of(Opcode.DUP); + } else { + return StackInstruction.of(Opcode.DUP2); + } + } + + /** + * Build a load constant instruction (LDC). Checks the offset of the constant pool element to be + * loaded and generates a LDC or LDC_W, as needed. + * + * @param entry describes the constant pool element to be loaded + * @return a LDC instruction + */ + protected CodeElement buildLDCInstruction(LoadableConstantEntry entry) { + if (entry.index() > 255) { + return ConstantInstruction.ofLoad(Opcode.LDC_W, entry); + } else { + return ConstantInstruction.ofLoad(Opcode.LDC, entry); + } + } + + /** + * Build a load constant instruction for values of type int, short, char, byte + * + * @param value to be pushed + * @return a push instruction + */ + protected CodeElement loadIntegerConstant(final int value) { + return switch (value) { + case -1 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_M1); + case 0 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_0); + case 1 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_1); + case 2 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_2); + case 3 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_3); + case 4 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_4); + case 5 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_5); + default -> + (value >= Byte.MIN_VALUE && value <= Byte.MAX_VALUE) + ? ConstantInstruction.ofArgument(Opcode.BIPUSH, value) + : (value >= Short.MIN_VALUE && value <= Short.MAX_VALUE) + ? ConstantInstruction.ofArgument(Opcode.SIPUSH, value) + : buildLDCInstruction(poolBuilder.intEntry(value)); + }; + } +} diff --git a/java/daikon/dcomp/DynCompError.java b/java/daikon/dcomp/DynCompError.java new file mode 100644 index 0000000000..b620be6c63 --- /dev/null +++ b/java/daikon/dcomp/DynCompError.java @@ -0,0 +1,26 @@ +package daikon.dcomp; + +/** Indicates an unexpected error during DynComp processing. */ +public class DynCompError extends RuntimeException { + + private static final long serialVersionUID = 1L; + + /** + * Create a {@link DynCompError} with the given message. + * + * @param message the exception message + */ + public DynCompError(String message) { + super(message); + } + + /** + * Create a {@link DynCompError} with the given message and cause. + * + * @param message exception message + * @param cause exception cause + */ + public DynCompError(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java new file mode 100644 index 0000000000..299bb0a31d --- /dev/null +++ b/java/daikon/dcomp/Instrument24.java @@ -0,0 +1,344 @@ +package daikon.dcomp; + +import daikon.DynComp; +import daikon.chicory.ClassInfo; +import daikon.plumelib.bcelutil.BcelUtil; +import daikon.plumelib.bcelutil.SimpleLog; +import daikon.plumelib.reflection.Signatures; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.lang.classfile.ClassFile; +import java.lang.classfile.ClassHierarchyResolver; +import java.lang.classfile.ClassModel; +import java.lang.classfile.ClassTransform; +import java.lang.instrument.ClassFileTransformer; +import java.lang.instrument.IllegalClassFormatException; +import java.nio.file.Files; +import java.security.ProtectionDomain; +import org.apache.bcel.classfile.ClassParser; +import org.apache.bcel.classfile.JavaClass; +import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.checker.signature.qual.BinaryName; +import org.checkerframework.checker.signature.qual.InternalForm; +import org.checkerframework.dataflow.qual.Pure; + +/** + * This class is responsible for modifying another class's bytecodes. Specifically, its main task is + * to add calls into the DynComp Runtime for instrumentation purposes. These added calls are + * sometimes referred to as "hooks". + * + *

    This class is loaded by Premain at startup. It is a ClassFileTransformer which means that its + * {@code transform} method gets called each time the JVM loads a class. + * + *

    Instrument24 and DCInstrument24 use Java's ({@code java.lang.classfile}) APIs for reading and + * modifying .class files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more + * complete and robust (no more fiddling with StackMaps) and are always up to date with any .class + * file changes (since they are part of the JDK). (We will need to continue to support + * Instrument.java using BCEL, as we anticipate our clients using JDK 21 or less for quite some + * time.) + */ +public class Instrument24 implements ClassFileTransformer { + + /** Directory for debug output. */ + final File debug_dir; + + /** Directory into which to dump debug-instrumented classes. */ + final File debug_instrumented_dir; + + /** Directory into which to dump original classes. */ + final File debug_uninstrumented_dir; + + /** Have we seen a class member of a known transformer? */ + private static boolean transformer_seen = false; + + /** + * Debug information about which classes and/or methods are transformed and why. Use + * debugInstrument for actual instrumentation details. + */ + protected static final SimpleLog debug_transform = new SimpleLog(false); + + /** Create an instrumenter. Setup debug directories, if needed. */ + public Instrument24() { + debug_transform.enabled = + DynComp.debug || DynComp.debug_transform || Premain.debug_dcinstrument || DynComp.verbose; + daikon.chicory.Instrument24.debug_ppt_omit.enabled = DynComp.debug; + + debug_dir = DynComp.debug_dir; + debug_instrumented_dir = new File(debug_dir, "instrumented"); + debug_uninstrumented_dir = new File(debug_dir, "uninstrumented"); + + if (DynComp.dump) { + debug_instrumented_dir.mkdirs(); + debug_uninstrumented_dir.mkdirs(); + } + } + + /** Debug code for printing the current run-time call stack. */ + public static void print_call_stack() { + StackTraceElement[] stack_trace; + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + // [1] is print_call_stack + for (int i = 2; i < stack_trace.length; i++) { + System.out.printf("call stack: %s%n", stack_trace[i]); + } + System.out.println(); + } + + // UNDONE: Should we stop using bcel and use classModel.toDebugString() instead? + + /** + * Output a .class file and a .bcel version of the class file. + * + * @param classBytes a byte array of the class file to output + * @param directory output location for the files + * @param className the current class + */ + public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName String className) { + // Convert the classBytes to a BCEL JavaClass + JavaClass c; + try (ByteArrayInputStream bais = new ByteArrayInputStream(classBytes)) { + ClassParser parser = new ClassParser(bais, className); + c = parser.parse(); + } catch (Throwable t) { + System.err.printf("Unexpected error %s while reading %s%n", t, className); + t.printStackTrace(); + // ignore the error, it shouldn't affect the instrumentation + return; + } + + try { + debug_transform.log("Dumping .class and .bcel for %s to %s%n", className, directory); + // Write the byte array to a .class file. + File outputFile = new File(directory, className + ".class"); + Files.write(outputFile.toPath(), classBytes); + // Write a BCEL-like file. + BcelUtil.dump(c, directory); + } catch (Throwable t) { + System.err.printf("Unexpected error %s writing debug files for: %s%n", t, className); + t.printStackTrace(); + // ignore the error, it shouldn't affect the instrumentation + } + } + + /** + * Given a class, return a transformed version of the class that contains instrumentation code. + * Because DynComp is invoked as a javaagent, the transform method is called by the Java runtime + * each time a new class is loaded. A return value of null leaves the byte codes unchanged. + * + *

    {@inheritDoc} + */ + @Override + public byte @Nullable [] transform( + @Nullable ClassLoader loader, + @InternalForm String className, + @Nullable Class classBeingRedefined, + ProtectionDomain protectionDomain, + byte[] classfileBuffer) + throws IllegalClassFormatException { + + // for debugging + // new Throwable().printStackTrace(); + + debug_transform.log("%nEntering dcomp.Instrument24.transform(): class = %s%n", className); + + @BinaryName String binaryClassName = Signatures.internalFormToBinaryName(className); + + if (className == null) { + // most likely a lambda related class + return null; + } + + // See comments in Premain.java about meaning and use of in_shutdown. + if (Premain.in_shutdown) { + debug_transform.log("Skipping in_shutdown class %s%n", binaryClassName); + return null; + } + + // If already instrumented, nothing to do + // (This set will be empty if Premain.jdk_instrumented is false) + if (Premain.pre_instrumented.contains(className)) { + debug_transform.log("Skipping pre_instrumented JDK class %s%n", binaryClassName); + return null; + } + + boolean in_jdk = false; + + // Check if class is in JDK + if (BcelUtil.inJdkInternalform(className)) { + // If we are not using an instrumented JDK, then skip this class. + if (!Premain.jdk_instrumented) { + debug_transform.log("Skipping JDK class %s%n", binaryClassName); + return null; + } + + int lastSlashPos = className.lastIndexOf('/'); + if (lastSlashPos > 0) { + String packageName = className.substring(0, lastSlashPos).replace('/', '.'); + if (Premain.problem_packages.contains(packageName)) { + debug_transform.log("Skipping problem package %s%n", packageName); + return null; + } + } + + if ((BcelUtil.javaVersion > 8) && Premain.problem_classes.contains(binaryClassName)) { + debug_transform.log("Skipping problem class %s%n", binaryClassName); + return null; + } + + if (className.contains("/$Proxy")) { + debug_transform.log("Skipping proxy class %s%n", binaryClassName); + return null; + } + + if (className.startsWith("java/lang/instrument/")) { + debug_transform.log("Skipping java instrumentation class %s%n", binaryClassName); + return null; + } + + if (className.equals("java/lang/DCRuntime")) { + debug_transform.log("Skipping special DynComp runtime class %s%n", binaryClassName); + return null; + } + + in_jdk = true; + debug_transform.log("Instrumenting JDK class %s%n", binaryClassName); + } else { + + // We're not in a JDK class + // Don't instrument our own classes + if (is_dcomp(className)) { + debug_transform.log("Skipping is_dcomp class %s%n", binaryClassName); + return null; + } + + // Don't instrument other byte code transformers + if (is_transformer(className)) { + debug_transform.log("Skipping is_transformer class %s%n", binaryClassName); + if (!transformer_seen) { + transformer_seen = true; + System.err.printf( + "DynComp warning: This program uses a Java byte code transformer: %s%n", + binaryClassName); + System.err.printf( + "This may interfere with the DynComp transformer and cause DynComp to fail.%n"); + } + return null; + } + } + + ClassLoader cfLoader; + if (loader == null) { + cfLoader = ClassLoader.getSystemClassLoader(); + debug_transform.log("Transforming class %s, loader %s - %s%n", className, loader, cfLoader); + } else { + cfLoader = loader; + debug_transform.log( + "Transforming class %s, loader %s - %s%n", className, loader, loader.getParent()); + } + + // Parse the bytes of the classfile, die on any errors. + ClassFile classFile = + ClassFile.of( + ClassFile.ClassHierarchyResolverOption.of( + ClassHierarchyResolver.ofResourceParsing(cfLoader))); + + ClassModel classModel; + try { + classModel = classFile.parse(classfileBuffer); + } catch (Throwable t) { + System.err.printf("Unexpected error %s reading in %s%n", t, binaryClassName); + t.printStackTrace(); + // No changes to the bytecodes + return null; + } + + if (DynComp.dump) { + outputDebugFiles( + classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL), + debug_uninstrumented_dir, + binaryClassName); + } + + // Instrument the classfile, die on any errors. + ClassInfo classInfo = new ClassInfo(binaryClassName, cfLoader); + DCInstrument24 dci = new DCInstrument24(classFile, classModel, in_jdk); + byte @Nullable [] newBytes; + // debug_transform.log("%nTransforming: %s%n", binaryClassName); + try { + newBytes = dci.instrument(classInfo); + } catch (Throwable t) { + System.err.printf("Unexpected error %s in transform of %s%n", t, binaryClassName); + t.printStackTrace(); + throw new RuntimeException("Unexpected error", t); + } + + if (newBytes != null) { + if (DynComp.dump) { + outputDebugFiles(newBytes, debug_instrumented_dir, binaryClassName); + } + return newBytes; + } else { + // debug_transform.log("Didn't instrument %s%n", binaryClassName); + // No changes to the bytecodes + return null; + } + } + + /** + * Returns whether or not the specified class is part of dcomp itself (and thus should not be + * instrumented). Some Daikon classes that are used by DynComp are included here as well. + * + * @param classname class to be checked + * @return true if classname is a part of DynComp + */ + @Pure + private static boolean is_dcomp(String classname) { + + if (classname.startsWith("daikon/dcomp/") && !classname.startsWith("daikon/dcomp/DcompTest")) { + return true; + } + if (classname.startsWith("daikon/chicory/") + && !classname.equals("daikon/chicory/ChicoryTest")) { + return true; + } + if (classname.equals("daikon/Chicory")) { + return true; + } + if (classname.equals("daikon/PptTopLevel$PptType")) { + return true; + } + if (classname.startsWith("daikon/plumelib")) { + return true; + } + return false; + } + + /** + * Returns whether or not the specified class is part of a tool known to do Java byte code + * transformation. We need to warn the user that this may not work correctly. + * + * @param classname class to be checked + * @return true if classname is a known transformer + */ + @Pure + protected static boolean is_transformer(String classname) { + + if (classname.startsWith("org/codehaus/groovy")) { + return true; + } + if (classname.startsWith("groovy/lang")) { + return true; + } + if (classname.startsWith("org/mockito")) { + return true; + } + if (classname.startsWith("org/objenesis")) { + return true; + } + if (classname.contains("ByMockito")) { + return true; + } + return false; + } +} diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java new file mode 100644 index 0000000000..6e0f4af825 --- /dev/null +++ b/java/daikon/dcomp/OperandStack24.java @@ -0,0 +1,233 @@ +// This is a modified version of BCEL's OperandStack. See below for details. + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package daikon.dcomp; + +import java.lang.classfile.TypeKind; +import java.lang.constant.ClassDesc; +import java.util.ArrayList; +import org.checkerframework.checker.index.qual.NonNegative; +import org.checkerframework.checker.lock.qual.GuardSatisfied; +import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.dataflow.qual.Pure; + +/** + * This is a modified version of BCEL's OperandStack. We assume that the class file has been + * previously verified, so we check very few error conditions. + * + *

    This class implements a stack used for symbolic JVM stack simulation. [It's used as an operand + * stack substitute.] Elements of this stack are {@link ClassDesc} objects. + */ +public class OperandStack24 implements Cloneable { + + /** We hold the stack information here. */ + private ArrayList stack = new ArrayList<>(); + + /** The maximum number of stack slots this OperandStack instance may hold. */ + private final @NonNegative int maxStack; + + /** Creates an empty stack with a maximum of maxStack slots. */ + public OperandStack24(final @NonNegative int maxStack) { + this.maxStack = maxStack; + } + + /** Clears the stack. */ + public void clear() { + stack = new ArrayList<>(); + } + + /** + * Returns a deep copy of this object; that means, the clone operates on a new stack. However, the + * ClassDesc objects on the stack are shared. + */ + @Override + public OperandStack24 clone(@GuardSatisfied OperandStack24 this) { + final OperandStack24 newstack; + try { + newstack = (OperandStack24) super.clone(); + } catch (CloneNotSupportedException e) { + throw new DynCompError("Unexpected error: ", e); + } + newstack.stack = new ArrayList<>(this.stack); + return newstack; + } + + /** + * Returns true if and only if this OperandStack equals another, meaning equal lengths and equal + * objects on the stacks. Special case 'null' which matches anything but a primitive. + */ + @Override + public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Nullable Object o) { + if (this == o) { + return true; + } + if (!(o instanceof OperandStack24)) { + return false; + } + final OperandStack24 other = (OperandStack24) o; + if (this.stack.size() != other.stack.size()) { + return false; + } + for (int i = 0; i < this.stack.size(); i++) { + ClassDesc thisItem = this.stack.get(i); + ClassDesc otherItem = other.stack.get(i); + if (thisItem == null) { + if (otherItem != null && otherItem.isPrimitive()) { + return false; + } + } else if (otherItem == null) { + // we know thisItem != null + if (thisItem.isPrimitive()) { + return false; + } + // We should check if they are equal or have a common superclass, but we + // assume the class file is valid and take the easy way out. + } else if (thisItem.isArray()) { + if (otherItem.isPrimitive()) { + return false; + } + // We assume an array matches any array or any class as they all have Object as super class + // at some point. + } else if (thisItem.isClassOrInterface()) { + if (otherItem.isPrimitive()) { + return false; + } + // We assume a class matches any array or any class as they all have Object as super class + // at some point. + } else if (thisItem.isPrimitive() && !otherItem.isPrimitive()) { + return false; + // We don't bother to check they are the same primitive. + } + } + return true; + } + + /** + * Returns a (typed!) clone of this. + * + * @see #clone() + */ + public OperandStack24 getClone() { + return this.clone(); + } + + /** + * @return a hash code value for the object. + */ + @Override + public int hashCode(@GuardSatisfied OperandStack24 this) { + return stack.hashCode(); + } + + /** Returns true IFF this OperandStack is empty. */ + public boolean isEmpty() { + return stack.isEmpty(); + } + + /** Returns the number of stack slots this stack can hold. */ + @Pure + public @NonNegative int maxStack() { + return this.maxStack; + } + + /** Returns the element on top of the stack. The element is not popped off the stack! */ + @Pure + public ClassDesc peek() { + return peek(0); + } + + /** + * Returns the element that's i elements below the top element; that means, iff i==0 the top + * element is returned. The element is not popped off the stack! + */ + @Pure + public ClassDesc peek(@GuardSatisfied OperandStack24 this, final int i) { + return stack.get(size() - i - 1); + } + + /** Returns the element on top of the stack. The element is popped off the stack. */ + public ClassDesc pop() { + return stack.remove(size() - 1); + } + + /** + * Pops i elements off the stack. Always returns null. + * + * @return Always returns null. + */ + public @Nullable ClassDesc pop(final int count) { + for (int j = 0; j < count; j++) { + pop(); + } + return null; + } + + /** Pushes a ClassDesc object onto the stack. */ + public void push(final ClassDesc type) { + stack.add(type); + } + + /** Returns the size of this OperandStack; that means, how many ClassDesc objects there are. */ + @Pure + public @NonNegative int size(@GuardSatisfied OperandStack24 this) { + return stack.size(); + } + + /** + * Returns the number of stack slots used. + * + * @see #maxStack() + */ + public @NonNegative int slotsUsed(@GuardSatisfied OperandStack24 this) { + int slots = 0; + for (int i = 0; i < stack.size(); i++) { + slots += slotSize(peek(i)); + } + return slots; + } + + /** Returns a String representation of this OperandStack instance. */ + @Override + public String toString(@GuardSatisfied OperandStack24 this) { + final StringBuilder sb = new StringBuilder(60); + sb.append("Slots used: ") + .append(slotsUsed()) + .append(" MaxStack: ") + .append(maxStack) + .append('\n'); + for (int i = 0; i < size(); i++) { + sb.append(peek(i)).append(" (Size: ").append(String.valueOf(slotSize(peek(i)))).append(")\n"); + } + return sb.toString(); + } + + /** + * Calculate the size of an item on the operand stack. + * + * @param item type to get size of + * @return size of item + */ + int slotSize(@GuardSatisfied OperandStack24 this, ClassDesc item) { + if (item == null) { + return 1; + } else { + return TypeKind.from(item).slotSize(); + } + } +} diff --git a/java/daikon/dcomp/Premain.java b/java/daikon/dcomp/Premain.java index fbd2a52603..e4deceda1d 100644 --- a/java/daikon/dcomp/Premain.java +++ b/java/daikon/dcomp/Premain.java @@ -193,16 +193,14 @@ public static void premain(String agentArgs, Instrumentation inst) throws IOExce // Setup the shutdown hook Thread shutdown_thread = new ShutdownThread(); - java.lang.Runtime.getRuntime().addShutdownHook(shutdown_thread); - - // UNDONE: turn on Instrument24 - String instrumenter = "daikon.dcomp.Instrument"; - // String instrumenter; - // if (BcelUtil.javaVersion >= 24) { - // instrumenter = "daikon.dcomp.Instrument24"; - // } else { - // instrumenter = "daikon.dcomp.Instrument"; - // } + Runtime.getRuntime().addShutdownHook(shutdown_thread); + + String instrumenter; + if (BcelUtil.javaVersion >= 24) { + instrumenter = "daikon.dcomp.Instrument24"; + } else { + instrumenter = "daikon.dcomp.Instrument"; + } // Setup the transformer ClassFileTransformer transformer; diff --git a/java/lib/commons-io-2.19.0.jar b/java/lib/commons-io-2.19.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..38e7fd20a44016c2b8d3556212a8b44974248057 GIT binary patch literal 556073 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�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ΜOG)&bk;bP9l_C43minX@M+`&T%|-hjS`WP?QOI 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%0AHpkKnI;FK<_gUC5#qD&b)XX)39LStKndzjjjc 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%0A1NaPGFjd1QAO=$4KdHF;<6-l4{(f@H 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%0Dg_+6KxU2914%q$TO*Xh2$M#MX+h__>w$vin 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 c9Dp?qJJJ_+p_U5Qy%qgXgdlpr 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

    #mr!mQp=&W~;2+GeyTlN+1n38 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 Zg@vhy&v?AmN~@LpH{v~~2bfRr{s*?EQ5gUL literal 0 HcmV?d00001 diff --git a/tests/daikon-tests/ncalc/README b/tests/daikon-tests/ncalc/README index 9930b1986b..567d232e3e 100644 --- a/tests/daikon-tests/ncalc/README +++ b/tests/daikon-tests/ncalc/README @@ -23,4 +23,4 @@ For Daikon testing we do this by adding the line: export LD_LIBRARY_PATH=$(PROJECT) && \ in tests/Makefile.common. This is inserted prior to every use of DynComp or Chicory. Note that this means it is set for every test case, but that should not be a problem as no other -test uses 'loadLibary'. +test uses 'loadLibrary'. From 4bd3e286e663e796773930c54e3d0487b99e2f5d Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 3 Oct 2025 15:24:12 -0700 Subject: [PATCH 101/211] remove extra blank line --- java/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/java/Makefile b/java/Makefile index 7b9c706bdb..769810c406 100644 --- a/java/Makefile +++ b/java/Makefile @@ -761,7 +761,6 @@ very-clean: clean clean-generated-files -rm -rf daikon/dcomp/DcompTest.log -rm -rf daikon/chicory/debug - run: all ${JAVA_COMMAND} daikon.Daikon From 050743fb843f8e8a16a54184ca8f2f2276a1637a Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 3 Oct 2025 16:50:46 -0700 Subject: [PATCH 102/211] remove static from declaration of interfaceList --- java/daikon/dcomp/ClassGen24.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 8a731f7360..72740a960f 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -59,7 +59,7 @@ public class ClassGen24 { /** The list of interfaces this class implements. */ @SuppressWarnings("nullness:initialization") - protected static List interfaceList; + protected List interfaceList; /** * Creates a ClassGen24 object. @@ -68,7 +68,6 @@ public class ClassGen24 { * @param className the containing class, in binary name format * @param classBuilder for the class */ - @SuppressWarnings("StaticAssignmentInConstructor") public ClassGen24( final ClassModel classModel, final @BinaryName String className, @@ -197,6 +196,15 @@ public final boolean isStatic() { } } + /** + * Return the interfaceList. + * + * @return the interfaceList + */ + public List getInterfaceList() { + return interfaceList; + } + /** * Return the class builder. * From fd5124ae5b0a1dc3706cf22802fa563306e5b07b Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 3 Oct 2025 16:52:20 -0700 Subject: [PATCH 103/211] use consistent capitalization of JUnit --- java/daikon/chicory/ClassInfo.java | 2 +- java/daikon/dcomp/DCInstrument.java | 12 ++++---- java/daikon/dcomp/DCInstrument24.java | 42 +++++++++++++-------------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/java/daikon/chicory/ClassInfo.java b/java/daikon/chicory/ClassInfo.java index 7e01059c36..3bdab0d53a 100644 --- a/java/daikon/chicory/ClassInfo.java +++ b/java/daikon/chicory/ClassInfo.java @@ -26,7 +26,7 @@ public class ClassInfo { public boolean hasClinit; /** True if the class is a JUnit test class. */ - public boolean isJunitTestClass; + public boolean isJUnitTestClass; // set by initViaReflection() /** reflection object for this class. */ diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 0c7c3b2b59..f39a6909bc 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -437,7 +437,7 @@ public JavaClass instrument() { System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } - if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + if (isJUnitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { junit_parse_seen = true; junit_state = JUnitState.TEST_DISCOVERY; break; @@ -455,7 +455,7 @@ public JavaClass instrument() { System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } - if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + if (isJUnitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { local_junit_parse_seen = true; break; } @@ -508,7 +508,7 @@ public JavaClass instrument() { System.out.printf("super_class: %s%n", super_class); } if (super_class.equals("junit.framework.TestCase")) { - // This is a junit test class and so are the + // This is a JUnit test class and so are the // elements of classnameStack. junit_test_class = true; junitTestClasses.add(this_class); @@ -517,7 +517,7 @@ public JavaClass instrument() { } break; } else if (super_class.equals("java.lang.Object")) { - // We're done; not a junit test class. + // We're done; not a JUnit test class. // Ignore items on classnameStack. break; } @@ -532,7 +532,7 @@ public JavaClass instrument() { // needs to be marked as a JUnit test class. (Daikon issue #536) if (!junit_test_class) { - // need to check for junit Test annotation on a method + // need to check for JUnit Test annotation on a method searchloop: for (Method m : gen.getMethods()) { for (final Attribute attribute : m.getAttributes()) { @@ -767,7 +767,7 @@ public JavaClass instrument() { * @param method_name method to be checked * @return true if the given method is a JUnit trigger */ - boolean isJunitTrigger(String classname, String method_name) { + boolean isJUnitTrigger(String classname, String method_name) { if ((classname.contains("JUnitCommandLineParseResult") && method_name.equals("parse")) // JUnit 4 || (classname.contains("EngineDiscoveryRequestResolution") diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index c463cebc88..ea14ebfea2 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -284,13 +284,13 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} /** Possible states of JUnit test discovery. */ protected enum JUnitState { - /** Have not seen a junit class file. */ + /** Have not seen a JUnit class file. */ NOT_SEEN, - /** Have seen a junit class file. */ + /** Have seen a JUnit class file. */ STARTING, - /** Have seen a junit class file that loads junit test classes. */ + /** Have seen a JUnit class file that loads JUnit test classes. */ TEST_DISCOVERY, - /** Have completed identifing junit test classes. */ + /** Have completed identifing JUnit test classes. */ RUNNING } @@ -440,8 +440,8 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; // TEMPORARY - debugInstrument.enabled = false; debugInstrument.enabled = true; + debugInstrument.enabled = false; bcelDebug = debugInstrument.enabled; @@ -573,7 +573,7 @@ private void instrumentClass( System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } - if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + if (isJUnitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { junit_parse_seen = true; junit_state = JUnitState.TEST_DISCOVERY; break; @@ -591,7 +591,7 @@ private void instrumentClass( System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } - if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + if (isJUnitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { local_junit_parse_seen = true; break; } @@ -641,7 +641,7 @@ private void instrumentClass( System.out.printf("super_class: %s%n", super_class); } if (super_class.equals("junit.framework.TestCase")) { - // This is a junit test class and so are the + // This is a JUnit test class and so are the // elements of classnameStack. junit_test_class = true; junitTestClasses.add(this_class); @@ -650,7 +650,7 @@ private void instrumentClass( } break; } else if (super_class.equals("java.lang.Object")) { - // We're done; not a junit test class. + // We're done; not a JUnit test class. // Ignore items on classnameStack. break; } @@ -665,7 +665,7 @@ private void instrumentClass( // needs to be marked as a JUnit test class. (Daikon issue #536) if (!junit_test_class) { - // need to check for junit Test annotation on a method + // need to check for JUnit Test annotation on a method searchloop: for (MethodModel mm : classModel.methods()) { for (Attribute attribute : mm.attributes()) { @@ -698,7 +698,7 @@ private void instrumentClass( } } - classInfo.isJunitTestClass = junit_test_class; + classInfo.isJUnitTestClass = junit_test_class; instrumentAllMethods(classModel, classBuilder, classInfo); @@ -721,7 +721,7 @@ private void instrumentClass( } // Output the list of interfaces. - classBuilder.withInterfaces(daikon.dcomp.ClassGen24.interfaceList); + classBuilder.withInterfaces(classGen.getInterfaceList()); // Copy all other ClassElements to output class (unchanged). for (ClassElement ce : classModel) { @@ -954,7 +954,7 @@ private void instrumentAllMethods( createMainStub(mgen, classBuilder, classInfo); } - if (classInfo.isJunitTestClass) { + if (classInfo.isJUnitTestClass) { addingDcompArg = false; } @@ -1225,7 +1225,7 @@ private void instrumentCode( } else { // normal method - if (!classInfo.isJunitTestClass) { + if (!classInfo.isJUnitTestClass) { // Add the DCompMarker argument to distinguish our version add_dcomp_arg(mgen, minfo); } @@ -1354,7 +1354,7 @@ private void instrumentCode( * @param method_name method to be checked * @return true if the given method is a JUnit trigger */ - boolean isJunitTrigger(String classname, String method_name) { + boolean isJUnitTrigger(String classname, String method_name) { if ((classname.contains("JUnitCommandLineParseResult") && method_name.equals("parse")) // JUnit 4 || (classname.contains("EngineDiscoveryRequestResolution") @@ -4462,11 +4462,11 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj - if (!classInfo.isJunitTestClass) { + if (!classInfo.isJUnitTestClass) { instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); // use null for marker mtdDComp = MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker); } else { - // for junit test class, the instrumented version has no dcomp arg + // for JUnit test class, the instrumented version has no dcomp arg mtdDComp = mtdNormal; } @@ -4475,7 +4475,7 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn instructions.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); - if (!classInfo.isJunitTestClass) { + if (!classInfo.isJUnitTestClass) { // build the uninstrumented equals_dcomp_instrumented method classBuilder.withMethod("equals_dcomp_instrumented", mtdNormal, access_flags, codeHandler1); } @@ -4556,13 +4556,13 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo instructions.add(InvokeInstruction.of(Opcode.INVOKESPECIAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); - if (!classInfo.isJunitTestClass) { + if (!classInfo.isJUnitTestClass) { // build the uninstrumented equals method classBuilder.withMethod("equals", mtdNormal, access_flags, codeHandler1); - // since not junit test class, add dcomp_marker to instrumented version of equals built below + // since not JUnit test class, add dcomp_marker to instrumented version of equals built below mtdDComp = MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker); } else { - // for junit test class, we build only the instrumented version with no dcomp arg + // for JUnit test class, we build only the instrumented version with no dcomp arg mtdDComp = mtdNormal; } From 2ff01b1326d97c84b30de026aa09b0a620114b04 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 3 Oct 2025 21:55:29 -0700 Subject: [PATCH 104/211] remove unneeded suppression --- java/daikon/dcomp/ClassGen24.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 72740a960f..f471f479ec 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -58,7 +58,6 @@ public class ClassGen24 { private @BinaryName String superclassName; /** The list of interfaces this class implements. */ - @SuppressWarnings("nullness:initialization") protected List interfaceList; /** From 2b5affac954236f5418f42fa3e6774fdb02a436d Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 4 Oct 2025 14:54:39 -0700 Subject: [PATCH 105/211] correct type of 'this' parameter --- java/daikon/chicory/MethodGen24.java | 3 ++- java/daikon/dcomp/DCInstrument24.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 8217260322..d08b75db45 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -429,8 +429,9 @@ public boolean fixLocals(MInfo24 minfo) { // If this is a native method the // localsTable may not exist. We may need to add a 'this' pointer. if ((localsTable.size() == 0) && !isStatic) { + ClassDesc thisDesc = ClassDesc.of(className); LocalVariable newVar = - LocalVariable.of(0, "this", CD_Object, minfo.startLabel, minfo.endLabel); + LocalVariable.of(0, "this", thisDesc, minfo.startLabel, minfo.endLabel); localsTable.add(newVar); modified = true; } diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index ea14ebfea2..e533c59ce4 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -4453,7 +4453,7 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn // Defining local variables is not strictly necessary, but we do // it to reduce the diffs with previous versions of DynComp. - localsTable.add(new myLocalVariable(0, "this", CD_Object)); + localsTable.add(new myLocalVariable(0, "this", ClassDesc.of(classInfo.class_name))); localsTable.add(new myLocalVariable(1, "obj", CD_Object)); MethodTypeDesc mtdNormal, mtdDComp; @@ -4543,7 +4543,7 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo // Defining local variables is not strictly necessary, but we do // it to reduce the diffs with previous versions of DynComp. - localsTable.add(new myLocalVariable(0, "this", CD_Object)); + localsTable.add(new myLocalVariable(0, "this", ClassDesc.of(classInfo.class_name))); localsTable.add(new myLocalVariable(1, "obj", CD_Object)); MethodTypeDesc mtdNormal, mtdDComp; From c46e3da7da0cc01c2dc8bf695a5e22cecda061b6 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 4 Oct 2025 14:57:11 -0700 Subject: [PATCH 106/211] clean up exception handling --- java/daikon/dcomp/BcelUtils24.java | 9 ++++++--- java/daikon/dcomp/Instrument24.java | 19 ++++++++++++++----- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index b1f31485cc..76efcf0e8b 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -116,9 +116,12 @@ static void adjust_code_for_locals_change(MethodGen24 mgen, int offsetFirstMoved default -> {} // ignore all other instructions } } - } catch (Exception e) { - System.err.printf("Unexpected exception encountered: %s", e); - e.printStackTrace(); + } catch (Throwable t) { + if (debugInstrument.enabled) { + t.printStackTrace(); + } + throw new DynCompError( + "Unexpected exception encountered in adjust_code_for_locals_change", t); } } diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 299bb0a31d..420c144bc4 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -102,7 +102,9 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri c = parser.parse(); } catch (Throwable t) { System.err.printf("Unexpected error %s while reading %s%n", t, className); - t.printStackTrace(); + if (debug_transform.enabled) { + t.printStackTrace(); + } // ignore the error, it shouldn't affect the instrumentation return; } @@ -116,7 +118,9 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri BcelUtil.dump(c, directory); } catch (Throwable t) { System.err.printf("Unexpected error %s writing debug files for: %s%n", t, className); - t.printStackTrace(); + if (debug_transform.enabled) { + t.printStackTrace(); + } // ignore the error, it shouldn't affect the instrumentation } } @@ -248,7 +252,9 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri classModel = classFile.parse(classfileBuffer); } catch (Throwable t) { System.err.printf("Unexpected error %s reading in %s%n", t, binaryClassName); - t.printStackTrace(); + if (debug_transform.enabled) { + t.printStackTrace(); + } // No changes to the bytecodes return null; } @@ -269,8 +275,11 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri newBytes = dci.instrument(classInfo); } catch (Throwable t) { System.err.printf("Unexpected error %s in transform of %s%n", t, binaryClassName); - t.printStackTrace(); - throw new RuntimeException("Unexpected error", t); + if (debug_transform.enabled) { + t.printStackTrace(); + } + // No changes to the bytecodes + return null; } if (newBytes != null) { From ae17039cc32cdbf94bbd9765344f25c678579031 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 4 Oct 2025 15:04:00 -0700 Subject: [PATCH 107/211] make interfaceList private instance variable --- java/daikon/dcomp/ClassGen24.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index f471f479ec..28f5808043 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -58,7 +58,7 @@ public class ClassGen24 { private @BinaryName String superclassName; /** The list of interfaces this class implements. */ - protected List interfaceList; + private List interfaceList; /** * Creates a ClassGen24 object. From ad47d6e0defcd2db29318cf069f92201704db507 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 4 Oct 2025 15:04:42 -0700 Subject: [PATCH 108/211] clean up FIle usage --- java/daikon/dcomp/BuildJDK24.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 017b8c6167..447df4f4eb 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -182,7 +182,7 @@ public static void main(String[] args) throws IOException { // We've finished instrumenting all the class files. Now we create some // abstract interface classes for use by the DynComp runtime. - build.addInterfaceClasses(dest_dir.getName()); + build.addInterfaceClasses(dest_dir); // Write out the file containing the static-fields map. System.out.printf("Found %d static fields.%n", DCInstrument24.static_field_id.size()); @@ -431,7 +431,7 @@ void instrument_classes(File dest_dir, Map class_stream_map * * @param destDir where to store the interface classes */ - private void addInterfaceClasses(String destDir) { + private void addInterfaceClasses(File destDir) { // Create the DcompMarker class which is used to identify instrumented calls. createDCompClass(destDir, "DCompMarker", false); @@ -451,7 +451,7 @@ private void addInterfaceClasses(String destDir) { * @param dcompInstrumented if true, add equals_dcomp_instrumented method to class */ private void createDCompClass( - String destDir, @BinaryName String className, boolean dcompInstrumented) { + File destDir, @BinaryName String className, boolean dcompInstrumented) { byte[] classBytes; try { From 247edd44271aa4ff5d2badef4f8cdcd602536ba5 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 4 Oct 2025 18:20:10 -0700 Subject: [PATCH 109/211] clean up and correct LDC implementation --- java/daikon/dcomp/CalcStack24.java | 31 ++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index f32d12504a..ec12fd03cd 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -14,11 +14,14 @@ import java.lang.classfile.Label; import java.lang.classfile.Opcode; import java.lang.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.ConstantDynamicEntry; import java.lang.classfile.constantpool.DoubleEntry; import java.lang.classfile.constantpool.FloatEntry; import java.lang.classfile.constantpool.IntegerEntry; import java.lang.classfile.constantpool.LoadableConstantEntry; import java.lang.classfile.constantpool.LongEntry; +import java.lang.classfile.constantpool.MethodHandleEntry; +import java.lang.classfile.constantpool.MethodTypeEntry; import java.lang.classfile.constantpool.StringEntry; import java.lang.classfile.instruction.BranchInstruction; import java.lang.classfile.instruction.ConstantInstruction; @@ -749,18 +752,22 @@ static boolean calcOperandStack( ConstantInstruction.LoadConstantInstruction ldc = (ConstantInstruction.LoadConstantInstruction) inst; LoadableConstantEntry lce = ldc.constantEntry(); - if (lce instanceof IntegerEntry) { - stack.push(CD_int); - } else if (lce instanceof LongEntry) { - stack.push(CD_long); - } else if (lce instanceof FloatEntry) { - stack.push(CD_float); - } else if (lce instanceof DoubleEntry) { - stack.push(CD_double); - } else if (lce instanceof StringEntry) { - stack.push(CD_String); - } else if (lce instanceof ClassEntry cent) { - stack.push(cent.asSymbol()); + + switch (lce) { + case ClassEntry cle -> stack.push(cle.asSymbol()); + case ConstantDynamicEntry cde -> stack.push(cde.typeSymbol()); + case DoubleEntry de -> + stack.push(CD_double); // LDC2_W only, but we assume correct code + case FloatEntry fe -> stack.push(CD_float); + case IntegerEntry ie -> stack.push(CD_int); + case LongEntry le -> stack.push(CD_long); // LDC2_W only, but we assume correct code + case MethodHandleEntry mhe -> + stack.push(ClassDesc.of("java.lang.invoke.MethodHandle")); + case MethodTypeEntry mte -> stack.push(ClassDesc.of("java.lang.invoke.MethodType")); + case StringEntry se -> stack.push(CD_String); + default -> { + throw new DynCompError("Illegal LoadableConstantEntry: " + lce); + } } return true; From 0a02d79e466628d0722dd6122678f26a81b7c7a4 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sat, 4 Oct 2025 18:21:20 -0700 Subject: [PATCH 110/211] rearrange code to prevent npe --- java/daikon/dcomp/Instrument24.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 420c144bc4..68306d1cb0 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -146,13 +146,13 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri debug_transform.log("%nEntering dcomp.Instrument24.transform(): class = %s%n", className); - @BinaryName String binaryClassName = Signatures.internalFormToBinaryName(className); - if (className == null) { // most likely a lambda related class return null; } + @BinaryName String binaryClassName = Signatures.internalFormToBinaryName(className); + // See comments in Premain.java about meaning and use of in_shutdown. if (Premain.in_shutdown) { debug_transform.log("Skipping in_shutdown class %s%n", binaryClassName); From e39f6ae62183966ac57a6752c5c54ab0c3ccecf7 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Sun, 5 Oct 2025 01:11:22 -0700 Subject: [PATCH 111/211] Code review of `MethodGen24.java` --- java/daikon/chicory/Instrument24.java | 4 ++-- java/daikon/chicory/MethodGen24.java | 33 +++++++++++++++------------ java/daikon/dcomp/ClassGen24.java | 7 +++--- java/daikon/dcomp/DCInstrument24.java | 2 +- 4 files changed, 24 insertions(+), 22 deletions(-) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 2c93a4a57a..53e0079eef 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -90,7 +90,7 @@ *

    This class is loaded by ChicoryPremain at startup. It is a ClassFileTransformer which means * that its {@code transform} method gets called each time the JVM loads a class. * - *

    Instrument24 uses Java's ({@code java.lang.classfile}) APIs for reading and modifying .class + *

    Instrument24 uses Java's {@code java.lang.classfile} APIs for reading and modifying .class * files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more complete and robust * (no more fiddling with StackMaps) and are always up to date with any .class file changes (since * they are part of the JDK). (We will need to continue to support Instrument.java using BCEL, as we @@ -1138,7 +1138,7 @@ private void callEnterOrExit( newCode.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); } - /** Variables used for processing a switch instruction. */ + /** Used for processing a switch instruction. */ private static class ModifiedSwitchInfo { /** Possibly modified default switch target. */ diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index d08b75db45..57e55d3f50 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -38,11 +38,10 @@ import org.checkerframework.checker.signature.qual.MethodDescriptor; /** - * MethodGen24 collects and stores all the relevant information about a method that Instrument24 - * might need. MethodGen24 is analogous to the BCEL MethodGen class. The similarity makes it easier - * to keep Instrument.java and Instrument24.java in sync. + * MethodGen24 represents a method. MethodGen24 is analogous to the BCEL MethodGen class. The + * similarity makes it easier to keep Instrument.java and Instrument24.java in sync. * - *

    MethodGen24 uses Java's ({@code java.lang.classfile}) APIs for reading and modifying .class + *

    MethodGen24 uses Java's {@code java.lang.classfile} APIs for reading and modifying .class * files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more complete and robust * (no more fiddling with StackMaps) and are always up to date with any .class file changes (since * they are part of the JDK). (We will need to continue to support Instrument.java using BCEL, as we @@ -51,9 +50,10 @@ public class MethodGen24 { /** - * Models the body of the method (the Code attribute). A Code attribute is viewed as a sequence of - * CodeElements, which is the only way to access Instructions; the order of elements of a code - * model is significant. May be null if the method has no code. + * Per the CodeModel Javadoc: "Models the body of the method (the Code attribute). A Code + * attribute is viewed as a sequence of CodeElements, which is the only way to access + * Instructions; the order of elements of a code model is significant." May be null if the method + * has no code. * *

    Several fields of CodeModel are declared as fields of MethodGen24 to better correspond to * BCEL's version of MethodGen and to reduce re-computation. Currently we set these fields in the @@ -112,13 +112,13 @@ public class MethodGen24 { /** * The method's signature. This is a String that encodes type information about a (possibly * generic) method declaration. It describes any type parameters of the method; the (possibly - * parameterized) types of any formal parameters; the (possibly parameterized) return type, if + * parameterized) types of any formal parameters; and the (possibly parameterized) return type, if * any. It is not a true method signature as documented in the Java Virtual Machine Specification * as it does not include the types of any exceptions declared in the method's throws clause. */ private @MethodDescriptor String signature; - // Information extracted from {@code mtd}, the MethodTypeDescriptor. + // Information extracted from {@link #mtd}, the MethodTypeDescriptor. /** The method's parameter types. */ private ClassDesc[] paramTypes; @@ -141,7 +141,7 @@ public class MethodGen24 { // TODO: Should uses of this be synchronized? private ConstantPoolBuilder poolBuilder; - /** Variables used for processing the current method. */ + /** Information about the current method. */ public static class MInfo24 { /** The index of this method in SharedData.methods. */ @@ -164,10 +164,13 @@ public static class MInfo24 { /** Label for first byte code of method, used to give new locals method scope. */ public final Label startLabel; - /** Label for last byte code of method, used to give new locals method scope. */ + /** Label for last byte code of method. Used when creating a new method-scope local variable. */ public final Label endLabel; - /** Label for start of original code, post insertion of entry instrumentation. */ + /** + * Label for start of original code, post insertion of entry instrumentation. Used when creating + * a new method-scope local variable. + */ public Label entryLabel; /** @@ -230,7 +233,7 @@ public MethodGen24( this.codeList = cl; } else { this.code = null; - this.codeList = new ArrayList<>(); + this.codeList = Collections.emptyList(); } Optional ca = methodModel.findAttribute(Attributes.code()); @@ -248,7 +251,7 @@ public MethodGen24( Optional sa = methodModel.findAttribute(Attributes.signature()); if (sa.isPresent()) { - @SuppressWarnings("signature") // JDK 24 is not annotated as yet + @SuppressWarnings("signature") // JDK 24 is not annotated yet. @MethodDescriptor String signature1 = sa.get().signature().stringValue(); signature = signature1; } else { @@ -708,7 +711,7 @@ public int getMaxStack() { /** * Returns the signature for the current method. This is a String that encodes type information * about a (possibly generic) method declaration. It describes any type parameters of the method; - * the (possibly parameterized) types of any formal parameters; the (possibly parameterized) + * the (possibly parameterized) types of any formal parameters; and the (possibly parameterized) * return type, if any. * * @return signature for the current method diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 28f5808043..e845a4e6b0 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -18,11 +18,10 @@ import org.checkerframework.checker.signature.qual.MethodDescriptor; /** - * ClassGen24 collects and stores all the relevant information about a class that DCInstrument24 - * might need. ClassGen24 is analogous to the BCEL ClassGen class. The similarity makes it easier to - * keep DCInstrument.java and DCInstrument24.java in sync. + * ClassGen24 represents a class. ClassGen24 is analogous to the BCEL ClassGen class. The similarity + * makes it easier to keep DCInstrument.java and DCInstrument24.java in sync. * - *

    ClassGen24 uses Java's ({@code java.lang.classfile}) APIs for reading and modifying .class + *

    ClassGen24 uses Java's {@code java.lang.classfile} APIs for reading and modifying .class * files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more complete and robust * (no more fiddling with StackMaps) and are always up to date with any .class file changes (since * they are part of the JDK). (We will need to continue to support Instrument.java using BCEL, as we diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index e533c59ce4..0b510e3413 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -4762,7 +4762,7 @@ protected String simplify_method_name(MethodGen24 mgen) { // UNDONE consider making this a Java record - /** Variables used for processing a switch instruction. */ + /** Information about processing a switch instruction. */ private static class ModifiedSwitchInfo { /** Possibly modified default switch target. */ From efc663c4a544fba1b213c3177b0a735f2cb643ce Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Sun, 5 Oct 2025 01:12:41 -0700 Subject: [PATCH 112/211] Edits at beginning of Instrument --- doc/potential-projects.html | 4 ++-- java/daikon/chicory/Instrument.java | 21 ++++++++++----------- java/daikon/chicory/Instrument24.java | 21 +++++++++++---------- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/doc/potential-projects.html b/doc/potential-projects.html index 4e160d701f..99c4d4cf91 100644 --- a/doc/potential-projects.html +++ b/doc/potential-projects.html @@ -2,8 +2,8 @@ Daikon project ideas - - + +

    Daikon project ideas

    diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 49eab296f1..0a29bf4a91 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -50,23 +50,23 @@ import org.checkerframework.dataflow.qual.Pure; /** - * This class is responsible for modifying another class's bytecodes. Specifically, its main task is - * to add calls into the Chicory runtime at method entries and exits for instrumentation purposes. - * These added calls are sometimes referred to as "hooks". + * This class modifies another class's bytecodes. It adds calls into the Chicory runtime at method + * entries and exits for instrumentation purposes. These added calls are sometimes referred to as + * "hooks". * *

    This class is loaded by ChicoryPremain at startup. It is a ClassFileTransformer which means - * that its {@code transform} method gets called each time the JVM loads a class. + * that its {@link #transform} method gets called each time the JVM loads a class. */ public class Instrument extends InstructionListUtils implements ClassFileTransformer { - /** The location of the runtime support class. */ + /** The name of the Chicory runtime support class. */ private static final String runtime_classname = "daikon.chicory.Runtime"; - /** Debug information about which classes and/or methods are transformed and why. */ + /** A log for debug information about which classes and/or methods are transformed and why. */ protected static final SimpleLog debug_transform = new SimpleLog(false); - // Public so can be enabled from daikon.dcomp.Instrument. - /** Debug information about ppt-omit and ppt-select. */ + // Public so daikon.dcomp.Instrument can enable it. + /** A log for debug information about ppt-omit and ppt-select. */ public static final SimpleLog debug_ppt_omit = new SimpleLog(false); /** Directory for debug output. */ @@ -87,7 +87,6 @@ public class Instrument extends InstructionListUtils implements ClassFileTransfo /** Create an instrumenter. Setup debug directories, if needed. */ @SuppressWarnings("nullness:initialization") public Instrument() { - super(); debug_transform.enabled = Chicory.debug_transform || Chicory.debug || Chicory.verbose; debug_ppt_omit.enabled = debugInstrument.enabled = Chicory.debug; @@ -104,7 +103,7 @@ public Instrument() { /** * Returns true if the given ppt should be ignored. Uses the patterns in {@link * daikon.chicory.Runtime#ppt_omit_pattern} and {@link daikon.chicory.Runtime#ppt_select_pattern}. - * This method is used by both Chicory and Dyncomp. + * This method is used by both Chicory and DynComp. * * @param className class name to be checked * @param methodName method name to be checked @@ -159,7 +158,7 @@ public static boolean shouldIgnore( * boot classes have the null loader, but some generated classes (such as those in sun.reflect) * will have a non-null loader. Some of these have a null parent loader, but some do not. The * check for the sun.reflect package is a hack to catch all of these. A more consistent mechanism - * to determine boot classes would be preferrable. + * to determine boot classes would be preferable. * * @param className class name to be checked * @param loader the class loader for the class diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 2c93a4a57a..2a15aba2a5 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -83,12 +83,12 @@ import org.checkerframework.dataflow.qual.Pure; /** - * This class is responsible for modifying another class's bytecodes. Specifically, its main task is - * to add calls into the Chicory runtime at method entries and exits for instrumentation purposes. - * These added calls are sometimes referred to as "hooks". + * This class modifies another class's bytecodes. It adds calls into the Chicory runtime at method + * entries and exits for instrumentation purposes. These added calls are sometimes referred to as + * "hooks". * *

    This class is loaded by ChicoryPremain at startup. It is a ClassFileTransformer which means - * that its {@code transform} method gets called each time the JVM loads a class. + * that its {@link #transform} method gets called each time the JVM loads a class. * *

    Instrument24 uses Java's ({@code java.lang.classfile}) APIs for reading and modifying .class * files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more complete and robust @@ -98,17 +98,17 @@ */ public class Instrument24 implements ClassFileTransformer { - /** The location of the runtime support class. */ + /** The name of the Chicory runtime support class. */ private static final String runtime_classname = "daikon.chicory.Runtime"; /** The ClassDesc for the Chicory runtime support class. */ private static final ClassDesc runtimeCD = ClassDesc.of(runtime_classname); - /** Debug information about which classes and/or methods are transformed and why. */ + /** A log for debug information about which classes and/or methods are transformed and why. */ protected static final SimpleLog debug_transform = new SimpleLog(false); - // Public so can be enabled from daikon.dcomp.Instrument24. - /** Debug information about ppt-omit and ppt-select. */ + // Public so daikon.dcomp.Instrument24 can enable it. + /** A log for debug information about ppt-omit and ppt-select. */ public static final SimpleLog debug_ppt_omit = new SimpleLog(false); /** A log to which to print debugging information about program instrumentation. */ @@ -326,10 +326,11 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str binaryClassName); } + debug_transform.log("%nTransforming: %s%n", binaryClassName); + // Instrument the classfile, die on any errors ClassInfo classInfo = new ClassInfo(binaryClassName, cfLoader); - byte[] newBytes = {}; - debug_transform.log("%nTransforming: %s%n", binaryClassName); + byte[] newBytes; try { newBytes = classFile.build( From 7d77b002e44508d4f0bf4f224a48c0c5fed97280 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Sun, 5 Oct 2025 14:57:28 -0700 Subject: [PATCH 113/211] fix compilation error --- java/daikon/chicory/MethodGen24.java | 1 + 1 file changed, 1 insertion(+) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 57e55d3f50..3d3cf9920b 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -21,6 +21,7 @@ import java.lang.constant.ClassDesc; import java.lang.constant.MethodTypeDesc; import java.util.ArrayList; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.LinkedList; From 801222288e6cacd426da7d8b3990560a59637abb Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 6 Oct 2025 11:51:33 -0700 Subject: [PATCH 114/211] reduce differences between Instrument and Instrument24 --- java/daikon/dcomp/Instrument.java | 56 ++++++++++++++--------------- java/daikon/dcomp/Instrument24.java | 6 ++-- 2 files changed, 30 insertions(+), 32 deletions(-) diff --git a/java/daikon/dcomp/Instrument.java b/java/daikon/dcomp/Instrument.java index 2b6eae87ad..930bcea4bd 100644 --- a/java/daikon/dcomp/Instrument.java +++ b/java/daikon/dcomp/Instrument.java @@ -89,7 +89,9 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl BcelUtil.dump(c, directory); } catch (Throwable t) { System.err.printf("Unexpected error %s writing debug files for: %s%n", t, className); - t.printStackTrace(); + if (debug_transform.enabled) { + t.printStackTrace(); + } // ignore the error, it shouldn't affect the instrumentation } } @@ -113,28 +115,15 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl // for debugging // new Throwable().printStackTrace(); - debug_transform.log("Entering dcomp.Instrument.transform(): class = %s%n", className); - - @BinaryName String binaryClassName = Signatures.internalFormToBinaryName(className); + debug_transform.log("%nEntering dcomp.Instrument.transform(): class = %s%n", className); if (className == null) { - /* - // debug code to display unnamed class - try { - // Parse the bytes of the classfile, die on any errors - ClassParser parser = new ClassParser(new ByteArrayInputStream(classfileBuffer), className); - JavaClass c = parser.parse(); - System.out.println(c.toString()); - } catch (Throwable e) { - System.out.printf("Unexpected Error: %s%n", e); - e.printStackTrace(); - throw new RuntimeException("Unexpected error", e); - } - */ // most likely a lambda related class return null; } + @BinaryName String binaryClassName = Signatures.internalFormToBinaryName(className); + // See comments in Premain.java about meaning and use of in_shutdown. if (Premain.in_shutdown) { debug_transform.log("Skipping in_shutdown class %s%n", binaryClassName); @@ -167,11 +156,9 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl } } - if (BcelUtil.javaVersion > 8) { - if (Premain.problem_classes.contains(binaryClassName)) { - debug_transform.log("Skipping problem class %s%n", binaryClassName); - return null; - } + if ((BcelUtil.javaVersion > 8) && Premain.problem_classes.contains(binaryClassName)) { + debug_transform.log("Skipping problem class %s%n", binaryClassName); + return null; } if (className.contains("/$Proxy")) { @@ -179,6 +166,11 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl return null; } + if (className.startsWith("java/lang/instrument/")) { + debug_transform.log("Skipping java instrumentation class %s%n", binaryClassName); + return null; + } + if (className.equals("java/lang/DCRuntime")) { debug_transform.log("Skipping special DynComp runtime class %s%n", binaryClassName); return null; @@ -226,8 +218,10 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl ClassParser parser = new ClassParser(bais, className); c = parser.parse(); } catch (Throwable t) { - System.err.printf("Unexpected error %s while reading %s%n", t, binaryClassName); - t.printStackTrace(); + System.err.printf("Unexpected error %s reading in %s%n", t, binaryClassName); + if (debug_transform.enabled) { + t.printStackTrace(); + } // No changes to the bytecodes return null; } @@ -242,11 +236,12 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl DCInstrument dci = new DCInstrument(c, in_jdk, loader); njc = dci.instrument(); } catch (Throwable t) { - RuntimeException re = - new RuntimeException( - String.format("Unexpected error %s in transform of %s", t, binaryClassName), t); - re.printStackTrace(); - throw re; + System.err.printf("Unexpected error %s in transform of %s%n", t, binaryClassName); + if (debug_transform.enabled) { + t.printStackTrace(); + } + // No changes to the bytecodes + return null; } if (njc != null) { @@ -278,6 +273,9 @@ private static boolean is_dcomp(String classname) { && !classname.equals("daikon/chicory/ChicoryTest")) { return true; } + if (classname.equals("daikon/Chicory")) { + return true; + } if (classname.equals("daikon/PptTopLevel$PptType")) { return true; } diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 68306d1cb0..2da7dc9c3e 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -288,14 +288,14 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri } return newBytes; } else { - // debug_transform.log("Didn't instrument %s%n", binaryClassName); + debug_transform.log("Didn't instrument %s%n", binaryClassName); // No changes to the bytecodes return null; } } /** - * Returns whether or not the specified class is part of dcomp itself (and thus should not be + * Returns true if the specified class is part of dcomp itself (and thus should not be * instrumented). Some Daikon classes that are used by DynComp are included here as well. * * @param classname class to be checked @@ -324,7 +324,7 @@ private static boolean is_dcomp(String classname) { } /** - * Returns whether or not the specified class is part of a tool known to do Java byte code + * Returns true if the specified class is part of a tool known to do Java byte code * transformation. We need to warn the user that this may not work correctly. * * @param classname class to be checked From 90a06bf2691a4e0bb99688e9b9f5025b307f40fb Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 6 Oct 2025 11:54:03 -0700 Subject: [PATCH 115/211] use JUnit not Junit --- java/daikon/chicory/ClassInfo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/chicory/ClassInfo.java b/java/daikon/chicory/ClassInfo.java index 7e01059c36..3bdab0d53a 100644 --- a/java/daikon/chicory/ClassInfo.java +++ b/java/daikon/chicory/ClassInfo.java @@ -26,7 +26,7 @@ public class ClassInfo { public boolean hasClinit; /** True if the class is a JUnit test class. */ - public boolean isJunitTestClass; + public boolean isJUnitTestClass; // set by initViaReflection() /** reflection object for this class. */ From 43bc22ad04a11565950db307f1ccd3fbc56772a8 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 6 Oct 2025 11:54:46 -0700 Subject: [PATCH 116/211] improve comments --- java/daikon/chicory/MethodGen24.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index d08b75db45..70c618e516 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -55,10 +55,12 @@ public class MethodGen24 { * CodeElements, which is the only way to access Instructions; the order of elements of a code * model is significant. May be null if the method has no code. * - *

    Several fields of CodeModel are declared as fields of MethodGen24 to better correspond to + *

    Several fields of MethodModel are declared as fields of MethodGen24 to better correspond to * BCEL's version of MethodGen and to reduce re-computation. Currently we set these fields in the * constructor, but they could be calculated lazily on first reference. */ + // Start of MethodModel items. + private @Nullable CodeModel code; /** The method's access flags as a bit mask. */ @@ -73,12 +75,14 @@ public class MethodGen24 { */ private MethodTypeDesc mtd; + // End of MethodModel items. + /** True if the method is static. */ private boolean isStatic; /** - * The method's CodeAttribute. This contains information about the bytecodes (instructions) of - * this method. May be null if the method has no code. + * The method's CodeAttribute. This contains the bytecodes (instructions) of the method as well as + * additional information about the bytecodes. May be null if the method has no code. * *

    Several fields of CodeAttribute are declared as fields of MethodGen24 to better model BCEL's * version of MethodGen and to reduce re-computation. Note that we set these fields in the @@ -86,12 +90,16 @@ public class MethodGen24 { */ private @Nullable CodeAttribute codeAttribute; + // Start of CodeAttribute items. + /** The method's maximum number of local slots. */ private int maxLocals; /** The method's maximum stack size. */ private int maxStack; + // End of CodeAttribute items. + /** The name of the method's enclosing class, in binary name format. */ private @BinaryName String className; @@ -118,7 +126,7 @@ public class MethodGen24 { */ private @MethodDescriptor String signature; - // Information extracted from {@code mtd}, the MethodTypeDescriptor. + // The next two items are extracted from {@code mtd}, the MethodTypeDescriptor. /** The method's parameter types. */ private ClassDesc[] paramTypes; From 8edc65802c05d4a389edec2d8c1ae481ba062b97 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 6 Oct 2025 11:55:31 -0700 Subject: [PATCH 117/211] correct handling of LDC instruction --- java/daikon/dcomp/CalcStack24.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index ec12fd03cd..2a330a282e 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -1,5 +1,6 @@ package daikon.dcomp; +import static java.lang.constant.ConstantDescs.CD_Class; import static java.lang.constant.ConstantDescs.CD_Object; import static java.lang.constant.ConstantDescs.CD_String; import static java.lang.constant.ConstantDescs.CD_double; @@ -754,7 +755,7 @@ static boolean calcOperandStack( LoadableConstantEntry lce = ldc.constantEntry(); switch (lce) { - case ClassEntry cle -> stack.push(cle.asSymbol()); + case ClassEntry cle -> stack.push(CD_Class); case ConstantDynamicEntry cde -> stack.push(cde.typeSymbol()); case DoubleEntry de -> stack.push(CD_double); // LDC2_W only, but we assume correct code From 6fade13f8f562ee1ea6bea2611183d647a3996c4 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 6 Oct 2025 11:56:47 -0700 Subject: [PATCH 118/211] improve comments --- java/daikon/dcomp/ClassGen24.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 28f5808043..221a18b792 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -39,12 +39,22 @@ public class ClassGen24 { */ private ClassModel classModel; + // Start of ClassModel items. + /** The class's access flags. */ private AccessFlags accessFlags; + /** The list of interfaces this class implements. */ + private List interfaceList; + + /** The name of the class's enclosing class, in binary name format. */ + private @BinaryName String superclassName; + /** The class's name. */ private @BinaryName String className; + // End of ClassModel items. + /** The ClassBuilder for this class. */ private ClassBuilder classBuilder; @@ -54,12 +64,6 @@ public class ClassGen24 { /** True if the class is static. */ private boolean isStatic; - /** The name of the class's enclosing class, in binary name format. */ - private @BinaryName String superclassName; - - /** The list of interfaces this class implements. */ - private List interfaceList; - /** * Creates a ClassGen24 object. * From dca0a0342339d697ca95b7e6f2b5ce66797cf550 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 6 Oct 2025 11:57:57 -0700 Subject: [PATCH 119/211] JUnit not Junit; correct many uses of arg to param --- java/daikon/dcomp/DCInstrument24.java | 113 +++++++++++++------------- 1 file changed, 57 insertions(+), 56 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index fb6f1d92a5..f37b5adfb0 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -698,7 +698,7 @@ private void instrumentClass( } } - classInfo.isJunitTestClass = junit_test_class; + classInfo.isJUnitTestClass = junit_test_class; instrumentAllMethods(classModel, classBuilder, classInfo); @@ -954,7 +954,7 @@ private void instrumentAllMethods( createMainStub(mgen, classBuilder, classInfo); } - if (classInfo.isJunitTestClass) { + if (classInfo.isJUnitTestClass) { addingDcompArg = false; } @@ -1225,7 +1225,7 @@ private void instrumentCode( } else { // normal method - if (!classInfo.isJunitTestClass) { + if (!classInfo.isJUnitTestClass) { // Add the DCompMarker argument to distinguish our version add_dcomp_arg(mgen, minfo); } @@ -1784,7 +1784,7 @@ LocalVariable createTagFrameLocal(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { */ private List createTagFrame(MethodGen24 mgen) { - ClassDesc arg_types[] = mgen.getParameterTypes(); + ClassDesc paramTypes[] = mgen.getParameterTypes(); // Determine the offset of the first argument in the frame int offset = 1; @@ -1803,11 +1803,11 @@ private List createTagFrame(MethodGen24 mgen) { String params = "" + (char) (frame_size + '0'); // Character.forDigit (frame_size, Character.MAX_RADIX); List plist = new ArrayList<>(); - for (ClassDesc argType : arg_types) { - if (argType.isPrimitive()) { + for (ClassDesc paramType : paramTypes) { + if (paramType.isPrimitive()) { plist.add(offset); } - offset += TypeKind.from(argType).slotSize(); + offset += TypeKind.from(paramType).slotSize(); } for (int ii = plist.size() - 1; ii >= 0; ii--) { char tmpChar = (char) (plist.get(ii) + '0'); @@ -2404,11 +2404,11 @@ private void add_exit( * * @param startClass the ClassModel whose interfaces are to be searched * @param methodName the target method to search for - * @param argTypes the target method's argument types + * @param paramTypes the target method's parameter types * @return the name of the interface class containing target method, or null if not found */ private @Nullable @BinaryName String getDefiningInterface( - ClassModel startClass, String methodName, ClassDesc[] argTypes) { + ClassModel startClass, String methodName, ClassDesc[] paramTypes) { if (debugGetDefiningInterface) { System.out.println("searching interfaces of: " + ClassGen24.getClassName(startClass)); @@ -2431,13 +2431,13 @@ private void add_exit( if (debugGetDefiningInterface) { System.out.println(" " + jmName + Arrays.toString(mtd.parameterArray())); } - if (jmName.equals(methodName) && Arrays.equals(mtd.parameterArray(), argTypes)) { + if (jmName.equals(methodName) && Arrays.equals(mtd.parameterArray(), paramTypes)) { // We have a match. return interfaceName; } } // no match found; does this interface extend other interfaces? - @BinaryName String foundAbove = getDefiningInterface(cm, methodName, argTypes); + @BinaryName String foundAbove = getDefiningInterface(cm, methodName, paramTypes); if (foundAbove != null) { // We have a match. return foundAbove; @@ -2461,13 +2461,13 @@ private List handleInvokeDynamic(InvokeDynamicInstruction invoke) { String classname = ""; MethodTypeDesc mtd = invoke.typeSymbol(); ClassDesc returnType = mtd.returnType(); - ClassDesc[] argTypes = mtd.parameterArray(); + ClassDesc[] paramTypes = mtd.parameterArray(); if (debugHandleInvoke) { System.out.println("invokedynamic: " + invoke); System.out.printf(" callee_instrumented: false%n"); } - return cleanInvokeTagStack(invoke, classname, returnType, argTypes); + return cleanInvokeTagStack(invoke, classname, returnType, paramTypes); } /** @@ -2502,7 +2502,7 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge @BinaryName String classname = invoke.owner().asInternalName().replace('/', '.'); MethodTypeDesc mtd = invoke.typeSymbol(); ClassDesc returnType = mtd.returnType(); - ClassDesc[] argTypes = mtd.parameterArray(); + ClassDesc[] paramTypes = mtd.parameterArray(); if (debugHandleInvoke) { System.out.println(); @@ -2511,7 +2511,7 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge System.out.println("classname: " + classname); } - if (is_object_equals(methodName, returnType, argTypes)) { + if (is_object_equals(methodName, returnType, paramTypes)) { // Replace calls to Object's equals method with calls to our // replacement, a static method in DCRuntime. @@ -2524,7 +2524,7 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge return il; } - if (is_object_clone(methodName, returnType, argTypes)) { + if (is_object_clone(methodName, returnType, paramTypes)) { // Replace calls to Object's clone method with calls to our // replacement, a static method in DCRuntime. @@ -2533,7 +2533,7 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge } boolean callee_instrumented = - isTargetInstrumented(invoke, mgen, classname, methodName, argTypes); + isTargetInstrumented(invoke, mgen, classname, methodName, paramTypes); if (debugHandleInvoke) { System.out.printf("handleInvoke(%s)%n", invoke); @@ -2550,7 +2550,7 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge il.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); // Add the DCompMarker to the arg types list. - List new_arg_types = new ArrayList<>(Arrays.asList(argTypes)); + List new_arg_types = new ArrayList<>(Arrays.asList(paramTypes)); new_arg_types.add(dcomp_marker); NameAndTypeEntry nte = @@ -2559,7 +2559,7 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge return il; } else { // not instrumented, discard the tags before making the call - return cleanInvokeTagStack(invoke, classname, returnType, argTypes); + return cleanInvokeTagStack(invoke, classname, returnType, paramTypes); } } @@ -2570,11 +2570,11 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge * @param invoke a method invocation bytecode instruction * @param classname target class of the invoke * @param returnType return type of method - * @param argTypes argument types of target method + * @param paramTypes parameter types of target method * @return instructions to replace the given instruction */ private List cleanInvokeTagStack( - Instruction invoke, String classname, ClassDesc returnType, ClassDesc[] argTypes) { + Instruction invoke, String classname, ClassDesc returnType, ClassDesc[] paramTypes) { List il = new ArrayList<>(); // JUnit test classes are a bit strange. They are marked as not being callee_instrumented @@ -2582,7 +2582,7 @@ private List cleanInvokeTagStack( // they actually contain instrumentation code. So we do not want to discard // the primitive tags prior to the call. if (!junitTestClasses.contains(classname)) { - il = discard_primitive_tags(argTypes); + il = discard_primitive_tags(paramTypes); } // Add a tag for the return type if it is primitive. @@ -2598,18 +2598,18 @@ private List cleanInvokeTagStack( /** * Returns instructions that will discard any primitive tags corresponding to the specified - * arguments. Returns an empty instruction list if there are no primitive arguments to discard. + * parameters. Returns an empty instruction list if there are no primitive parameters to discard. * - * @param argTypes argument types of target method + * @param paramTypes parameter types of target method * @return an instruction list that discards primitive tags from DCRuntime's per-thread * comparability data stack */ - private List discard_primitive_tags(ClassDesc[] argTypes) { + private List discard_primitive_tags(ClassDesc[] paramTypes) { List il = new ArrayList<>(); int primitive_cnt = 0; - for (ClassDesc argType : argTypes) { - if (argType.isPrimitive()) { + for (ClassDesc paramType : paramTypes) { + if (paramType.isPrimitive()) { primitive_cnt++; } } @@ -2626,7 +2626,7 @@ private List discard_primitive_tags(ClassDesc[] argTypes) { * @param mgen host method of invoke * @param classname target class of the invoke * @param methodName target method of the invoke - * @param argTypes argument types of target method + * @param paramTypes parameter types of target method * @return true if the target is instrumented */ private boolean isTargetInstrumented( @@ -2634,12 +2634,12 @@ private boolean isTargetInstrumented( MethodGen24 mgen, @BinaryName String classname, String methodName, - ClassDesc[] argTypes) { + ClassDesc[] paramTypes) { boolean targetInstrumented; Opcode op = invoke.opcode(); - if (is_object_method(methodName, argTypes)) { + if (is_object_method(methodName, paramTypes)) { targetInstrumented = false; } else { // At this point, we will never see classname = java.lang.Object. @@ -2720,7 +2720,7 @@ private boolean isTargetInstrumented( if (debugHandleInvoke) { System.out.println("method: " + methodName); - System.out.println("argTypes: " + Arrays.toString(argTypes)); + System.out.println("paramTypes: " + Arrays.toString(paramTypes)); System.out.printf("invoke host: %s%n", mgen.getClassName() + "." + mgen.getName()); } @@ -2754,7 +2754,7 @@ private boolean isTargetInstrumented( if (debugHandleInvoke) { System.out.println(" " + jmName + Arrays.toString(mtd.parameterArray())); } - if (jmName.equals(methodName) && Arrays.equals(mtd.parameterArray(), argTypes)) { + if (jmName.equals(methodName) && Arrays.equals(mtd.parameterArray(), paramTypes)) { // We have a match. if (debugHandleInvoke) { System.out.printf("we have a match%n%n"); @@ -2770,7 +2770,7 @@ private boolean isTargetInstrumented( // no methods match - search this class's interfaces @BinaryName String found; try { - found = getDefiningInterface(targetClass, methodName, argTypes); + found = getDefiningInterface(targetClass, methodName, paramTypes); } catch (Throwable e) { // We cannot locate or read the .class file, better assume it is not instrumented. targetInstrumented = false; @@ -3028,7 +3028,7 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met * * @param methodName method to check * @param returnType return type of method - * @param args array of argument types to method + * @param args array of parameter types to method * @return true if method is Object.equals() */ @Pure @@ -3044,7 +3044,7 @@ boolean is_object_equals(String methodName, ClassDesc returnType, ClassDesc[] ar * * @param methodName method to check * @param returnType return type of method - * @param args array of argument types to method + * @param args array of parameter types to method * @return true if method is Object.clone() */ @Pure @@ -3339,7 +3339,7 @@ private LocalVariable getReturnLocal( */ private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen24 mgen) { - // Get the argument names for this method + // Get the parameter names for this method String[] paramNames = mgen.getParameterNames(); if (debugInstrument.enabled) { @@ -3571,11 +3571,11 @@ boolean should_track(@BinaryName String className, String methodName, String ppt static String methodEntryName(String fullClassName, MethodGen24 mgen) { // Get an array of the type names - ClassDesc[] argTypes = mgen.getParameterTypes(); - String[] type_names = new String[argTypes.length]; - for (int ii = 0; ii < argTypes.length; ii++) { + ClassDesc[] paramTypes = mgen.getParameterTypes(); + String[] type_names = new String[paramTypes.length]; + for (int ii = 0; ii < paramTypes.length; ii++) { @SuppressWarnings("signature:assignment") // need JDK annotations - @FieldDescriptor String paramFD = argTypes[ii].descriptorString(); + @FieldDescriptor String paramFD = paramTypes[ii].descriptorString(); type_names[ii] = daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(paramFD); } @@ -3587,12 +3587,13 @@ static String methodEntryName(String fullClassName, MethodGen24 mgen) { * * @param methodName method to call * @param returnType type of method return - * @param argTypes array of method argument types + * @param paramTypes array of method parameter types * @return InvokeInstruction for the call */ - InvokeInstruction dcr_call(String methodName, ClassDesc returnType, ClassDesc[] argTypes) { + InvokeInstruction dcr_call(String methodName, ClassDesc returnType, ClassDesc[] paramTypes) { MethodRefEntry mre = - poolBuilder.methodRefEntry(runtimeCD, methodName, MethodTypeDesc.of(returnType, argTypes)); + poolBuilder.methodRefEntry( + runtimeCD, methodName, MethodTypeDesc.of(returnType, paramTypes)); return InvokeInstruction.of(Opcode.INVOKESTATIC, mre); } @@ -3976,12 +3977,12 @@ boolean is_category2(ClassDesc type) { */ void fix_native(MethodGen24 mgen) { - ClassDesc[] argTypes = mgen.getParameterTypes(); + ClassDesc[] paramTypes = mgen.getParameterTypes(); debug_native.log("Native call %s%n", mgen); // Discard the tags for any primitive arguments passed to the method. - List il = discard_primitive_tags(argTypes); + List il = discard_primitive_tags(paramTypes); // push a tag if there is a primitive return value ClassDesc returnType = mgen.getReturnType(); @@ -3997,7 +3998,7 @@ void fix_native(MethodGen24 mgen) { // if call is sun.reflect.Reflection.getCallerClass(int depth) // TODO: This method was deleted in JDK 9. At some point we should remove support. if (mgen.getName().equals("getCallerClass") - && (argTypes.length == 1) // 'int depth' + && (paramTypes.length == 1) // 'int depth' && mgen.getClassName().equals("sun.reflect.Reflection")) { // The call returns the class 'depth' frames up the stack. Since we have added @@ -4015,9 +4016,9 @@ void fix_native(MethodGen24 mgen) { if (mgen.isStatic()) { param_index = 0; } - for (ClassDesc argType : argTypes) { - il.add(LoadInstruction.of(TypeKind.from(argType), param_index)); - param_index += TypeKind.from(argType).slotSize(); + for (ClassDesc paramType : paramTypes) { + il.add(LoadInstruction.of(TypeKind.from(paramType), param_index)); + param_index += TypeKind.from(paramType).slotSize(); } } @@ -4026,7 +4027,7 @@ void fix_native(MethodGen24 mgen) { poolBuilder.methodRefEntry( ClassDesc.of(mgen.getClassName()), mgen.getName(), - MethodTypeDesc.of(returnType, argTypes)); + MethodTypeDesc.of(returnType, paramTypes)); Opcode op = mgen.isStatic() ? Opcode.INVOKESTATIC : Opcode.INVOKEVIRTUAL; il.add(InvokeInstruction.of(op, mre)); @@ -4462,7 +4463,7 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj - if (!classInfo.isJunitTestClass) { + if (!classInfo.isJUnitTestClass) { instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); // use null for marker mtdDComp = MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker); } else { @@ -4475,7 +4476,7 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn instructions.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); - if (!classInfo.isJunitTestClass) { + if (!classInfo.isJUnitTestClass) { // build the uninstrumented equals_dcomp_instrumented method classBuilder.withMethod("equals_dcomp_instrumented", mtdNormal, access_flags, codeHandler1); } @@ -4556,7 +4557,7 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo instructions.add(InvokeInstruction.of(Opcode.INVOKESPECIAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); - if (!classInfo.isJunitTestClass) { + if (!classInfo.isJUnitTestClass) { // build the uninstrumented equals method classBuilder.withMethod("equals", mtdNormal, access_flags, codeHandler1); // since not JUnit test class, add dcomp_marker to instrumented version of equals built below @@ -4639,15 +4640,15 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { * Returns whether or not the method is defined in Object. * * @param methodName method to check - * @param argTypes array of argument types to method + * @param paramTypes array of parameter types to method * @return true if method is member of Object */ @Pure - boolean is_object_method(String methodName, ClassDesc[] argTypes) { + boolean is_object_method(String methodName, ClassDesc[] paramTypes) { // Note: kind of wierd we don't check that classname = Object but it's been // that way forever. just means foo.finialize(), e.g., will be marked uninstrumented. for (MethodDef md : obj_methods) { - if (md.equals(methodName, argTypes)) { + if (md.equals(methodName, paramTypes)) { return true; } } From 0bbd2460e4b82aaeeb4d82baee4e43085461500b Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 8 Oct 2025 08:10:46 -0700 Subject: [PATCH 120/211] Uniformize capitalization --- java/daikon/dcomp/DCInstrument.java | 6 +++--- java/daikon/dcomp/DCInstrument24.java | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index f39a6909bc..1c815e84ae 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -437,7 +437,7 @@ public JavaClass instrument() { System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } - if (isJUnitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { junit_parse_seen = true; junit_state = JUnitState.TEST_DISCOVERY; break; @@ -455,7 +455,7 @@ public JavaClass instrument() { System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } - if (isJUnitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { local_junit_parse_seen = true; break; } @@ -767,7 +767,7 @@ public JavaClass instrument() { * @param method_name method to be checked * @return true if the given method is a JUnit trigger */ - boolean isJUnitTrigger(String classname, String method_name) { + boolean isJunitTrigger(String classname, String method_name) { if ((classname.contains("JUnitCommandLineParseResult") && method_name.equals("parse")) // JUnit 4 || (classname.contains("EngineDiscoveryRequestResolution") diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index fb6f1d92a5..0f3a20ff0e 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -573,7 +573,7 @@ private void instrumentClass( System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } - if (isJUnitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { junit_parse_seen = true; junit_state = JUnitState.TEST_DISCOVERY; break; @@ -591,7 +591,7 @@ private void instrumentClass( System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } - if (isJUnitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { local_junit_parse_seen = true; break; } @@ -1354,7 +1354,7 @@ private void instrumentCode( * @param method_name method to be checked * @return true if the given method is a JUnit trigger */ - boolean isJUnitTrigger(String classname, String method_name) { + boolean isJunitTrigger(String classname, String method_name) { if ((classname.contains("JUnitCommandLineParseResult") && method_name.equals("parse")) // JUnit 4 || (classname.contains("EngineDiscoveryRequestResolution") From b458266ca73c5a22aecbc53d331c54cc759c8939 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 15 Oct 2025 07:21:23 -0700 Subject: [PATCH 121/211] Code review changes for `Instrument24.java` Co-authored-by: Mark Roberts --- java/daikon/chicory/ClassInfo.java | 10 +- java/daikon/chicory/Instrument.java | 309 +++++------ java/daikon/chicory/Instrument24.java | 743 +++++++++++++------------- java/daikon/chicory/MethodInfo.java | 15 +- java/daikon/chicory/Runtime.java | 6 +- java/daikon/dcomp/BuildJDK24.java | 4 +- java/daikon/dcomp/DCInstrument.java | 233 ++++---- java/daikon/dcomp/DCInstrument24.java | 200 +++---- java/daikon/dcomp/Instrument.java | 24 +- java/daikon/dcomp/Instrument24.java | 40 +- java/daikon/suppress/NIS.java | 2 +- 11 files changed, 774 insertions(+), 812 deletions(-) diff --git a/java/daikon/chicory/ClassInfo.java b/java/daikon/chicory/ClassInfo.java index 3bdab0d53a..e542c62356 100644 --- a/java/daikon/chicory/ClassInfo.java +++ b/java/daikon/chicory/ClassInfo.java @@ -26,14 +26,13 @@ public class ClassInfo { public boolean hasClinit; /** True if the class is a JUnit test class. */ - public boolean isJUnitTestClass; + public boolean isJunitTestClass; // set by initViaReflection() /** reflection object for this class. */ public @MonotonicNonNull Class clazz; - // Does not include class initializers, so each element's .member field - // is non-null. + // Does not include class initializers, so each element's .member field is non-null. /** list of methods in the class. */ public List method_infos = new ArrayList<>(); @@ -50,9 +49,8 @@ public class ClassInfo { /** True if any methods in this class were instrumented. */ public boolean shouldInclude = false; - /** Mapping from field name to string representation of its value* */ - // only for static final primitives - // which are declared by a CONSTANT VALUE in the code + /** Mapping from field name to string representation of its value. */ + // Only for static final primitives which are declared by a CONSTANT VALUE in the code. public Map staticMap = new HashMap<>(); /** Create ClassInfo with specified name. */ diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 06cb1e36de..255e666e50 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -5,6 +5,7 @@ import daikon.plumelib.bcelutil.InstructionListUtils; import daikon.plumelib.bcelutil.SimpleLog; import daikon.plumelib.reflection.Signatures; +import daikon.plumelib.util.ArraysPlume; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; @@ -72,7 +73,7 @@ public class Instrument extends InstructionListUtils implements ClassFileTransfo /** Directory for debug output. */ final File debug_dir; - /** Directory into which to dump debug-instrumented classes. */ + /** Directory into which to dump instrumented classes. */ final File debug_instrumented_dir; /** Directory into which to dump original classes. */ @@ -88,7 +89,8 @@ public class Instrument extends InstructionListUtils implements ClassFileTransfo @SuppressWarnings("nullness:initialization") public Instrument() { debug_transform.enabled = Chicory.debug_transform || Chicory.debug || Chicory.verbose; - debug_ppt_omit.enabled = debugInstrument.enabled = Chicory.debug; + debug_ppt_omit.enabled = Chicory.debug; + debugInstrument.enabled = Chicory.debug; debug_dir = Chicory.debug_dir; debug_instrumented_dir = new File(debug_dir, "instrumented"); @@ -103,7 +105,7 @@ public Instrument() { /** * Returns true if the given ppt should be ignored. Uses the patterns in {@link * daikon.chicory.Runtime#ppt_omit_pattern} and {@link daikon.chicory.Runtime#ppt_select_pattern}. - * This method is used by both Chicory and DynComp. + * This method is called by both Chicory and DynComp. * * @param className class name to be checked * @param methodName method name to be checked @@ -113,14 +115,12 @@ public Instrument() { public static boolean shouldIgnore( @BinaryName String className, String methodName, String pptName) { + // Because this comes first, exclusion takes precedence. // Don't instrument the class if it matches an excluded regular expression. for (Pattern pattern : Runtime.ppt_omit_pattern) { - - Matcher mPpt = pattern.matcher(pptName); - Matcher mClass = pattern.matcher(className); - Matcher mMethod = pattern.matcher(methodName); - - if (mPpt.find() || mClass.find() || mMethod.find()) { + if (pattern.matcher(pptName).find() + || pattern.matcher(className).find() + || pattern.matcher(methodName).find()) { debug_ppt_omit.log("ignoring %s, it matches ppt_omit regex %s%n", pptName, pattern); return true; } @@ -129,20 +129,17 @@ public static boolean shouldIgnore( // If any include regular expressions are specified, only instrument // classes that match them. for (Pattern pattern : Runtime.ppt_select_pattern) { - - Matcher mPpt = pattern.matcher(pptName); - Matcher mClass = pattern.matcher(className); - Matcher mMethod = pattern.matcher(methodName); - - if (mPpt.find() || mClass.find() || mMethod.find()) { + if (pattern.matcher(pptName).find() + || pattern.matcher(className).find() + || pattern.matcher(methodName).find()) { debug_ppt_omit.log("including %s, it matches ppt_select regex %s%n", pptName, pattern); return false; } } - // If we're here, this ppt is not explicitly included or excluded, - // so keep unless there were items in the "include only" list. - if (Runtime.ppt_select_pattern.size() > 0) { + // If we're here, this ppt is not explicitly included or excluded. + // Keep unless there were items in the "include only" list. + if (!Runtime.ppt_select_pattern.isEmpty()) { debug_ppt_omit.log("ignoring %s, not included in ppt_select patterns%n", pptName); return true; } else { @@ -152,19 +149,20 @@ public static boolean shouldIgnore( } /** - * Don't instrument boot classes. They are uninteresting and will not be able to access - * daikon.chicory.Runtime (because it is not on the boot classpath). Previously this code skipped - * classes that started with java, com, javax, or sun, but this is not correct in many cases. Most - * boot classes have the null loader, but some generated classes (such as those in sun.reflect) - * will have a non-null loader. Some of these have a null parent loader, but some do not. The - * check for the sun.reflect package is a hack to catch all of these. A more consistent mechanism - * to determine boot classes would be preferable. + * Don't instrument boot classes. They are not relevant to the user and cannot access + * daikon.chicory.Runtime (because it is not on the boot classpath). + * + *

    Most boot classes have the null loader, but some generated classes (such as those in + * sun.reflect) will have a non-null loader. Some of these have a null parent loader, but some do + * not. The check for the sun.reflect package is a hack to catch all of these. A more consistent + * mechanism to determine boot classes would be preferable. * * @param className class name to be checked * @param loader the class loader for the class * @return true if this is a boot class */ private boolean isBootClass(@BinaryName String className, @Nullable ClassLoader loader) { + // Chicory.boot_classes is extra classes specified by the user. if (Chicory.boot_classes != null) { Matcher matcher = Chicory.boot_classes.matcher(className); if (matcher.find()) { @@ -177,10 +175,10 @@ private boolean isBootClass(@BinaryName String className, @Nullable ClassLoader } else if (loader.getParent() == null) { debug_transform.log("Ignoring system class %s, parent loader == null%n", className); return true; - } else if (className.startsWith("sun.reflect")) { + } else if (className.startsWith("sun.reflect.")) { debug_transform.log("Ignoring system class %s, in sun.reflect package%n", className); return true; - } else if (className.startsWith("jdk.internal.reflect")) { + } else if (className.startsWith("jdk.internal.reflect.")) { // Starting with Java 9 sun.reflect => jdk.internal.reflect. debug_transform.log("Ignoring system class %s, in jdk.internal.reflect package", className); return true; @@ -189,13 +187,13 @@ private boolean isBootClass(@BinaryName String className, @Nullable ClassLoader } /** - * Output a .class file and a .bcel version of the class file. + * Write a .class file and a .bcel version of the class file. * * @param c the Java class to output * @param directory output location for the files * @param className the current class */ - private void outputDebugFiles(JavaClass c, File directory, @BinaryName String className) { + private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName String className) { try { debug_transform.log("Dumping .class and .bcel for %s to %s%n", className, directory); // Write the byte array to a .class file. @@ -205,8 +203,10 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl BcelUtil.dump(c, directory); } catch (Throwable t) { System.err.printf("Unexpected error %s writing debug files for: %s%n", t, className); - t.printStackTrace(); - // ignore the error, it shouldn't affect the instrumentation + if (debug_transform.enabled) { + t.printStackTrace(); + } + // Ignore the error, it shouldn't affect the instrumentation. } } @@ -226,10 +226,15 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl byte[] classfileBuffer) throws IllegalClassFormatException { - // for debugging + // For debugging. // new Throwable().printStackTrace(); - debug_transform.log("Entering chicory.Instrument.transform(): class = %s%n", className); + debug_transform.log("%nEntering chicory.Instrument.transform(): class = %s%n", className); + + if (className == null) { + // most likely a lambda related class + return null; + } @BinaryName String binaryClassName = Signatures.internalFormToBinaryName(className); @@ -243,7 +248,7 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl } // Don't instrument our own code. - if (isChicory(className)) { + if (isChicoryClass(className)) { debug_transform.log("Not transforming Chicory class %s%n", binaryClassName); return null; } @@ -251,11 +256,11 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl ClassLoader cfLoader; if (loader == null) { cfLoader = ClassLoader.getSystemClassLoader(); - debug_transform.log("Transforming class %s, loader %s - %s%n", className, loader, cfLoader); + debug_transform.log("Transforming class %s, loaders %s, %s%n", className, loader, cfLoader); } else { cfLoader = loader; debug_transform.log( - "Transforming class %s, loader %s - %s%n", className, loader, loader.getParent()); + "Transforming class %s, loaders %s, %s%n", className, loader, loader.getParent()); } // Parse the bytes of the classfile, die on any errors. @@ -264,42 +269,43 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl ClassParser parser = new ClassParser(bais, className); c = parser.parse(); } catch (Throwable t) { - System.err.printf("Unexpected error %s while reading %s%n", t, binaryClassName); - t.printStackTrace(); - // No changes to the bytecodes + System.err.printf("Unexpected error %s while parsing bytes of %s%n", t, binaryClassName); + if (debug_transform.enabled) { + t.printStackTrace(); + } + // No changes to the bytecodes. return null; } if (Chicory.dump) { - outputDebugFiles(c, debug_uninstrumented_dir, binaryClassName); + writeDebugClassFiles(c, debug_uninstrumented_dir, binaryClassName); } - debug_transform.log("%nTransforming: %s%n", binaryClassName); - - // Instrument the classfile, die on any errors + // Instrument the classfile, die on any errors. ClassInfo classInfo = new ClassInfo(binaryClassName, cfLoader); JavaClass njc; try { - // Get the class information + // Get the class information. ClassGen cg = new ClassGen(c); instrumentClass(cg, classInfo); njc = cg.getJavaClass(); } catch (Throwable t) { - RuntimeException re = - new RuntimeException( - String.format("Unexpected error %s in transform of %s", t, binaryClassName), t); - re.printStackTrace(); - throw re; + System.err.printf("Unexpected error %s in transform of %s%n", t, binaryClassName); + if (debug_transform.enabled) { + t.printStackTrace(); + } + // No changes to the bytecodes. + return null; } if (classInfo.shouldInclude) { if (Chicory.dump) { - outputDebugFiles(njc, debug_instrumented_dir, binaryClassName); + writeDebugClassFiles(njc, debug_instrumented_dir, binaryClassName); } return njc.getBytes(); } else { debug_transform.log("Didn't instrument %s%n", binaryClassName); - // No changes to the bytecodes + // No changes to the bytecodes. return null; } } @@ -317,7 +323,8 @@ private void instrumentClass(ClassGen cg, ClassInfo classInfo) { // Modify each non-void method to save its result in a local variable before returning. instrument_all_methods(cg, classInfo); - // Remember any constant static fields. + // Store constant static fields in `classInfo`. This ought to be a method of ClassInfo, + // but that wouldn't work with both Instrument.java and Instrument24.java. Field[] fields = cg.getFields(); for (Field field : fields) { if (field.isFinal() && field.isStatic() && (field.getType() instanceof BasicType)) { @@ -346,15 +353,15 @@ private void instrumentClass(ClassGen cg, ClassInfo classInfo) { } /** - * Adds a call (or calls) to the Chicory Runtime {@code initNotify} method prior to each return in - * the given method. Clients pass the class static initializer {@code } as the method. + * Adds a call to the Chicory Runtime {@code initNotify} method prior to each return in the given + * method. Clients pass the class static initializer {@code } as the method. * * @param cg a class * @param mgen the method to modify, typically the class static initializer {@code } * @param classInfo for the given class * @return the modified method */ - private Method addInvokeToClinit(ClassGen cg, MethodGen mgen, ClassInfo classInfo) { + private Method addInitNotifyCalls(ClassGen cg, MethodGen mgen, ClassInfo classInfo) { try { InstructionList il = mgen.getInstructionList(); @@ -363,23 +370,23 @@ private Method addInvokeToClinit(ClassGen cg, MethodGen mgen, ClassInfo classInf for (InstructionHandle ih = il.getStart(); ih != null; ) { Instruction inst = ih.getInstruction(); - // Get the translation for this instruction (if any) + // Get the translation for this instruction (if any). InstructionList new_il = xform_clinit(cg, classInfo, inst); - // Remember the next instruction to process + // Remember the next instruction to process. InstructionHandle next_ih = ih.getNext(); - // will do nothing if new_il == null + // Will do nothing if new_il == null. insertBeforeHandle(mgen, ih, new_il, false); - // Go on to the next instruction in the list + // Go on to the next instruction in the list. ih = next_ih; } remove_local_variable_type_table(mgen); createNewStackMapAttribute(mgen); - // Update the max stack and Max Locals + // Update the max stack and Max Locals. mgen.setMaxLocals(); mgen.setMaxStack(); mgen.update(); @@ -392,7 +399,7 @@ private Method addInvokeToClinit(ClassGen cg, MethodGen mgen, ClassInfo classInf } /** - * Called by {@link #addInvokeToClinit} to obtain the instructions that represent a call to the + * Called by {@link #addInitNotifyCalls} to obtain the instructions that represent a call to the * Chicory Runtime {@code initNotify} method prior to a return opcode. Returns null if the given * instruction is not a return. * @@ -445,7 +452,7 @@ private Method createClinit(ClassGen cg, ClassInfo classInfo) { cg.getConstantPool()); newMethGen.update(); - // Update the max stack and Max Locals + // Update the max stack and Max Locals. newMethGen.setMaxLocals(); newMethGen.setMaxStack(); newMethGen.update(); @@ -480,8 +487,8 @@ private InstructionList call_initNotify(ClassGen cg, ClassInfo classInfo) { /** * Instruments all the methods in a class. For each method, adds instrumentation code at the entry * and at each return from the method. In addition, changes each return statement to first place - * the value being returned into a local and then return. This allows us to work around the JDI - * deficiency of not being able to query return values. + * the value being returned into a local and then return. Note that {@link #callEnterOrExit} + * special cases the instrumentation for constructor entry. * * @param cg ClassGen for current class * @param classInfo for the given class @@ -489,18 +496,20 @@ private InstructionList call_initNotify(ClassGen cg, ClassInfo classInfo) { private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { if (cg.getMajor() < Const.MAJOR_1_6) { - System.out.printf( - "Chicory warning: ClassFile: %s - classfile version (%d) is out of date and may not be" - + " processed correctly.%n", - classInfo.class_name, cg.getMajor()); + String output = + String.format( + "Chicory warning: ClassFile: %s - classfile version (%d) is out of date and may not" + + " be processed correctly.", + classInfo.class_name, cg.getMajor()); + System.out.printf("%s%n", output); + debugInstrument.log("%s%n", output); } - List method_infos = new ArrayList<>(); - + Method[] methods = cg.getMethods(); + List method_infos = new ArrayList<>(methods.length); boolean shouldInclude = false; - try { - for (Method m : cg.getMethods()) { + for (Method m : methods) { // The class data in StackMapUtils is not thread safe, // allow only one method at a time to be instrumented. @@ -510,11 +519,11 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { pool = cg.getConstantPool(); MethodGen mgen = new MethodGen(m, cg.getClassName(), pool); - // check for the class static initializer method + // Check for the class static initializer method. if (mgen.getName().equals("")) { classInfo.hasClinit = true; if (Chicory.checkStaticInit) { - cg.replaceMethod(m, addInvokeToClinit(cg, mgen, classInfo)); + cg.replaceMethod(m, addInitNotifyCalls(cg, mgen, classInfo)); cg.update(); } if (!Chicory.instrument_clinit) { @@ -529,7 +538,7 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { continue; } - // Get the instruction list and skip methods with no instructions. + // Skip methods with no instructions. InstructionList il = mgen.getInstructionList(); if (il == null) { // We are not going to instrument this method. @@ -559,7 +568,7 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { debugInstrument.log("%n"); } - // Get existing StackMapTable (if present) + // Get existing StackMapTable (if present). setCurrentStackMapTable(mgen, cg.getMajor()); fixLocalVariableTable(mgen); @@ -592,7 +601,7 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { SharedData.methods.add(curMethodInfo); } - // Add nonce local to matchup enter/exits + // Add nonce local that matches up enter/exits. addInstrumentationAtEntry(il, mgen); printStackMapTable("After addInstrumentationAtEntry"); @@ -604,30 +613,34 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { // the amount of the switch padding changed. modifyStackMapsForSwitches(il.getStart(), il); - Iterator shouldIncludeIter = curMethodInfo.is_included.iterator(); + Iterator shouldIncludeIter = curMethodInfo.exit_location_is_included.iterator(); Iterator exitLocationIter = curMethodInfo.exit_locations.iterator(); - // Loop through each instruction looking for the return(s) + // Loop through each instruction looking for the return(s). for (InstructionHandle ih = il.getStart(); ih != null; ) { Instruction inst = ih.getInstruction(); - // If this is a return instruction, insert method exit instrumentation + // If this is a return instruction, insert method exit instrumentation. InstructionList new_il = generate_return_instrumentation(inst, mgen, shouldIncludeIter, exitLocationIter); - // Remember the next instruction to process + // Remember the next instruction to process. InstructionHandle next_ih = ih.getNext(); // If this instruction was modified, replace it with the new // instruction list. If this instruction was the target of any - // jumps, replace it with the first instruction in the new list + // jumps, replace it with the first instruction in the new list. insertBeforeHandle(mgen, ih, new_il, true); - // Go on to the next instruction in the list + // Go on to the next instruction in the list. ih = next_ih; } - // Update the Uninitialized_variable_info offsets before + // Check for unused entries. + assert !shouldIncludeIter.hasNext(); + assert !exitLocationIter.hasNext(); + + // Update the Uninitialized_variable_info offsets before. // we write out the new StackMapTable. updateUninitializedNewOffsets(il); @@ -635,15 +648,15 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { remove_local_variable_type_table(mgen); - // Update the instruction list + // Update the instruction list. mgen.setInstructionList(il); mgen.update(); - // Update the max stack + // Update the max stack. mgen.setMaxStack(); mgen.update(); - // Update the method in the class + // Update the method in the class. try { cg.replaceMethod(m, mgen.getMethod()); } catch (Exception e) { @@ -667,7 +680,7 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { } } } catch (Exception e) { - System.out.printf("Unexpected exception encountered: %s", e); + System.err.printf("Unexpected exception encountered: %s", e); e.printStackTrace(); } @@ -721,6 +734,11 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { return null; } + // There is a single boolean element on shouldIncludeIter for every return in the method. Its + // value was calculated by {@link #shouldIgnore} and indicates whether or not that return should + // be instrumented. If the value is true the next exitLocationIter element contains the source + // line number for the return in question. + if (!shouldIncludeIter.hasNext()) { throw new RuntimeException("Not enough entries in shouldIncludeIter"); } @@ -751,13 +769,13 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { * Returns the local variable used to store the return result. If it is not present, creates it * with the specified type. If the variable is known to already exist, the type can be null. * - * @param mgen describes the given method + * @param mgen describes a method * @param returnType the type of the return; may be null if the variable is known to already exist * @return a local variable to save the return value */ private LocalVariableGen getReturnLocal(MethodGen mgen, @Nullable Type returnType) { - // Find the local used for the return value + // Find the local used for the return value. LocalVariableGen returnLocal = null; for (LocalVariableGen lv : mgen.getLocalVariables()) { if (lv.getName().equals("return__$trace2_val")) { @@ -788,12 +806,12 @@ private LocalVariableGen getReturnLocal(MethodGen mgen, @Nullable Type returnTyp /** * Finds the nonce local variable. Returns null if not present. * - * @param mgen describes the given method + * @param mgen describes a method * @return a local variable to save the nonce value, or null */ private @Nullable LocalVariableGen get_nonce_local(MethodGen mgen) { - // Find the local used for the nonce value + // Find the local used for the nonce value. for (LocalVariableGen lv : mgen.getLocalVariables()) { if (lv.getName().equals("this_invocation_nonce")) { return lv; @@ -806,11 +824,11 @@ private LocalVariableGen getReturnLocal(MethodGen mgen, @Nullable Type returnTyp /** * Inserts instrumentation code at the start of the method. This includes adding a local variable * (this_invocation_nonce) that is initialized to Runtime.nonce++. This provides a unique id on - * each method entry/exit that allows them to be matched up from the dtrace file. Inserts code to - * call daikon.chicory.Runtime.enter(). + * each method entry/exit that allows them to be matched up from the dtrace file. Also inserts + * code to call daikon.chicory.Runtime.enter(). * - * @param instructions instruction list for method - * @param mgen describes the given method + * @param instructions instruction list for the method + * @param mgen describes the method * @throws IOException if there is trouble with I/O */ @SuppressWarnings({ @@ -825,7 +843,7 @@ private void addInstrumentationAtEntry(InstructionList instructions, MethodGen m InstructionList newCode = new InstructionList(); - // create the nonce local variable + // Create the nonce local variable. LocalVariableGen nonce_lv = create_method_scope_local(mgen, "this_invocation_nonce", Type.INT); printStackMapTable("After cln"); @@ -837,7 +855,7 @@ private void addInstrumentationAtEntry(InstructionList instructions, MethodGen m // The following implements: // this_invocation_nonce = Runtime.nonce++; - // getstatic Runtime.nonce (load reference to AtomicInteger daikon.chicory.Runtime.nonce) + // getstatic Runtime.nonce (load reference to AtomicInteger daikon.chicory.Runtime.nonce). newCode.append(instFactory.createGetStatic(runtime_classname, "nonce", atomic_int_type)); // Do an atomic get and increment of nonce value. @@ -846,14 +864,14 @@ private void addInstrumentationAtEntry(InstructionList instructions, MethodGen m instFactory.createInvoke( atomic_int_classname, "getAndIncrement", Type.INT, new Type[] {}, Const.INVOKEVIRTUAL)); - // istore (pop original value of nonce into this_invocation_nonce) + // istore (pop original value of nonce into this_invocation_nonce). newCode.append(InstructionFactory.createStore(Type.INT, nonce_lv.getIndex())); newCode.setPositions(); InstructionHandle end = newCode.getEnd(); int len_part1 = end.getPosition() + end.getInstruction().getLength(); - // call Runtime.enter() + // Call Runtime.enter(). newCode.append(callEnterOrExit(mgen, "enter", -1)); newCode.setPositions(); @@ -880,7 +898,7 @@ private void addInstrumentationAtEntry(InstructionList instructions, MethodGen m boolean skipFirst = false; - // Modify existing StackMapTable (if present) + // Modify existing StackMapTable (if present). if (stackMapTable.length > 0) { // Each stack map frame specifies (explicity or implicitly) an // offset_delta that is used to calculate the actual bytecode @@ -889,7 +907,7 @@ private void addInstrumentationAtEntry(InstructionList instructions, MethodGen m // previous frame, unless the previous frame is the initial // frame of the method, in which case the bytecode offset is // offset_delta. (From the Java Virual Machine Specification, - // Java SE 7 Edition, section 4.7.4) + // Java SE 7 Edition, section 4.7.4.) // Since we are inserting (1 or 2) new stack map frames at the // beginning of the stack map table, we need to adjust the @@ -940,11 +958,11 @@ private void addInstrumentationAtEntry(InstructionList instructions, MethodGen m /** * Pushes the object, nonce, parameters, and return value on the stack and calls the specified - * method (normally enter or exit) in daikon.chicory.Runtime. The parameters are passed as an - * array of objects. Any primitive values are wrapped in the appropriate daikon.chicory.Runtime - * wrapper (IntWrap, FloatWrap, etc). + * method (either enter or exit) in daikon.chicory.Runtime. The parameters are passed as an array + * of objects. Any primitive values are wrapped in the appropriate daikon.chicory.Runtime wrapper + * (IntWrap, FloatWrap, etc). * - * @param mgen describes the given method + * @param mgen describes the method to be instrumented * @param methodToCall either "enter" or "exit" * @param line source line number if this is an exit * @return instruction list for instrumenting the enter or exit of the method @@ -955,16 +973,19 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int Type[] paramTypes = mgen.getArgumentTypes(); // aload - // Push the object. Push null if this is a static method or a constructor. + // Push the object. if (mgen.isStatic() || (methodToCall.equals("enter") && isConstructor(mgen))) { + // Push null if this is a static method or a constructor. newCode.append(new ACONST_NULL()); - } else { // must be an instance method + } else { + // Must be an instance method. newCode.append(InstructionFactory.createLoad(Type.OBJECT, 0)); } // The offset of the first parameter. int param_offset = mgen.isStatic() ? 0 : 1; + // Assumes addInstrumentationAtEntry has been called to create the nonce local. // iload // Push the nonce. LocalVariableGen nonce_lv = get_nonce_local(mgen); @@ -1015,12 +1036,12 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int } } - // push line number + // Push the line number. // System.out.println(mgen.getName() + " --> " + line); newCode.append(instFactory.createConstant(line)); } - // Call the specified method + // Call the specified method. Type[] methodArgs; if (methodToCall.equals("exit")) { methodArgs = @@ -1107,36 +1128,21 @@ private boolean isConstructor(MethodGen mgen) { } /** - * Returns an array of strings, each corresponding to mgen's parameter types as a fully qualified - * name: how a type is represented in Java source code. + * Returns an array of fully qualified names, one for each of mgen's parameter types. * * @param mgen describes the given method * @return an array of strings, each corresponding to mgen's parameter types */ + @SuppressWarnings("signature") // BCEL is not annotated private @BinaryName String[] getFullyQualifiedParameterTypes(MethodGen mgen) { - - Type[] paramTypes = mgen.getArgumentTypes(); - @BinaryName String[] arg_type_strings = new @BinaryName String[paramTypes.length]; - - for (int ii = 0; ii < paramTypes.length; ii++) { - Type t = paramTypes[ii]; - /*if (t instanceof ObjectType) - arg_type_strings[ii] = ((ObjectType) t).getClassName(); - else { - arg_type_strings[ii] = t.getSignature().replace('/', '.'); - } - */ - arg_type_strings[ii] = t.toString(); - } - - return arg_type_strings; + return ArraysPlume.mapArray(Type::toString, mgen.getArgumentTypes(), String.class); } /** - * Creates a MethodInfo struct corresponding to {@code mgen}. + * Creates a MethodInfo corresponding to {@code mgen}. * - * @param classInfo a class - * @param mgen describes the given method + * @param classInfo class containing the method + * @param mgen method to inspect * @return a new MethodInfo for the method, or null if the method should not be instrumented */ @SuppressWarnings("unchecked") @@ -1149,10 +1155,12 @@ private boolean isConstructor(MethodGen mgen) { if (mgen.isStatic()) { param_offset = 0; } + if (debugInstrument.enabled) { - debugInstrument.log("create_method_info1 %s%n", paramNames.length); - for (int ii = 0; ii < paramNames.length; ii++) { - debugInstrument.log("param: %s%n", paramNames[ii]); + debugInstrument.log("create_method_info for: %s%n", classInfo.class_name); + debugInstrument.log("number of parameters: %s%n", paramNames.length); + for (String paramName : paramNames) { + debugInstrument.log("param name: %s%n", paramName); } } @@ -1165,7 +1173,7 @@ private boolean isConstructor(MethodGen mgen) { String arg0Name = mgen.getArgumentType(0).toString(); if (dollarPos >= 0 && - // type of first parameter is classname up to the "$" + // Type of first parameter is classname up to the "$". mgen.getClassName().substring(0, dollarPos).equals(arg0Name)) { // As a further check, for javac-generated classfiles, the // constant pool index #1 is "this$0", and the first 5 bytes of @@ -1179,16 +1187,17 @@ private boolean isConstructor(MethodGen mgen) { } } - for (int ii = lv_start; ii < paramNames.length; ii++) { - if ((ii + param_offset) < lvs.length) { - paramNames[ii] = lvs[ii + param_offset].getName(); + for (int i = lv_start; i < paramNames.length; i++) { + if ((i + param_offset) < lvs.length) { + paramNames[i] = lvs[i + param_offset].getName(); } } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info2 %s%n", paramNames.length); - for (int ii = 0; ii < paramNames.length; ii++) { - debugInstrument.log("param: %s%n", paramNames[ii]); + debugInstrument.log("create_method_info part 2%n"); + debugInstrument.log("number of parameters: %s%n", paramNames.length); + for (String paramName : paramNames) { + debugInstrument.log("param name: %s%n", paramName); } } @@ -1214,7 +1223,7 @@ private boolean isConstructor(MethodGen mgen) { } // Loop through each instruction and find the line number for each return opcode. - List exit_locs = new ArrayList<>(); + List exit_line_numbers = new ArrayList<>(); // Tells whether each exit loc in the method is included or not (based on filters). List isIncluded = new ArrayList<>(); @@ -1222,7 +1231,7 @@ private boolean isConstructor(MethodGen mgen) { debugInstrument.log("Looking for exit points in %s%n", mgen.getName()); InstructionList il = mgen.getInstructionList(); int line_number = 0; - int last_line_number = 0; + int prev_line_number = 0; for (InstructionHandle ih : il) { boolean foundLine = false; @@ -1247,13 +1256,13 @@ private boolean isConstructor(MethodGen mgen) { case Const.RETURN: debugInstrument.log("Exit at line %d%n", line_number); - // Only do incremental lines if we don't have the line generator. - if (line_number == last_line_number && foundLine == false) { + // Only do incremental lines if we haven't seen a line number since the last return. + if (line_number == prev_line_number && foundLine == false) { debugInstrument.log("Could not find line %d%n", line_number); line_number++; } - last_line_number = line_number; + prev_line_number = line_number; if (!shouldIgnore( classInfo.class_name, @@ -1265,7 +1274,7 @@ private boolean isConstructor(MethodGen mgen) { mgen.getName(), line_number))) { shouldInclude = true; - exit_locs.add(line_number); + exit_line_numbers.add(line_number); isIncluded.add(true); } else { @@ -1281,7 +1290,7 @@ private boolean isConstructor(MethodGen mgen) { if (shouldInclude) { return new MethodInfo( - classInfo, mgen.getName(), paramNames, arg_type_strings, exit_locs, isIncluded); + classInfo, mgen.getName(), paramNames, arg_type_strings, exit_line_numbers, isIncluded); } else { return null; } @@ -1295,7 +1304,7 @@ private boolean isConstructor(MethodGen mgen) { @SuppressWarnings("nullness:dereference.of.nullable") public void dump_code_attributes(MethodGen mgen) { // mgen.getMethod().getCode().getAttributes() forces attributes - // to be instantiated; mgen.getCodeAttributes() does not + // to be instantiated; mgen.getCodeAttributes() does not. for (Attribute a : mgen.getMethod().getCode().getAttributes()) { int con_index = a.getNameIndex(); Constant c = pool.getConstant(con_index); @@ -1312,7 +1321,7 @@ public void dump_code_attributes(MethodGen mgen) { * @return true if the given class is part of Chicory itself */ @Pure - private static boolean isChicory(@InternalForm String classname) { + private static boolean isChicoryClass(@InternalForm String classname) { if (classname.startsWith("daikon/chicory/") && !classname.equals("daikon/chicory/ChicoryTest")) { diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index e5c97678fa..bb8b3c6678 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -9,6 +9,7 @@ import daikon.plumelib.bcelutil.BcelUtil; import daikon.plumelib.bcelutil.SimpleLog; import daikon.plumelib.reflection.Signatures; +import daikon.plumelib.util.ArraysPlume; import java.io.ByteArrayInputStream; import java.io.File; import java.lang.classfile.Attributes; @@ -117,7 +118,7 @@ public class Instrument24 implements ClassFileTransformer { /** Directory for debug output. */ final File debug_dir; - /** Directory into which to dump debug-instrumented classes. */ + /** Directory into which to dump instrumented classes. */ final File debug_instrumented_dir; /** Directory into which to dump original classes. */ @@ -126,7 +127,8 @@ public class Instrument24 implements ClassFileTransformer { /** Create an instrumenter. Setup debug directories, if needed. */ public Instrument24() { debug_transform.enabled = Chicory.debug_transform || Chicory.debug || Chicory.verbose; - debug_ppt_omit.enabled = debugInstrument.enabled = Chicory.debug; + debug_ppt_omit.enabled = Chicory.debug; + debugInstrument.enabled = Chicory.debug; debug_dir = Chicory.debug_dir; debug_instrumented_dir = new File(debug_dir, "instrumented"); @@ -141,7 +143,7 @@ public Instrument24() { /** * Returns true if the given ppt should be ignored. Uses the patterns in {@link * daikon.chicory.Runtime#ppt_omit_pattern} and {@link daikon.chicory.Runtime#ppt_select_pattern}. - * This method is used by both Chicory and DynComp. + * This method is called by both Chicory and DynComp. * * @param className class name to be checked * @param methodName method name to be checked @@ -151,14 +153,12 @@ public Instrument24() { public static boolean shouldIgnore( @BinaryName String className, String methodName, String pptName) { + // Because this comes first, exclusion takes precedence. // Don't instrument the class if it matches an excluded regular expression. for (Pattern pattern : Runtime.ppt_omit_pattern) { - - Matcher mPpt = pattern.matcher(pptName); - Matcher mClass = pattern.matcher(className); - Matcher mMethod = pattern.matcher(methodName); - - if (mPpt.find() || mClass.find() || mMethod.find()) { + if (pattern.matcher(pptName).find() + || pattern.matcher(className).find() + || pattern.matcher(methodName).find()) { debug_ppt_omit.log("ignoring %s, it matches ppt_omit regex %s%n", pptName, pattern); return true; } @@ -167,20 +167,17 @@ public static boolean shouldIgnore( // If any include regular expressions are specified, only instrument // classes that match them. for (Pattern pattern : Runtime.ppt_select_pattern) { - - Matcher mPpt = pattern.matcher(pptName); - Matcher mClass = pattern.matcher(className); - Matcher mMethod = pattern.matcher(methodName); - - if (mPpt.find() || mClass.find() || mMethod.find()) { + if (pattern.matcher(pptName).find() + || pattern.matcher(className).find() + || pattern.matcher(methodName).find()) { debug_ppt_omit.log("including %s, it matches ppt_select regex %s%n", pptName, pattern); return false; } } - // If we're here, this ppt is not explicitly included or excluded, - // so keep unless there were items in the "include only" list. - if (Runtime.ppt_select_pattern.size() > 0) { + // If we're here, this ppt is not explicitly included or excluded. + // Keep unless there were items in the "include only" list. + if (!Runtime.ppt_select_pattern.isEmpty()) { debug_ppt_omit.log("ignoring %s, not included in ppt_select patterns%n", pptName); return true; } else { @@ -190,19 +187,20 @@ public static boolean shouldIgnore( } /** - * Don't instrument boot classes. They are uninteresting and will not be able to access - * daikon.chicory.Runtime (because it is not on the boot classpath). Previously this code skipped - * classes that started with java, com, javax, or sun, but this is not correct in many cases. Most - * boot classes have the null loader, but some generated classes (such as those in sun.reflect) - * will have a non-null loader. Some of these have a null parent loader, but some do not. The - * check for the sun.reflect package is a hack to catch all of these. A more consistent mechanism - * to determine boot classes would be preferable. + * Don't instrument boot classes. They are not relevant to the user and cannot access + * daikon.chicory.Runtime (because it is not on the boot classpath). + * + *

    Most boot classes have the null loader, but some generated classes (such as those in + * sun.reflect) will have a non-null loader. Some of these have a null parent loader, but some do + * not. The check for the sun.reflect package is a hack to catch all of these. A more consistent + * mechanism to determine boot classes would be preferable. * * @param className class name to be checked * @param loader the class loader for the class * @return true if this is a boot class */ private boolean isBootClass(@BinaryName String className, @Nullable ClassLoader loader) { + // Chicory.boot_classes is extra classes specified by the user. if (Chicory.boot_classes != null) { Matcher matcher = Chicory.boot_classes.matcher(className); if (matcher.find()) { @@ -215,10 +213,10 @@ private boolean isBootClass(@BinaryName String className, @Nullable ClassLoader } else if (loader.getParent() == null) { debug_transform.log("Ignoring system class %s, parent loader == null%n", className); return true; - } else if (className.startsWith("sun.reflect")) { + } else if (className.startsWith("sun.reflect.")) { debug_transform.log("Ignoring system class %s, in sun.reflect package%n", className); return true; - } else if (className.startsWith("jdk.internal.reflect")) { + } else if (className.startsWith("jdk.internal.reflect.")) { // Starting with Java 9 sun.reflect => jdk.internal.reflect. debug_transform.log("Ignoring system class %s, in jdk.internal.reflect package", className); return true; @@ -227,23 +225,27 @@ private boolean isBootClass(@BinaryName String className, @Nullable ClassLoader } /** - * Output a .class file and a .bcel version of the class file. + * Write a .class file and a .bcel version of the class file. * - * @param classBytes a byte array of the class file to output + * @param classBytes a byte array of the class file to output. This is the whole classfile, not + * just the bytecodes part of it. * @param directory output location for the files * @param className the current class */ - private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName String className) { + private void writeDebugClassFiles( + byte[] classBytes, File directory, @BinaryName String className) { + // UNDONE: Should we stop using bcel and use classModel.toDebugString() instead? // Convert the classBytes to a BCEL JavaClass - JavaClass c; + JavaClass c = null; try (ByteArrayInputStream bais = new ByteArrayInputStream(classBytes)) { ClassParser parser = new ClassParser(bais, className); c = parser.parse(); } catch (Throwable t) { - System.err.printf("Unexpected error %s while reading %s%n", t, className); - t.printStackTrace(); - // ignore the error, it shouldn't affect the instrumentation - return; + System.err.printf("Unexpected error %s while parsing the bytes of %s%n", t, className); + if (debug_transform.enabled) { + t.printStackTrace(); + } + // Ignore the error, it shouldn't affect the instrumentation. } try { @@ -252,11 +254,15 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str File outputFile = new File(directory, className + ".class"); Files.write(outputFile.toPath(), classBytes); // Write a BCEL-like file. - BcelUtil.dump(c, directory); + if (c != null) { + BcelUtil.dump(c, directory); + } } catch (Throwable t) { System.err.printf("Unexpected error %s writing debug files for: %s%n", t, className); - t.printStackTrace(); - // ignore the error, it shouldn't affect the instrumentation + if (debug_transform.enabled) { + t.printStackTrace(); + } + // Ignore the error, it shouldn't affect the instrumentation. } } @@ -276,10 +282,15 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str byte[] classfileBuffer) throws IllegalClassFormatException { - // for debugging + // For debugging. // new Throwable().printStackTrace(); - debug_transform.log("Entering chicory.Instrument24.transform(): class = %s%n", className); + debug_transform.log("%nEntering chicory.Instrument24.transform(): class = %s%n", className); + + if (className == null) { + // most likely a lambda related class + return null; + } @BinaryName String binaryClassName = Signatures.internalFormToBinaryName(className); @@ -293,7 +304,7 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str } // Don't instrument our own code. - if (isChicory(className)) { + if (isChicoryClass(className)) { debug_transform.log("Not transforming Chicory class %s%n", binaryClassName); return null; } @@ -301,11 +312,11 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str ClassLoader cfLoader; if (loader == null) { cfLoader = ClassLoader.getSystemClassLoader(); - debug_transform.log("Transforming class %s, loader %s - %s%n", className, loader, cfLoader); + debug_transform.log("Transforming class %s, loaders %s, %s%n", className, loader, cfLoader); } else { cfLoader = loader; debug_transform.log( - "Transforming class %s, loader %s - %s%n", className, loader, loader.getParent()); + "Transforming class %s, loaders %s, %s%n", className, loader, loader.getParent()); } // Parse the bytes of the classfile, die on any errors. @@ -318,22 +329,22 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str try { classModel = classFile.parse(classfileBuffer); } catch (Throwable t) { - System.err.printf("Unexpected error %s while reading %s%n", t, binaryClassName); - t.printStackTrace(); - // No changes to the bytecodes + System.err.printf("Unexpected error %s while parsing bytes of %s%n", t, binaryClassName); + if (debug_transform.enabled) { + t.printStackTrace(); + } + // No changes to the bytecodes. return null; } if (Chicory.dump) { - outputDebugFiles( + writeDebugClassFiles( classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL), debug_uninstrumented_dir, binaryClassName); } - debug_transform.log("%nTransforming: %s%n", binaryClassName); - - // Instrument the classfile, die on any errors + // Instrument the classfile, die on any errors. ClassInfo classInfo = new ClassInfo(binaryClassName, cfLoader); byte[] newBytes; try { @@ -342,21 +353,22 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str classModel.thisClass().asSymbol(), classBuilder -> instrumentClass(classBuilder, classModel, classInfo)); } catch (Throwable t) { - RuntimeException re = - new RuntimeException( - String.format("Unexpected error %s in transform of %s", t, binaryClassName), t); - re.printStackTrace(); - throw re; + System.err.printf("Unexpected error %s in transform of %s%n", t, binaryClassName); + if (debug_transform.enabled) { + t.printStackTrace(); + } + // No changes to the bytecodes. + return null; } if (classInfo.shouldInclude) { if (Chicory.dump) { - outputDebugFiles(newBytes, debug_instrumented_dir, binaryClassName); + writeDebugClassFiles(newBytes, debug_instrumented_dir, binaryClassName); } return newBytes; } else { debug_transform.log("Didn't instrument %s%n", binaryClassName); - // No changes to the bytecodes + // No changes to the bytecodes. return null; } } @@ -371,10 +383,7 @@ private void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Str private void instrumentClass( ClassBuilder classBuilder, ClassModel classModel, ClassInfo classInfo) { - debugInstrument.log("Class Name:%n"); - @SuppressWarnings("signature:assignment") // type conversion - @InternalForm String temp = classModel.thisClass().asInternalName(); - debugInstrument.log(" %s%n", Signatures.internalFormToBinaryName(temp)); + debug_transform.log("%nInstrumenting class: %s%n", classInfo.class_name); debugInstrument.log("Class Attributes:%n"); for (java.lang.classfile.Attribute a : classModel.attributes()) { @@ -389,7 +398,30 @@ private void instrumentClass( // Modify each non-void method to save its result in a local variable before returning. instrument_all_methods(classModel, classBuilder, classInfo); - // Remember any constant static fields. + // Copy all other ClassElements to output class unchanged. + for (ClassElement ce : classModel) { + debugInstrument.log("ClassElement: %s%n", ce); + switch (ce) { + case MethodModel mm -> {} + // Copy all other ClassElements to output class unchanged. + default -> classBuilder.with(ce); + } + } + + if (classInfo.shouldInclude) { + debug_transform.log("Added trace info to class %s%n", classInfo); + synchronized (SharedData.new_classes) { + SharedData.new_classes.add(classInfo); + } + synchronized (SharedData.all_classes) { + SharedData.all_classes.add(classInfo); + } + } else { // not included + debug_transform.log("Trace info not added to class %s%n", classInfo); + } + + // Store constant static fields in `classInfo`. This ought to be a method of ClassInfo, + // but that wouldn't work with both Instrument.java and Instrument24.java. List fields = classModel.fields(); for (FieldModel fm : fields) { Optional cva = fm.findAttribute(Attributes.constantValue()); @@ -408,13 +440,13 @@ private void instrumentClass( } /** - * Adds a call (or calls) to the Chicory Runtime {@code initNotify} method prior to each return in - * the given method. Clients pass the class static initializer {@code } as the method. + * Adds a call to the Chicory Runtime {@code initNotify} method prior to each return in the given + * method. Clients pass the class static initializer {@code } as the method. * * @param mgen the method to modify, typically the class static initializer {@code } * @param classInfo for the given class */ - private void addInvokeToClinit(MethodGen24 mgen, ClassInfo classInfo) { + private void addInitNotifyCalls(MethodGen24 mgen, ClassInfo classInfo) { try { List il = mgen.getInstructionList(); @@ -423,19 +455,17 @@ private void addInvokeToClinit(MethodGen24 mgen, ClassInfo classInfo) { CodeElement inst = li.next(); - // Back up iterator to point to 'inst'. - li.previous(); - // Get the translation for this instruction (if any). if (inst instanceof ReturnInstruction) { + // Back up iterator to point before 'inst'. + li.previous(); // Insert code prior to 'inst'. for (CodeElement ce : call_initNotify(mgen.getPoolBuilder(), classInfo)) { li.add(ce); } + // Skip over 'inst' we just inserted new_il in front of. + li.next(); } - - // Skip over 'inst' we just inserted new_il in front of. - li.next(); } } catch (Exception e) { System.err.printf("Unexpected exception encountered: %s", e); @@ -472,7 +502,7 @@ private void createClinit(ClassBuilder classBuilder, ClassInfo classInfo) { */ private List call_initNotify(ConstantPoolBuilder poolBuilder, ClassInfo classInfo) { - List instructions = new ArrayList<>(); + List instructions = new ArrayList<>(2); MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, "initNotify", MethodTypeDesc.of(CD_void, CD_String)); @@ -485,8 +515,8 @@ private List call_initNotify(ConstantPoolBuilder poolBuilder, Class /** * Instruments all the methods in a class. For each method, adds instrumentation code at the entry * and at each return from the method. In addition, changes each return statement to first place - * the value being returned into a local and then return. This allows us to work around the JDI - * deficiency of not being able to query return values. + * the value being returned into a local and then return. Note that {@link #callEnterOrExit} + * special cases the instrumentation for constructor entry. * * @param classModel for current class * @param classBuilder for current class @@ -496,38 +526,37 @@ private void instrument_all_methods( ClassModel classModel, ClassBuilder classBuilder, ClassInfo classInfo) { if (classModel.majorVersion() < ClassFile.JAVA_6_VERSION) { - System.out.printf( - "Chicory warning: ClassFile: %s - classfile version (%d) is out of date and may not be" - + " processed correctly.%n", - classInfo.class_name, classModel.majorVersion()); + String output = + String.format( + "Chicory warning: ClassFile: %s - classfile version (%d) is out of date and may not" + + " be processed correctly.", + classInfo.class_name, classModel.majorVersion()); + System.out.printf("%s%n", output); + debugInstrument.log("%s%n", output); } - List method_infos = new ArrayList<>(); - + List methods = classModel.methods(); + List method_infos = new ArrayList<>(methods.size()); boolean shouldInclude = false; - try { - for (MethodModel mm : classModel.methods()) { + for (MethodModel mm : methods) { - // NOT SURE THIS APPLIES ANYMORE - // don't plan to use StackMapUtils - // The class data in StackMapUtils is not thread safe, - // allow only one method at a time to be instrumented. + // Allow only one method at a time to be instrumented. // DynComp does this by creating a new instrumentation object // for each class - probably a cleaner solution. synchronized (this) { MethodGen24 mgen = new MethodGen24(mm, classInfo.class_name, classBuilder); - // check for the class static initializer method + // Check for the class static initializer method. if (mgen.getName().equals("")) { classInfo.hasClinit = true; if (Chicory.checkStaticInit) { - addInvokeToClinit(mgen, classInfo); + addInitNotifyCalls(mgen, classInfo); } if (!Chicory.instrument_clinit) { // We are not going to instrument this method. // We need to copy it to the output class. - outputMethodUnchanged(classBuilder, mm, mgen); + copyMethodToOutputUnchanged(classBuilder, mm, mgen); continue; } } @@ -536,15 +565,15 @@ private void instrument_all_methods( if ((mgen.getAccessFlagsMask() & ClassFile.ACC_SYNTHETIC) != 0) { // We are not going to instrument this method. // We need to copy it to the output class. - outputMethodUnchanged(classBuilder, mm, mgen); + copyMethodToOutputUnchanged(classBuilder, mm, mgen); continue; } - // Get the instruction list and skip methods with no instructions. + // Skip methods with no instructions. if (mgen.getInstructionList().isEmpty()) { // We are not going to instrument this method. // We need to copy it to the output class. - outputMethodUnchanged(classBuilder, mm, mgen); + copyMethodToOutputUnchanged(classBuilder, mm, mgen); continue; } @@ -590,7 +619,7 @@ private void instrument_all_methods( if (curMethodInfo == null) { // method filtered out! // We are not going to instrument this method. // We need to copy it to the output class. - outputMethodUnchanged(classBuilder, mm, mgen); + copyMethodToOutputUnchanged(classBuilder, mm, mgen); continue; } @@ -605,7 +634,7 @@ private void instrument_all_methods( SharedData.methods.add(curMethodInfo); } - // Add entry instrumentation and instrument return instructions. + // Instrument entry and exits (return instructions). classBuilder.withMethod( mm.methodName().stringValue(), mm.methodTypeSymbol(), @@ -619,43 +648,23 @@ private void instrument_all_methods( e.printStackTrace(); } - // Copy all other ClassElements to output class (unchanged). - for (ClassElement ce : classModel) { - debugInstrument.log("ClassElement: %s%n", ce); - switch (ce) { - case MethodModel mm -> {} - // Copy all other ClassElements to output class (unchanged). - default -> classBuilder.with(ce); - } - } + classInfo.shouldInclude = shouldInclude; // Add the class and method information to runtime so it is available // as enter/exit ppts are processed. classInfo.set_method_infos(method_infos); - - if (shouldInclude) { - debug_transform.log("Added trace info to class %s%n", classInfo); - synchronized (SharedData.new_classes) { - SharedData.new_classes.add(classInfo); - } - synchronized (SharedData.all_classes) { - SharedData.all_classes.add(classInfo); - } - } else { // not included - debug_transform.log("Trace info not added to class %s%n", classInfo); - } - classInfo.shouldInclude = shouldInclude; } /** - * Copy the given method from the input class file to the output output class with no changes. - * Uses {@code copyMethod} to perform the actual copy. + * Copy the given method from the input class file to the output class with no changes. Uses + * {@link #copyMethod} to perform the actual copy. * * @param classBuilder for the output class - * @param mm MethodModel describes the input method + * @param mm the input method * @param mgen describes the output method */ - private void outputMethodUnchanged(ClassBuilder classBuilder, MethodModel mm, MethodGen24 mgen) { + private void copyMethodToOutputUnchanged( + ClassBuilder classBuilder, MethodModel mm, MethodGen24 mgen) { classBuilder.withMethod( mm.methodName().stringValue(), mm.methodTypeSymbol(), @@ -664,7 +673,7 @@ private void outputMethodUnchanged(ClassBuilder classBuilder, MethodModel mm, Me } /** - * Copy the given method from the input class file to the output output class with no changes. + * Copy the given method from the input class file to the output class with no changes. * * @param methodBuilder for the output class * @param methodModel describes the input method @@ -678,7 +687,7 @@ private void copyMethod(MethodBuilder methodBuilder, MethodModel methodModel, Me case CodeModel codeModel -> methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, mgen.getInstructionList())); - // copy all other MethodElements to output class (unchanged) + // Copy all other MethodElements to output class unchanged. default -> methodBuilder.with(me); } } @@ -699,12 +708,12 @@ private void copyCode(CodeBuilder codeBuilder, List instructions) { } /** - * Instrument the given method using {@link #instrumentCode}. + * Instrument a method using {@link #instrumentCode}. * * @param methodBuilder for the given method * @param methodModel for the given method * @param mgen describes the given method - * @param curMethodInfo provides additional information about the method + * @param curMethodInfo additional information about the method * @param method_info_index the index of the method in SharedData.methods */ private void instrumentMethod( @@ -722,66 +731,18 @@ private void instrumentMethod( codeBuilder -> instrumentCode(codeBuilder, codeModel, mgen, curMethodInfo, method_info_index)); - // copy all other MethodElements to output class (unchanged) + // Copy all other MethodElements to output class unchanged. default -> methodBuilder.with(me); } } } /** - * Insert the our instrumentation code into the instruction list for the given method. This - * includes adding instrumentation code at the entry and at each return from the method. In - * addition, it changes each return statement to first place the value being returned into a local - * and then return. - * - * @param instructions instruction list for method - * @param mgen describes the given method - * @param curMethodInfo provides additional information about the method - * @param minfo for the given method's code - */ - private void insertInstrumentationCode( - List instructions, - MethodGen24 mgen, - MethodInfo curMethodInfo, - MethodGen24.MInfo24 minfo) { - - // Add nonce local to matchup enter/exits - addInstrumentationAtEntry(instructions, mgen, minfo); - - // debugInstrument.log("Modified code: %s%n", mgen.getMethod().getCode()); - - assert curMethodInfo != null : "@AssumeAssertion(nullness): can't get here if null"; - Iterator shouldIncludeIter = curMethodInfo.is_included.iterator(); - Iterator exitLocationIter = curMethodInfo.exit_locations.iterator(); - - // instrument return instructions - ListIterator li = instructions.listIterator(); - while (li.hasNext()) { - - CodeElement inst = li.next(); - - // back up iterator to point to 'inst' - li.previous(); - - // If this is a return instruction, insert method exit instrumentation - List new_il = - generate_return_instrumentation(inst, mgen, minfo, shouldIncludeIter, exitLocationIter); - - // insert code prior to 'inst' - for (CodeElement ce : new_il) { - li.add(ce); - } - - // skip over 'inst' we just inserted new_il in front of - li.next(); - } - } - - /** - * Generate instrumentation code for the given method. This includes reading in and processing the - * original instruction list, calling {@code insertInstrumentationCode} to add the instrumentation - * code, and then copying the modified instruction list to the output method while updating the - * code labels, if needed. + * Generate instrumentation code for the given method. The first step is to read and process the + * original instruction list to create the initial version of the new instruction list for the + * method (codeList). It then calls {@link #instrumentInstructionList} to add the instrumentation + * code to the codeList. Finally, it inserts this modified instruction list into the output method + * while updating the any code labels. * * @param codeBuilder for the given method's code * @param codeModel for the input method's code @@ -841,7 +802,7 @@ private void instrumentCode( } // Generate and insert our instrumentation code. - insertInstrumentationCode(codeList, mgen, curMethodInfo, minfo); + instrumentInstructionList(codeList, mgen, curMethodInfo, minfo); // Copy the modified local variable table to the output class. debugInstrument.log("LocalVariableTable:%n"); @@ -872,6 +833,158 @@ private void instrumentCode( } } + /** + * Insert the our instrumentation code into the instruction list for the given method. This + * comprises adding instrumentation code at method entry and at each return from the method. + * + * @param instructions instruction list for method + * @param mgen describes the given method + * @param curMethodInfo provides additional information about the method + * @param minfo for the given method's code + */ + private void instrumentInstructionList( + List instructions, + MethodGen24 mgen, + MethodInfo curMethodInfo, + MethodGen24.MInfo24 minfo) { + + addInstrumentationAtEntry(instructions, mgen, minfo); + addInstrumentationAtExits(instructions, mgen, curMethodInfo, minfo); + } + + /** + * Inserts instrumentation code at the start of the method. This includes adding a local variable + * (this_invocation_nonce) that is initialized to Runtime.nonce++. This provides a unique id on + * each method entry/exit that allows them to be matched up from the dtrace file. Also inserts + * code to call daikon.chicory.Runtime.enter(). + * + * @param instructions instruction list for method + * @param mgen describes the given method + * @param minfo for the given method's code + */ + private void addInstrumentationAtEntry( + List instructions, MethodGen24 mgen, MethodGen24.MInfo24 minfo) { + + List newCode = generateIncrementNonce(mgen, minfo); + + callEnterOrExit(newCode, mgen, minfo, "enter", -1); + + // The start of the list of CodeElements looks as follows: + // LocalVariable declarations (if any) + // Label for start of code (if present) + // LineNumber for start of code (if present) + // + // + // We want to insert our instrumentation code after the LocalVariables (if any) and after the + // initial label (if present), but before any LineNumber or Instruction. + CodeElement inst = null; + try { + ListIterator li = instructions.listIterator(); + while (li.hasNext()) { + inst = li.next(); + if ((inst instanceof LineNumber) || (inst instanceof Instruction)) { + break; + } + } + + // Label for new location of start of original code. + debugInstrument.log("entryLabel: %s%n", minfo.entryLabel); + assert inst != null : "@AssumeAssertion(nullness): inst will always be set in loop above"; + minfo.labelMap.put(inst, minfo.entryLabel); + + // Insert code before this LineNumber or Instruction. + // Back up iterator to point to 'inst'. + li.previous(); + for (CodeElement ce : newCode) { + li.add(ce); + } + } catch (Exception e) { + System.err.printf("Unexpected exception encountered: %s", e); + e.printStackTrace(); + } + } + + /** + * Generates code to initialize a new local variable (this_invocation_nonce) to Runtime.nonce++. + * + * @param mgen describes the given method + * @param minfo for the given method's code + */ + private List generateIncrementNonce(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { + String atomic_int_classname = "java.util.concurrent.atomic.AtomicInteger"; + ClassDesc atomic_intClassDesc = ClassDesc.of(atomic_int_classname); + + List newCode = new ArrayList<>(); + + // Create the nonce local variable. + minfo.nonceLocal = createLocalWithMethodScope(mgen, minfo, "this_invocation_nonce", CD_int); + + // The following implements: + // this_invocation_nonce = Runtime.nonce++; + + // getstatic Runtime.nonce (load reference to AtomicInteger daikon.chicory.Runtime.nonce) + newCode.add( + FieldInstruction.of( + Opcode.GETSTATIC, + mgen.getPoolBuilder().fieldRefEntry(runtimeCD, "nonce", atomic_intClassDesc))); + + // Do an atomic get and increment of nonce value. + // This is multi-thread safe and leaves int value of nonce on stack. + MethodRefEntry mre = + mgen.getPoolBuilder() + .methodRefEntry(atomic_intClassDesc, "getAndIncrement", MethodTypeDesc.of(CD_int)); + newCode.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + + // store original value of nonce into this_invocation_nonce) + assert minfo.nonceLocal != null : "@AssumeAssertion(nullness): can't get here if null"; + newCode.add(StoreInstruction.of(TypeKind.INT, minfo.nonceLocal.slot())); + + return newCode; + } + + /** + * Inserts instrumentation code at each exit (return) from the method. For each return + * instruction, generate additional instructions to assign the method's result to a local variable + * (return__$trace2_val) and then call daikon.chicory.Runtime.exit(). + * + * @param instructions instruction list for method + * @param mgen describes the given method + * @param curMethodInfo provides additional information about the method + * @param minfo for the given method's code + */ + private void addInstrumentationAtExits( + List instructions, + MethodGen24 mgen, + MethodInfo curMethodInfo, + MethodGen24.MInfo24 minfo) { + + assert curMethodInfo != null : "@AssumeAssertion(nullness): can't get here if null"; + Iterator shouldIncludeIter = curMethodInfo.exit_location_is_included.iterator(); + Iterator exitLocationIter = curMethodInfo.exit_locations.iterator(); + + // Instrument return instructions. + ListIterator li = instructions.listIterator(); + while (li.hasNext()) { + + CodeElement inst = li.next(); + + // back up iterator to point to 'inst' + li.previous(); + + // If this is a return instruction, insert method exit instrumentation + List new_il = + generate_return_instrumentation(inst, mgen, minfo, shouldIncludeIter, exitLocationIter); + + // insert instrumentation code prior to 'inst' + for (CodeElement ce : new_il) { + li.add(ce); + } + + // skip over 'inst' we just inserted new_il in front of + li.next(); + } + } + /** * If this is a return instruction, generate a new instruction list to assign the result to a * local variable (return__$trace2_val) and then call daikon.chicory.Runtime.exit(). This @@ -880,8 +993,9 @@ private void instrumentCode( * @param inst the instruction to inspect, which might be a return instruction * @param mgen describes the given method * @param minfo for the given method's code - * @param shouldIncludeIter if true, instrument this return - * @param exitLocationIter list of exit line numbers + * @param shouldIncludeIter if shouldIncludeIter.next() is true, instrument this return + * @param exitLocationIter if we should instrument this return, exitLocationIter.next() is its + * line number * @return instruction list for instrumenting the return, or an empty list if {@code inst} is not * a return or the return should not be instrumented */ @@ -897,6 +1011,11 @@ private List generate_return_instrumentation( return Collections.emptyList(); } + // There is a single boolean element on shouldIncludeIter for every return in the method. Its + // value was calculated by {@link #shouldIgnore} and indicates whether or not that return should + // be instrumented. If the value is true the next exitLocationIter element contains the source + // line number for the return in question. + if (!shouldIncludeIter.hasNext()) { throw new RuntimeException("Not enough entries in shouldIncludeIter"); } @@ -907,16 +1026,12 @@ private List generate_return_instrumentation( return Collections.emptyList(); } - List newCode = new ArrayList<>(); + List newCode = new ArrayList<>(2); ClassDesc type = mgen.getReturnType(); if (!type.equals(CD_void)) { TypeKind typeKind = TypeKind.from(type); LocalVariable returnLocal = getReturnLocal(mgen, type, minfo); - if (typeKind.slotSize() == 1) { - newCode.add(StackInstruction.of(Opcode.DUP)); - } else { - newCode.add(StackInstruction.of(Opcode.DUP2)); - } + newCode.add(StackInstruction.of(typeKind.slotSize() == 1 ? Opcode.DUP : Opcode.DUP2)); newCode.add(StoreInstruction.of(typeKind, returnLocal.slot())); } @@ -932,9 +1047,9 @@ private List generate_return_instrumentation( * Returns the local variable used to store the return result. If it is not present, creates it * with the specified type. If the variable is known to already exist, the type can be null. * - * @param mgen describes the given method + * @param mgen describes a method * @param returnType the type of the return; may be null if the variable is known to already exist - * @param minfo for the given method's code + * @param minfo the method's code * @return a local variable to save the return value */ @SuppressWarnings("nullness") @@ -958,101 +1073,11 @@ private LocalVariable getReturnLocal( return minfo.returnLocal; } - /** - * Generates code to initialize a new local variable (this_invocation_nonce) to Runtime.nonce++. - * - * @param mgen describes the given method - * @param minfo for the given method's code - */ - private List generateIncrementNonce(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { - String atomic_int_classname = "java.util.concurrent.atomic.AtomicInteger"; - ClassDesc atomic_intClassDesc = ClassDesc.of(atomic_int_classname); - - List newCode = new ArrayList<>(); - - // create the nonce local variable - minfo.nonceLocal = createLocalWithMethodScope(mgen, minfo, "this_invocation_nonce", CD_int); - - // The following implements: - // this_invocation_nonce = Runtime.nonce++; - - // getstatic Runtime.nonce (load reference to AtomicInteger daikon.chicory.Runtime.nonce) - newCode.add( - FieldInstruction.of( - Opcode.GETSTATIC, - mgen.getPoolBuilder().fieldRefEntry(runtimeCD, "nonce", atomic_intClassDesc))); - - // Do an atomic get and increment of nonce value. - // This is multi-thread safe and leaves int value of nonce on stack. - MethodRefEntry mre = - mgen.getPoolBuilder() - .methodRefEntry(atomic_intClassDesc, "getAndIncrement", MethodTypeDesc.of(CD_int)); - newCode.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); - - // store original value of nonce into this_invocation_nonce) - assert minfo.nonceLocal != null : "@AssumeAssertion(nullness): can't get here if null"; - newCode.add(StoreInstruction.of(TypeKind.INT, minfo.nonceLocal.slot())); - - return newCode; - } - - /** - * Inserts the given instrumentation code at the start of the method. This includes adding a local - * variable (this_invocation_nonce) that is initialized to Runtime.nonce++. This provides a unique - * id on each method entry/exit that allows them to be matched up from the dtrace file. Inserts - * code to call daikon.chicory.Runtime.enter(). - * - * @param instructions instruction list for method - * @param mgen describes the given method - * @param minfo for the given method's code - */ - private void addInstrumentationAtEntry( - List instructions, MethodGen24 mgen, MethodGen24.MInfo24 minfo) { - - List newCode = generateIncrementNonce(mgen, minfo); - - callEnterOrExit(newCode, mgen, minfo, "enter", -1); - - // The start of the list of CodeElements looks as follows: - // LocalVariable declarations (if any) - // Label for start of code (if present) - // LineNumber for start of code (if present) - // - // - // We want to insert our instrumentation code after the LocalVariables (if any) and after the - // initial label (if present), but before any LineNumber or Instruction. - CodeElement inst = null; - try { - ListIterator li = instructions.listIterator(); - while (li.hasNext()) { - inst = li.next(); - if ((inst instanceof LineNumber) || (inst instanceof Instruction)) { - break; - } - } - - // Label for new location of start of original code. - debugInstrument.log("entryLabel: %s%n", minfo.entryLabel); - assert inst != null : "@AssumeAssertion(nullness): inst will always be set in loop above"; - minfo.labelMap.put(inst, minfo.entryLabel); - - // Insert code before this LineNumber or Instruction. - // Back up iterator to point to 'inst'. - li.previous(); - for (CodeElement ce : newCode) { - li.add(ce); - } - } catch (Exception e) { - System.err.printf("Unexpected exception encountered: %s", e); - e.printStackTrace(); - } - } - /** * Pushes the object, nonce, parameters, and return value on the stack and calls the specified - * method (normally enter or exit) in daikon.chicory.Runtime. The parameters are passed as an - * array of objects. Any primitive values are wrapped in the appropriate daikon.chicory.Runtime - * wrapper (IntWrap, FloatWrap, etc). + * method (either enter or exit) in daikon.chicory.Runtime. The parameters are passed as an array + * of objects. Any primitive values are wrapped in the appropriate daikon.chicory.Runtime wrapper + * (IntWrap, FloatWrap, etc). * * @param newCode an instruction list to append the enter/exit code to * @param mgen describes the method to be instrumented @@ -1070,17 +1095,19 @@ private void callEnterOrExit( ClassDesc[] paramTypes = mgen.getParameterTypes(); // aload - // Push the object. Push null if this is a static method or a constructor. + // Push the object. if (mgen.isStatic() || (methodToCall.equals("enter") && isConstructor(mgen))) { + // Push null if this is a static method or a constructor. newCode.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); - } else { // must be an instance method + } else { + // Must be an instance method. newCode.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); } // The offset of the first parameter. int param_offset = mgen.isStatic() ? 0 : 1; - // Assumes addInstrumentationAtEntry has been called which sets nonceLocal. + // Assumes addInstrumentationAtEntry has been called which creates the nonce local. // iload // Push the nonce. assert minfo.nonceLocal != null : "@AssumeAssertion(nullness): can't get here if null"; @@ -1127,7 +1154,7 @@ private void callEnterOrExit( } } - // push line number + // Push the line number. newCode.add(loadIntegerConstant(line, mgen)); } @@ -1145,32 +1172,14 @@ private void callEnterOrExit( } /** Used for processing a switch instruction. */ - private static class ModifiedSwitchInfo { - - /** Possibly modified default switch target. */ - Label modifiedTarget; - - /** Possibly modified switch case list. */ - List modifiedCaseList; - - /** - * Creates a ModifiedSwitchInfo. - * - * @param modifiedTarget possibly modified default switch target - * @param modifiedCaseList possibly modified switch case list - */ - ModifiedSwitchInfo(Label modifiedTarget, List modifiedCaseList) { - this.modifiedTarget = modifiedTarget; - this.modifiedCaseList = modifiedCaseList; - } - } + private record ModifiedSwitchInfo(Label modifiedTarget, List modifiedCaseList) {} /** * Checks to see if the instruction targets the method's CodeModel startLabel (held in - * oldStartLabel). If so, it replaces the target with the entryLabel. Unfortunately, the classfile - * API does not allow us to simply replace the label, we have to replace the entire instruction. - * Note that oldStartLabel may be null, but that is okay as any comparison to it will fail and we - * will do nothing. + * minfo.oldStartLabel). If so, it replaces the target with the minfo.entryLabel. Unfortunately, + * the classfile API does not allow us to simply replace the label, we have to replace the entire + * instruction. Note that oldStartLabel may be null, but that is okay as any comparison to it will + * fail and we will do nothing. * * @param inst the instruction to check * @param minfo for the given method's code @@ -1209,7 +1218,7 @@ private CodeElement retargetStartLabel(CodeElement inst, MethodGen24.MInfo24 min /** * Checks to see if a switch instruction's default target or any of the case targets refers to - * {@code minfo.oldStartLabel}. If so, replace those targets with the entryLabel, and return the + * {@code minfo.oldStartLabel}. If so, replace those targets with minfo.entryLabel, and return the * result in a ModifiedSwitchInfo. Otherwise, return null. * * @param defaultTarget the default target for the switch instruction @@ -1229,7 +1238,7 @@ private CodeElement retargetStartLabel(CodeElement inst, MethodGen24.MInfo24 min modifiedTarget = defaultTarget; } - List newCaseList = new ArrayList<>(); + List newCaseList = new ArrayList(); for (SwitchCase item : caseList) { if (item.target().equals(minfo.oldStartLabel)) { newCaseList.add(SwitchCase.of(item.caseValue(), minfo.entryLabel)); @@ -1337,7 +1346,7 @@ private boolean isConstructor(MethodGen24 mgen) { * @return the class name in ClassGetName format */ @SuppressWarnings("signature") // conversion method - public static @ClassGetName String typeToClassGetName(ClassDesc t) { + public static @ClassGetName String classDescToClassGetName(ClassDesc t) { String s = t.descriptorString(); if (s.startsWith("[")) { return s.replace('/', '.'); @@ -1347,30 +1356,24 @@ private boolean isConstructor(MethodGen24 mgen) { } /** - * Returns an array of strings, each corresponding to mgen's parameter types as a fully qualified - * name. + * Returns an array of fully qualified names, one for each of mgen's parameter types. * * @param mgen describes the given method * @return an array of strings, each corresponding to mgen's parameter types */ @SuppressWarnings("signature") // conversion method - private @BinaryName String[] getFullyQualifiedParameterTypes(MethodGen24 mgen) { - - ClassDesc[] paramTypes = mgen.getParameterTypes(); - @BinaryName String[] result = new @BinaryName String[paramTypes.length]; - - for (int i = 0; i < paramTypes.length; i++) { - result[i] = convertDescriptorToFqBinaryName(paramTypes[i].descriptorString()); - } - - return result; + private @BinaryName String[] getFqBinaryNameParameterTypes(MethodGen24 mgen) { + return ArraysPlume.mapArray( + paramType -> convertDescriptorToFqBinaryName(paramType.descriptorString()), + mgen.getParameterTypes(), + String.class); } /** - * Creates a MethodInfo struct corresponding to {@code mgen}. + * Creates a MethodInfo corresponding to {@code mgen}. * - * @param classInfo a class - * @param mgen a method in the given class + * @param classInfo class containing the method + * @param mgen method to inspect * @return a new MethodInfo for the method, or null if the method should not be instrumented */ private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen24 mgen) { @@ -1402,7 +1405,7 @@ private boolean isConstructor(MethodGen24 mgen) { String arg0Name = convertDescriptorToFqBinaryName(arg0Fd); if (dollarPos >= 0 && - // type of first parameter is classname up to the "$" + // Type of first parameter is classname up to the "$". mgen.getClassName().substring(0, dollarPos).equals(arg0Name)) { // As a further check, for javac-generated classfiles, the // constant pool index #1 is "this$0", and the first 5 bytes of @@ -1438,7 +1441,7 @@ private boolean isConstructor(MethodGen24 mgen) { mgen.getName(), DaikonWriter.methodEntryName( classInfo.class_name, - getFullyQualifiedParameterTypes(mgen), + getFqBinaryNameParameterTypes(mgen), // It looks like DaikonWriter.methodEntryName does not use the mgen.toString() argument. mgen.toString(), mgen.getName()))) { @@ -1448,7 +1451,7 @@ private boolean isConstructor(MethodGen24 mgen) { ClassDesc[] paramTypes = mgen.getParameterTypes(); @ClassGetName String[] arg_type_strings = new @ClassGetName String[paramTypes.length]; for (int i = 0; i < paramTypes.length; i++) { - arg_type_strings[i] = typeToClassGetName(paramTypes[i]); + arg_type_strings[i] = classDescToClassGetName(paramTypes[i]); } if (debugInstrument.enabled) { @@ -1460,7 +1463,7 @@ private boolean isConstructor(MethodGen24 mgen) { } // Loop through each instruction and find the line number for each return opcode. - List exit_locs = new ArrayList<>(); + List exit_line_numbers = new ArrayList<>(); // Tells whether each exit loc in the method is included or not (based on filters). List isIncluded = new ArrayList<>(); @@ -1468,7 +1471,7 @@ private boolean isConstructor(MethodGen24 mgen) { debugInstrument.log("Looking for exit points in %s%n", mgen.getName()); List il = mgen.getInstructionList(); int line_number = 0; - int last_line_number = 0; + int prev_line_number = 0; for (CodeElement inst : il) { boolean foundLine = false; @@ -1481,25 +1484,25 @@ private boolean isConstructor(MethodGen24 mgen) { if (inst instanceof ReturnInstruction) { debugInstrument.log("Exit at line %d%n", line_number); - // Only do incremental lines if we don't have the line generator. - if (line_number == last_line_number && foundLine == false) { + // Only do incremental lines if we haven't seen a line number since the last return. + if (line_number == prev_line_number && foundLine == false) { debugInstrument.log("Could not find line %d%n", line_number); line_number++; } - last_line_number = line_number; + prev_line_number = line_number; if (!shouldIgnore( classInfo.class_name, mgen.getName(), DaikonWriter.methodExitName( classInfo.class_name, - getFullyQualifiedParameterTypes(mgen), + getFqBinaryNameParameterTypes(mgen), mgen.toString(), mgen.getName(), line_number))) { shouldInclude = true; - exit_locs.add(line_number); + exit_line_numbers.add(line_number); isIncluded.add(true); } else { @@ -1510,7 +1513,7 @@ private boolean isConstructor(MethodGen24 mgen) { if (shouldInclude) { return new MethodInfo( - classInfo, mgen.getName(), paramNames, arg_type_strings, exit_locs, isIncluded); + classInfo, mgen.getName(), paramNames, arg_type_strings, exit_line_numbers, isIncluded); } else { return null; } @@ -1524,7 +1527,7 @@ private boolean isConstructor(MethodGen24 mgen) { * @return true if the given class is part of Chicory itself */ @Pure - private static boolean isChicory(@InternalForm String classname) { + private static boolean isChicoryClass(@InternalForm String classname) { if (classname.startsWith("daikon/chicory/") && !classname.equals("daikon/chicory/ChicoryTest")) { @@ -1539,35 +1542,17 @@ private static boolean isChicory(@InternalForm String classname) { return false; } - // UNFINISHED and maybe unneeded - // // converts a method descriptor to a Java language string - // public static String convertDescriptorToFqBinaryName(String descriptor) { - // StringBuilder args = new StringBuilder("("); - // if (descriptor.charAt(0) != '(') { - // throw new IllegalArgumentException("Invalid method descriptor: " + descriptor); - // } - // int paren = descriptor.indexOf(')'); - // if (paren < 0) { - // throw new IllegalArgumentException("Invalid method descriptor: " + descriptor); - // } - // int end; - // int comma = descriptor.indexOf(','); - // if (comma < 0) { - // end = paren; - // } else { - // end = min(comma, paren); - // } - /** - * Format a field descriptor for output. The main difference between a descriptor and a signature - * is that the latter may contain type arguments. This routine was orginaly written for - * descriptors, but some support for type arguments has been added. + * Format a field descriptor for output. In addition, this method includes some support for + * signatures as well. Signatures are a superset of descriptors and may include type variables and + * parameterized types. However, this method does not support type variables and type arguments + * with wildcard bounds. * *

    The output format is an extension of binary name format that includes primitives and arrays. - * It is almost identical to a fully qualified name, but using “$” instead of “.” to separate - * nested classes from their enclosing classes. + * It is the same as a fully qualified name, but using “$” instead of “.” to separate nested + * classes from their enclosing classes. * - * @param descriptor the object to format + * @param descriptor the descriptor to format * @return a @FqBinaryName formatted string */ @SuppressWarnings("signature") // conversion method @@ -1583,7 +1568,7 @@ private static boolean isChicory(@InternalForm String classname) { descriptor = descriptorFd; } - // Convert primitive types + // Convert primitive types. switch (descriptor.charAt(0)) { case 'B': result.append("byte"); @@ -1612,14 +1597,14 @@ private static boolean isChicory(@InternalForm String classname) { case 'V': result.append("void"); break; - case 'L': // Object type, starts with 'L' and ends with ';' - result.append(descriptorToFqBinaryName(descriptor)); + case 'L': // Class type, starts with 'L' and ends with ';' + result.append(convertClassTypeDescriptorToFqBinaryName(descriptor)); break; default: throw new IllegalArgumentException("Invalid descriptor: " + descriptor); } - // Append array brackets if applicable + // Append array brackets if applicable. for (int i = 0; i < arrayDimensions; i++) { result.append("[]"); } @@ -1630,25 +1615,25 @@ private static boolean isChicory(@InternalForm String classname) { /** * Format a class name that may contain type arguments. * - * @param descriptor the object to format + * @param descriptor the class descriptor to format * @return a @FqBinaryName formatted string */ @SuppressWarnings("signature") // conversion method - private static @FqBinaryName String descriptorToFqBinaryName(String descriptor) { + private static @FqBinaryName String convertClassTypeDescriptorToFqBinaryName(String descriptor) { StringBuilder result = new StringBuilder(); int genericStart = descriptor.indexOf('<'); int genericEnd = descriptor.lastIndexOf('>'); int endOfBaseType = descriptor.indexOf(';'); if (genericStart > 0 && genericEnd > genericStart) { - // Base type with generics + // Base type with generics. String baseType = descriptor.substring(1, genericStart).replace('/', '.'); result.append(baseType).append('<'); String genericPart = descriptor.substring(genericStart + 1, genericEnd); - result.append(typeArgumentsToBinaryNames(genericPart)); + result.append(convertTypeArgumentsToBinaryNames(genericPart)); result.append('>'); } else if (endOfBaseType > 0) { - // Regular object type + // Regular object type. result.append(descriptor.substring(1, endOfBaseType).replace('/', '.')); } else { throw new IllegalArgumentException("Malformed object type descriptor: " + descriptor); @@ -1663,7 +1648,12 @@ private static boolean isChicory(@InternalForm String classname) { * @return a string containing a list of types as binary names */ @SuppressWarnings("signature") // string manipulation - private static String typeArgumentsToBinaryNames(String genericPart) { + private static String convertTypeArgumentsToBinaryNames(String genericPart) { + + if (genericPart.equals("*")) { + return "?"; + } + StringBuilder result = new StringBuilder(); int depth = 0; StringBuilder current = new StringBuilder(); @@ -1695,12 +1685,13 @@ private static String typeArgumentsToBinaryNames(String genericPart) { } /** - * Format a constant value for printing. + * Convert the value of a constant static field to a string. {@link #instrumentClass} saves these + * values for use in the Chicory runtime. * * @param item the constant to format * @return a string containing the constant's value */ - private String formatConstantDesc(ConstantDesc item) { + private final String formatConstantDesc(ConstantDesc item) { try { return item.resolveConstantDesc(MethodHandles.lookup()).toString(); } catch (Exception e) { diff --git a/java/daikon/chicory/MethodInfo.java b/java/daikon/chicory/MethodInfo.java index bfd8b00d74..47c2807478 100644 --- a/java/daikon/chicory/MethodInfo.java +++ b/java/daikon/chicory/MethodInfo.java @@ -48,11 +48,18 @@ public class MethodInfo { /** Array of argument types as classes for this method. */ public Class[] arg_types; - /** Exit locations for this method. */ + /** + * Exit locations for this method. + * + *

    Chicory and DynComp treat this field differently. Chicory only adds an exit location if the + * corresponding entry in exit_location_is_included is true. (Bassed on the ppt omit/select + * patterns.) DynComp adds all exit locations and sets every exit_location_is_included value to + * true. + */ public List exit_locations; /** Tells whether each exit point in method is instrumented, based on filters. */ - public List is_included; + public List exit_location_is_included; /** * The root of the variable tree for the method entry program point. @@ -88,14 +95,14 @@ public MethodInfo( String[] arg_names, @ClassGetName String[] arg_type_strings, List exit_locations, - List is_included) { + List exit_location_is_included) { this.class_info = class_info; this.method_name = method_name; this.arg_names = arg_names; this.arg_type_strings = arg_type_strings; this.exit_locations = exit_locations; - this.is_included = is_included; + this.exit_location_is_included = exit_location_is_included; } // Use reserved keyword for basic type rather than signature to diff --git a/java/daikon/chicory/Runtime.java b/java/daikon/chicory/Runtime.java index 1c90ce5812..aeed4f8d74 100644 --- a/java/daikon/chicory/Runtime.java +++ b/java/daikon/chicory/Runtime.java @@ -532,12 +532,12 @@ public static void setDtraceOnlineMode(int port) { // System.out.println("Attempting to connect to Daikon on port --- " + port); daikonSocket.connect(new InetSocketAddress(InetAddress.getLocalHost(), port), 5000); } catch (UnknownHostException e) { - System.out.println( + System.err.println( "UnknownHostException connecting to Daikon : " + e.getMessage() + ". Exiting"); System.exit(1); throw new Error("Unreachable control flow"); } catch (IOException e) { - System.out.println( + System.err.println( "IOException, could not connect to Daikon : " + e.getMessage() + ". Exiting"); System.exit(1); throw new Error("Unreachable control flow"); @@ -548,7 +548,7 @@ public static void setDtraceOnlineMode(int port) { new PrintWriter( new BufferedWriter(new OutputStreamWriter(daikonSocket.getOutputStream(), UTF_8))); } catch (IOException e) { - System.out.println("IOException connecting to Daikon : " + e.getMessage() + ". Exiting"); + System.err.println("IOException connecting to Daikon : " + e.getMessage() + ". Exiting"); System.exit(1); } diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 447df4f4eb..921657fc6d 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -410,7 +410,7 @@ void instrument_classes(File dest_dir, Map class_stream_map @SuppressWarnings("signature:assignment") // type conversion @BinaryName String classname = classFileName.replace(".class", "").replace('/', '.'); if (DynComp.dump) { - inst24.outputDebugFiles(buffer, inst24.debug_uninstrumented_dir, classname); + inst24.writeDebugClassFiles(buffer, inst24.debug_uninstrumented_dir, classname); } // Instrument the class file. @@ -528,7 +528,7 @@ private void instrumentClassFile( throw new Error("Instrumentation failed: " + classFile); } if (DynComp.dump) { - inst24.outputDebugFiles(classBytes, inst24.debug_instrumented_dir, classname); + inst24.writeDebugClassFiles(classBytes, inst24.debug_instrumented_dir, classname); } skipped_methods.addAll(dci.get_skipped_methods()); File classfile = new File(classFileName); diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 1c815e84ae..1970bbf56f 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -180,7 +180,7 @@ public class DCInstrument extends InstructionListUtils { // Flags to enable additional console output for debugging /** If true, enable JUnit analysis debugging. */ - protected static final boolean debugJUnitAnalysis = false; + protected static final boolean debugJunitAnalysis = false; /** If true, enable {@link #getDefiningInterface} debugging. */ protected static final boolean debugGetDefiningInterface = false; @@ -201,15 +201,19 @@ public class DCInstrument extends InstructionListUtils { protected static Set junitTestClasses = new HashSet<>(); /** Possible states of JUnit test discovery. */ - protected enum JUnitState { + protected enum JunitState { + /** Have not seen a JUnit class file. */ NOT_SEEN, + /** Have seen a JUnit class file. */ STARTING, + /** Have seen a JUnit class file that loads JUnit test classes. */ TEST_DISCOVERY, + /** Have completed identifing JUnit test classes. */ RUNNING - }; + } /** Current state of JUnit test discovery. */ - protected static JUnitState junit_state = JUnitState.NOT_SEEN; + protected static JunitState junit_state = JunitState.NOT_SEEN; /** Have we seen 'JUnitCommandLineParseResult.parse'? */ protected static boolean junit_parse_seen = false; @@ -238,46 +242,64 @@ protected enum JUnitState { * be allocated as part of a load. We call a special runtime method for this so that we can check * for this in other cases. */ - protected static String[] uninit_classes = - new String[] { - "java.lang.String", - "java.lang.Class", - "java.lang.StringBuilder", - "java.lang.AbstractStringBuilder", - }; + protected static String[] uninit_classes = { + "java.lang.String", + "java.lang.Class", + "java.lang.StringBuilder", + "java.lang.AbstractStringBuilder", + }; /** * List of Object methods. Since we can't instrument Object, none of these can be instrumented, * and most of them don't provide useful comparability information anyway. The equals method and * the clone method are special-cased in the {@link #handleInvoke} routine. */ - protected static MethodDef[] obj_methods = - new MethodDef[] { - new MethodDef("finalize", new Type[0]), - new MethodDef("getClass", new Type[0]), - new MethodDef("hashCode", new Type[0]), - new MethodDef("notify", new Type[0]), - new MethodDef("notifyall", new Type[0]), - new MethodDef("toString", new Type[0]), - new MethodDef("wait", new Type[0]), - new MethodDef("wait", new Type[] {Type.LONG}), - new MethodDef("wait", new Type[] {Type.LONG, Type.INT}), - }; + protected static MethodDef[] obj_methods = { + new MethodDef("finalize", new Type[0]), + new MethodDef("getClass", new Type[0]), + new MethodDef("hashCode", new Type[0]), + new MethodDef("notify", new Type[0]), + new MethodDef("notifyall", new Type[0]), + new MethodDef("toString", new Type[0]), + new MethodDef("wait", new Type[0]), + new MethodDef("wait", new Type[] {Type.LONG}), + new MethodDef("wait", new Type[] {Type.LONG, Type.INT}), + }; + /** Catch block for our handler. */ protected static InstructionList global_catch_il = null; + + /** Handler we add to surround entire method. */ protected static CodeExceptionGen global_exception_handler = null; + + /** Temporary location of runtime initialization code. */ private InstructionHandle insertion_placeholder; /** Class that defines a method (by its name and argument types) */ static class MethodDef { + /** Name of method. */ String name; + + /** Arument types for the method. */ Type[] arg_types; + /** + * Create a new MethodDef. + * + * @param name of method + * @param arg_types of method + */ MethodDef(String name, Type[] arg_types) { this.name = name; this.arg_types = arg_types; } + /** + * Equality test for MethodDef. + * + * @param name of method + * @param arg_types of method + */ @EnsuresNonNullIf(result = true, expression = "#1") boolean equals(@GuardSatisfied MethodDef this, String name, Type[] arg_types) { if (!name.equals(this.name)) { @@ -346,8 +368,8 @@ public DCInstrument(JavaClass orig_class, boolean in_jdk, @Nullable ClassLoader } /** - * Instruments the original class to perform dynamic comparabilty and returns the new class - * definition. + * Instruments a class to perform dynamic comparability and returns the new class definition. A + * second version of each method in the class is created which is instrumented for comparability. * * @return the modified JavaClass */ @@ -405,6 +427,8 @@ public JavaClass instrument() { add_dcomp_interface(gen); } + boolean junit_test_class = false; + // A very tricky special case: If JUnit is running and the current // class has been passed to JUnit on the command line, then this // is a JUnit test class and our normal instrumentation will @@ -415,16 +439,14 @@ public JavaClass instrument() { // We must also remember the class name so if we see a subsequent // call to one of its methods we do not add the dcomp argument. - if (debugJUnitAnalysis) { - System.out.printf("junit_state 1: %s%n", junit_state); - } + debugInstrument.log("junit_state: %s%n", junit_state); StackTraceElement[] stack_trace; switch (junit_state) { case NOT_SEEN: if (classname.startsWith("org.junit")) { - junit_state = JUnitState.STARTING; + junit_state = JunitState.STARTING; } break; @@ -433,13 +455,13 @@ public JavaClass instrument() { stack_trace = Thread.currentThread().getStackTrace(); // [0] is getStackTrace for (int i = 1; i < stack_trace.length; i++) { - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { junit_parse_seen = true; - junit_state = JUnitState.TEST_DISCOVERY; + junit_state = JunitState.TEST_DISCOVERY; break; } } @@ -451,7 +473,7 @@ public JavaClass instrument() { stack_trace = Thread.currentThread().getStackTrace(); // [0] is getStackTrace for (int i = 1; i < stack_trace.length; i++) { - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } @@ -462,14 +484,14 @@ public JavaClass instrument() { } if (junit_parse_seen && !local_junit_parse_seen) { junit_parse_seen = false; - junit_state = JUnitState.RUNNING; + junit_state = JunitState.RUNNING; } else if (!junit_parse_seen && local_junit_parse_seen) { junit_parse_seen = true; } break; case RUNNING: - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { stack_trace = Thread.currentThread().getStackTrace(); // [0] is getStackTrace for (int i = 1; i < stack_trace.length; i++) { @@ -484,12 +506,9 @@ public JavaClass instrument() { throw new Error("invalid junit_state"); } - if (debugJUnitAnalysis) { - System.out.printf("junit_state 2: %s%n", junit_state); - } + debugInstrument.log("junit_state: %s%n", junit_state); - boolean junit_test_class = false; - if (junit_state == JUnitState.TEST_DISCOVERY) { + if (junit_state == JunitState.TEST_DISCOVERY) { // We have a possible JUnit test class. We need to verify by // one of two methods. Either the class is a subclass of // junit.framework.TestCase or one of its methods has a @@ -503,7 +522,7 @@ public JavaClass instrument() { // something has gone wrong break; } - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { System.out.printf("this_class: %s%n", this_class); System.out.printf("super_class: %s%n", super_class); } @@ -537,11 +556,11 @@ public JavaClass instrument() { for (Method m : gen.getMethods()) { for (final Attribute attribute : m.getAttributes()) { if (attribute instanceof RuntimeVisibleAnnotations) { - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { System.out.printf("attribute: %s%n", attribute.toString()); } for (final AnnotationEntry item : ((Annotations) attribute).getAnnotationEntries()) { - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { System.out.printf("item: %s%n", item.toString()); } if (item.toString().endsWith("org/junit/Test;") // JUnit 4 @@ -557,12 +576,10 @@ public JavaClass instrument() { } } - if (debugJUnitAnalysis) { - if (junit_test_class) { - System.out.printf("JUnit test class: %s%n", classname); - } else { - System.out.printf("Not a JUnit test class: %s%n", classname); - } + if (junit_test_class) { + debugInstrument.log("JUnit test class: %s%n", classname); + } else { + debugInstrument.log("Not a JUnit test class: %s%n", classname); } // Process each method @@ -663,7 +680,7 @@ public JavaClass instrument() { // We do not want to copy the @HotSpotIntrinsicCandidate annotations from // the original method to our instrumented method as the signature will // not match anything in the JVM's list. This won't cause an execution - // problem but will produce a massive number of warnings. + // problem but will produce a number of warnings. // JDK 11: @HotSpotIntrinsicCandidate // JDK 17: @IntrinsicCandidate AnnotationEntryGen[] aes = mg.getAnnotationEntries(); @@ -818,6 +835,8 @@ public JavaClass instrument_jdk() { String classname = gen.getClassName(); + // Don't know where I got this idea. They are executed. Don't remember why + // adding dcomp marker causes problems. // Don't instrument annotations. They aren't executed and adding // the marker argument causes subtle errors if ((gen.getModifiers() & Const.ACC_ANNOTATION) != 0) { @@ -1115,7 +1134,7 @@ void skip_method(MethodGen mg) { * first.) */ public List get_skipped_methods() { - return new ArrayList(skipped_methods); + return new ArrayList<>(skipped_methods); } /** @@ -1511,69 +1530,51 @@ InstructionList callEnterOrExit( // top of the stack is a primitive, we need to do the same on the // tag stack. Otherwise, we need do nothing. case Const.DUP: - { - return dup_tag(inst, stack); - } + return dup_tag(inst, stack); // Duplicates the item on the top of the stack and inserts it 2 // values down in the stack. If the value at the top of the stack - // is not a primitive, there is nothing to do here. If the second + // is not a primitive, there is nothing to do. If the second // value is not a primitive, then we need only to insert the duped - // value down 1 on the tag stack (which contains only primitives) + // value down 1 on the tag stack (which contains only primitives). case Const.DUP_X1: - { - return dup_x1_tag(inst, stack); - } + return dup_x1_tag(inst, stack); // Duplicates either the top 2 category 1 values or a single // category 2 value and inserts it 2 or 3 values down on the // stack. case Const.DUP2_X1: - { - return dup2_x1_tag(inst, stack); - } + return dup2_x1_tag(inst, stack); // Duplicate either one category 2 value or two category 1 values. case Const.DUP2: - { - return dup2_tag(inst, stack); - } + return dup2_tag(inst, stack); // Dup the category 1 value on the top of the stack and insert it either // two or three values down on the stack. case Const.DUP_X2: - { - return dup_x2(inst, stack); - } + return dup_x2(inst, stack); case Const.DUP2_X2: - { - return dup2_x2(inst, stack); - } + return dup2_x2(inst, stack); // Pop instructions discard the top of the stack. We want to discard // the top of the tag stack iff the item on the top of the stack is a // primitive. case Const.POP: - { - return pop_tag(inst, stack); - } + return pop_tag(inst, stack); // Pops either the top 2 category 1 values or a single category 2 value // from the top of the stack. We must do the same to the tag stack // if the values are primitives. case Const.POP2: - { - return pop2_tag(inst, stack); - } + return pop2_tag(inst, stack); // Swaps the two category 1 types on the top of the stack. We need // to swap the top of the tag stack if the two top elements on the // real stack are primitives. case Const.SWAP: - { - return swap_tag(inst, stack); - } + return swap_tag(inst, stack); case Const.IF_ICMPEQ: case Const.IF_ICMPGE: @@ -1586,24 +1587,16 @@ InstructionList callEnterOrExit( } case Const.GETFIELD: - { - return load_store_field(mg, (GETFIELD) inst); - } + return load_store_field(mg, (GETFIELD) inst); case Const.PUTFIELD: - { - return load_store_field(mg, (PUTFIELD) inst); - } + return load_store_field(mg, (PUTFIELD) inst); case Const.GETSTATIC: - { - return load_store_field(mg, ((GETSTATIC) inst)); - } + return load_store_field(mg, ((GETSTATIC) inst)); case Const.PUTSTATIC: - { - return load_store_field(mg, ((PUTSTATIC) inst)); - } + return load_store_field(mg, ((PUTSTATIC) inst)); case Const.DLOAD: case Const.DLOAD_0: @@ -1744,18 +1737,14 @@ InstructionList callEnterOrExit( // array's index. case Const.ANEWARRAY: case Const.NEWARRAY: - { - return new_array(inst); - } + return new_array(inst); // If the new array has 2 dimensions, make the integer arguments // comparable to the corresponding indices of the new array. // For any other number of dimensions, discard the tags for the // arguments. case Const.MULTIANEWARRAY: - { - return multi_newarray_dc(inst); - } + return multi_newarray_dc(inst); // Mark the array and its index as comparable. Also for primitives, // push the tag of the array element on the tag stack @@ -1767,9 +1756,7 @@ InstructionList callEnterOrExit( case Const.IALOAD: case Const.LALOAD: case Const.SALOAD: - { - return array_load(inst); - } + return array_load(inst); // Mark the array and its index as comparable. For primitives, store // the tag for the value on the top of the stack in the tag storage @@ -2126,9 +2113,11 @@ private boolean isTargetInstrumented( } else if (is_object_method(methodName, invoke.getArgumentTypes(pool))) { targetInstrumented = false; } else { + // At this point, we will never see classname = java.lang.Object. targetInstrumented = isClassnameInstrumented(classname, methodName); if (debugHandleInvoke) { + System.out.printf("isClassnameInstrumented: %s%n", targetInstrumented); System.out.printf("invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); System.out.printf("invoke targ: %s%n", classname + "." + methodName); } @@ -2342,7 +2331,7 @@ private Integer getAccessFlags(String classname) { private boolean isClassnameInstrumented(@ClassGetName String classname, String methodName) { if (debugHandleInvoke) { - System.out.printf("Checking callee instrumented on %s%n", classname); + System.out.printf("Checking callee instrumented on %s.%s%n", classname, methodName); } // Our copy of daikon.plumelib is not instrumented. It would be odd, though, @@ -2383,12 +2372,10 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m } int i = classname.lastIndexOf('.'); - if (i > 0) { - if (Premain.problem_packages.contains(classname.substring(0, i))) { - debugInstrument.log( - "Don't call instrumented member of problem package %s%n", classname.substring(0, i)); - return false; - } + if (i > 0 && Premain.problem_packages.contains(classname.substring(0, i))) { + debugInstrument.log( + "Don't call instrumented member of problem package %s%n", classname.substring(0, i)); + return false; } if (Premain.problem_classes.contains(classname)) { @@ -2401,7 +2388,7 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m // (Typical of random() algorithms.) This has the undesirable side // effect of putting all the generated values in the same comparison // set when they should be distinct. - // NOTE: If we find other classes that should not use the instrumented + // Note: If we find other classes that should not use the instrumented // versions, we should consider making this a searchable list. if (classname.equals("java.util.Random")) { return false; @@ -2768,7 +2755,7 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { * * @param class_info class containing the method * @param mg method to inspect - * @return MethodInfo for the method + * @return a new MethodInfo for the method, or null if the method should not be instrumented */ @Nullable MethodInfo create_method_info(ClassInfo class_info, MethodGen mg) { @@ -2799,7 +2786,7 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { // Loop through each instruction and find the line number for each // return opcode - List exit_locs = new ArrayList<>(); + List exit_line_numbers = new ArrayList<>(); // Tells whether each exit loc in the method is included or not // (based on filters) @@ -2808,7 +2795,7 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { // log ("Looking for exit points in %s%n", mg.getName()); InstructionList il = mg.getInstructionList(); int line_number = 0; - int last_line_number = 0; + int prev_line_number = 0; boolean foundLine; if (il == null) { @@ -2840,12 +2827,12 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { case Const.RETURN: // log ("Exit at line %d%n", line_number); // only do incremental lines if we don't have the line generator - if (line_number == last_line_number && foundLine == false) { + if (line_number == prev_line_number && foundLine == false) { line_number++; } - last_line_number = line_number; + prev_line_number = line_number; - exit_locs.add(line_number); + exit_line_numbers.add(line_number); isIncluded.add(true); break; @@ -2855,7 +2842,7 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { } return new MethodInfo( - class_info, mg.getName(), argNames, arg_type_strings, exit_locs, isIncluded); + class_info, mg.getName(), argNames, arg_type_strings, exit_line_numbers, isIncluded); } /** @@ -2931,7 +2918,6 @@ void track_class_init() { * @return instruction list that calls the runtime to handle the array load instruction */ InstructionList array_load(Instruction inst) { - InstructionList il = new InstructionList(); // Duplicate the array ref and index and pass them to DCRuntime @@ -2983,7 +2969,6 @@ InstructionList array_store(Instruction inst, String method, Type base_type) { * @return instruction list that calls the runtime to handle the arraylength instruction */ InstructionList array_length(Instruction inst) { - InstructionList il = new InstructionList(); // Duplicate the array ref and pass it to DCRuntime which will push @@ -3636,14 +3621,10 @@ boolean tag_fields_ok(MethodGen mg, @ClassGetName String classname) { return true; } - if (classname.equals("java.lang.String") + return !(classname.equals("java.lang.String") || classname.equals("java.lang.Class") || classname.equals("java.lang.Object") - || classname.equals("java.lang.ClassLoader")) { - return false; - } - - return true; + || classname.equals("java.lang.ClassLoader")); } /** @@ -4209,7 +4190,7 @@ MethodGen create_dcomp_stub(MethodGen mg) { */ static void save_static_field_id(File file) throws IOException { - PrintStream ps = new PrintStream(file); + PrintStream ps = new PrintStream(file, "UTF-8"); for (Map.Entry<@KeyFor("static_field_id") String, Integer> entry : static_field_id.entrySet()) { ps.printf("%s %d%n", entry.getKey(), entry.getValue()); } @@ -4229,14 +4210,12 @@ static void restore_static_field_id(File file) throws IOException { String[] key_val = line.split(" *"); assert !static_field_id.containsKey(key_val[0]) : key_val[0] + " " + key_val[1]; static_field_id.put(key_val[0], Integer.valueOf(key_val[1])); - // System.out.printf("Adding %s %s to static map%n", key_val[0], - // key_val[1]); } } } /** - * Returns the fully qualified fieldname of the specified field. + * Return the fully qualified fieldname of the specified field. * * @param jc class containing the field * @param f the field diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 875d1dc643..02837f8f7a 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -256,7 +256,7 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} // Flags to enable additional console output for debugging /** If true, enable JUnit analysis debugging. */ - protected static final boolean debugJUnitAnalysis = false; + protected static final boolean debugJunitAnalysis = false; /** If true, enable {@link #getDefiningInterface} debugging. */ protected static final boolean debugGetDefiningInterface = false; @@ -283,7 +283,7 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} protected static Set junitTestClasses = new HashSet<>(); /** Possible states of JUnit test discovery. */ - protected enum JUnitState { + protected enum JunitState { /** Have not seen a JUnit class file. */ NOT_SEEN, /** Have seen a JUnit class file. */ @@ -295,7 +295,7 @@ protected enum JUnitState { } /** Current state of JUnit test discovery. */ - protected static JUnitState junit_state = JUnitState.NOT_SEEN; + protected static JunitState junit_state = JunitState.NOT_SEEN; /** Have we seen 'JUnitCommandLineParseResult.parse'? */ protected static boolean junit_parse_seen = false; @@ -560,7 +560,7 @@ private void instrumentClass( switch (junit_state) { case NOT_SEEN: if (classname.startsWith("org.junit")) { - junit_state = JUnitState.STARTING; + junit_state = JunitState.STARTING; } break; @@ -569,13 +569,13 @@ private void instrumentClass( stack_trace = Thread.currentThread().getStackTrace(); // [0] is getStackTrace for (int i = 1; i < stack_trace.length; i++) { - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { junit_parse_seen = true; - junit_state = JUnitState.TEST_DISCOVERY; + junit_state = JunitState.TEST_DISCOVERY; break; } } @@ -587,7 +587,7 @@ private void instrumentClass( stack_trace = Thread.currentThread().getStackTrace(); // [0] is getStackTrace for (int i = 1; i < stack_trace.length; i++) { - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { System.out.printf( "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); } @@ -598,14 +598,14 @@ private void instrumentClass( } if (junit_parse_seen && !local_junit_parse_seen) { junit_parse_seen = false; - junit_state = JUnitState.RUNNING; + junit_state = JunitState.RUNNING; } else if (!junit_parse_seen && local_junit_parse_seen) { junit_parse_seen = true; } break; case RUNNING: - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { stack_trace = Thread.currentThread().getStackTrace(); // [0] is getStackTrace for (int i = 1; i < stack_trace.length; i++) { @@ -622,7 +622,7 @@ private void instrumentClass( debugInstrument.log("junit_state: %s%n", junit_state); - if (junit_state == JUnitState.TEST_DISCOVERY) { + if (junit_state == JunitState.TEST_DISCOVERY) { // We have a possible JUnit test class. We need to verify by // one of two methods. Either the class is a subclass of // junit.framework.TestCase or one of its methods has a @@ -636,7 +636,7 @@ private void instrumentClass( // something has gone wrong break; } - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { System.out.printf("this_class: %s%n", this_class); System.out.printf("super_class: %s%n", super_class); } @@ -670,12 +670,12 @@ private void instrumentClass( for (MethodModel mm : classModel.methods()) { for (Attribute attribute : mm.attributes()) { if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { System.out.printf("attribute: %s%n", attribute); } for (final Annotation item : rvaa.annotations()) { String description = item.className().stringValue(); - if (debugJUnitAnalysis) { + if (debugJunitAnalysis) { System.out.printf("item: %s%n", description); } if (description.endsWith("org/junit/Test;") // JUnit 4 @@ -698,7 +698,7 @@ private void instrumentClass( } } - classInfo.isJUnitTestClass = junit_test_class; + classInfo.isJunitTestClass = junit_test_class; instrumentAllMethods(classModel, classBuilder, classInfo); @@ -723,13 +723,13 @@ private void instrumentClass( // Output the list of interfaces. classBuilder.withInterfaces(classGen.getInterfaceList()); - // Copy all other ClassElements to output class (unchanged). + // Copy all other ClassElements to output class unchanged. for (ClassElement ce : classModel) { debugInstrument.log("ClassElement: %s%n", ce); switch (ce) { case MethodModel mm -> {} case Interfaces i -> {} - // Copy all other ClassElements to output class (unchanged). + // Copy all other ClassElements to output class unchanged. default -> classBuilder.with(ce); } } @@ -831,10 +831,12 @@ private List call_initNotify(ConstantPoolBuilder poolBuilder, Class } /** - * Instruments all the methods in a class. For each method, adds instrumentation code at the entry - * and at each return from the method. In addition, changes each return statement to first place - * the value being returned into a local and then return. This allows us to work around the JDI - * deficiency of not being able to query return values. + * Instruments all the methods in a class to perform dynamic comparability. For each method, adds + * instrumentation code at the entry and at each return from the method. In addition, it adds + * instrumentation code to the body of the method to track variable interactions. When the + * instrumented method is executed, this instrumentation allows the DynComp runtime to group + * variables into comparability sets. All variables in a comparability set belong to the same + * "abstract type" of data that the programmer likely intended to represent. * * @param classModel for current class * @param classBuilder for current class @@ -954,7 +956,7 @@ private void instrumentAllMethods( createMainStub(mgen, classBuilder, classInfo); } - if (classInfo.isJUnitTestClass) { + if (classInfo.isJunitTestClass) { addingDcompArg = false; } @@ -1225,7 +1227,7 @@ private void instrumentCode( } else { // normal method - if (!classInfo.isJUnitTestClass) { + if (!classInfo.isJunitTestClass) { // Add the DCompMarker argument to distinguish our version add_dcomp_arg(mgen, minfo); } @@ -1965,7 +1967,56 @@ private List callEnterOrExit( case Opcode.INSTANCEOF: return build_il(dcr_call("push_const", CD_void, noArgsCD), inst); - // all the DUP opcodes go here + // Duplicates the item on the top of stack. If the value on the + // top of the stack is a primitive, we need to do the same on the + // tag stack. Otherwise, we need do nothing. + case Opcode.DUP: + return dup_tag(inst, stack); + + // Duplicates the item on the top of the stack and inserts it 2 + // values down in the stack. If the value at the top of the stack + // is not a primitive, there is nothing to do. If the second + // value is not a primitive, then we need only to insert the duped + // value down 1 on the tag stack (which contains only primitives). + case Opcode.DUP_X1: + return dup_x1_tag(inst, stack); + + // Duplicate the category 1 item on the top of the stack and insert it either + // two or three items down in the stack. + case Opcode.DUP_X2: + return dup_x2_tag(inst, stack); + + // Duplicate either one category 2 item or two category 1 items. + case Opcode.DUP2: + return dup2_tag(inst, stack); + + // Duplicate either the top 2 category 1 items or a single + // category 2 item and insert it 2 or 3 values down on the + // stack. + case Opcode.DUP2_X1: + return dup2_x1_tag(inst, stack); + + // Duplicate the top one or two items and insert them two, three, or four values down. + case Opcode.DUP2_X2: + return dup2_x2_tag(inst, stack); + + // Pop a category 1 item from the top of the stack. We want to discard + // the top of the tag stack iff the item on the top of the stack is a + // primitive. + case Opcode.POP: + return pop_tag(inst, stack); + + // Pops either the top 2 category 1 items or a single category 2 item + // from the top of the stack. We must do the same to the tag stack + // if the values are primitives. + case Opcode.POP2: + return pop2_tag(inst, stack); + + // Swaps the two category 1 items on the top of the stack. We need + // to swap the top of the tag stack if the two top elements on the + // real stack are primitives. + case Opcode.SWAP: + return swap_tag(inst, stack); case Opcode.IF_ICMPEQ: case Opcode.IF_ICMPGE: @@ -2227,57 +2278,6 @@ private List callEnterOrExit( case Opcode.INVOKEDYNAMIC: return handleInvokeDynamic((InvokeDynamicInstruction) inst); - // Duplicates the item on the top of stack. If the value on the - // top of the stack is a primitive, we need to do the same on the - // tag stack. Otherwise, we need do nothing. - case Opcode.DUP: - return dup_tag(inst, stack); - - // Duplicates the item on the top of the stack and inserts it 2 - // values down in the stack. If the value at the top of the stack - // is not a primitive, there is nothing to do. If the second - // value is not a primitive, then we need only to insert the duped - // value down 1 on the tag stack (which contains only primitives). - case Opcode.DUP_X1: - return dup_x1_tag(inst, stack); - - // Duplicate the category 1 item on the top of the stack and insert it either - // two or three items down in the stack. - case Opcode.DUP_X2: - return dup_x2_tag(inst, stack); - - // Duplicate either one category 2 item or two category 1 items. - case Opcode.DUP2: - return dup2_tag(inst, stack); - - // Duplicate either the top 2 category 1 items or a single - // category 2 item and insert it 2 or 3 values down on the - // stack. - case Opcode.DUP2_X1: - return dup2_x1_tag(inst, stack); - - // Duplicate the top one or two items and insert them two, three, or four values down. - case Opcode.DUP2_X2: - return dup2_x2_tag(inst, stack); - - // Pop a category 1 item from the top of the stack. We want to discard - // the top of the tag stack iff the item on the top of the stack is a - // primitive. - case Opcode.POP: - return pop_tag(inst, stack); - - // Pops either the top 2 category 1 items or a single category 2 item - // from the top of the stack. We must do the same to the tag stack - // if the values are primitives. - case Opcode.POP2: - return pop2_tag(inst, stack); - - // Swaps the two category 1 items on the top of the stack. We need - // to swap the top of the tag stack if the two top elements on the - // real stack are primitives. - case Opcode.SWAP: - return swap_tag(inst, stack); - // Mark the array and its index as comparable. For primitives, store // the tag for the value on the top of the stack in the tag storage // for the array. @@ -3024,7 +3024,7 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met } /** - * Returns whether or not the method is Object.equals(). + * Returns true if the method is Object.equals(). * * @param methodName method to check * @param returnType return type of method @@ -3353,11 +3353,11 @@ private LocalVariable getReturnLocal( ClassDesc[] paramTypes = mgen.getParameterTypes(); @ClassGetName String[] arg_type_strings = new @ClassGetName String[paramTypes.length]; for (int i = 0; i < paramTypes.length; i++) { - arg_type_strings[i] = Instrument24.typeToClassGetName(paramTypes[i]); + arg_type_strings[i] = Instrument24.classDescToClassGetName(paramTypes[i]); } // Loop through each instruction and find the line number for each return opcode. - List exit_locs = new ArrayList<>(); + List exit_line_numbers = new ArrayList<>(); // Tells whether each exit loc in the method is included or not (based on filters). List isIncluded = new ArrayList<>(); @@ -3389,13 +3389,13 @@ private LocalVariable getReturnLocal( } last_line_number = line_number; - exit_locs.add(line_number); + exit_line_numbers.add(line_number); isIncluded.add(true); } } return new MethodInfo( - classInfo, mgen.getName(), paramNames, arg_type_strings, exit_locs, isIncluded); + classInfo, mgen.getName(), paramNames, arg_type_strings, exit_line_numbers, isIncluded); } /** @@ -3431,8 +3431,6 @@ private List array_load(MethodGen24 mgen, ArrayLoadInstruction inst return il; } - // static int counter = 0; - /** * Creates code to make the index comparable (for indexing purposes) with the array in the array * store instruction. This is accomplished by calling the specified method and passing it the @@ -3531,8 +3529,8 @@ private List multiarray2(Instruction inst) { } /** - * Returns whether or not this ppt should be included. A ppt is included if it matches ones of the - * select patterns and doesn't match any of the omit patterns. + * Returns true if this ppt should be included. A ppt is included if it matches ones of the select + * patterns and doesn't match any of the omit patterns. * * @param className class to test * @param methodName method to test @@ -4463,7 +4461,7 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); // load this instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj - if (!classInfo.isJUnitTestClass) { + if (!classInfo.isJunitTestClass) { instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); // use null for marker mtdDComp = MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker); } else { @@ -4476,7 +4474,7 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn instructions.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); - if (!classInfo.isJUnitTestClass) { + if (!classInfo.isJunitTestClass) { // build the uninstrumented equals_dcomp_instrumented method classBuilder.withMethod("equals_dcomp_instrumented", mtdNormal, access_flags, codeHandler1); } @@ -4557,7 +4555,7 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo instructions.add(InvokeInstruction.of(Opcode.INVOKESPECIAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); - if (!classInfo.isJUnitTestClass) { + if (!classInfo.isJunitTestClass) { // build the uninstrumented equals method classBuilder.withMethod("equals", mtdNormal, access_flags, codeHandler1); // since not JUnit test class, add dcomp_marker to instrumented version of equals built below @@ -4637,7 +4635,7 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { } /** - * Returns whether or not the method is defined in Object. + * Returns true if the method is defined in Object. * * @param methodName method to check * @param paramTypes array of parameter types to method @@ -4656,8 +4654,8 @@ boolean is_object_method(String methodName, ClassDesc[] paramTypes) { } /** - * Returns whether or not the class is one of those that has values initialized by the JVM or - * native methods. + * Returns true if the class is one of those that has values initialized by the JVM or native + * methods. * * @param classname class to check * @return true if classname has members that are uninitialized @@ -4761,28 +4759,8 @@ protected String simplify_method_name(MethodGen24 mgen) { return mgen.toString(); } - // UNDONE consider making this a Java record - - /** Information about processing a switch instruction. */ - private static class ModifiedSwitchInfo { - - /** Possibly modified default switch target. */ - Label modifiedTarget; - - /** Possibly modified switch case list. */ - List modifiedCaseList; - - /** - * Creates a ModifiedSwitchInfo. - * - * @param modifiedTarget possibly modified default swith target - * @param modifiedCaseList possibly modified switch case list - */ - ModifiedSwitchInfo(Label modifiedTarget, List modifiedCaseList) { - this.modifiedTarget = modifiedTarget; - this.modifiedCaseList = modifiedCaseList; - } - } + /** Used for processing a switch instruction. */ + private record ModifiedSwitchInfo(Label modifiedTarget, List modifiedCaseList) {} /** * Checks to see if the instruction targets the method's CodeModel startLabel (held in diff --git a/java/daikon/dcomp/Instrument.java b/java/daikon/dcomp/Instrument.java index 930bcea4bd..b1ecb89076 100644 --- a/java/daikon/dcomp/Instrument.java +++ b/java/daikon/dcomp/Instrument.java @@ -29,7 +29,7 @@ public class Instrument implements ClassFileTransformer { /** Directory for debug output. */ final File debug_dir; - /** Directory into which to dump debug-instrumented classes. */ + /** Directory into which to dump instrumented classes. */ final File debug_instrumented_dir; /** Directory into which to dump original classes. */ @@ -79,7 +79,7 @@ public static void print_call_stack() { * @param directory output location for the files * @param className the current class */ - private void outputDebugFiles(JavaClass c, File directory, @BinaryName String className) { + private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName String className) { try { debug_transform.log("Dumping .class and .bcel for %s to %s%n", className, directory); // Write the byte array to a .class file. @@ -92,7 +92,7 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl if (debug_transform.enabled) { t.printStackTrace(); } - // ignore the error, it shouldn't affect the instrumentation + // Ignore the error, it shouldn't affect the instrumentation. } } @@ -112,7 +112,7 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl byte[] classfileBuffer) throws IllegalClassFormatException { - // for debugging + // For debugging. // new Throwable().printStackTrace(); debug_transform.log("%nEntering dcomp.Instrument.transform(): class = %s%n", className); @@ -205,11 +205,11 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl ClassLoader cfLoader; if (loader == null) { cfLoader = ClassLoader.getSystemClassLoader(); - debug_transform.log("Transforming class %s, loader %s - %s%n", className, loader, cfLoader); + debug_transform.log("Transforming class %s, loaders %s, %s%n", className, loader, cfLoader); } else { cfLoader = loader; debug_transform.log( - "Transforming class %s, loader %s - %s%n", className, loader, loader.getParent()); + "Transforming class %s, loaders %s, %s%n", className, loader, loader.getParent()); } // Parse the bytes of the classfile, die on any errors. @@ -218,16 +218,16 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl ClassParser parser = new ClassParser(bais, className); c = parser.parse(); } catch (Throwable t) { - System.err.printf("Unexpected error %s reading in %s%n", t, binaryClassName); + System.err.printf("Unexpected error %s while parsing bytes of %s%n", t, binaryClassName); if (debug_transform.enabled) { t.printStackTrace(); } - // No changes to the bytecodes + // No changes to the bytecodes. return null; } if (DynComp.dump) { - outputDebugFiles(c, debug_uninstrumented_dir, binaryClassName); + writeDebugClassFiles(c, debug_uninstrumented_dir, binaryClassName); } // Instrument the classfile, die on any errors @@ -240,18 +240,18 @@ private void outputDebugFiles(JavaClass c, File directory, @BinaryName String cl if (debug_transform.enabled) { t.printStackTrace(); } - // No changes to the bytecodes + // No changes to the bytecodes. return null; } if (njc != null) { if (DynComp.dump) { - outputDebugFiles(njc, debug_instrumented_dir, binaryClassName); + writeDebugClassFiles(njc, debug_instrumented_dir, binaryClassName); } return njc.getBytes(); } else { debug_transform.log("Didn't instrument %s%n", binaryClassName); - // No changes to the bytecodes + // No changes to the bytecodes. return null; } } diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 2da7dc9c3e..caba137f8f 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -42,7 +42,7 @@ public class Instrument24 implements ClassFileTransformer { /** Directory for debug output. */ final File debug_dir; - /** Directory into which to dump debug-instrumented classes. */ + /** Directory into which to dump instrumented classes. */ final File debug_instrumented_dir; /** Directory into which to dump original classes. */ @@ -85,8 +85,6 @@ public static void print_call_stack() { System.out.println(); } - // UNDONE: Should we stop using bcel and use classModel.toDebugString() instead? - /** * Output a .class file and a .bcel version of the class file. * @@ -94,19 +92,20 @@ public static void print_call_stack() { * @param directory output location for the files * @param className the current class */ - public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName String className) { + public void writeDebugClassFiles( + byte[] classBytes, File directory, @BinaryName String className) { + // UNDONE: Should we stop using bcel and use classModel.toDebugString() instead? // Convert the classBytes to a BCEL JavaClass - JavaClass c; + JavaClass c = null; try (ByteArrayInputStream bais = new ByteArrayInputStream(classBytes)) { ClassParser parser = new ClassParser(bais, className); c = parser.parse(); } catch (Throwable t) { - System.err.printf("Unexpected error %s while reading %s%n", t, className); + System.err.printf("Unexpected error %s while parsing the bytes of %s%n", t, className); if (debug_transform.enabled) { t.printStackTrace(); } - // ignore the error, it shouldn't affect the instrumentation - return; + // Ignore the error, it shouldn't affect the instrumentation. } try { @@ -115,13 +114,15 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri File outputFile = new File(directory, className + ".class"); Files.write(outputFile.toPath(), classBytes); // Write a BCEL-like file. - BcelUtil.dump(c, directory); + if (c != null) { + BcelUtil.dump(c, directory); + } } catch (Throwable t) { System.err.printf("Unexpected error %s writing debug files for: %s%n", t, className); if (debug_transform.enabled) { t.printStackTrace(); } - // ignore the error, it shouldn't affect the instrumentation + // Ignore the error, it shouldn't affect the instrumentation. } } @@ -141,7 +142,7 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri byte[] classfileBuffer) throws IllegalClassFormatException { - // for debugging + // For debugging. // new Throwable().printStackTrace(); debug_transform.log("%nEntering dcomp.Instrument24.transform(): class = %s%n", className); @@ -234,11 +235,11 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri ClassLoader cfLoader; if (loader == null) { cfLoader = ClassLoader.getSystemClassLoader(); - debug_transform.log("Transforming class %s, loader %s - %s%n", className, loader, cfLoader); + debug_transform.log("Transforming class %s, loaders %s, %s%n", className, loader, cfLoader); } else { cfLoader = loader; debug_transform.log( - "Transforming class %s, loader %s - %s%n", className, loader, loader.getParent()); + "Transforming class %s, loaders %s, %s%n", className, loader, loader.getParent()); } // Parse the bytes of the classfile, die on any errors. @@ -251,16 +252,16 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri try { classModel = classFile.parse(classfileBuffer); } catch (Throwable t) { - System.err.printf("Unexpected error %s reading in %s%n", t, binaryClassName); + System.err.printf("Unexpected error %s while parsing bytes of %s%n", t, binaryClassName); if (debug_transform.enabled) { t.printStackTrace(); } - // No changes to the bytecodes + // No changes to the bytecodes. return null; } if (DynComp.dump) { - outputDebugFiles( + writeDebugClassFiles( classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL), debug_uninstrumented_dir, binaryClassName); @@ -270,7 +271,6 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri ClassInfo classInfo = new ClassInfo(binaryClassName, cfLoader); DCInstrument24 dci = new DCInstrument24(classFile, classModel, in_jdk); byte @Nullable [] newBytes; - // debug_transform.log("%nTransforming: %s%n", binaryClassName); try { newBytes = dci.instrument(classInfo); } catch (Throwable t) { @@ -278,18 +278,18 @@ public void outputDebugFiles(byte[] classBytes, File directory, @BinaryName Stri if (debug_transform.enabled) { t.printStackTrace(); } - // No changes to the bytecodes + // No changes to the bytecodes. return null; } if (newBytes != null) { if (DynComp.dump) { - outputDebugFiles(newBytes, debug_instrumented_dir, binaryClassName); + writeDebugClassFiles(newBytes, debug_instrumented_dir, binaryClassName); } return newBytes; } else { debug_transform.log("Didn't instrument %s%n", binaryClassName); - // No changes to the bytecodes + // No changes to the bytecodes. return null; } } diff --git a/java/daikon/suppress/NIS.java b/java/daikon/suppress/NIS.java index ebb4e01a90..172a72d9b4 100644 --- a/java/daikon/suppress/NIS.java +++ b/java/daikon/suppress/NIS.java @@ -215,7 +215,7 @@ public static void init_ni_suppression() { suppressor_proto_invs = new ArrayList<@Prototype Invariant>(); // This should be the first statement in the method, but put it after the - // field initalizations so that the Initialization Checker doesn't complain. + // field initializations so that the Initialization Checker doesn't complain. if (!dkconfig_enabled) { return; } From 3b5c23f635087ee09eb82e86fd6819be815b79c3 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 15 Oct 2025 07:36:43 -0700 Subject: [PATCH 122/211] Update java/daikon/chicory/MethodInfo.java Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- java/daikon/chicory/MethodInfo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/chicory/MethodInfo.java b/java/daikon/chicory/MethodInfo.java index 47c2807478..5c203b2891 100644 --- a/java/daikon/chicory/MethodInfo.java +++ b/java/daikon/chicory/MethodInfo.java @@ -52,7 +52,7 @@ public class MethodInfo { * Exit locations for this method. * *

    Chicory and DynComp treat this field differently. Chicory only adds an exit location if the - * corresponding entry in exit_location_is_included is true. (Bassed on the ppt omit/select + * corresponding entry in exit_location_is_included is true. (Based on the ppt omit/select * patterns.) DynComp adds all exit locations and sets every exit_location_is_included value to * true. */ From 9dbdbacfeb2b41f00dfe0c62100960ec59dc45e5 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 15 Oct 2025 07:37:33 -0700 Subject: [PATCH 123/211] Typo fix --- java/daikon/dcomp/BuildJDK.java | 4 ++-- java/daikon/dcomp/BuildJDK24.java | 4 ++-- java/daikon/dcomp/DCInstrument.java | 6 +++--- java/daikon/dcomp/DCInstrument24.java | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/java/daikon/dcomp/BuildJDK.java b/java/daikon/dcomp/BuildJDK.java index af5c2560a6..21a8298264 100644 --- a/java/daikon/dcomp/BuildJDK.java +++ b/java/daikon/dcomp/BuildJDK.java @@ -219,7 +219,7 @@ public static void check_java_home() { try { jrt = jrt.getCanonicalFile(); } catch (Exception e) { - System.err.printf("Error geting canonical file for %s: %s", jrt, e.getMessage()); + System.err.printf("Error getting canonical file for %s: %s", jrt, e.getMessage()); System.exit(1); } @@ -407,7 +407,7 @@ private void addInterfaceClasses(String destDir) { // Create the DcompMarker class which is used to identify instrumented calls. createDCompClass(destDir, "DCompMarker", false); - // The remainer of the generated classes are needed for JDK 9+ only. + // The remainder of the generated classes are needed for JDK 9+ only. if (BcelUtil.javaVersion > 8) { createDCompClass(destDir, "DCompInstrumented", true); createDCompClass(destDir, "DCompClone", false); diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 921657fc6d..65cb3139cf 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -228,7 +228,7 @@ public static void check_java_home() { try { jrt = jrt.getCanonicalFile(); } catch (Exception e) { - System.err.printf("Error geting canonical file for %s: %s", jrt, e.getMessage()); + System.err.printf("Error getting canonical file for %s: %s", jrt, e.getMessage()); System.exit(1); } @@ -435,7 +435,7 @@ private void addInterfaceClasses(File destDir) { // Create the DcompMarker class which is used to identify instrumented calls. createDCompClass(destDir, "DCompMarker", false); - // The remainer of the generated classes are needed for JDK 9+ only. + // The remainder of the generated classes are needed for JDK 9+ only. if (BcelUtil.javaVersion > 8) { createDCompClass(destDir, "DCompInstrumented", true); createDCompClass(destDir, "DCompClone", false); diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 1970bbf56f..5e4f99e595 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -208,7 +208,7 @@ protected enum JunitState { STARTING, /** Have seen a JUnit class file that loads JUnit test classes. */ TEST_DISCOVERY, - /** Have completed identifing JUnit test classes. */ + /** Have completed identifying JUnit test classes. */ RUNNING } @@ -848,7 +848,7 @@ public JavaClass instrument_jdk() { int i = classname.lastIndexOf('.'); if (i > 0) { // Don't instrument problem packages. - // See Premain.java for a list and explainations. + // See Premain.java for a list and explanations. String packageName = classname.substring(0, i); if (Premain.problem_packages.contains(packageName)) { debug_transform.log("Skipping problem package %s%n", packageName); @@ -858,7 +858,7 @@ public JavaClass instrument_jdk() { if (BcelUtil.javaVersion > 8) { // Don't instrument problem classes. - // See Premain.java for a list and explainations. + // See Premain.java for a list and explanations. if (Premain.problem_classes.contains(classname)) { debug_transform.log("Skipping problem class %s%n", classname); return gen.getJavaClass().copy(); diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 02837f8f7a..687d27591d 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -290,7 +290,7 @@ protected enum JunitState { STARTING, /** Have seen a JUnit class file that loads JUnit test classes. */ TEST_DISCOVERY, - /** Have completed identifing JUnit test classes. */ + /** Have completed identifying JUnit test classes. */ RUNNING } @@ -1420,7 +1420,7 @@ boolean isJunitTrigger(String classname, String method_name) { int i = classname.lastIndexOf('.'); if (i > 0) { // Don't instrument problem packages. - // See Premain.java for a list and explainations. + // See Premain.java for a list and explanations. String packageName = classname.substring(0, i); if (Premain.problem_packages.contains(packageName)) { debug_transform.log("Skipping problem package %s%n", packageName); @@ -1431,7 +1431,7 @@ boolean isJunitTrigger(String classname, String method_name) { if (BcelUtil.javaVersion > 8) { // Don't instrument problem classes. - // See Premain.java for a list and explainations. + // See Premain.java for a list and explanations. if (Premain.problem_classes.contains(classname)) { debug_transform.log("Skipping problem class %s%n", classname); // Return classfile unmodified. From 48e5ae0315c4db5c352d9a7fdc0017c8bcc4c34c Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 15 Oct 2025 10:43:31 -0700 Subject: [PATCH 124/211] Update java/daikon/dcomp/BuildJDK24.java Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- java/daikon/dcomp/BuildJDK24.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 65cb3139cf..22dd11f0a0 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -228,7 +228,7 @@ public static void check_java_home() { try { jrt = jrt.getCanonicalFile(); } catch (Exception e) { - System.err.printf("Error getting canonical file for %s: %s", jrt, e.getMessage()); + System.err.printf("Error getting canonical file for %s: %s%n", jrt, e.getMessage()); System.exit(1); } From 0fd6e02d7734bf596ff602bf9b1f917c050f9513 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 15 Oct 2025 10:46:17 -0700 Subject: [PATCH 125/211] Use (enum?) constant, not string --- java/daikon/dcomp/DCInstrument.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 5e4f99e595..f1a00360d4 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -16,6 +16,7 @@ import java.io.InputStream; import java.io.PrintStream; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; @@ -4190,7 +4191,7 @@ MethodGen create_dcomp_stub(MethodGen mg) { */ static void save_static_field_id(File file) throws IOException { - PrintStream ps = new PrintStream(file, "UTF-8"); + PrintStream ps = new PrintStream(file, StandardCharsets.UTF_8); for (Map.Entry<@KeyFor("static_field_id") String, Integer> entry : static_field_id.entrySet()) { ps.printf("%s %d%n", entry.getKey(), entry.getValue()); } From 682f59fd64e883923e763d7146f498c6a77f7b42 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 15 Oct 2025 10:50:23 -0700 Subject: [PATCH 126/211] Revert change --- java/daikon/dcomp/DCInstrument.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index f1a00360d4..2eba264612 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -16,7 +16,6 @@ import java.io.InputStream; import java.io.PrintStream; import java.net.URL; -import java.nio.charset.StandardCharsets; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; @@ -4191,7 +4190,7 @@ MethodGen create_dcomp_stub(MethodGen mg) { */ static void save_static_field_id(File file) throws IOException { - PrintStream ps = new PrintStream(file, StandardCharsets.UTF_8); + PrintStream ps = new PrintStream(file, "UTF-8"); // in Java 9+, use: StandardCharsets.UTF_8 for (Map.Entry<@KeyFor("static_field_id") String, Integer> entry : static_field_id.entrySet()) { ps.printf("%s %d%n", entry.getKey(), entry.getValue()); } From baf9230067a270092d9f81e356840bf4daf78aa9 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 27 Nov 2025 08:24:23 -0800 Subject: [PATCH 127/211] Use `ArraysPlume.append()` --- java/daikon/dcomp/BcelUtils24.java | 41 +++--------------------------- 1 file changed, 4 insertions(+), 37 deletions(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 76efcf0e8b..0b9924785b 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -2,6 +2,7 @@ import daikon.chicory.MethodGen24; import daikon.plumelib.bcelutil.SimpleLog; +import daikon.plumelib.util.ArraysPlume; import java.lang.classfile.CodeElement; import java.lang.classfile.TypeKind; import java.lang.classfile.instruction.DiscontinuedInstruction; @@ -10,7 +11,6 @@ import java.lang.classfile.instruction.LocalVariable; import java.lang.classfile.instruction.StoreInstruction; import java.lang.constant.ClassDesc; -import java.util.Arrays; import java.util.List; import java.util.ListIterator; import org.checkerframework.checker.signature.qual.Identifier; @@ -42,38 +42,6 @@ private BcelUtils24() {} /** A log to which to print debugging information about program instrumentation. */ private static SimpleLog debugInstrument = new SimpleLog(false); - /** - * Returns a copy of the given type array, with newType added to the end. - * - * @param types the array to extend - * @param newType the element to add to the end of the array - * @return a new array, with newType at the end - */ - public static ClassDesc[] postpendToArray(ClassDesc[] types, ClassDesc newType) { - if (types.length == Integer.MAX_VALUE) { - throw new IllegalArgumentException( - "array " + Arrays.toString(types) + " is too large to extend"); - } - ClassDesc[] newTypes = new ClassDesc[types.length + 1]; - System.arraycopy(types, 0, newTypes, 0, types.length); - newTypes[types.length] = newType; - return newTypes; - } - - /** - * Returns a String array with newString added to the end of arr. - * - * @param arr original string array - * @param newString string to be added - * @return the new string array - */ - static String[] addString(String[] arr, String newString) { - String[] newArr = new String[arr.length + 1]; - System.arraycopy(arr, 0, newArr, 0, arr.length); - newArr[arr.length] = newString; - return newArr; - } - /** * Process the instruction list, adding size (1 or 2) to the slot number of each Instruction that * references a local that is equal or higher in the local map than offsetFirstMovedlocal. Size @@ -149,7 +117,7 @@ static void adjust_code_for_locals_change(MethodGen24 mgen, int offsetFirstMoved */ public static LocalVariable addNewSpecialLocal( MethodGen24 mgen, - String argName, + @Identifier String argName, ClassDesc argType, MethodGen24.MInfo24 minfo, boolean isParam) { @@ -192,9 +160,8 @@ public static LocalVariable addNewSpecialLocal( if (isParam) { // Update the method's parameter information. - argTypes = postpendToArray(argTypes, argType); - @SuppressWarnings("signature:assignment") // string manipulation - @Identifier String[] argNames = addString(mgen.getParameterNames(), argName); + argTypes = ArraysPlume.append(argTypes, argType); + @Identifier String[] argNames = ArraysPlume.<@Identifier String>append(mgen.getParameterNames(), argName); mgen.setParameterTypes(argTypes); mgen.setParameterNames(argNames); } From fba7ac88e008da18bf72c78f9b67f3f0c59f9883 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 27 Nov 2025 08:24:59 -0800 Subject: [PATCH 128/211] Edits in `ClassGen24.java` --- java/daikon/chicory/MethodGen24.java | 22 ++++++++++------- java/daikon/dcomp/ClassGen24.java | 35 +++++++++++++++------------- 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index f83361cfee..33d2bfa7a6 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -56,29 +56,33 @@ public class MethodGen24 { * Instructions; the order of elements of a code model is significant." May be null if the method * has no code. * - *

    Several fields of MethodModel are declared as fields of MethodGen24 to better correspond to - * BCEL's version of MethodGen and to reduce re-computation. Currently we set these fields in the - * constructor, but they could be calculated lazily on first reference. + *

    Several fields of MethodModel are cached as fields of MethodGen24 to better correspond to + * BCEL's version of MethodGen and to reduce re-computation. */ + + // // Start of MethodModel items. + // private @Nullable CodeModel code; - /** The method's access flags as a bit mask. */ + /** This method's access flags as a bit mask. */ private final int accessFlagsMask; - /** The method's name. */ + /** This method's name. */ private String methodName; /** - * The method's type descriptor. This contains information about the parameters and return type of - * the method. + * This method's type descriptor. This contains information about the parameters and return type + * of this method. */ private MethodTypeDesc mtd; + // // End of MethodModel items. + // - /** True if the method is static. */ + /** True if this method is static. */ private boolean isStatic; /** @@ -545,7 +549,7 @@ public final boolean isClinit() { } /** - * Returns true if this is a standard main method (static, void, name is 'main', and one formal + * Returns true if this is a standard main method (static, void, name is "main", and one formal * parameter: a string array). * * @return true iff the method is a main method diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 31d033b8cb..58ecfa5a62 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -32,13 +32,14 @@ public class ClassGen24 { /** * Models the body of the class. * - *

    Several fields of ClassModel are declared as fields of ClassGen24 to better correspond to - * BCEL's version of ClassGen and to reduce re-computation. Currently we set these fields in the - * constructor, but they could be calculated lazily on first reference. + *

    Several fields of ClassModel are cached as fields of ClassGen24 to better correspond to + * BCEL's version of ClassGen and to reduce re-computation. */ private ClassModel classModel; + // // Start of ClassModel items. + // /** The class's access flags. */ private AccessFlags accessFlags; @@ -52,15 +53,17 @@ public class ClassGen24 { /** The class's name. */ private @BinaryName String className; + // // End of ClassModel items. + // /** The ClassBuilder for this class. */ private ClassBuilder classBuilder; - /** True if the class is an interface. */ + /** True if this class is an interface. */ private boolean isInterface; - /** True if the class is static. */ + /** True if this class is static. */ private boolean isStatic; /** @@ -92,7 +95,7 @@ public ClassGen24( /** * Add an interface to this class. * - * @param name the interface name (binary format) + * @param name the interface name, in binary format */ public void addInterface(@BinaryName String name) { ClassDesc ue = ClassDesc.of(name); @@ -121,7 +124,7 @@ public void addInterface(@BinaryName String name) { } /** - * Return the class's access flags. + * Returns the class's access flags. * * @return the access flags */ @@ -130,25 +133,25 @@ public AccessFlags getAccessFlags() { } /** - * Return true if the class is an interface. + * Returns true if the class is an interface. * - * @return interface flag + * @return true if the class is an interface */ public final boolean isInterface() { return isInterface; } /** - * Return true if the class is static. + * Returns true if the class is static. * - * @return static flag + * @return true if the class is static */ public final boolean isStatic() { return isStatic; } /** - * Return the class's name. + * Returns the class's name. * * @return the class's name */ @@ -199,16 +202,16 @@ public final boolean isStatic() { } /** - * Return the interfaceList. + * Returns the interfaces of this class. * - * @return the interfaceList + * @return the interfaces of this class */ public List getInterfaceList() { return interfaceList; } /** - * Return the class builder. + * Returns the class builder. * * @return the class builder */ @@ -217,7 +220,7 @@ public ClassBuilder getClassBuilder() { } /** - * Return the class name. + * Returns the class name. * * @return the class name */ From 912bac54037aa7af7bf10e61729e01d052b1490e Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 27 Nov 2025 08:25:39 -0800 Subject: [PATCH 129/211] Edits in `OperandStack24.java` --- java/daikon/dcomp/OperandStack24.java | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index 6e0f4af825..9b922a7cb5 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -36,7 +36,7 @@ */ public class OperandStack24 implements Cloneable { - /** We hold the stack information here. */ + /** The underlying stack delegate. */ private ArrayList stack = new ArrayList<>(); /** The maximum number of stack slots this OperandStack instance may hold. */ @@ -53,8 +53,8 @@ public void clear() { } /** - * Returns a deep copy of this object; that means, the clone operates on a new stack. However, the - * ClassDesc objects on the stack are shared. + * Returns a copy of this object. The clone contains a new stack. However, the ClassDesc objects + * on the stack are shared. */ @Override public OperandStack24 clone(@GuardSatisfied OperandStack24 this) { @@ -70,7 +70,8 @@ public OperandStack24 clone(@GuardSatisfied OperandStack24 this) { /** * Returns true if and only if this OperandStack equals another, meaning equal lengths and equal - * objects on the stacks. Special case 'null' which matches anything but a primitive. + * objects on the stacks. A special case is {@code null} in the stack, which matches anything but + * a primitive. */ @Override public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Nullable Object o) { @@ -112,8 +113,8 @@ public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Null // at some point. } else if (thisItem.isPrimitive() && !otherItem.isPrimitive()) { return false; - // We don't bother to check they are the same primitive. } + // We don't bother to check they are the same primitive. } return true; } @@ -128,7 +129,7 @@ public OperandStack24 getClone() { } /** - * @return a hash code value for the object. + * @return a hash code value for the object */ @Override public int hashCode(@GuardSatisfied OperandStack24 this) { @@ -167,9 +168,9 @@ public ClassDesc pop() { } /** - * Pops i elements off the stack. Always returns null. + * Pops i elements off the stack. Always returns {@code null}. * - * @return Always returns null. + * @return {@code null} */ public @Nullable ClassDesc pop(final int count) { for (int j = 0; j < count; j++) { @@ -183,7 +184,10 @@ public void push(final ClassDesc type) { stack.add(type); } - /** Returns the size of this OperandStack; that means, how many ClassDesc objects there are. */ + /** + * Returns the size of this OperandStack; that means, how many ClassDesc objects it currently + * contains. + */ @Pure public @NonNegative int size(@GuardSatisfied OperandStack24 this) { return stack.size(); From fd060bd3d662b985c9f4187918d6a5d76eecd591 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 27 Nov 2025 08:27:12 -0800 Subject: [PATCH 130/211] Edits in `Instrument24.java` --- java/daikon/chicory/Instrument.java | 2 +- java/daikon/chicory/Instrument24.java | 2 +- java/daikon/dcomp/DCInstrument.java | 6 ++--- java/daikon/dcomp/Instrument.java | 24 ++++++++++++------- java/daikon/dcomp/Instrument24.java | 34 +++++++++++++++++---------- 5 files changed, 42 insertions(+), 26 deletions(-) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 2f4f5f0060..1416a0491a 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -232,7 +232,7 @@ private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName Strin debug_transform.log("%nEntering chicory.Instrument.transform(): class = %s%n", className); if (className == null) { - // most likely a lambda related class + // most likely a lambda-related class return null; } diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 522f92ccad..177e30045d 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -288,7 +288,7 @@ private void writeDebugClassFiles( debug_transform.log("%nEntering chicory.Instrument24.transform(): class = %s%n", className); if (className == null) { - // most likely a lambda related class + // most likely a lambda-related class return null; } diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 4dca6fc5b5..e373614d90 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -102,9 +102,9 @@ /** * Instruments a class file to perform Dynamic Comparability. * - *

    The DCInstrument class is responsible for modifying another class's bytecodes. Specifically, - * its main task is to add calls into the DynComp Runtime to calculate comparability values. These - * added calls are sometimes referred to as "hooks". + *

    The DCInstrument class is responsible for modifying bytecodes. Specifically, its main task is + * to add calls into the DynComp Runtime to calculate comparability values. These added calls are + * sometimes referred to as "hooks". */ @SuppressWarnings("nullness") public class DCInstrument extends InstructionListUtils { diff --git a/java/daikon/dcomp/Instrument.java b/java/daikon/dcomp/Instrument.java index 1c8269d316..d7a5c06d5a 100644 --- a/java/daikon/dcomp/Instrument.java +++ b/java/daikon/dcomp/Instrument.java @@ -26,6 +26,10 @@ */ public class Instrument implements ClassFileTransformer { + // + // Start of diagnostics. + // + /** Directory for debug output. */ final File debug_dir; @@ -35,9 +39,6 @@ public class Instrument implements ClassFileTransformer { /** Directory into which to dump original classes. */ final File debug_uninstrumented_dir; - /** Have we seen a class member of a known transformer? */ - private static boolean transformer_seen = false; - /** * Debug information about which classes and/or methods are transformed and why. Use * debugInstrument for actual instrumentation details. @@ -96,6 +97,13 @@ private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName Strin } } + // + // End of diagnostics. + // + + /** Have we seen a class member of a known transformer? */ + private static boolean transformer_seen = false; + /** * Given a class, return a transformed version of the class that contains instrumentation code. * Because DynComp is invoked as a javaagent, the transform method is called by the Java runtime @@ -118,7 +126,7 @@ private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName Strin debug_transform.log("%nEntering dcomp.Instrument.transform(): class = %s%n", className); if (className == null) { - // most likely a lambda related class + // most likely a lambda-related class return null; } @@ -130,8 +138,8 @@ private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName Strin return null; } - // If already instrumented, nothing to do - // (This set will be empty if Premain.jdk_instrumented is false) + // If already instrumented, there is nothing to do. + // (This set will be empty if Premain.jdk_instrumented is false.) if (Premain.pre_instrumented.contains(className)) { debug_transform.log("Skipping pre_instrumented JDK class %s%n", binaryClassName); return null; @@ -180,8 +188,8 @@ private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName Strin debug_transform.log("Instrumenting JDK class %s%n", binaryClassName); } else { - // We're not in a JDK class - // Don't instrument our own classes + // We're not in a JDK class. + // Don't instrument our own classes. if (is_dcomp(className)) { debug_transform.log("Skipping is_dcomp class %s%n", binaryClassName); return null; diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index caba137f8f..20361139e5 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -23,12 +23,12 @@ import org.checkerframework.dataflow.qual.Pure; /** - * This class is responsible for modifying another class's bytecodes. Specifically, its main task is - * to add calls into the DynComp Runtime for instrumentation purposes. These added calls are - * sometimes referred to as "hooks". + * This class is responsible for modifying bytecodes. Specifically, its main task is to add calls + * into the DynComp Runtime for instrumentation purposes. These added calls are sometimes referred + * to as "hooks". * - *

    This class is loaded by Premain at startup. It is a ClassFileTransformer which means that its - * {@code transform} method gets called each time the JVM loads a class. + *

    This class is loaded by Premain at startup. It is a {@link ClassFileTransformer} which means + * that its {@link #transform} method gets called each time the JVM loads a class. * *

    Instrument24 and DCInstrument24 use Java's ({@code java.lang.classfile}) APIs for reading and * modifying .class files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more @@ -39,6 +39,10 @@ */ public class Instrument24 implements ClassFileTransformer { + // + // Start of diagnostics. + // + /** Directory for debug output. */ final File debug_dir; @@ -48,9 +52,6 @@ public class Instrument24 implements ClassFileTransformer { /** Directory into which to dump original classes. */ final File debug_uninstrumented_dir; - /** Have we seen a class member of a known transformer? */ - private static boolean transformer_seen = false; - /** * Debug information about which classes and/or methods are transformed and why. Use * debugInstrument for actual instrumentation details. @@ -126,6 +127,13 @@ public void writeDebugClassFiles( } } + // + // End of diagnostics. + // + + /** Have we seen a class member of a known transformer? */ + private static boolean transformer_seen = false; + /** * Given a class, return a transformed version of the class that contains instrumentation code. * Because DynComp is invoked as a javaagent, the transform method is called by the Java runtime @@ -148,7 +156,7 @@ public void writeDebugClassFiles( debug_transform.log("%nEntering dcomp.Instrument24.transform(): class = %s%n", className); if (className == null) { - // most likely a lambda related class + // most likely a lambda-related class return null; } @@ -160,8 +168,8 @@ public void writeDebugClassFiles( return null; } - // If already instrumented, nothing to do - // (This set will be empty if Premain.jdk_instrumented is false) + // If already instrumented, there is nothing to do. + // (This set will be empty if Premain.jdk_instrumented is false.) if (Premain.pre_instrumented.contains(className)) { debug_transform.log("Skipping pre_instrumented JDK class %s%n", binaryClassName); return null; @@ -210,8 +218,8 @@ public void writeDebugClassFiles( debug_transform.log("Instrumenting JDK class %s%n", binaryClassName); } else { - // We're not in a JDK class - // Don't instrument our own classes + // We're not in a JDK class. + // Don't instrument our own classes. if (is_dcomp(className)) { debug_transform.log("Skipping is_dcomp class %s%n", binaryClassName); return null; From 03fd5289a5bacddd330735e8f5d54b2c779289ec Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 27 Nov 2025 08:27:51 -0800 Subject: [PATCH 131/211] Don't convert to string by concatenating with `""` --- java/daikon/dcomp/DCInstrument24.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 687d27591d..bb7915c481 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1802,7 +1802,7 @@ private List createTagFrame(MethodGen24 mgen) { if (frame_size > 206) { throw new DynCompError("method too large to instrument: " + mgen.getName()); } - String params = "" + (char) (frame_size + '0'); + String params = Character.toString((char) (frame_size + '0')); // Character.forDigit (frame_size, Character.MAX_RADIX); List plist = new ArrayList<>(); for (ClassDesc paramType : paramTypes) { From 5b869d19ed566d700daea1896b29da2ac81f7823 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 27 Nov 2025 08:28:34 -0800 Subject: [PATCH 132/211] Rename "arg" to "param" --- java/daikon/chicory/DaikonVariableInfo.java | 12 +- java/daikon/chicory/DaikonWriter.java | 22 ++-- java/daikon/chicory/Instrument.java | 6 +- java/daikon/chicory/Instrument24.java | 8 +- java/daikon/chicory/MethodGen24.java | 6 +- java/daikon/chicory/ParameterInfo.java | 11 +- java/daikon/dcomp/DCInstrument.java | 125 ++++++++++---------- java/daikon/dcomp/DCInstrument24.java | 20 ++-- java/daikon/split/StatementReplacer.java | 6 +- 9 files changed, 107 insertions(+), 109 deletions(-) diff --git a/java/daikon/chicory/DaikonVariableInfo.java b/java/daikon/chicory/DaikonVariableInfo.java index 26909dd1a4..90e940f573 100644 --- a/java/daikon/chicory/DaikonVariableInfo.java +++ b/java/daikon/chicory/DaikonVariableInfo.java @@ -403,26 +403,26 @@ protected String getValueStringOfList(List theValues) { * * @param cinfo the method's class * @param method the method - * @param argnames the method's arguments + * @param paramNames the method's parameters * @param depth the remaining depth to print variables to */ - protected void addParameters(ClassInfo cinfo, Member method, List argnames, int depth) { + protected void addParameters(ClassInfo cinfo, Member method, List paramNames, int depth) { debug_vars.log("enter addParameters%n"); Class[] parameterTypes = (method instanceof Constructor) ? ((Constructor) method).getParameterTypes() : ((Method) method).getParameterTypes(); - assert argnames.size() == parameterTypes.length; + assert paramNames.size() == parameterTypes.length; int param_offset = 0; for (int i = 0; i < parameterTypes.length; i++) { Class type = parameterTypes[i]; - String name = argnames.get(i); if (type.getName().equals("daikon.dcomp.DCompMarker") || type.getName().equals("java.lang.DCompMarker")) { continue; } + String name = paramNames.get(i); debug_vars.log("processing parameter '%s'%n", name); debug_vars.indent(); DaikonVariableInfo theChild = @@ -659,11 +659,11 @@ protected DaikonVariableInfo addParamDeclVar( String name, String offset, int depth, - int argNum, + int paramNum, int param_offset) { debug_vars.log("enter addParamDeclVar%n"); // add this variable to the tree as a child of curNode - DaikonVariableInfo newChild = new ParameterInfo(offset + name, argNum, type, param_offset); + DaikonVariableInfo newChild = new ParameterInfo(offset + name, paramNum, type, param_offset); addChild(newChild); diff --git a/java/daikon/chicory/DaikonWriter.java b/java/daikon/chicory/DaikonWriter.java index 8d9d3321a6..b17e2cfe24 100644 --- a/java/daikon/chicory/DaikonWriter.java +++ b/java/daikon/chicory/DaikonWriter.java @@ -150,29 +150,29 @@ private static String methodName( */ private static String methodName(Member member, String point) { String fullname; - Class[] args; + Class[] params; Class declaring_class = member.getDeclaringClass(); if (member instanceof Method) { Method method = (Method) member; fullname = declaring_class.getName() + "." + method.getName(); - args = method.getParameterTypes(); + params = method.getParameterTypes(); } else { Constructor constructor = (Constructor) member; fullname = declaring_class.getName() + "." + declaring_class.getSimpleName(); - args = constructor.getParameterTypes(); + params = constructor.getParameterTypes(); } - String arg_str = ""; - for (Class arg : args) { - if (arg_str.length() > 0) { - arg_str += ", "; + String param_str = ""; + for (Class param : params) { + if (param_str.length() > 0) { + param_str += ", "; } - if (arg.isArray()) { - arg_str += SignaturesUtil.classGetNameToBinaryName(arg.getName()); + if (param.isArray()) { + param_str += SignaturesUtil.classGetNameToBinaryName(param.getName()); } else { - arg_str += arg.getName(); + param_str += param.getName(); } } - return String.format("%s(%s):::%s", fullname, arg_str, point); + return String.format("%s(%s):::%s", fullname, param_str, point); } /** Determines if the given method should be instrumented. */ diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 1416a0491a..b31f3ebe6a 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -1217,9 +1217,9 @@ private boolean isConstructor(MethodGen mgen) { } // Get the parameter types for this method. Type[] paramTypes = mgen.getArgumentTypes(); - @ClassGetName String[] arg_type_strings = new @ClassGetName String[paramTypes.length]; + @ClassGetName String[] param_type_strings = new @ClassGetName String[paramTypes.length]; for (int ii = 0; ii < paramTypes.length; ii++) { - arg_type_strings[ii] = typeToClassGetName(paramTypes[ii]); + param_type_strings[ii] = typeToClassGetName(paramTypes[ii]); } // Loop through each instruction and find the line number for each return opcode. @@ -1290,7 +1290,7 @@ private boolean isConstructor(MethodGen mgen) { if (shouldInclude) { return new MethodInfo( - classInfo, mgen.getName(), paramNames, arg_type_strings, exit_line_numbers, isIncluded); + classInfo, mgen.getName(), paramNames, param_type_strings, exit_line_numbers, isIncluded); } else { return null; } diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 177e30045d..d759f82a26 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -1449,16 +1449,16 @@ private boolean isConstructor(MethodGen24 mgen) { } // Get the parameter types for this method. ClassDesc[] paramTypes = mgen.getParameterTypes(); - @ClassGetName String[] arg_type_strings = new @ClassGetName String[paramTypes.length]; + @ClassGetName String[] param_type_strings = new @ClassGetName String[paramTypes.length]; for (int i = 0; i < paramTypes.length; i++) { - arg_type_strings[i] = classDescToClassGetName(paramTypes[i]); + param_type_strings[i] = classDescToClassGetName(paramTypes[i]); } if (debugInstrument.enabled) { debugInstrument.log("create_method_info part 3%n"); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (int ii = 0; ii < paramTypes.length; ii++) { - debugInstrument.log("param type: %s%n", arg_type_strings[ii]); + debugInstrument.log("param type: %s%n", param_type_strings[ii]); } } @@ -1513,7 +1513,7 @@ private boolean isConstructor(MethodGen24 mgen) { if (shouldInclude) { return new MethodInfo( - classInfo, mgen.getName(), paramNames, arg_type_strings, exit_line_numbers, isIncluded); + classInfo, mgen.getName(), paramNames, param_type_strings, exit_line_numbers, isIncluded); } else { return null; } diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 33d2bfa7a6..61ed2cdca1 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -773,11 +773,11 @@ public final String toString(@GuardSatisfied MethodGen24 this) { result.append(" " + methodName + "("); if (paramTypes.length > 0) { for (int i = 0; i < paramTypes.length; i++) { - String arg = convertClassDesc(paramTypes[i]); + String paramType = convertClassDesc(paramTypes[i]); if ((accessFlagsMask & ClassFile.ACC_VARARGS) != 0 && (i == (paramTypes.length - 1))) { - arg = arg.replace("[]", "..."); + paramType = paramType.replace("[]", "..."); } - result.append(arg + " " + paramNames[i] + ", "); + result.append(paramType + " " + paramNames[i] + ", "); } result.setLength(result.length() - 2); // remove last ", " } diff --git a/java/daikon/chicory/ParameterInfo.java b/java/daikon/chicory/ParameterInfo.java index a2fb61cb16..15194a887d 100644 --- a/java/daikon/chicory/ParameterInfo.java +++ b/java/daikon/chicory/ParameterInfo.java @@ -37,16 +37,13 @@ public class ParameterInfo extends DaikonVariableInfo { * * @param theName the variable name (used in the declaration) */ - public ParameterInfo(String theName, int theArgNum, Class argType, int param_offset) { - super( - theName, - stdClassName(argType) + DaikonVariableInfo.isParamString, - getRepName(argType, false)); + public ParameterInfo(String theName, int theArgNum, Class type, int param_offset) { + super(theName, stdClassName(type) + DaikonVariableInfo.isParamString, getRepName(type, false)); argNum = theArgNum; this.param_offset = param_offset; - this.argType = argType; - this.isPrimitive = argType.isPrimitive(); + this.argType = type; + this.isPrimitive = type.isPrimitive(); } /** diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index e373614d90..cba474465e 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -1369,11 +1369,11 @@ InstructionList create_tag_frame(MethodGen mg, LocalVariableGen tag_frame_local) String params = Character.toString((char) (frame_size + '0')); // Character.forDigit (frame_size, Character.MAX_RADIX); List plist = new ArrayList<>(); - for (Type argType : arg_types) { - if (argType instanceof BasicType) { + for (Type paramType : arg_types) { + if (paramType instanceof BasicType) { plist.add(offset); } - offset += argType.getSize(); + offset += paramType.getSize(); } for (int ii = plist.size() - 1; ii >= 0; ii--) { char tmpChar = (char) (plist.get(ii) + '0'); @@ -1917,11 +1917,11 @@ void add_exit(MethodGen mg, MethodInfo mi, int method_info_index) { * * @param startClass the JavaClass whose interfaces are to be searched * @param methodName the target method to search for - * @param argTypes the target method's argument types + * @param paramTypes the target method's argument types * @return the name of the interface class containing target method, or null if not found */ private @Nullable @ClassGetName String getDefiningInterface( - JavaClass startClass, String methodName, Type[] argTypes) { + JavaClass startClass, String methodName, Type[] paramTypes) { if (debugGetDefiningInterface) { System.out.println("searching interfaces of: " + startClass.getClassName()); @@ -1940,13 +1940,13 @@ void add_exit(MethodGen mg, MethodInfo mi, int method_info_index) { if (debugGetDefiningInterface) { System.out.println(" " + jm.getName() + Arrays.toString(jm.getArgumentTypes())); } - if (jm.getName().equals(methodName) && Arrays.equals(jm.getArgumentTypes(), argTypes)) { + if (jm.getName().equals(methodName) && Arrays.equals(jm.getArgumentTypes(), paramTypes)) { // We have a match. return interfaceName; } } // no match found; does this interface extend other interfaces? - @ClassGetName String foundAbove = getDefiningInterface(ji, methodName, argTypes); + @ClassGetName String foundAbove = getDefiningInterface(ji, methodName, paramTypes); if (foundAbove != null) { // We have a match. return foundAbove; @@ -1987,9 +1987,9 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { // We will deal with this later. @ClassGetName String classname = invoke.getClassName(pool); Type returnType = invoke.getReturnType(pool); - Type[] argTypes = invoke.getArgumentTypes(pool); + Type[] paramTypes = invoke.getArgumentTypes(pool); - if (is_object_equals(methodName, returnType, argTypes)) { + if (is_object_equals(methodName, returnType, paramTypes)) { // Replace calls to Object's equals method with calls to our // replacement, a static method in DCRuntime. @@ -2007,7 +2007,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { return il; } - if (is_object_clone(methodName, returnType, argTypes)) { + if (is_object_clone(methodName, returnType, paramTypes)) { // Replace calls to Object's clone method with calls to our // replacement, a static method in DCRuntime. @@ -2016,7 +2016,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { return il; } - boolean callee_instrumented = isTargetInstrumented(invoke, classname, methodName, argTypes); + boolean callee_instrumented = isTargetInstrumented(invoke, classname, methodName, paramTypes); if (debugHandleInvoke) { System.out.printf("handleInvoke(%s)%n", invoke); @@ -2030,7 +2030,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { InstructionList il = new InstructionList(); // Add the DCompMarker argument so that it calls the instrumented version. il.append(new ACONST_NULL()); - Type[] new_arg_types = ArraysPlume.append(argTypes, dcomp_marker); + Type[] new_arg_types = ArraysPlume.append(paramTypes, dcomp_marker); Constant methodref = pool.getConstant(invoke.getIndex()); il.append( ifact.createInvoke( @@ -2050,7 +2050,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { // they actually contain instrumentation code. So we do not want to discard // the primitive tags prior to the call. if (!junitTestClasses.contains(classname)) { - il.append(discard_primitive_tags(argTypes)); + il.append(discard_primitive_tags(paramTypes)); } // Add a tag for the return type if it is primitive. @@ -2069,16 +2069,16 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { * Returns instructions that will discard any primitive tags corresponding to the specified * arguments. Returns an empty instruction list if there are no primitive arguments to discard. * - * @param argTypes argument types of target method + * @param paramTypes argument types of target method * @return an instruction list that discards primitive tags from DCRuntime's per-thread * comparability data stack */ - private InstructionList discard_primitive_tags(Type[] argTypes) { + private InstructionList discard_primitive_tags(Type[] paramTypes) { InstructionList il = new InstructionList(); int primitive_cnt = 0; - for (Type argType : argTypes) { - if (argType instanceof BasicType) { + for (Type paramType : paramTypes) { + if (paramType instanceof BasicType) { primitive_cnt++; } } @@ -2094,14 +2094,14 @@ private InstructionList discard_primitive_tags(Type[] argTypes) { * @param invoke instruction whose target is to be checked * @param classname target class of the invoke * @param methodName target method of the invoke - * @param argTypes argument types of target method + * @param paramTypes argument types of target method * @return true if the target is instrumented */ private boolean isTargetInstrumented( InvokeInstruction invoke, @ClassGetName String classname, String methodName, - Type[] argTypes) { + Type[] paramTypes) { boolean targetInstrumented; if (invoke instanceof INVOKEDYNAMIC) { @@ -2192,7 +2192,7 @@ private boolean isTargetInstrumented( if (debugHandleInvoke) { System.out.println("method: " + methodName); - System.out.println("argTypes: " + Arrays.toString(argTypes)); + System.out.println("paramTypes: " + Arrays.toString(paramTypes)); System.out.printf("invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); } @@ -2224,7 +2224,8 @@ private boolean isTargetInstrumented( if (debugHandleInvoke) { System.out.println(" " + m.getName() + Arrays.toString(m.getArgumentTypes())); } - if (m.getName().equals(methodName) && Arrays.equals(m.getArgumentTypes(), argTypes)) { + if (m.getName().equals(methodName) + && Arrays.equals(m.getArgumentTypes(), paramTypes)) { // We have a match. if (debugHandleInvoke) { System.out.printf("we have a match%n%n"); @@ -2240,7 +2241,7 @@ private boolean isTargetInstrumented( // no methods match - search this class's interfaces @ClassGetName String found; try { - found = getDefiningInterface(targetClass, methodName, argTypes); + found = getDefiningInterface(targetClass, methodName, paramTypes); } catch (Throwable e) { // We cannot locate or read the .class file, better assume it is not instrumented. targetInstrumented = false; @@ -2764,25 +2765,25 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { // // This case DOES occur at run time. -MDE 1/22/2010 // } - // Get the argument names for this method - String[] argNames = mg.getArgumentNames(); + // Get the paramter names for this method + String[] paramNames = mg.getArgumentNames(); LocalVariableGen[] lvs = mg.getLocalVariables(); int param_offset = 1; if (mg.isStatic()) { param_offset = 0; } - for (int ii = 0; ii < argNames.length; ii++) { + for (int ii = 0; ii < paramNames.length; ii++) { if ((ii + param_offset) < lvs.length) { - argNames[ii] = lvs[ii + param_offset].getName(); + paramNames[ii] = lvs[ii + param_offset].getName(); } } // Get the argument types for this method - Type[] argTypes = mg.getArgumentTypes(); - @ClassGetName String[] arg_type_strings = new @ClassGetName String[argTypes.length]; - for (int ii = 0; ii < argTypes.length; ii++) { - arg_type_strings[ii] = typeToClassGetName(argTypes[ii]); - // System.out.printf("DCI arg types: %s %s%n", argTypes[ii], arg_type_strings[ii]); + Type[] paramTypes = mg.getArgumentTypes(); + @ClassGetName String[] param_type_strings = new @ClassGetName String[paramTypes.length]; + for (int ii = 0; ii < paramTypes.length; ii++) { + param_type_strings[ii] = typeToClassGetName(paramTypes[ii]); + // System.out.printf("DCI arg types: %s %s%n", paramTypes[ii], param_type_strings[ii]); } // Loop through each instruction and find the line number for each @@ -2843,7 +2844,7 @@ LocalVariableGen get_return_local(MethodGen mg, @Nullable Type return_type) { } return new MethodInfo( - class_info, mg.getName(), argNames, arg_type_strings, exit_line_numbers, isIncluded); + class_info, mg.getName(), paramNames, param_type_strings, exit_line_numbers, isIncluded); } /** @@ -3082,10 +3083,10 @@ static String methodEntryName(String fullClassName, Method m) { // fullClassName, m, m.getName()); // Get an array of the type names - Type[] argTypes = m.getArgumentTypes(); - String[] type_names = new String[argTypes.length]; - for (int ii = 0; ii < argTypes.length; ii++) { - type_names[ii] = argTypes[ii].toString(); + Type[] paramTypes = m.getArgumentTypes(); + String[] type_names = new String[paramTypes.length]; + for (int ii = 0; ii < paramTypes.length; ii++) { + type_names[ii] = paramTypes[ii].toString(); } // Remove exceptions from the name @@ -3102,13 +3103,13 @@ static String methodEntryName(String fullClassName, Method m) { * * @param methodName method to call * @param returnType type of method return - * @param argTypes array of method argument types + * @param paramTypes array of method argument types * @return InvokeInstruction for the call */ - InvokeInstruction dcr_call(String methodName, Type returnType, Type[] argTypes) { + InvokeInstruction dcr_call(String methodName, Type returnType, Type[] paramTypes) { return ifact.createInvoke( - dcompRuntimeClassName, methodName, returnType, argTypes, Const.INVOKESTATIC); + dcompRuntimeClassName, methodName, returnType, paramTypes, Const.INVOKESTATIC); } /** @@ -3499,8 +3500,8 @@ static Class type_to_class(Type t, ClassLoader loader) { void fix_native(ClassGen gen, MethodGen mg) { InstructionList il = new InstructionList(); - Type[] argTypes = mg.getArgumentTypes(); - String[] argNames = mg.getArgumentNames(); + Type[] paramTypes = mg.getArgumentTypes(); + String[] paramNames = mg.getArgumentNames(); debug_native.log("Native call %s%n", mg); @@ -3508,15 +3509,15 @@ void fix_native(ClassGen gen, MethodGen mg) { if (!mg.isStatic()) { mg.addLocalVariable("this", new ObjectType(mg.getClassName()), null, null); } - for (int ii = 0; ii < argTypes.length; ii++) { - mg.addLocalVariable(argNames[ii], argTypes[ii], null, null); + for (int ii = 0; ii < paramTypes.length; ii++) { + mg.addLocalVariable(paramNames[ii], paramTypes[ii], null, null); } // Discard the tags for any primitive arguments passed to system // methods int primitive_cnt = 0; - for (Type argType : argTypes) { - if (argType instanceof BasicType) { + for (Type paramType : paramTypes) { + if (paramType instanceof BasicType) { primitive_cnt++; } } @@ -3535,12 +3536,12 @@ void fix_native(ClassGen gen, MethodGen mg) { il.append(InstructionFactory.createLoad(new ObjectType(gen.getClassName()), 0)); } - // System.out.printf("%s: atc = %d, anc = %d%n", mg.getName(), argTypes.length, - // argNames.length); + // System.out.printf("%s: atc = %d, anc = %d%n", mg.getName(), paramTypes.length, + // paramNames.length); // if call is sun.reflect.Reflection.getCallerClass (realFramesToSkip) if (mg.getName().equals("getCallerClass") - && (argTypes.length == 1) + && (paramTypes.length == 1) && gen.getClassName().equals("sun.reflect.Reflection")) { // The call returns the class realFramesToSkip up on the stack. Since we @@ -3558,9 +3559,9 @@ void fix_native(ClassGen gen, MethodGen mg) { if (mg.isStatic()) { param_index = 0; } - for (Type argType : argTypes) { - il.append(InstructionFactory.createLoad(argType, param_index)); - param_index += argType.getSize(); + for (Type paramType : paramTypes) { + il.append(InstructionFactory.createLoad(paramType, param_index)); + param_index += paramType.getSize(); } } @@ -3570,7 +3571,7 @@ void fix_native(ClassGen gen, MethodGen mg) { gen.getClassName(), mg.getName(), mg.getReturnType(), - argTypes, + paramTypes, (mg.isStatic() ? Const.INVOKESTATIC : Const.INVOKEVIRTUAL))); // If there is a return value, return it @@ -4093,13 +4094,13 @@ void add_dcomp_arg(MethodGen mg) { * Returns true if the method is defined in Object. * * @param methodName method to check - * @param argTypes array of argument types to method + * @param paramTypes array of argument types to method * @return true if method is member of Object */ @Pure - boolean is_object_method(String methodName, Type[] argTypes) { + boolean is_object_method(String methodName, Type[] paramTypes) { for (MethodDef md : obj_methods) { - if (md.equals(methodName, argTypes)) { + if (md.equals(methodName, paramTypes)) { return true; } } @@ -4145,9 +4146,9 @@ MethodGen create_dcomp_stub(MethodGen mg) { } // push each argument on the stack - for (Type argType : mg.getArgumentTypes()) { - il.append(InstructionFactory.createLoad(argType, offset)); - offset += argType.getSize(); + for (Type paramType : mg.getArgumentTypes()) { + il.append(InstructionFactory.createLoad(paramType, offset)); + offset += paramType.getSize(); } // Call the method @@ -4162,14 +4163,14 @@ MethodGen create_dcomp_stub(MethodGen mg) { il.append(InstructionFactory.createReturn(returnType)); // Create the method - Type[] argTypes = ArraysPlume.append(mg.getArgumentTypes(), dcomp_marker); - String[] argNames = ArraysPlume.append(mg.getArgumentNames(), "marker"); + Type[] paramTypes = ArraysPlume.append(mg.getArgumentTypes(), dcomp_marker); + String[] paramNames = ArraysPlume.append(mg.getArgumentNames(), "marker"); MethodGen dcomp_mg = new MethodGen( mg.getAccessFlags(), returnType, - argTypes, - argNames, + paramTypes, + paramNames, mg.getName(), mg.getClassName(), il, diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index bb7915c481..63698cb640 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -3028,15 +3028,15 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met * * @param methodName method to check * @param returnType return type of method - * @param args array of parameter types to method + * @param paramTypes array of parameter types to method * @return true if method is Object.equals() */ @Pure - boolean is_object_equals(String methodName, ClassDesc returnType, ClassDesc[] args) { + boolean is_object_equals(String methodName, ClassDesc returnType, ClassDesc[] paramTypes) { return (methodName.equals("equals") && returnType.equals(CD_boolean) - && args.length == 1 - && args[0].equals(CD_Object)); + && paramTypes.length == 1 + && paramTypes[0].equals(CD_Object)); } /** @@ -3044,12 +3044,12 @@ boolean is_object_equals(String methodName, ClassDesc returnType, ClassDesc[] ar * * @param methodName method to check * @param returnType return type of method - * @param args array of parameter types to method + * @param paramTypes array of parameter types to method * @return true if method is Object.clone() */ @Pure - boolean is_object_clone(String methodName, ClassDesc returnType, ClassDesc[] args) { - return methodName.equals("clone") && returnType.equals(CD_Object) && (args.length == 0); + boolean is_object_clone(String methodName, ClassDesc returnType, ClassDesc[] paramTypes) { + return methodName.equals("clone") && returnType.equals(CD_Object) && (paramTypes.length == 0); } /** @@ -3351,9 +3351,9 @@ private LocalVariable getReturnLocal( // Get the parameter types for this method. ClassDesc[] paramTypes = mgen.getParameterTypes(); - @ClassGetName String[] arg_type_strings = new @ClassGetName String[paramTypes.length]; + @ClassGetName String[] param_type_strings = new @ClassGetName String[paramTypes.length]; for (int i = 0; i < paramTypes.length; i++) { - arg_type_strings[i] = Instrument24.classDescToClassGetName(paramTypes[i]); + param_type_strings[i] = Instrument24.classDescToClassGetName(paramTypes[i]); } // Loop through each instruction and find the line number for each return opcode. @@ -3395,7 +3395,7 @@ private LocalVariable getReturnLocal( } return new MethodInfo( - classInfo, mgen.getName(), paramNames, arg_type_strings, exit_line_numbers, isIncluded); + classInfo, mgen.getName(), paramNames, param_type_strings, exit_line_numbers, isIncluded); } /** diff --git a/java/daikon/split/StatementReplacer.java b/java/daikon/split/StatementReplacer.java index 9341010cbf..7bd4c7875a 100644 --- a/java/daikon/split/StatementReplacer.java +++ b/java/daikon/split/StatementReplacer.java @@ -153,11 +153,11 @@ public void visit(PrimaryExpression n) { * @param params the MethodParameters' whose names are desired */ private List getParameterNames(ReplaceStatement.MethodParameter[] params) { - List args = new ArrayList<>(); + List paramNames = new ArrayList<>(); for (int i = 0; i < params.length; i++) { - args.add(params[i].name); + paramNames.add(params[i].name); } - return args; + return paramNames; } /** From 4d293c5c23385fa84a3fd960d01cca30ebd7e085 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 28 Nov 2025 07:17:26 -0800 Subject: [PATCH 133/211] Edits in `BcelUtils24` --- java/daikon/dcomp/BcelUtils24.java | 66 ++++++++++++++------------- java/daikon/dcomp/BuildJDK24.java | 2 +- java/daikon/dcomp/CalcStack24.java | 6 ++- java/daikon/dcomp/DCInstrument24.java | 4 +- 4 files changed, 41 insertions(+), 37 deletions(-) diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 0b9924785b..9591d64893 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -16,14 +16,15 @@ import org.checkerframework.checker.signature.qual.Identifier; /** - * This class provides utility methods for manipulating bytecode structures in the Java 24 - * instrumentation pipeline, including operations on local variables, parameter types, and - * instruction adjustments. + * This class provides static utility methods for manipulating bytecode structures, including + * operations on local variables, parameter types, and instruction adjustments. */ public final class BcelUtils24 { - /** Don't allow others to create a new BcelUtils24 object. */ - private BcelUtils24() {} + /** Do not instantiate. */ + private BcelUtils24() { + throw new Error("Do not instantiate"); + } /* * NOMENCLATURE @@ -43,9 +44,9 @@ private BcelUtils24() {} private static SimpleLog debugInstrument = new SimpleLog(false); /** - * Process the instruction list, adding size (1 or 2) to the slot number of each Instruction that - * references a local that is equal or higher in the local map than offsetFirstMovedlocal. Size - * should be the size of the new local that was just inserted at offsetFirstMovedlocal. + * Add {@code size} (1 or 2) to the slot number of each Instruction that references a local that + * is equal or higher in the local map than {@code offsetFirstMovedLocal}. Size should be the size + * of the new local that was just inserted at {@code offsetFirstMovedLocal}. * * @param mgen MethodGen to be modified * @param offsetFirstMovedLocal original offset of first local moved "up" @@ -53,7 +54,7 @@ private BcelUtils24() {} */ static void adjust_code_for_locals_change(MethodGen24 mgen, int offsetFirstMovedLocal, int size) { - debugInstrument.log("adjust code: %d %d%n", offsetFirstMovedLocal, size); + debugInstrument.log("adjust_code_for_locals_change: %d %d%n", offsetFirstMovedLocal, size); try { List il = mgen.getInstructionList(); ListIterator iter = il.listIterator(); @@ -81,7 +82,7 @@ static void adjust_code_for_locals_change(MethodGen24 mgen, int offsetFirstMoved iter.set(StoreInstruction.of(store.typeKind(), store.slot() + size)); } } - default -> {} // ignore all other instructions + default -> {} // No other instructions reference local variables. } } } catch (Throwable t) { @@ -109,34 +110,33 @@ static void adjust_code_for_locals_change(MethodGen24 mgen, int offsetFirstMoved *

    Must call {@link MethodGen24#fixLocals} before calling this routine. * * @param mgen MethodGen to be modified - * @param argName name of new parameter - * @param argType type of new parameter * @param minfo for the given method's code + * @param varName name of new parameter + * @param varType type of new parameter * @param isParam if true, the new local is a new parameter * @return a LocalVariable for the new variable */ public static LocalVariable addNewSpecialLocal( MethodGen24 mgen, - @Identifier String argName, - ClassDesc argType, MethodGen24.MInfo24 minfo, + @Identifier String varName, + ClassDesc varType, boolean isParam) { debugInstrument.enabled = daikon.dcomp.DCInstrument24.bcelDebug; // We add a new local variable, after any parameters and before any - // existing local variables. We then need to make a pass over the + // existing local variables. We then make a pass over the // byte codes to update the slot number of any locals we just shifted up. - LocalVariable argNew; + LocalVariable varNew; // get a copy of the locals before modification List locals = mgen.localsTable; - ClassDesc[] argTypes = mgen.getParameterTypes(); + ClassDesc[] paramTypes = mgen.getParameterTypes(); int newIndex = 0; // index into 'locals' int newOffset = 0; // current local slot number - boolean hasCode = !mgen.getInstructionList().isEmpty(); - int argSize = TypeKind.from(argType).slotSize(); + int argSize = TypeKind.from(varType).slotSize(); if (!mgen.isStatic()) { // Skip the 'this' pointer. @@ -144,35 +144,37 @@ public static LocalVariable addNewSpecialLocal( newOffset++; // size of 'this' is 1 } - if (argTypes.length > 0) { + if (paramTypes.length > 0) { LocalVariable lastArg; - newIndex = newIndex + argTypes.length; - // newIndex is now positive, because argTypes.length is + newIndex = newIndex + paramTypes.length; + // newIndex is now positive, because paramTypes.length is lastArg = locals.get(newIndex - 1); newOffset = lastArg.slot() + TypeKind.from(lastArg.typeSymbol()).slotSize(); } // Insert our new local variable into existing table at 'newOffset'. - argNew = LocalVariable.of(newOffset, argName, argType, minfo.startLabel, minfo.endLabel); - mgen.localsTable.add(newIndex, argNew); + varNew = LocalVariable.of(newOffset, varName, varType, minfo.startLabel, minfo.endLabel); + mgen.localsTable.add(newIndex, varNew); minfo.nextLocalIndex += argSize; mgen.setMaxLocals(minfo.nextLocalIndex); if (isParam) { // Update the method's parameter information. - argTypes = ArraysPlume.append(argTypes, argType); - @Identifier String[] argNames = ArraysPlume.<@Identifier String>append(mgen.getParameterNames(), argName); - mgen.setParameterTypes(argTypes); - mgen.setParameterNames(argNames); + paramTypes = ArraysPlume.append(paramTypes, varType); + @Identifier String[] paramNames = + ArraysPlume.<@Identifier String>append(mgen.getParameterNames(), varName); + mgen.setParameterTypes(paramTypes); + mgen.setParameterNames(paramNames); } - String varType = isParam ? "arg" : "local"; debugInstrument.log( "Added %s at %s%n", - varType, argNew.slot() + ": " + argNew.name() + ", " + argNew.type() + ", " + argSize); + isParam ? "arg" : "local", + varNew.slot() + ": " + varNew.name() + ", " + varNew.type() + ", " + argSize); + boolean hasCode = !mgen.getInstructionList().isEmpty(); if (hasCode) { - // we need to adjust the offset of any locals after our insertion + // Adjust the offset of any locals after our insertion. for (int i = newIndex + 1; i < locals.size(); i++) { LocalVariable lv = locals.get(i); locals.set( @@ -189,6 +191,6 @@ public static LocalVariable addNewSpecialLocal( // debugInstrument.log("New LocalVariableTable:%n%s%n", mgen.localsTable); } - return argNew; + return varNew; } } diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 22dd11f0a0..ff0aaef545 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -58,7 +58,7 @@ }) // assignments into owning collection public final class BuildJDK24 { - /** Don't allow others to create a new BuildJDK24 object. */ + /** Do not instantiate from external code; only instantiate in {@link #main}. */ private BuildJDK24() {} /** diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 2a330a282e..3e098b9a41 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -50,8 +50,10 @@ /** This class calculates the state of the operand stack via simulation. */ public final class CalcStack24 { - /** Don't allow others to create a new CalcStack24 object. */ - private CalcStack24() {} + /** Do not instantiate. */ + private CalcStack24() { + throw new Error("Do not instantiate"); + } /** ClassDesc for 'null'. */ static final ClassDesc nullCD = ClassDesc.of("fake.ClassDecs.for.null"); diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 63698cb640..a185570821 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1774,7 +1774,7 @@ private void add_enter( * @return LocalVariable for the tag_frame local */ LocalVariable createTagFrameLocal(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { - return BcelUtils24.addNewSpecialLocal(mgen, "dcomp_tag_frame$5a", objectArrayCD, minfo, false); + return BcelUtils24.addNewSpecialLocal(mgen, minfo, "dcomp_tag_frame$5a", objectArrayCD, false); } /** @@ -4631,7 +4631,7 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { // Add the dcomp marker argument to indicate this is the // instrumented version of the method. - BcelUtils24.addNewSpecialLocal(mgen, "marker", dcomp_marker, minfo, true); + BcelUtils24.addNewSpecialLocal(mgen, minfo, "marker", dcomp_marker, true); } /** From 24c2e64d41233217c47aa8461bf8c605b14bc3d4 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 28 Nov 2025 07:17:48 -0800 Subject: [PATCH 134/211] All errors are unexpected --- java/daikon/dcomp/DCInstrument24.java | 17 ++++++----------- java/daikon/dcomp/Instrument24.java | 8 ++++---- java/daikon/dcomp/OperandStack24.java | 2 +- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index a185570821..33f3512d06 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -782,9 +782,7 @@ private void addInvokeToClinit(MethodGen24 mgen, ClassInfo classInfo) { throw e; } catch (Throwable t) { throw new DynCompError( - String.format( - "Unexpected error processing %s.%s.%n", mgen.getClassName(), mgen.getName()), - t); + String.format("Error processing %s.%s.%n", mgen.getClassName(), mgen.getName()), t); } } @@ -993,9 +991,9 @@ private void instrumentAllMethods( if (t instanceof DynCompError) { throw t; } - throw new DynCompError("Unexpected error processing " + method, t); + throw new DynCompError("Error processing " + method, t); } else { - System.err.printf("Unexpected error processing %s: %s%n", method, t); + System.err.printf("Error processing %s: %s%n", method, t); System.err.printf("Method is NOT instrumented.%n"); } } @@ -1133,8 +1131,7 @@ private void instrumentMethod( } catch (DynCompError e) { throw e; } catch (Throwable t) { - throw new DynCompError( - "Unexpected error processing " + classInfo.class_name + "." + mgen.getName(), t); + throw new DynCompError("Error processing " + classInfo.class_name + "." + mgen.getName(), t); } } @@ -1633,9 +1630,7 @@ private void instrumentCodeList( throw e; } catch (Throwable t) { throw new DynCompError( - String.format( - "Unexpected error processing %s.%s.%n", mgen.getClassName(), mgen.getName()), - t); + String.format("Error processing %s.%s.%n", mgen.getClassName(), mgen.getName()), t); } } @@ -3016,7 +3011,7 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met return result; } } catch (Throwable t) { - throw new DynCompError(String.format("Unexpected error while reading %s%n", classname), t); + throw new DynCompError(String.format("Error while reading %s%n", classname), t); } } // Do not cache a null result, because a subsequent invocation might return non-null. diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 20361139e5..932cae1207 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -102,7 +102,7 @@ public void writeDebugClassFiles( ClassParser parser = new ClassParser(bais, className); c = parser.parse(); } catch (Throwable t) { - System.err.printf("Unexpected error %s while parsing the bytes of %s%n", t, className); + System.err.printf("Error %s while parsing the bytes of %s%n", t, className); if (debug_transform.enabled) { t.printStackTrace(); } @@ -119,7 +119,7 @@ public void writeDebugClassFiles( BcelUtil.dump(c, directory); } } catch (Throwable t) { - System.err.printf("Unexpected error %s writing debug files for: %s%n", t, className); + System.err.printf("Error %s writing debug files for: %s%n", t, className); if (debug_transform.enabled) { t.printStackTrace(); } @@ -260,7 +260,7 @@ public void writeDebugClassFiles( try { classModel = classFile.parse(classfileBuffer); } catch (Throwable t) { - System.err.printf("Unexpected error %s while parsing bytes of %s%n", t, binaryClassName); + System.err.printf("Error %s while parsing bytes of %s%n", t, binaryClassName); if (debug_transform.enabled) { t.printStackTrace(); } @@ -282,7 +282,7 @@ public void writeDebugClassFiles( try { newBytes = dci.instrument(classInfo); } catch (Throwable t) { - System.err.printf("Unexpected error %s in transform of %s%n", t, binaryClassName); + System.err.printf("Error %s in transform of %s%n", t, binaryClassName); if (debug_transform.enabled) { t.printStackTrace(); } diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index 9b922a7cb5..f8cba545d9 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -62,7 +62,7 @@ public OperandStack24 clone(@GuardSatisfied OperandStack24 this) { try { newstack = (OperandStack24) super.clone(); } catch (CloneNotSupportedException e) { - throw new DynCompError("Unexpected error: ", e); + throw new DynCompError("Error: ", e); } newstack.stack = new ArrayList<>(this.stack); return newstack; From 38ae4178f94cb1f02007d501b65d0c57ae820d55 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 28 Nov 2025 07:35:17 -0800 Subject: [PATCH 135/211] Use plume-util 1.12.3 --- java/lib/README | 4 ++-- java/lib/build.gradle | 2 +- java/lib/daikon-plumelib.jar | Bin 526856 -> 529024 bytes java/lib/plume-util-1.12.1.jar | Bin 368104 -> 0 bytes java/lib/plume-util-1.12.3.jar | Bin 0 -> 370428 bytes 5 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 java/lib/plume-util-1.12.1.jar create mode 100644 java/lib/plume-util-1.12.3.jar diff --git a/java/lib/README b/java/lib/README index d0fc7cea03..386c50b77b 100644 --- a/java/lib/README +++ b/java/lib/README @@ -88,9 +88,9 @@ options-1.0.6.jar : https://central.sonatype.com/artifact/org.plumelib/options wget https://repo.maven.apache.org/maven2/org/plumelib/options/1.0.6/options-1.0.6.jar When you update this, remove the old daikon-plumelib.jar then remake it (see above). -plume-util-1.12.1.jar : https://central.sonatype.com/artifact/org.plumelib/plume-util/versions +plume-util-1.12.3.jar : https://central.sonatype.com/artifact/org.plumelib/plume-util/versions rm plume-util-*.jar - VER=1.12.1 && wget https://repo.maven.apache.org/maven2/org/plumelib/plume-util/${VER}/plume-util-${VER}.jar + VER=1.12.3 && wget https://repo.maven.apache.org/maven2/org/plumelib/plume-util/${VER}/plume-util-${VER}.jar rm -f daikon-plumelib.jar When you update this, remove the old daikon-plumelib.jar then remake it. diff --git a/java/lib/build.gradle b/java/lib/build.gradle index 85c43e493c..249b253202 100644 --- a/java/lib/build.gradle +++ b/java/lib/build.gradle @@ -11,7 +11,7 @@ dependencies { implementation(files("bcel-util-1.2.3.jar")) implementation(files("hashmap-util-0.0.1.jar")) implementation(files("options-1.0.6.jar")) - implementation(files("plume-util-1.12.1.jar")) + implementation(files("plume-util-1.12.3.jar")) implementation(files("reflection-util-1.1.5.jar")) } diff --git a/java/lib/daikon-plumelib.jar b/java/lib/daikon-plumelib.jar index dfa2b5747eb369dcfe1855dbcaffd50afd0d0b91..f88fe2fefd69cd07b145a1f766929cf9a9e314ea 100644 GIT binary patch delta 274609 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

    j8)E2u7gvVaIE0+H4L7Is+%yl;(i(m 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

    s_8+2MHk8xz%J3^U&!nm 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

    Yt4YR0Lh2Qn#}a6_MDL;%0TE_keYC>3W?# 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ࣃ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⪻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ëmzPztCZJSWtA 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 z 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

    aQxIdA|WLBZ-GAf)q%>9Q!N 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⁢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≥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%0A6$mFBhb+TLK+{`{rg3;rSN@jS6pOG@*+yS!1hc0 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


    b|w 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

    oeh@5?>Zi-(QmC4&r7QB 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 literal 0 HcmV?d00001 From 36f3f4484bf426bf57b4a815b7b3c3076c551811 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 28 Nov 2025 08:47:07 -0800 Subject: [PATCH 136/211] Update classpath --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 10b4ba606d..48fd59936f 100644 --- a/Makefile +++ b/Makefile @@ -105,7 +105,11 @@ WWW_DIR := ${WWW_PARENT}/daikon INV_DIR := $(shell pwd) JAR_DIR := ${INV_DIR} -QT_PATH := ../../../daikon.jar:.:../../../java/* +# This path needs to contain checker.jar, because the files being run +# were compiled with checker.jar at the beginning of the path. This +# is a problem when checker.jar has a different version of a library +# such as plume-util. TODO: Find a way to remove checker.jar. +QT_PATH := ../../../java/lib/checker-framework/checker.jar:../../../daikon.jar:.:../../../java/* # Staging area for the distribution STAGING_DIR := ${WWW_PARENT}/staging-daikon From e6b0daa667841a9cf94d433c19163d8eef405340 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 28 Nov 2025 16:16:58 -0800 Subject: [PATCH 137/211] Don't use deprecated method --- java/daikon/diff/Diff.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/daikon/diff/Diff.java b/java/daikon/diff/Diff.java index a39cd4fd7c..b9706ada9f 100644 --- a/java/daikon/diff/Diff.java +++ b/java/daikon/diff/Diff.java @@ -544,13 +544,13 @@ public InvMap convertToInvMap(PptMap pptMap) { } // List invs = ppt.getInvariants(); - List invs = CollectionsPlume.sortList(ppt.getInvariants(), PptTopLevel.icfp); + List invs = CollectionsPlume.sorted(ppt.getInvariants(), PptTopLevel.icfp); map.put(ppt, invs); if (examineAllPpts) { // Add conditional ppts for (PptConditional pptCond : ppt.cond_iterable()) { List invsCond = - CollectionsPlume.sortList(pptCond.getInvariants(), PptTopLevel.icfp); + CollectionsPlume.sorted(pptCond.getInvariants(), PptTopLevel.icfp); // List invsCond = pptCond.getInvariants(); map.put(pptCond, invsCond); } From 3d82c663c1c8b3bd77778545a2106cace3f3e7ca Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 28 Nov 2025 16:27:53 -0800 Subject: [PATCH 138/211] Edits in `DCInstrument24.java` --- java/daikon/dcomp/BuildJDK.java | 2 +- java/daikon/dcomp/BuildJDK24.java | 2 +- java/daikon/dcomp/DCInstrument.java | 319 ++++++++++----------- java/daikon/dcomp/DCInstrument24.java | 391 +++++++++++++------------- 4 files changed, 357 insertions(+), 357 deletions(-) diff --git a/java/daikon/dcomp/BuildJDK.java b/java/daikon/dcomp/BuildJDK.java index 21a8298264..70c7386c47 100644 --- a/java/daikon/dcomp/BuildJDK.java +++ b/java/daikon/dcomp/BuildJDK.java @@ -484,7 +484,7 @@ private void instrumentClassFile( } DCInstrument dci = new DCInstrument(jc, true, null); JavaClass inst_jc; - inst_jc = dci.instrument_jdk(); + inst_jc = dci.instrument_jdk_class(); skipped_methods.addAll(dci.get_skipped_methods()); File classfile = new File(classFileName); File dir; diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index ff0aaef545..afb65a5d67 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -523,7 +523,7 @@ private void instrumentClassFile( @BinaryName String classname = classFileName.replace(".class", "").replace('/', '.'); ClassInfo classInfo = new ClassInfo(classname, loader); DCInstrument24 dci = new DCInstrument24(classFile, classModel, true); - byte[] classBytes = dci.instrument_jdk(classInfo); + byte[] classBytes = dci.instrument_jdk_class(classInfo); if (classBytes == null) { throw new Error("Instrumentation failed: " + classFile); } diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index cba474465e..29058e3738 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -27,6 +27,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Pattern; @@ -110,7 +111,7 @@ public class DCInstrument extends InstructionListUtils { /** - * Used when testing to continue processing if an error occurs. Currently, This flag is only used + * Used when testing to continue processing if an error occurs. Currently, this flag is only used * by BuildJDK. */ @Option("Halt if an instrumentation error occurs") @@ -141,6 +142,7 @@ public class DCInstrument extends InstructionListUtils { protected LocalVariableGen tag_frame_local; // Argument descriptors + /** Type array with two objects. */ protected static Type[] two_objects = new Type[] {Type.OBJECT, Type.OBJECT}; @@ -160,13 +162,23 @@ public class DCInstrument extends InstructionListUtils { protected static Type javalangClass = new ObjectType("java.lang.Class"); // Type descriptors + + /** Array type for "java.lang.Object[]". */ protected static Type object_arr = new ArrayType(Type.OBJECT, 1); + // private Type int_arr = new ArrayType (Type.INT, 1); + + /** ObjectType for "java.lang.Throwable". */ protected static ObjectType throwable = new ObjectType("java.lang.Throwable"); + + /** ObjectType for DCompMarker . */ protected ObjectType dcomp_marker; + + /** ObjectType for "java.lang.Object". */ protected static ObjectType javalangObject = new ObjectType("java.lang.Object"); // Debug loggers + /** Log file if debug_native is enabled. */ protected static SimpleLog debug_native = new SimpleLog(false); @@ -189,6 +201,8 @@ public class DCInstrument extends InstructionListUtils { /** If true, enable {@link #handleInvoke} debugging. */ protected static final boolean debugHandleInvoke = false; + // End of debug loggers. + /** Keeps track of the methods that were not successfully instrumented. */ protected List skipped_methods = new ArrayList<>(); @@ -216,7 +230,7 @@ protected enum JunitState { /** Current state of JUnit test discovery. */ protected static JunitState junit_state = JunitState.NOT_SEEN; - /** Have we seen 'JUnitCommandLineParseResult.parse'? */ + /** Have we seen {@code JUnitCommandLineParseResult.parse}? */ protected static boolean junit_parse_seen = false; /** @@ -238,10 +252,10 @@ protected enum JunitState { static Integer Integer_ACC_ANNOTATION = Integer.valueOf(Const.ACC_ANNOTATION); /** - * Array of classes whose fields are not initialized from java. Since the fields are not - * initialized from java, their tag storage is not allocated as part of a store, but rather must - * be allocated as part of a load. We call a special runtime method for this so that we can check - * for this in other cases. + * Array of classes whose fields are not initialized from Java (i.e., these classes are + * initialized by the JVM). Since the fields are not initialized from Java, their tag storage is + * not allocated as part of a store, but rather must be allocated as part of a load. We call a + * special runtime method for this so that we can check for this in other cases. */ protected static String[] uninit_classes = { "java.lang.String", @@ -252,8 +266,10 @@ protected enum JunitState { /** * List of Object methods. Since we can't instrument Object, none of these can be instrumented, - * and most of them don't provide useful comparability information anyway. The equals method and - * the clone method are special-cased in the {@link #handleInvoke} routine. + * and most of them don't provide useful comparability information anyway. + * + *

    The equals method and the clone method are not listed here. They are special-cased in the + * {@link #handleInvoke} routine. */ protected static MethodDef[] obj_methods = { new MethodDef("finalize", new Type[0]), @@ -276,12 +292,12 @@ protected enum JunitState { /** Temporary location of runtime initialization code. */ private InstructionHandle insertion_placeholder; - /** Class that defines a method (by its name and argument types) */ + /** Represents a method (by its name and argument types). */ static class MethodDef { - /** Name of method. */ + /** Name of this method. */ String name; - /** Arument types for the method. */ + /** Argument types for this method. */ Type[] arg_types; /** @@ -331,11 +347,7 @@ public boolean equals(@GuardSatisfied MethodDef this, @GuardSatisfied @Nullable @Pure @Override public int hashCode(@GuardSatisfied MethodDef this) { - int code = name.hashCode(); - for (Type arg : arg_types) { - code += arg.hashCode(); - } - return code; + return Objects.hash(name, Arrays.hashCode(arg_types)); } } @@ -410,9 +422,9 @@ public JavaClass instrument() { boolean track_class = false; // Handle object methods for this class - handle_object(gen); + add_clone_and_tostring_interfaces(gen); - // Have all top-level classes implement our interface + // Have all top-level classes implement the DCompInstrumented interface. if (gen.getSuperclassName().equals("java.lang.Object")) { // Add equals method if it doesn't already exist. This ensures // that an instrumented version, equals(Object, DCompMarker), @@ -756,11 +768,11 @@ public JavaClass instrument() { } } - // Add tag accessor methods for each primitive in the class + // Add tag accessor methods for each primitive in the class. create_tag_accessors(gen); // Keep track of when the class is initialized (so we don't look - // for fields in uninitialized classes) + // for fields in uninitialized classes). track_class_init(); debug_transform.exdent(); @@ -786,36 +798,38 @@ public JavaClass instrument() { * @return true if the given method is a JUnit trigger */ boolean isJunitTrigger(String classname, String method_name) { - if ((classname.contains("JUnitCommandLineParseResult") - && method_name.equals("parse")) // JUnit 4 - || (classname.contains("EngineDiscoveryRequestResolution") - && method_name.equals("resolve")) // JUnit 5 - ) { + if (classname.contains("JUnitCommandLineParseResult") && method_name.equals("parse")) { + // JUnit 4 + return true; + } + if (classname.contains("EngineDiscoveryRequestResolution") && method_name.equals("resolve")) { + // JUnit 5 return true; } return false; } + // /////////////////////////////////////////////////////////////////////////// // General Java Runtime instrumentation strategy: // - //

    It is a bit of a misnomer, but the Daikon code and documentation uses the term JDK to refer + // It is a bit of a misnomer, but the Daikon code and documentation uses the term JDK to refer // to the Java Runtime Environment class libraries. In Java 8 and earlier, they were usually found // in {@code /jre/lib/rt.jar}. For these versions of Java, we // pre-instrumented the entire rt.jar. // - //

    In Java 9 and later, the Java Runtime classes have been divided into modules that are + // In Java 9 and later, the Java Runtime classes have been divided into modules that are // usually found in: {@code /jmods/*.jmod}. // - //

    With the conversion to modules for Java 9 and beyond, we have elected to pre-instrument only + // With the conversion to modules for Java 9 and beyond, we have elected to pre-instrument only // java.base.jmod and instrument all other Java Runtime (aka JDK) classes dynamically as they are // loaded. // - //

    Post Java 8 there are increased security checks when loading JDK classes. In particular, the + // Post Java 8 there are increased security checks when loading JDK classes. In particular, the // core classes contained in the java.base module may not reference anything outside of java.base. // This means we cannot pre-instrument classes in the same manner as was done for Java 8 as this // would introduce external references to the DynComp runtime (DCRuntime.java). // - //

    However, we can get around this restriction in the following manner: We create a shadow + // However, we can get around this restriction in the following manner: We create a shadow // DynComp runtime called java.lang.DCRuntime that contains all the public methods of // daikon.dcomp.DCRuntime, but with method bodies that contain only a return statement. We // pre-instrument java.base the same as we would for JDK 8, but change all references to @@ -832,7 +846,7 @@ boolean isJunitTrigger(String classname, String method_name) { * * @return the modified JavaClass */ - public JavaClass instrument_jdk() { + public JavaClass instrument_jdk_class() { String classname = gen.getClassName(); @@ -871,7 +885,7 @@ public JavaClass instrument_jdk() { debug_transform.indent(); // Handle object methods for this class - handle_object(gen); + add_clone_and_tostring_interfaces(gen); // Have all top-level classes implement our interface if (gen.getSuperclassName().equals("java.lang.Object")) { @@ -1020,12 +1034,12 @@ public JavaClass instrument_jdk() { } } - // Add tag accessor methods for each primitive in the class + // Add tag accessor methods for each primitive in the class. create_tag_accessors(gen); // We don't need to track class initialization in the JDK because // that is only used when printing comparability which is only done - // for client classes + // for client classes. // track_class_init(); debug_transform.exdent(); @@ -1131,8 +1145,8 @@ void skip_method(MethodGen mg) { } /** - * Returns the list of uninstrumented methods. (Note: instrument_jdk() needs to have been called - * first.) + * Returns the list of uninstrumented methods. (Note: instrument_jdk_class() needs to have been + * called first.) */ public List get_skipped_methods() { return new ArrayList<>(skipped_methods); @@ -1163,8 +1177,8 @@ public void build_exception_handler(MethodGen mg) { /** Adds a try/catch block around the entire method. */ public void add_exception_handler(MethodGen mg, InstructionList catch_il) { - // methods (constructors) turn out to be problematic - // for adding a whole method exception handler. The start of + // methods (constructors) are problematic + // for adding a whole-method exception handler. The start of // the exception handler should be after the primary object is // initialized - but this is hard to determine without a full // analysis of the code. Hence, we just skip these methods. @@ -1321,7 +1335,7 @@ public void add_create_tag_frame(MethodGen mg) { } /** - * Adds the call to DCRuntime.enter to the beginning of the method. + * Adds a call to DCRuntime.enter at the beginning of the method. * * @param mg method to modify * @param mi MethodInfo for method @@ -1368,20 +1382,20 @@ InstructionList create_tag_frame(MethodGen mg, LocalVariableGen tag_frame_local) assert frame_size < 207 : frame_size + " " + mg.getClassName() + "." + mg.getName(); String params = Character.toString((char) (frame_size + '0')); // Character.forDigit (frame_size, Character.MAX_RADIX); - List plist = new ArrayList<>(); + List paramList = new ArrayList<>(); for (Type paramType : arg_types) { if (paramType instanceof BasicType) { - plist.add(offset); + paramList.add(offset); } offset += paramType.getSize(); } - for (int ii = plist.size() - 1; ii >= 0; ii--) { - char tmpChar = (char) (plist.get(ii) + '0'); + for (int ii = paramList.size() - 1; ii >= 0; ii--) { + char tmpChar = (char) (paramList.get(ii) + '0'); params += tmpChar; - // Character.forDigit (plist.get(ii), Character.MAX_RADIX); + // Character.forDigit (paramList.get(ii), Character.MAX_RADIX); } - // Create code to create/init the tag frame and store in tag_frame_local + // Create code to create/init the tag frame and store in tag_frame_local. InstructionList il = new InstructionList(); il.append(ifact.createConstant(params)); il.append( @@ -1472,22 +1486,22 @@ InstructionList callEnterOrExit( } // Call the specified method - Type[] method_args; + Type[] method_params; if (method_name.equals("exit")) { - method_args = + method_params = new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr, Type.OBJECT, Type.INT}; } else { - method_args = new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr}; + method_params = new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr}; } il.append( ifact.createInvoke( - dcompRuntimeClassName, method_name, Type.VOID, method_args, Const.INVOKESTATIC)); + dcompRuntimeClassName, method_name, Type.VOID, method_params, Const.INVOKESTATIC)); return il; } /** - * Transforms instructions to track comparability. Returns a list of instructions that replaces + * Transforms on. instruction to track comparability. Returns a list of instructions that replaces * the specified instruction. Returns null if the instruction should not be replaced. * * @param mg method being instrumented @@ -1502,7 +1516,7 @@ InstructionList callEnterOrExit( // Replace the object comparison instructions with a call to // DCRuntime.object_eq or DCRuntime.object_ne. Those methods - // return a boolean which is used in a ifeq/ifne instruction + // return a boolean which is used in a ifeq/ifne instruction. case Const.IF_ACMPEQ: return object_comparison((BranchInstruction) inst, "object_eq", Const.IFNE); case Const.IF_ACMPNE: @@ -1982,10 +1996,10 @@ void add_exit(MethodGen mg, MethodInfo mi, int method_info_index) { private InstructionList handleInvoke(InvokeInstruction invoke) { // Get information about the call + @ClassGetName String classname = invoke.getClassName(pool); String methodName = invoke.getMethodName(pool); // getClassName does not work properly if invoke is INVOKEDYNAMIC. // We will deal with this later. - @ClassGetName String classname = invoke.getClassName(pool); Type returnType = invoke.getReturnType(pool); Type[] paramTypes = invoke.getArgumentTypes(pool); @@ -2074,8 +2088,6 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { * comparability data stack */ private InstructionList discard_primitive_tags(Type[] paramTypes) { - - InstructionList il = new InstructionList(); int primitive_cnt = 0; for (Type paramType : paramTypes) { if (paramType instanceof BasicType) { @@ -2083,13 +2095,14 @@ private InstructionList discard_primitive_tags(Type[] paramTypes) { } } if (primitive_cnt > 0) { - il.append(discard_tag_code(new NOP(), primitive_cnt)); + return discard_tag_code(new NOP(), primitive_cnt); } - return il; + // Must return a mutable array because some clients mutate it. + return new InstructionList(); } /** - * Returns true if the invoke target is instrumented. + * Returns true if the invoked method (the callee) is instrumented. * * @param invoke instruction whose target is to be checked * @param classname target class of the invoke @@ -2171,8 +2184,8 @@ private boolean isTargetInstrumented( // case and verify this code is no longer needed. // This is a bit of a hack. An invokeinterface instruction with a // a target of "java.util.stream." might be calling a - // Lambda method in which case we don't want to add the dcomp_marker. - // Might lose something in 'normal' cases, but no easy way to detect. + // lambda method in which case we don't want to add the dcomp_marker. + // Might lose something in "normal" cases, but no easy way to detect. if (classname.startsWith("java.util.stream")) { targetInstrumented = false; } @@ -2351,7 +2364,7 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m return false; } - // Special case the execution trace tool. + // Special-case the execution trace tool. if (classname.startsWith("minst.Minst")) { return false; } @@ -2368,7 +2381,7 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m } } - // If its not a JDK class, presume its instrumented. + // If it's not a JDK class, presume it's instrumented. if (!BcelUtil.inJdk(classname)) { return true; } @@ -2387,7 +2400,7 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m // We have decided not to use the instrumented version of Random as // the method generates values based on an initial seed value. - // (Typical of random() algorithms.) This has the undesirable side + // (Typical of random() algorithms.) Instrumentation would have the undesirable side // effect of putting all the generated values in the same comparison // set when they should be distinct. // Note: If we find other classes that should not use the instrumented @@ -2396,7 +2409,7 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m return false; } - // If using the instrumented JDK, then everthing but object is instrumented + // If using the instrumented JDK, then everthing but object is instrumented. if (Premain.jdk_instrumented && !classname.equals("java.lang.Object")) { return true; } @@ -2405,11 +2418,11 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m } /** - * Given a classname return it's superclass name. Note that BCEL reports that the superclass of - * 'java.lang.Object' is 'java.lang.Object' rather than saying there is no superclass. + * Given a classname return its superclass name. Note that BCEL reports that the superclass of + * {@code java.lang.Object} is {@code java.lang.Object} rather than saying there is no superclass. * - * @param classname the fully qualified name of the class in binary form. E.g., "java.util.List" - * @return superclass name of classname or null if there is an error + * @param classname the fully-qualified name of the class in binary form. E.g., "java.util.List" + * @return name of superclass, or null if there is an error */ private @ClassGetName String getSuperclassName(String classname) { JavaClass jc = getJavaClass(classname); @@ -2425,13 +2438,13 @@ private boolean isClassnameInstrumented(@ClassGetName String classname, String m /** * There are times when it is useful to inspect a class file other than the one we are currently - * instrumenting. Note we cannot use classForName to do this as it might trigger a recursive call - * to Instrument which would not work at this point. + * instrumenting. We cannot use {@code classForName} to do this as it might trigger a recursive + * call to Instrument which would not work at this point. * *

    Given a class name, we treat it as a system resource and try to open it as an input stream * that we can pass to BCEL to read and convert to a JavaClass object. * - * @param classname the fully qualified name of the class in binary form, e.g., "java.util.List" + * @param classname the fully-qualified name of the class in binary form, e.g., "java.util.List" * @return the JavaClass of the corresponding classname or null */ private @Nullable JavaClass getJavaClass(String classname) { @@ -2488,8 +2501,8 @@ boolean is_object_clone(String methodName, Type returnType, Type[] args) { } /** - * Instrument calls to the Object method clone. An instrumented version is called if it exists, - * the non-instrumented version if it does not. + * Instrument calls to the Object method {@code clone}. An instrumented version is called if it + * exists, the non-instrumented version if it does not. * * @param invoke invoke instruction to inspect and replace * @return InstructionList to call the correct version of clone or toString @@ -2509,14 +2522,15 @@ InstructionList instrument_clone_call(InvokeInstruction invoke) { // push the target class il.append(new LDC(pool.addClass(classname))); - // if this is a super call if (invoke.getOpcode() == Const.INVOKESPECIAL) { + // This is a super call. // Runtime will discover if the object's superclass has an instrumented clone method. // If so, call it; otherwise call the uninstrumented version. il.append(dcr_call("dcomp_super_clone", returnType, new Type[] {Type.OBJECT, javalangClass})); - } else { // a regular (non-super) clone() call + } else { + // This is a regular (non-super) clone() call. // Runtime will discover if the object has an instrumented clone method. // If so, call it; otherwise call the uninstrumented version. @@ -2548,52 +2562,52 @@ InstructionList object_comparison( * (load) or pop (store) the tag on the tag stack. This is accomplished by calling the tag get/set * method for this field. */ - InstructionList load_store_field(MethodGen mg, FieldInstruction f) { + InstructionList load_store_field(MethodGen mg, FieldInstruction fi) { - Type field_type = f.getFieldType(pool); + Type field_type = fi.getFieldType(pool); if (field_type instanceof ReferenceType) { return null; } - ObjectType obj_type = (ObjectType) f.getReferenceType(pool); + ObjectType obj_type = (ObjectType) fi.getReferenceType(pool); InstructionList il = new InstructionList(); String classname = obj_type.getClassName(); - // If this class doesn't support tag fields, don't load/store them + // If this class doesn't support tag fields, don't load/store them. if (!tag_fields_ok(mg, classname)) { - if ((f instanceof GETFIELD) || (f instanceof GETSTATIC)) { + if ((fi instanceof GETFIELD) || (fi instanceof GETSTATIC)) { il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); } else { il.append(ifact.createConstant(1)); il.append(dcr_call("discard_tag", Type.VOID, integer_arg)); } - // Perform the normal field command - il.append(f); + // Perform the orginal field command. + il.append(fi); return il; } - if (f instanceof GETSTATIC) { + if (fi instanceof GETSTATIC) { il.append( ifact.createInvoke( classname, - Premain.tag_method_name(Premain.GET_TAG, classname, f.getFieldName(pool)), + Premain.tag_method_name(Premain.GET_TAG, classname, fi.getFieldName(pool)), Type.VOID, Type.NO_ARGS, Const.INVOKESTATIC)); - } else if (f instanceof PUTSTATIC) { + } else if (fi instanceof PUTSTATIC) { il.append( ifact.createInvoke( classname, - Premain.tag_method_name(Premain.SET_TAG, classname, f.getFieldName(pool)), + Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), Type.VOID, Type.NO_ARGS, Const.INVOKESTATIC)); - } else if (f instanceof GETFIELD) { + } else if (fi instanceof GETFIELD) { il.append(InstructionFactory.createDup(obj_type.getSize())); il.append( ifact.createInvoke( classname, - Premain.tag_method_name(Premain.GET_TAG, classname, f.getFieldName(pool)), + Premain.tag_method_name(Premain.GET_TAG, classname, fi.getFieldName(pool)), Type.VOID, Type.NO_ARGS, Const.INVOKEVIRTUAL)); @@ -2605,7 +2619,7 @@ InstructionList load_store_field(MethodGen mg, FieldInstruction f) { il.append( ifact.createInvoke( classname, - Premain.tag_method_name(Premain.SET_TAG, classname, f.getFieldName(pool)), + Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), Type.VOID, Type.NO_ARGS, Const.INVOKEVIRTUAL)); @@ -2616,7 +2630,7 @@ InstructionList load_store_field(MethodGen mg, FieldInstruction f) { il.append( ifact.createInvoke( classname, - Premain.tag_method_name(Premain.SET_TAG, classname, f.getFieldName(pool)), + Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), Type.VOID, Type.NO_ARGS, Const.INVOKEVIRTUAL)); @@ -2624,8 +2638,8 @@ InstructionList load_store_field(MethodGen mg, FieldInstruction f) { } } - // Perform the normal field command - il.append(f); + // Perform the original field command. + il.append(fi); return il; } @@ -2929,7 +2943,7 @@ InstructionList array_load(Instruction inst) { String method = "primitive_array_load"; if (inst instanceof AALOAD) { method = "ref_array_load"; - } else if (is_uninit_class(gen.getClassName())) { + } else if (is_class_initialized_by_jvm(gen.getClassName())) { method = "primitive_array_load_null_ok"; } @@ -3060,7 +3074,7 @@ boolean should_track(@BinaryName String className, String methodName, String ppt return false; } - // call shouldIgnore to check ppt-omit-pattern(s) and ppt-select-pattern(s) + // Call `shouldIgnore` to check ppt-omit-patterns and ppt-select-patterns. boolean shouldIgnore = daikon.chicory.Instrument.shouldIgnore(className, methodName, pptName); if (shouldIgnore) { debug_transform.log("ignoring %s, not included in ppt_select patterns%n", pptName); @@ -3099,7 +3113,7 @@ static String methodEntryName(String fullClassName, Method m) { } /** - * Convenience function to construct a call to a static method in DCRuntime. + * Constructs a call to a static method in DCRuntime. * * @param methodName method to call * @param returnType type of method return @@ -3190,17 +3204,14 @@ InstructionList dup2_x1_tag(Instruction inst, OperandStack stack) { } else if (is_primitive(stack.peek(1))) { op = "dup"; } else { // neither of the top two values is primitive - op = null; + return null; } } if (debug_dup.enabled) { debug_dup.log("DUP2_X1 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - if (op != null) { - return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); - } - return null; + return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); } /** @@ -3216,15 +3227,12 @@ InstructionList dup2_tag(Instruction inst, OperandStack stack) { else if (is_primitive(top) || is_primitive(stack.peek(1))) op = "dup"; else { // both of the top two items are not primitive, nothing to dup - op = null; + return null; } if (debug_dup.enabled) { debug_dup.log("DUP2 -> %s [... %s]%n", op, stack_contents(stack, 2)); } - if (op != null) { - return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); - } - return null; + return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); } /** @@ -3233,22 +3241,20 @@ InstructionList dup2_tag(Instruction inst, OperandStack stack) { */ InstructionList dup_x2(Instruction inst, OperandStack stack) { Type top = stack.peek(); - String op = null; - if (is_primitive(top)) { - if (is_category2(stack.peek(1))) op = "dup_x1"; - else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; - else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; - else { - op = "dup"; - } + if (!is_primitive(top)) { + return null; + } + String op; + if (is_category2(stack.peek(1))) op = "dup_x1"; + else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; + else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; + else { + op = "dup"; } if (debug_dup.enabled) { debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - if (op != null) { - return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); - } - return null; + return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); } /** @@ -3296,7 +3302,7 @@ InstructionList dup2_x2(Instruction inst, OperandStack stack) { if (is_primitive(stack.peek(1))) { op = "dup_x1"; } else { - op = null; // nothing to dup + return null; // nothing to dup } } else if (is_primitive(stack.peek(1))) { if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup_x2"; @@ -3306,16 +3312,13 @@ InstructionList dup2_x2(Instruction inst, OperandStack stack) { op = "dup"; } } else { // 1 is a reference - op = null; // nothing to dup + return null; // nothing to dup } } if (debug_dup.enabled) { debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - if (op != null) { - return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); - } - return null; + return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); } /** @@ -3400,8 +3403,8 @@ InstructionList multi_newarray_dc(Instruction inst) { } /** - * Create an instruction list that calls the runtime to handle returns for the tag stack follow by - * the original return instruction. + * Create an instruction list that calls the runtime to handle returns for the tag stack followed + * by the original return instruction. * * @param mg method to modify * @param inst return instruction to be replaced @@ -3594,7 +3597,7 @@ void fix_native(ClassGen gen, MethodGen mg) { * safely use class fields except in Object, String, and Class. * * @param mg method to check - * @param classname class to check + * @param classname class containing {@code mg} * @return true if tag fields may be used in class for method */ boolean tag_fields_ok(MethodGen mg, @ClassGetName String classname) { @@ -3675,7 +3678,7 @@ void create_tag_accessors(ClassGen gen) { if (!tag_fields_ok(mgen, classname)) return; Set field_set = new HashSet<>(); - Map field_map = build_field_map(gen.getJavaClass()); + Map field_to_offset_map = build_field_to_offset_map(gen.getJavaClass()); // Build accessors for all fields declared in this class for (Field f : gen.getFields()) { @@ -3695,8 +3698,8 @@ void create_tag_accessors(ClassGen gen) { get_method = create_get_tag(gen, f, static_field_id.get(full_name)); set_method = create_set_tag(gen, f, static_field_id.get(full_name)); } else { - get_method = create_get_tag(gen, f, field_map.get(f)); - set_method = create_set_tag(gen, f, field_map.get(f)); + get_method = create_get_tag(gen, f, field_to_offset_map.get(f)); + set_method = create_set_tag(gen, f, field_to_offset_map.get(f)); } gen.addMethod(get_method.getMethod()); gen.addMethod(set_method.getMethod()); @@ -3730,8 +3733,8 @@ void create_tag_accessors(ClassGen gen) { get_method = create_get_tag(gen, f, static_field_id.get(full_name)); set_method = create_set_tag(gen, f, static_field_id.get(full_name)); } else { - get_method = create_get_tag(gen, f, field_map.get(f)); - set_method = create_set_tag(gen, f, field_map.get(f)); + get_method = create_get_tag(gen, f, field_to_offset_map.get(f)); + set_method = create_set_tag(gen, f, field_to_offset_map.get(f)); } gen.addMethod(get_method.getMethod()); gen.addMethod(set_method.getMethod()); @@ -3747,7 +3750,7 @@ void create_tag_accessors(ClassGen gen) { * @param jc class to check for fields * @return field offset map */ - Map build_field_map(JavaClass jc) { + Map build_field_to_offset_map(JavaClass jc) { // Object doesn't have any primitive fields if (jc.getClassName().equals("java.lang.Object")) { @@ -3761,8 +3764,8 @@ Map build_field_map(JavaClass jc) { } catch (Exception e) { throw new Error("can't get superclass for " + jc, e); } - Map field_map = build_field_map(super_jc); - int offset = field_map.size(); + Map field_to_offset_map = build_field_to_offset_map(super_jc); + int offset = field_to_offset_map.size(); // Determine the offset for each primitive field in the class // Also make sure the static_tags list is large enough for @@ -3788,12 +3791,12 @@ Map build_field_map(JavaClass jc) { } } } else { - field_map.put(f, offset); + field_to_offset_map.put(f, offset); offset++; } } - return field_map; + return field_to_offset_map; } /** @@ -3821,13 +3824,17 @@ MethodGen create_get_tag(ClassGen gen, Field f, int tag_offset) { // fields are handled separately. Also instance fields in special // classes that are created by the JVM are handled separately since only // in those classes can fields be read without being written (in java) - String methodname = "push_field_tag"; - Type[] args = object_int; + String methodname; + Type[] params; if (f.isStatic()) { methodname = "push_static_tag"; - args = integer_arg; - } else if (is_uninit_class(gen.getClassName())) { + params = integer_arg; + } else if (is_class_initialized_by_jvm(gen.getClassName())) { methodname = "push_field_tag_null_ok"; + params = object_int; + } else { + methodname = "push_field_tag"; + params = object_int; } String classname = gen.getClassName(); @@ -3839,7 +3846,7 @@ MethodGen create_get_tag(ClassGen gen, Field f, int tag_offset) { il.append(InstructionFactory.createThis()); } il.append(ifact.createConstant(tag_offset)); - il.append(dcr_call(methodname, Type.VOID, args)); + il.append(dcr_call(methodname, Type.VOID, params)); il.append(InstructionFactory.createReturn(Type.VOID)); int access_flags = f.getAccessFlags(); @@ -3899,10 +3906,10 @@ MethodGen create_get_tag(ClassGen gen, Field f, int tag_offset) { MethodGen create_set_tag(ClassGen gen, Field f, int tag_offset) { String methodname = "pop_field_tag"; - Type[] args = object_int; + Type[] params = object_int; if (f.isStatic()) { methodname = "pop_static_tag"; - args = integer_arg; + params = integer_arg; } String classname = gen.getClassName(); @@ -3914,7 +3921,7 @@ MethodGen create_set_tag(ClassGen gen, Field f, int tag_offset) { il.append(InstructionFactory.createThis()); } il.append(ifact.createConstant(tag_offset)); - il.append(dcr_call(methodname, Type.VOID, args)); + il.append(dcr_call(methodname, Type.VOID, params)); il.append(InstructionFactory.createReturn(Type.VOID)); int access_flags = f.getAccessFlags(); @@ -3931,7 +3938,7 @@ MethodGen create_set_tag(ClassGen gen, Field f, int tag_offset) { access_flags |= Const.ACC_FINAL; } - // Create the setter method + // Create the setter method. MethodGen set_method = new MethodGen( access_flags, @@ -3950,7 +3957,7 @@ MethodGen create_set_tag(ClassGen gen, Field f, int tag_offset) { } /** - * Adds the DCompInstrumented interface to the given class. Adds the following method to the + * Adds the DCompInstrumented interface to the given class. Also adds the following method to the * class, so that it implements the DCompInstrumented interface: * *

    {@code
    @@ -3959,8 +3966,8 @@ MethodGen create_set_tag(ClassGen gen, Field f, int tag_offset) {
        * }
        * }
    * - * The method does nothing except call the instrumented equals method (boolean equals(Object, - * DCompMarker)). + * The method does nothing except call the instrumented equals method {@code boolean + * equals(Object, DCompMarker)}. * * @param gen class to add interface to */ @@ -4010,9 +4017,7 @@ void add_dcomp_interface(ClassGen gen) { * } * } * - * Must only be called if the Object equals method has not been overridden; if the equals method - * is already defined in the class, a ClassFormatError will result because of the duplicate - * method. + * Throws a ClassFormatError if the equals method is already defined in the class. * * @param gen class to add method to */ @@ -4050,13 +4055,13 @@ void add_equals_method(ClassGen gen) { } /** - * Marks the class as implementing various object methods (currently clone and toString). Callers - * will call the instrumented version of the method if it exists, otherwise they will call the - * uninstrumented version. + * Adds interfaces to indicate which of the Object methods (currently clone and toString) the + * class overrides. Callers will call the instrumented version of the method if it exists, + * otherwise they will call the uninstrumented version. * * @param gen class to check */ - void handle_object(ClassGen gen) { + void add_clone_and_tostring_interfaces(ClassGen gen) { Method cl = gen.containsMethod("clone", "()Ljava/lang/Object;"); if (cl != null) { gen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompClone")); @@ -4115,7 +4120,7 @@ boolean is_object_method(String methodName, Type[] paramTypes) { * @return true if classname has members that are uninitialized */ @Pure - boolean is_uninit_class(String classname) { + boolean is_class_initialized_by_jvm(String classname) { for (String u_name : uninit_classes) { if (u_name.equals(classname)) { @@ -4216,11 +4221,11 @@ static void restore_static_field_id(File file) throws IOException { } /** - * Return the fully qualified fieldname of the specified field. + * Return the fully-qualified fieldname of the specified field. * * @param jc class containing the field * @param f the field - * @return string containing the fully qualified name + * @return string containing the fully-qualified name */ protected String full_name(JavaClass jc, Field f) { return jc.getClassName() + "." + f.getName(); diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 33f3512d06..8ece8d503f 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -96,6 +96,7 @@ import java.util.List; import java.util.ListIterator; import java.util.Map; +import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.SortedSet; @@ -113,6 +114,7 @@ import org.checkerframework.checker.signature.qual.ClassGetName; import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; import org.checkerframework.checker.signature.qual.FieldDescriptor; +import org.checkerframework.checker.signature.qual.InternalForm; import org.checkerframework.checker.signature.qual.MethodDescriptor; import org.checkerframework.dataflow.qual.Pure; @@ -140,7 +142,7 @@ public class DCInstrument24 { public static boolean bcelDebug; /** - * Used when testing to continue processing if an error occurs. Currently, This flag is only used + * Used when testing to continue processing if an error occurs. Currently, this flag is only used * by BuildJDK. */ @Option("Halt if an instrumentation error occurs") @@ -201,7 +203,7 @@ public int compare(WorkItem w1, WorkItem w2) { /** ConstantPool builder for current class. */ private ConstantPoolBuilder poolBuilder; - /** True if we tracking any methods in the current class. */ + /** True if we are tracking any methods in the current class. */ private boolean trackClass = false; /** ClassGen for the current class. */ @@ -220,6 +222,7 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} protected LocalVariable tagFrameLocal; // Argument descriptors + /** Type array with two objects. */ protected static ClassDesc[] two_objects_arg = {CD_Object, CD_Object}; @@ -242,6 +245,7 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} protected static final ClassDesc[] noArgsCD = new ClassDesc[0]; // Debug loggers + /** Log file if debug_native is enabled. */ protected static SimpleLog debug_native = new SimpleLog(false); @@ -267,6 +271,8 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} /** If true, enable operand stack debugging. */ protected static final boolean debugOperandStack = false; + // End of debug loggers. + /** Keeps track of the methods that were not successfully instrumented. */ protected List skipped_methods = new ArrayList<>(); @@ -297,7 +303,7 @@ protected enum JunitState { /** Current state of JUnit test discovery. */ protected static JunitState junit_state = JunitState.NOT_SEEN; - /** Have we seen 'JUnitCommandLineParseResult.parse'? */ + /** Have we seen {@code JUnitCommandLineParseResult.parse}? */ protected static boolean junit_parse_seen = false; /** @@ -319,10 +325,10 @@ protected enum JunitState { static Integer Integer_ACC_ANNOTATION = Integer.valueOf(ClassFile.ACC_ANNOTATION); /** - * Array of classes whose fields are not initialized from java. Since the fields are not - * initialized from java, their tag storage is not allocated as part of a store, but rather must - * be allocated as part of a load. We call a special runtime method for this so that we can check - * for this in other cases. + * Array of classes whose fields are not initialized from Java (i.e., these classes are + * initialized by the JVM). Since the fields are not initialized from Java, their tag storage is + * not allocated as part of a store, but rather must be allocated as part of a load. We call a + * special runtime method for this so that we can check for this in other cases. */ protected static String[] uninit_classes = { "java.lang.String", @@ -333,8 +339,10 @@ protected enum JunitState { /** * List of Object methods. Since we can't instrument Object, none of these can be instrumented, - * and most of them don't provide useful comparability information anyway. The equals method and - * the clone method are special-cased in the {@link #handleInvoke} routine. + * and most of them don't provide useful comparability information anyway. + * + *

    The equals method and the clone method are not listed here. They are special-cased in the + * {@link #handleInvoke} routine. */ protected static MethodDef[] obj_methods = { new MethodDef("finalize", new ClassDesc[0]), @@ -348,12 +356,12 @@ protected enum JunitState { new MethodDef("wait", new ClassDesc[] {CD_long, CD_int}), }; - /** Class that defines a method (by its name and argument types) */ + /** Represents a method (by its name and argument types). */ static class MethodDef { - /** Name of method. */ + /** Name of this method. */ String name; - /** Arument types for the method. */ + /** Argument types for this method. */ ClassDesc[] arg_types; /** @@ -403,11 +411,7 @@ public boolean equals(@GuardSatisfied MethodDef this, @GuardSatisfied @Nullable @Pure @Override public int hashCode(@GuardSatisfied MethodDef this) { - int code = name.hashCode(); - for (ClassDesc arg : arg_types) { - code += arg.hashCode(); - } - return code; + return Objects.hash(name, Arrays.hashCode(arg_types)); } } @@ -446,13 +450,13 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk bcelDebug = debugInstrument.enabled; if (debugOperandStack) { - // Create a new PrintStream with autoflush enabled + // Create a new PrintStream with autoflush enabled. PrintStream newOut = new PrintStream(System.out, true, UTF_8); - // Reassign System.out to the new PrintStream + // Reassign System.out to the new PrintStream. System.setOut(newOut); - // Create a new PrintStream with autoflush enabled + // Create a new PrintStream with autoflush enabled. PrintStream newErr = new PrintStream(System.err, true, UTF_8); - // Reassign System.err to the new PrintStream + // Reassign System.err to the new PrintStream. System.setErr(newErr); } } @@ -505,7 +509,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk } /** - * Instrument the current class. + * Instrument the given class. * * @param classBuilder for the class * @param classModel for the class @@ -519,11 +523,8 @@ private void instrumentClass( runtimeCD = ClassDesc.of(dcompRuntimeClassname); poolBuilder = classBuilder.constantPool(); - if (in_jdk) { - debug_transform.log("%nInstrumenting class(JDK): %s%n", classInfo.class_name); - } else { - debug_transform.log("%nInstrumenting class: %s%n", classInfo.class_name); - } + debug_transform.log( + "%nInstrumenting class%s: %s%n", in_jdk ? " (in JDK)" : "", classInfo.class_name); debug_transform.indent(); debugInstrument.log("Attributes:%n"); @@ -537,7 +538,7 @@ private void instrumentClass( } // Handle object methods for this class - handle_object(classGen); + add_clone_and_tostring_interfaces(classGen); trackClass = false; boolean junit_test_class = false; @@ -702,14 +703,14 @@ private void instrumentClass( instrumentAllMethods(classModel, classBuilder, classInfo); - // Have all top-level classes implement our interface + // Have all top-level classes implement the DCompInstrumented interface. if (classGen.getSuperclassName().equals("java.lang.Object")) { @SuppressWarnings("signature:assignment") - @MethodDescriptor String objectArgReturnBoolean = "(Ljava/lang/Object;)Z"; + @MethodDescriptor String objectToBoolean = "(Ljava/lang/Object;)Z"; // Add equals method if it doesn't already exist. This ensures // that an instrumented version, equals(Object, DCompMarker), // will be created in this class. - MethodModel eq = classGen.containsMethod("equals", objectArgReturnBoolean); + MethodModel eq = classGen.containsMethod("equals", objectToBoolean); if (eq == null) { debugInstrument.log("Added equals method%n"); add_equals_method(classBuilder, classGen, classInfo); @@ -720,7 +721,7 @@ private void instrumentClass( add_dcomp_interface(classBuilder, classGen, classInfo); } - // Output the list of interfaces. + // Add interfaces to the class being built. classBuilder.withInterfaces(classGen.getInterfaceList()); // Copy all other ClassElements to output class unchanged. @@ -734,12 +735,12 @@ private void instrumentClass( } } - // Add tag accessor methods for each primitive in the class + // Add tag accessor methods for each primitive in the class. create_tag_accessors(classGen); // We don't need to track class initialization in the JDK because // that is only used when printing comparability which is only done - // for client classes + // for client classes. if (!in_jdk) { // If no clinit method, we need to add our own. if (!classInfo.hasClinit) { @@ -762,8 +763,8 @@ private void instrumentClass( } /** - * Adds a call to the DynComp Runtime {@code set_class_initialized} method at the begining of the - * given method. Clients pass the class static initializer {@code } as the method. + * Adds a call to the DynComp Runtime {@code set_class_initialized} method at the begining of + * {@code mgen}. Clients pass the class static initializer {@code } as {@code mgen}. * * @param mgen the method to modify, should be the class static initializer {@code } * @param classInfo for the given class @@ -935,7 +936,8 @@ private void instrumentAllMethods( " Processing method %s, track=%b%n", simplify_method_name(mgen), track); debug_transform.indent(); - // local variables referenced from a lambda expression must be final or effectively final + // `final` because local variables referenced from a lambda expression must be final or + // effectively final. final boolean trackMethod = track; // main methods, methods and all methods in a JUnit test class @@ -1001,8 +1003,8 @@ private void instrumentAllMethods( } /** - * Copy the given method from the input class file to the output output class with no changes. - * Uses {@code copyMethod} to perform the actual copy. + * Copy the given method from the input class file to the output class with no changes. Uses + * {@code copyMethod} to perform the actual copy. * * @param classBuilder for the output class * @param mm MethodModel describes the input method @@ -1017,7 +1019,7 @@ private void outputMethodUnchanged(ClassBuilder classBuilder, MethodModel mm, Me } /** - * Copy the given method from the input class file to the output output class with no changes. + * Copy the given method from the input class file to the output class with no changes. * * @param methodBuilder for the output class * @param methodModel describes the input method @@ -1139,8 +1141,10 @@ private void instrumentMethod( * Generate instrumentation code for the given method. This includes reading in and processing the * original instruction list, calling {@code insertInstrumentationCode} to add the instrumentation * code, and then copying the modified instruction list to the output method while updating the - * code labels, if needed. If DCInstrument24 generated the method or if it is a native method, - * then codeModel == null. If DCInstrument24 generated the method then localsTable will be set. + * code labels, if needed. + * + *

    If DCInstrument24 generated the method or if it is a native method, then {@code codeModel} + * == null. If DCInstrument24 generated the method then {@code localsTable} will be set. * * @param codeBuilder for the given method's code * @param codeModel for the input method's code; may be null @@ -1349,41 +1353,43 @@ private void instrumentCode( /** * Returns true if the specified classname.method_name is the root of JUnit startup code. * - * @param classname class to be checked + * @param classname class containing the given method * @param method_name method to be checked * @return true if the given method is a JUnit trigger */ boolean isJunitTrigger(String classname, String method_name) { - if ((classname.contains("JUnitCommandLineParseResult") - && method_name.equals("parse")) // JUnit 4 - || (classname.contains("EngineDiscoveryRequestResolution") - && method_name.equals("resolve")) // JUnit 5 - ) { + if (classname.contains("JUnitCommandLineParseResult") && method_name.equals("parse")) { + // JUnit 4 + return true; + } + if (classname.contains("EngineDiscoveryRequestResolution") && method_name.equals("resolve")) { + // JUnit 5 return true; } return false; } + // /////////////////////////////////////////////////////////////////////////// // General Java Runtime instrumentation strategy: // - //

    It is a bit of a misnomer, but the Daikon code and documentation uses the term JDK to refer + // It is a bit of a misnomer, but the Daikon code and documentation uses the term JDK to refer // to the Java Runtime Environment class libraries. In Java 8 and earlier, they were usually found // in {@code /jre/lib/rt.jar}. For these versions of Java, we // pre-instrumented the entire rt.jar. // - //

    In Java 9 and later, the Java Runtime classes have been divided into modules that are + // In Java 9 and later, the Java Runtime classes have been divided into modules that are // usually found in: {@code /jmods/*.jmod}. // - //

    With the conversion to modules for Java 9 and beyond, we have elected to pre-instrument only + // With the conversion to modules for Java 9 and beyond, we have elected to pre-instrument only // java.base.jmod and instrument all other Java Runtime (aka JDK) classes dynamically as they are // loaded. // - //

    Post Java 8 there are increased security checks when loading JDK classes. In particular, the + // Post Java 8 there are increased security checks when loading JDK classes. In particular, the // core classes contained in the java.base module may not reference anything outside of java.base. // This means we cannot pre-instrument classes in the same manner as was done for Java 8 as this // would introduce external references to the DynComp runtime (DCRuntime.java). // - //

    However, we can get around this restriction in the following manner: We create a shadow + // However, we can get around this restriction in the following manner: We create a shadow // DynComp runtime called java.lang.DCRuntime that contains all the public methods of // daikon.dcomp.DCRuntime, but with method bodies that contain only a return statement. We // pre-instrument java.base the same as we would for JDK 8, but change all references to @@ -1400,7 +1406,7 @@ boolean isJunitTrigger(String classname, String method_name) { * * @return the modified JavaClass */ - public byte @Nullable [] instrument_jdk(ClassInfo classInfo) { + public byte @Nullable [] instrument_jdk_class(ClassInfo classInfo) { @BinaryName String classname = classInfo.class_name; @@ -1544,7 +1550,7 @@ private void instrumentCodeList( // Create a worklist of instruction locations and operand stacks. - // Create a work item for start of users code. + // Create a work item for start of user's code. if (oldStartLabel != null) { addLabelToWorklist(oldStartLabel, new OperandStack24(mgen.getMaxStack())); } else { @@ -1703,8 +1709,8 @@ void skip_method(String method) { } /** - * Returns the list of uninstrumented methods. (Note: instrument_jdk() needs to have been called - * first.) + * Returns the list of uninstrumented methods. (Note: instrument_jdk_class() needs to have been + * called first.) */ public List get_skipped_methods() { return new ArrayList<>(skipped_methods); @@ -1722,8 +1728,8 @@ public List build_exception_handler(MethodGen24 mgen) { if (mgen.getName().equals("main")) { return null; } - // methods (constructors) turn out to be problematic - // for adding a whole method exception handler. The start of + // methods (constructors) are problematic + // for adding a whole-method exception handler. The start of // the exception handler should be after the primary object is // initialized - but this is hard to determine without a full // analysis of the code. Hence, we just skip these methods. @@ -1743,7 +1749,7 @@ public List build_exception_handler(MethodGen24 mgen) { } /** - * Adds the call to DCRuntime.enter to the beginning of the method. + * Adds a call to DCRuntime.enter at the beginning of the method. * * @param mgen method to modify * @param minfo for the given method's code @@ -1799,20 +1805,20 @@ private List createTagFrame(MethodGen24 mgen) { } String params = Character.toString((char) (frame_size + '0')); // Character.forDigit (frame_size, Character.MAX_RADIX); - List plist = new ArrayList<>(); + List paramList = new ArrayList<>(); for (ClassDesc paramType : paramTypes) { if (paramType.isPrimitive()) { - plist.add(offset); + paramList.add(offset); } offset += TypeKind.from(paramType).slotSize(); } - for (int ii = plist.size() - 1; ii >= 0; ii--) { - char tmpChar = (char) (plist.get(ii) + '0'); + for (int ii = paramList.size() - 1; ii >= 0; ii--) { + char tmpChar = (char) (paramList.get(ii) + '0'); params += tmpChar; - // Character.forDigit (plist.get(ii), Character.MAX_RADIX); + // Character.forDigit (paramList.get(ii), Character.MAX_RADIX); } - // Create code to create and init the tag_frame and store the result in tag_frame_local + // Create code to create and init the tag_frame and store the result in tag_frame_local. List instructions = new ArrayList<>(); MethodRefEntry mre = @@ -1919,7 +1925,7 @@ private List callEnterOrExit( } /** - * Transforms instructions to track comparability. Returns a list of instructions that replaces + * Transforms on instruction to track comparability. Returns a list of instructions that replaces * the specified instruction. Returns null if the instruction should not be replaced. * * @param mgen method to modify @@ -1937,7 +1943,7 @@ private List callEnterOrExit( // Replace the object comparison instructions with a call to // DCRuntime.object_eq or DCRuntime.object_ne. Those methods - // return a boolean which is used in a ifeq/ifne instruction + // return a boolean which is used in a ifeq/ifne instruction. case Opcode.IF_ACMPEQ: return object_comparison((BranchInstruction) inst, "object_eq", Opcode.IFNE); case Opcode.IF_ACMPNE: @@ -2080,8 +2086,7 @@ private List callEnterOrExit( } // Adjusts the tag stack for load constant opcodes. If the constant is a primitive, pushes - // its tag - // on the tag stack. If the constant is a reference (string, class), does nothing. + // its tag on the tag stack. If the constant is a reference (string, class), does nothing. case Opcode.LDC: case Opcode.LDC_W: case Opcode.LDC2_W: @@ -2491,10 +2496,11 @@ private List handleInvokeDynamic(InvokeDynamicInstruction invoke) { */ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mgen) { - // Get information about the call + // Get information about the call. + @SuppressWarnings("signature:assignment") // JDK java.lang.classfile 24 is not yet annotated + @InternalForm String classnameInternalForm = invoke.owner().asInternalName(); + @BinaryName String classname = classnameInternalForm.replace('/', '.'); String methodName = invoke.name().stringValue(); - @SuppressWarnings("signature:assignment") // JDK 24 is not annotated as yet - @BinaryName String classname = invoke.owner().asInternalName().replace('/', '.'); MethodTypeDesc mtd = invoke.typeSymbol(); ClassDesc returnType = mtd.returnType(); ClassDesc[] paramTypes = mtd.parameterArray(); @@ -2600,8 +2606,6 @@ private List cleanInvokeTagStack( * comparability data stack */ private List discard_primitive_tags(ClassDesc[] paramTypes) { - List il = new ArrayList<>(); - int primitive_cnt = 0; for (ClassDesc paramType : paramTypes) { if (paramType.isPrimitive()) { @@ -2609,18 +2613,19 @@ private List discard_primitive_tags(ClassDesc[] paramTypes) { } } if (primitive_cnt > 0) { - il.addAll(discard_tag_code(null, primitive_cnt)); + return discard_tag_code(null, primitive_cnt); } - return il; + // Must return a mutable array because some clients mutate it. + return new ArrayList<>(); } /** - * Returns true if the invoke target is instrumented. + * Returns true if the invoked method (the callee) is instrumented. * * @param invoke instruction whose target is to be checked * @param mgen host method of invoke - * @param classname target class of the invoke - * @param methodName target method of the invoke + * @param classname target class of the invoke (the callee) + * @param methodName target method of the invoke (the callee) * @param paramTypes parameter types of target method * @return true if the target is instrumented */ @@ -2694,8 +2699,8 @@ private boolean isTargetInstrumented( // case and verify this code is no longer needed. // This is a bit of a hack. An invokeinterface instruction with a // a target of "java.util.stream." might be calling a - // Lambda method in which case we don't want to add the dcomp_marker. - // Might lose something in 'normal' cases, but no easy way to detect. + // lambda method in which case we don't want to add the dcomp_marker. + // Might lose something in "normal" cases, but no easy way to detect. if (classname.startsWith("java.util.stream")) { targetInstrumented = false; } @@ -2893,7 +2898,7 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met return false; } - // Special case the execution trace tool. + // Special-case the execution trace tool. if (classname.startsWith("minst.Minst")) { return false; } @@ -2910,7 +2915,7 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met } } - // If its not a JDK class, presume its instrumented. + // If it's not a JDK class, presume it's instrumented. if (!BcelUtil.inJdk(classname)) { return true; } @@ -2929,7 +2934,7 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met // We have decided not to use the instrumented version of Random as // the method generates values based on an initial seed value. - // (Typical of random() algorithms.) This has the undesirable side + // (Typical of random() algorithms.) Instrumentation would have the undesirable side // effect of putting all the generated values in the same comparison // set when they should be distinct. // Note: If we find other classes that should not use the instrumented @@ -2938,7 +2943,7 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met return false; } - // If using the instrumented JDK, then everthing but object is instrumented + // If using the instrumented JDK, then everthing but object is instrumented. if (Premain.jdk_instrumented && !classname.equals("java.lang.Object")) { return true; } @@ -2947,12 +2952,13 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met } /** - * Return a list of the super classes of this class in ascending order, i.e., java.lang.Object is - * always the last element. + * Return a list of the superclasses of this class. This class itself is not in the list. The is + * in ascending order; that is, java.lang.Object is always the last element, unless the argument + * is java.lang.Object. * * @return list of super classes */ - public List<@BinaryName String> getSuperClassNames() { + public List<@BinaryName String> getStrictSuperClassNames() { final List<@BinaryName String> allSuperClassNames = new ArrayList<>(); @BinaryName String classname = classGen.getClassName(); while (!classname.equals("java.lang.Object")) { @@ -2963,13 +2969,13 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met } /** - * Given a classname return it's superclass name. Note that we copy BCEL and report that the - * superclass of 'java.lang.Object' is 'java.lang.Object' rather than saying there is no - * superclass. We are assured this will not cause a problem because we never call this method with - * 'java.lang.Object' as the argument. + * Given a classname return its superclass name. Note that we copy BCEL and report that the + * superclass of {@code java.lang.Object} is {@code java.lang.Object} rather than saying there is + * no superclass. We are assured this will not cause a problem because we never call this method + * with {@code java.lang.Object} as the argument. * - * @param classname the fully qualified name of the class in binary form. E.g., "java.util.List" - * @return superclass name of classname or null if there is an error + * @param classname the fully-qualified name of the class in binary form. E.g., "java.util.List" + * @return name of superclass, or null if there is an error */ private @BinaryName String getSuperclassName(String classname) { ClassModel cm = getClassModel(classname); @@ -2985,13 +2991,13 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met /** * There are times when it is useful to inspect a class file other than the one we are currently - * instrumenting. Note we cannot use classForName to do this as it might trigger a recursive call - * to Instrument which would not work at this point. + * instrumenting. We cannot use {@code classForName} to do this as it might trigger a recursive + * call to Instrument which would not work at this point. * *

    Given a class name, we treat it as a system resource, create a {@code Path} to it and have * {@code java.lang.classfile} read and create a {@code ClassModel} object. * - * @param classname the fully qualified name of the class in binary form, e.g., "java.util.List" + * @param classname the fully-qualified name of the class in binary form, e.g., "java.util.List" * @return the ClassModel of the corresponding classname or null */ private @Nullable ClassModel getClassModel(String classname) { @@ -3011,7 +3017,8 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met return result; } } catch (Throwable t) { - throw new DynCompError(String.format("Error while reading %s%n", classname), t); + throw new DynCompError( + String.format("Error while reading %s %s%n", classname, class_url), t); } } // Do not cache a null result, because a subsequent invocation might return non-null. @@ -3048,8 +3055,8 @@ boolean is_object_clone(String methodName, ClassDesc returnType, ClassDesc[] par } /** - * Instrument calls to the Object method clone. An instrumented version is called if it exists, - * the non-instrumented version if it does not. + * Instrument calls to the Object method {@code clone}. An instrumented version is called if it + * exists, the non-instrumented version if it does not. * * @param invoke invoke instruction to inspect and replace * @param returnType return type of method @@ -3069,15 +3076,16 @@ private List instrument_clone_call( // push the target class il.add(buildLDCInstruction(poolBuilder.classEntry(ClassDesc.of(classname)))); - // if this is a super call if (invoke.opcode().equals(Opcode.INVOKESPECIAL)) { + // This is a super call. // Runtime will discover if the object's superclass has an instrumented clone method. // If so, call it; otherwise call the uninstrumented version. // use CD_Class il.add(dcr_call("dcomp_super_clone", returnType, new ClassDesc[] {CD_Object, CD_Class})); - } else { // a regular (non-super) clone() call + } else { + // This is a regular (non-super) clone() call. // Runtime will discover if the object has an instrumented clone method. // If so, call it; otherwise call the uninstrumented version. @@ -3116,13 +3124,13 @@ private List object_comparison( * * @param mgen describes the given method * @param minfo for the given method's code - * @param f the field instruction + * @param fi the field instruction * @return instruction list to access the field */ private List load_store_field( - MethodGen24 mgen, MethodGen24.MInfo24 minfo, FieldInstruction f) { + MethodGen24 mgen, MethodGen24.MInfo24 minfo, FieldInstruction fi) { - ClassDesc field_type = f.typeSymbol(); + ClassDesc field_type = fi.typeSymbol(); debugInstrument.log("field_type: %s%n", field_type); int field_size = TypeKind.from(field_type).slotSize(); if (!field_type.isPrimitive()) { @@ -3130,13 +3138,13 @@ private List load_store_field( } List il = new ArrayList<>(); - Opcode op = f.opcode(); - String fieldName = f.name().stringValue(); + Opcode op = fi.opcode(); + String fieldName = fi.name().stringValue(); @SuppressWarnings("signature:assignment") // type conversion - @BinaryName String owner = f.owner().asInternalName().replace('/', '.'); - ClassDesc ownerCD = f.owner().asSymbol(); + @BinaryName String owner = fi.owner().asInternalName().replace('/', '.'); + ClassDesc ownerCD = fi.owner().asSymbol(); - // If this class doesn't support tag fields, don't load/store them + // If this class doesn't support tag fields, don't load/store them. if (!tag_fields_ok(mgen, owner)) { if (op.equals(Opcode.GETFIELD) || op.equals(Opcode.GETSTATIC)) { il.add(dcr_call("push_const", CD_void, noArgsCD)); @@ -3145,8 +3153,8 @@ private List load_store_field( il.add(dcr_call("discard_tag", CD_void, integer_arg)); } - // Perform the normal field command - il.add(f); + // Perform the origital field command. + il.add(fi); return il; } @@ -3197,8 +3205,8 @@ private List load_store_field( } } - // Perform the normal field command - il.add(f); + // Perform the original field command. + il.add(fi); return il; } @@ -3414,7 +3422,7 @@ private List array_load(MethodGen24 mgen, ArrayLoadInstruction inst String method = "primitive_array_load"; if (inst.typeKind().equals(TypeKind.REFERENCE)) { method = "ref_array_load"; - } else if (is_uninit_class(mgen.getClassName())) { + } else if (is_class_initialized_by_jvm(mgen.getClassName())) { method = "primitive_array_load_null_ok"; } @@ -3550,7 +3558,7 @@ boolean should_track(@BinaryName String className, String methodName, String ppt return false; } - // call shouldIgnore to check ppt-omit-pattern(s) and ppt-select-pattern(s) + // Call `shouldIgnore` to check ppt-omit-patterns and ppt-select-patterns. return !daikon.chicory.Instrument24.shouldIgnore(className, methodName, pptName); } @@ -3576,7 +3584,7 @@ static String methodEntryName(String fullClassName, MethodGen24 mgen) { } /** - * Convenience function to construct a call to a static method in DCRuntime. + * Constructs a call to a static method in DCRuntime. * * @param methodName method to call * @param returnType type of method return @@ -3633,7 +3641,7 @@ List dup_x1_tag(CodeElement inst, OperandStack24 stack) { ClassDesc top = stack.peek(); String op; if (!top.isPrimitive()) { - op = null; + return null; } else if (stack.peek(1).isPrimitive()) { op = "dup_x1"; } else { @@ -3642,10 +3650,7 @@ List dup_x1_tag(CodeElement inst, OperandStack24 stack) { if (debug_dup.enabled) { debug_dup.log("DUP_X1 -> %s [... %s]%n", op, stack_contents(stack, 2)); } - if (op != null) { - return build_il(dcr_call(op, CD_void, noArgsCD), inst); - } - return null; + return build_il(dcr_call(op, CD_void, noArgsCD), inst); } /** @@ -3654,29 +3659,27 @@ List dup_x1_tag(CodeElement inst, OperandStack24 stack) { */ List dup_x2_tag(CodeElement inst, OperandStack24 stack) { ClassDesc value1 = stack.peek(); + if (!value1.isPrimitive()) { + return null; + } ClassDesc value2 = stack.peek(1); - String op = null; - if (value1.isPrimitive()) { - if (is_category2(value2)) { + String op; + if (is_category2(value2)) { + op = "dup_x1"; + } else { + ClassDesc value3 = stack.peek(2); + if (value2.isPrimitive() && value3.isPrimitive()) { + op = "dup_x2"; + } else if (value2.isPrimitive() || value3.isPrimitive()) { op = "dup_x1"; } else { - ClassDesc value3 = stack.peek(2); - if (value2.isPrimitive() && value3.isPrimitive()) { - op = "dup_x2"; - } else if (value2.isPrimitive() || value3.isPrimitive()) { - op = "dup_x1"; - } else { - op = "dup"; - } + op = "dup"; } } if (debug_dup.enabled) { debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - if (op != null) { - return build_il(dcr_call(op, CD_void, noArgsCD), inst); - } - return null; + return build_il(dcr_call(op, CD_void, noArgsCD), inst); } /** @@ -3694,15 +3697,12 @@ List dup2_tag(CodeElement inst, OperandStack24 stack) { op = "dup"; } else { // both of the top two items are not primitive, nothing to dup - op = null; + return null; } if (debug_dup.enabled) { debug_dup.log("DUP2 -> %s [... %s]%n", op, stack_contents(stack, 2)); } - if (op != null) { - return build_il(dcr_call(op, CD_void, noArgsCD), inst); - } - return null; + return build_il(dcr_call(op, CD_void, noArgsCD), inst); } /** @@ -3738,17 +3738,14 @@ List dup2_x1_tag(CodeElement inst, OperandStack24 stack) { } else if (value2.isPrimitive()) { op = "dup"; } else { // neither value2 or value3 is primitive - op = null; + return null; } } } if (debug_dup.enabled) { debug_dup.log("DUP2_X1 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - if (op != null) { - return build_il(dcr_call(op, CD_void, noArgsCD), inst); - } - return null; + return build_il(dcr_call(op, CD_void, noArgsCD), inst); } /** @@ -3812,7 +3809,7 @@ List dup2_x2_tag(CodeElement inst, OperandStack24 stack) { if (value2.isPrimitive()) { op = "dup_x1"; } else { - op = null; // nothing to dup + return null; // nothing to dup } } else if (value2.isPrimitive()) { // value1 is not primitive value2 is primitive @@ -3826,17 +3823,14 @@ List dup2_x2_tag(CodeElement inst, OperandStack24 stack) { op = "dup"; } } else { // neither value1 or value2 is primitive - op = null; // nothing to dup + return null; // nothing to dup } } } if (debug_dup.enabled) { debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - if (op != null) { - return build_il(dcr_call(op, CD_void, noArgsCD), inst); - } - return null; + return build_il(dcr_call(op, CD_void, noArgsCD), inst); } /** @@ -3913,8 +3907,8 @@ private List multi_newarray_dc(NewMultiArrayInstruction inst) { } /** - * Create an instruction list that calls the runtime to handle returns for the tag stack follow by - * the original return instruction. + * Create an instruction list that calls the runtime to handle returns for the tag stack followed + * by the original return instruction. * * @param mgen method to check * @param inst return instruction to be replaced @@ -3938,7 +3932,7 @@ private List return_tag(MethodGen24 mgen, Instruction inst) { } /** - * Returns whether or not the specified type is a primitive (int, float, double, etc). + * Returns true if the specified type is a primitive (int, float, double, etc). * * @param type type to check * @return true if type is primitive @@ -3949,7 +3943,7 @@ boolean is_primitive(ClassDesc type) { } /** - * Returns whether or not the specified type is a category 2 (8 byte) type. + * Returns true if the specified type is a category 2 (8 byte) type. * * @param type type to check * @return true if type requires 8 bytes @@ -4041,12 +4035,11 @@ private List build_il(CodeElement... instructions) { } /** - * Returns whether or not tag fields are used within the specified method of the specified class. - * We can safely use class fields except in Object, String, and Class. If checking a class, mgen - * is null. + * Returns true if tag fields are used within the specified method of the specified class. We can + * safely use class fields except in Object, String, and Class. If checking a class, mgen is null. * * @param mgen method to check - * @param classname class to check + * @param classname class containing {@code mgen} * @return true if tag fields may be used in class for method */ boolean tag_fields_ok(@Nullable MethodGen24 mgen, @BinaryName String classname) { @@ -4128,7 +4121,7 @@ void create_tag_accessors(ClassGen24 classGen) { } Set field_set = new HashSet<>(); - Map field_map = build_field_map(classModel); + Map field_to_offset_map = build_field_to_offset_map(classModel); // Build accessors for all fields declared in this class for (FieldModel fm : classModel.fields()) { @@ -4148,14 +4141,14 @@ void create_tag_accessors(ClassGen24 classGen) { create_get_tag(classGen, fm, static_field_id.get(full_name)); create_set_tag(classGen, fm, static_field_id.get(full_name)); } else { - create_get_tag(classGen, fm, field_map.get(fm)); - create_set_tag(classGen, fm, field_map.get(fm)); + create_get_tag(classGen, fm, field_to_offset_map.get(fm)); + create_set_tag(classGen, fm, field_to_offset_map.get(fm)); } } // Build accessors for each field declared in a superclass that is // is not shadowed in a subclass - for (@BinaryName String scn : getSuperClassNames()) { + for (@BinaryName String scn : getStrictSuperClassNames()) { ClassModel scm = getClassModel(scn); if (scm == null) { throw new DynCompError("Can't load ClassModel for: " + scn); @@ -4178,8 +4171,8 @@ void create_tag_accessors(ClassGen24 classGen) { create_get_tag(classGen, fm, static_field_id.get(full_name)); create_set_tag(classGen, fm, static_field_id.get(full_name)); } else { - create_get_tag(classGen, fm, field_map.get(fm)); - create_set_tag(classGen, fm, field_map.get(fm)); + create_get_tag(classGen, fm, field_to_offset_map.get(fm)); + create_set_tag(classGen, fm, field_to_offset_map.get(fm)); } } } @@ -4193,7 +4186,7 @@ void create_tag_accessors(ClassGen24 classGen) { * @param classModel class to check for fields * @return field offset map */ - Map build_field_map(ClassModel classModel) { + Map build_field_to_offset_map(ClassModel classModel) { Optional ce = classModel.superclass(); if (!ce.isPresent()) { @@ -4208,8 +4201,8 @@ Map build_field_map(ClassModel classModel) { throw new DynCompError("Can't get superclass for " + superclassName); } - Map field_map = build_field_map(super_cm); - int offset = field_map.size(); + Map field_to_offset_map = build_field_to_offset_map(super_cm); + int offset = field_to_offset_map.size(); // Determine the offset for each primitive field in the class // Also make sure the static_tags list is large enough for all @@ -4237,12 +4230,12 @@ Map build_field_map(ClassModel classModel) { } } } else { - field_map.put(fm, offset); + field_to_offset_map.put(fm, offset); offset++; } } - return field_map; + return field_to_offset_map; } /** @@ -4269,16 +4262,20 @@ void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { // fields are handled separately. Also instance fields in special // classes that are created by the JVM are handled separately since only // in those classes can fields be read without being written (in java) - String methodname = "push_field_tag"; String classname = classGen.getClassName(); - ClassDesc[] args = {CD_Object, CD_int}; + String methodname = "push_field_tag"; + ClassDesc[] params; final boolean isStatic = fm.flags().has(AccessFlag.STATIC) ? true : false; if (isStatic) { methodname = "push_static_tag"; - args = new ClassDesc[] {CD_int}; - } else if (is_uninit_class(classname)) { + params = new ClassDesc[] {CD_int}; + } else if (is_class_initialized_by_jvm(classname)) { methodname = "push_field_tag_null_ok"; + params = new ClassDesc[] {CD_Object, CD_int}; + } else { + methodname = "push_field_tag"; + params = new ClassDesc[] {CD_Object, CD_int}; } String accessor_name = @@ -4287,7 +4284,7 @@ void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { List newCode = new ArrayList<>(); newCode.add(loadIntegerConstant(tag_offset)); - newCode.add(dcr_call(methodname, CD_void, args)); + newCode.add(dcr_call(methodname, CD_void, params)); newCode.add(ReturnInstruction.of(TypeKind.VOID)); int access_flags = fm.flags().flagsMask(); @@ -4341,14 +4338,14 @@ void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { */ void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { - String methodname = "pop_field_tag"; String classname = classGen.getClassName(); - ClassDesc[] args = {CD_Object, CD_int}; + String methodname = "pop_field_tag"; + ClassDesc[] params = {CD_Object, CD_int}; final boolean isStatic = fm.flags().has(AccessFlag.STATIC) ? true : false; if (isStatic) { methodname = "pop_static_tag"; - args = new ClassDesc[] {CD_int}; + params = new ClassDesc[] {CD_int}; } String setter_name = @@ -4357,7 +4354,7 @@ void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { List newCode = new ArrayList<>(); newCode.add(loadIntegerConstant(tag_offset)); - newCode.add(dcr_call(methodname, CD_void, args)); + newCode.add(dcr_call(methodname, CD_void, params)); newCode.add(ReturnInstruction.of(TypeKind.VOID)); int access_flags = fm.flags().flagsMask(); @@ -4374,7 +4371,7 @@ void create_set_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { access_flags |= AccessFlag.FINAL.mask(); } - // Create the setter method + // Create the setter method. classGen .getClassBuilder() .withMethod( @@ -4412,7 +4409,7 @@ private void buildTagAccessor( } /** - * Adds the DCompInstrumented interface to the given class. Adds the following method to the + * Adds the DCompInstrumented interface to the given class. Also adds the following method to the * class, so that it implements the DCompInstrumented interface: * *

    {@code
    @@ -4421,8 +4418,8 @@ private void buildTagAccessor(
        * }
        * }
    * - * The method does nothing except call the instrumented equals method (boolean equals(Object, - * DCompMarker)). + * The method does nothing except call the instrumented equals method {@code boolean + * equals(Object, DCompMarker)}. * * @param classBuilder for the class * @param classGen class to add method to @@ -4513,9 +4510,7 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn * } * } * - * Must only be called if the Object equals method has not been overridden; if the equals method - * is already defined in the class, a ClassFormatError will result because of the duplicate - * method. + * Throws a ClassFormatError if the equals method is already defined in the class. * * @param classBuilder for the class * @param classGen class to add method to @@ -4583,13 +4578,13 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo } /** - * Marks the class as implementing various object methods (currently clone and toString). Callers - * will call the instrumented version of the method if it exists, otherwise they will call the - * uninstrumented version. + * Adds interfaces to indicate which of the Object methods (currently clone and toString) the + * class overrides. Callers will call the instrumented version of the method if it exists, + * otherwise they will call the uninstrumented version. * * @param classGen class to check */ - void handle_object(ClassGen24 classGen) { + void add_clone_and_tostring_interfaces(ClassGen24 classGen) { @SuppressWarnings("signature:assignment") @MethodDescriptor String noArgsReturnObject = "()Ljava/lang/Object;"; @@ -4638,8 +4633,8 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { */ @Pure boolean is_object_method(String methodName, ClassDesc[] paramTypes) { - // Note: kind of wierd we don't check that classname = Object but it's been - // that way forever. just means foo.finialize(), e.g., will be marked uninstrumented. + // Note: kind of weird we don't check that classname = Object but it's been + // that way forever. Just means foo.finialize(), e.g., will be marked uninstrumented. for (MethodDef md : obj_methods) { if (md.equals(methodName, paramTypes)) { return true; @@ -4656,7 +4651,7 @@ boolean is_object_method(String methodName, ClassDesc[] paramTypes) { * @return true if classname has members that are uninitialized */ @Pure - boolean is_uninit_class(String classname) { + boolean is_class_initialized_by_jvm(String classname) { for (String u_name : uninit_classes) { if (u_name.equals(classname)) { @@ -4730,11 +4725,11 @@ static void restore_static_field_id(File file) throws IOException { } /** - * Return the fully qualified fieldname of the specified field. + * Return the fully-qualified fieldname of the specified field. * * @param cm class containing the field * @param fm the field - * @return string containing the fully qualified name + * @return string containing the fully-qualified name */ protected String full_name(ClassModel cm, FieldModel fm) { return ClassGen24.getClassName(cm) + "." + fm.fieldName().stringValue(); From c0f580d21cda16897ae4a19ba877e3c112817f4a Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 28 Nov 2025 16:28:29 -0800 Subject: [PATCH 139/211] Edits in `CalcStack24.java` --- java/daikon/chicory/Instrument24.java | 14 +- java/daikon/dcomp/BcelUtils24.java | 4 +- java/daikon/dcomp/CalcStack24.java | 368 +++++++++++--------------- java/daikon/dcomp/DCInstrument24.java | 12 +- 4 files changed, 167 insertions(+), 231 deletions(-) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index d759f82a26..9a50968b84 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -457,13 +457,13 @@ private void addInitNotifyCalls(MethodGen24 mgen, ClassInfo classInfo) { // Get the translation for this instruction (if any). if (inst instanceof ReturnInstruction) { - // Back up iterator to point before 'inst'. + // Back up iterator to point before `inst`. li.previous(); - // Insert code prior to 'inst'. + // Insert code prior to `inst`. for (CodeElement ce : call_initNotify(mgen.getPoolBuilder(), classInfo)) { li.add(ce); } - // Skip over 'inst' we just inserted new_il in front of. + // Skip over `inst` we just inserted new_il in front of. li.next(); } } @@ -893,7 +893,7 @@ private void addInstrumentationAtEntry( minfo.labelMap.put(inst, minfo.entryLabel); // Insert code before this LineNumber or Instruction. - // Back up iterator to point to 'inst'. + // Back up iterator to point to `inst`. li.previous(); for (CodeElement ce : newCode) { li.add(ce); @@ -968,19 +968,19 @@ private void addInstrumentationAtExits( CodeElement inst = li.next(); - // back up iterator to point to 'inst' + // back up iterator to point to `inst` li.previous(); // If this is a return instruction, insert method exit instrumentation List new_il = generate_return_instrumentation(inst, mgen, minfo, shouldIncludeIter, exitLocationIter); - // insert instrumentation code prior to 'inst' + // insert instrumentation code prior to `inst` for (CodeElement ce : new_il) { li.add(ce); } - // skip over 'inst' we just inserted new_il in front of + // skip over `inst` we just inserted new_il in front of li.next(); } } diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/BcelUtils24.java index 9591d64893..d2ffe2b27a 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/BcelUtils24.java @@ -133,7 +133,7 @@ public static LocalVariable addNewSpecialLocal( // get a copy of the locals before modification List locals = mgen.localsTable; ClassDesc[] paramTypes = mgen.getParameterTypes(); - int newIndex = 0; // index into 'locals' + int newIndex = 0; // index into `locals` int newOffset = 0; // current local slot number int argSize = TypeKind.from(varType).slotSize(); @@ -152,7 +152,7 @@ public static LocalVariable addNewSpecialLocal( newOffset = lastArg.slot() + TypeKind.from(lastArg.typeSymbol()).slotSize(); } - // Insert our new local variable into existing table at 'newOffset'. + // Insert our new local variable into existing table at `newOffset`. varNew = LocalVariable.of(newOffset, varName, varType, minfo.startLabel, minfo.endLabel); mgen.localsTable.add(newIndex, varNew); minfo.nextLocalIndex += argSize; diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 3e098b9a41..b8055f3df6 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -55,20 +55,21 @@ private CalcStack24() { throw new Error("Do not instantiate"); } - /** ClassDesc for 'null'. */ + /** ClassDesc for {@code null}. */ static final ClassDesc nullCD = ClassDesc.of("fake.ClassDecs.for.null"); /** - * Calculates changes in contents of operand stack based on the symbolic execution of a Java - * bytecode instruction. Note that we assume the class file is valid and make no attempt to verify - * the code's correctness. + * Calculates changes in the operand stack based on the symbolic execution of a Java bytecode + * instruction. Note that we assume the class file is valid and make no attempt to verify the + * code's correctness. * * @param mgen method containing the instruction (currently unused) * @param minfo for the given method's code (currently unused) * @param ce instruction to be interpreted * @param inst_index index of ce in code element list - * @param stack current state of operand stack - * @return true if should continue with next instruction, false otherwise + * @param stack current state of operand stack; is side-effected + * @return true if control falls through to the next instruction, false otherwise (when {@code ce} + * is an instruction like jump or return) */ @SuppressWarnings("fallthrough") static boolean calcOperandStack( @@ -96,16 +97,15 @@ static boolean calcOperandStack( // caculate stack changes switch (inst.opcode()) { - // operand stack: - // ..., arrayref, index - // ..., value + // operand stack before: ..., arrayref, index + // operand stack after: ..., value case Opcode.AALOAD: { stack.pop(); // discard the index final ClassDesc t = stack.pop(); // pop the arrayref if (t == null || nullCD.equals(t)) { // Push nullCD to maintain stack consistency. The actual NullPointerException - // will be thrown at runtime if this code path is executed, not during + // will be thrown at run time if this code path is executed, not during // instrumentation. stack.push(nullCD); } else { @@ -118,9 +118,8 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ..., arrayref, index, value - // ... + // operand stack before: ..., arrayref, index, value + // operand stack after: ... case Opcode.AASTORE: case Opcode.BASTORE: case Opcode.CASTORE: @@ -132,16 +131,14 @@ static boolean calcOperandStack( stack.pop(3); return true; - // operand stack: - // ... - // ..., null + // operand stack before: ... + // operand stack after: ..., null case Opcode.ACONST_NULL: stack.push(nullCD); return true; - // operand stack: - // ... - // ..., objectref + // operand stack before: ... + // operand stack after: ..., objectref case Opcode.ALOAD: case Opcode.ALOAD_0: case Opcode.ALOAD_1: @@ -152,9 +149,8 @@ static boolean calcOperandStack( stack.push(DCInstrument24.locals[li.slot()]); return true; - // operand stack: - // ..., count - // ..., arrayref + // operand stack before: ..., count + // operand stack after: ..., arrayref case Opcode.ANEWARRAY: stack.pop(); // discard the count final NewReferenceArrayInstruction nrai = (NewReferenceArrayInstruction) inst; @@ -162,9 +158,8 @@ static boolean calcOperandStack( stack.push(nrai.componentType().asSymbol().arrayType(1)); return true; - // operand stack: - // ... - // [empty] + // operand stack before: ... + // operand stack after: [empty] case Opcode.ARETURN: case Opcode.DRETURN: case Opcode.FRETURN: @@ -174,17 +169,15 @@ static boolean calcOperandStack( // execution pump will reset stack return false; - // operand stack: - // ..., arrayref - // ..., length + // operand stack before: ..., arrayref + // operand stack after: ..., length case Opcode.ARRAYLENGTH: stack.pop(); // discard the arrayref stack.push(CD_int); return true; - // operand stack: - // ..., value - // ... + // operand stack before: ..., value + // operand stack after: ... case Opcode.ASTORE: case Opcode.ASTORE_0: case Opcode.ASTORE_1: @@ -220,17 +213,15 @@ static boolean calcOperandStack( DCInstrument24.locals[si.slot()] = stack.pop(); return true; - // operand stack: - // ..., objectref - // objectref + // operand stack before: ..., objectref + // operand stack after: objectref case Opcode.ATHROW: // execution pump will reset stack return false; - // UNDONE: the JVM says result is int, but should we track 'true' type? - // operand stack: - // ..., arrayref, index - // ..., value + // UNDONE: the JVM says result is int, but should we track the type more precisely? + // operand stack before: ..., arrayref, index + // operand stack after: ..., value case Opcode.BALOAD: case Opcode.CALOAD: case Opcode.IALOAD: @@ -239,9 +230,8 @@ static boolean calcOperandStack( stack.push(CD_int); return true; - // operand stack: - // ... - // ..., value + // operand stack before: ... + // operand stack after: ..., value case Opcode.BIPUSH: case Opcode.ICONST_0: case Opcode.ICONST_1: @@ -254,9 +244,8 @@ static boolean calcOperandStack( stack.push(CD_int); return true; - // operand stack: - // ..., objectref - // ..., objectref + // operand stack before: ..., objectref + // operand stack after: ..., objectref case Opcode.CHECKCAST: { final ClassDesc t = stack.pop(); // pop the objectref @@ -272,9 +261,8 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ..., value - // ..., result + // operand stack before: ..., value + // operand stack after: ..., result case Opcode.D2F: // double to float case Opcode.I2F: // integer to float case Opcode.L2F: // long to float @@ -282,9 +270,8 @@ static boolean calcOperandStack( stack.push(CD_float); return true; - // operand stack: - // ..., value - // ..., result + // operand stack before: ..., value + // operand stack after: ..., result case Opcode.D2L: // double to long case Opcode.F2L: // float to long case Opcode.I2L: // integer to long @@ -292,9 +279,8 @@ static boolean calcOperandStack( stack.push(CD_long); return true; - // operand stack: - // ..., value1, value2 - // ..., result + // operand stack before: ..., value1, value2 + // operand stack after: ..., result case Opcode.DADD: case Opcode.DDIV: case Opcode.DMUL: @@ -304,17 +290,15 @@ static boolean calcOperandStack( stack.push(CD_double); return true; - // operand stack: - // ..., arrayref, index - // ..., value + // operand stack before: ..., arrayref, index + // operand stack after: ..., value case Opcode.DALOAD: stack.pop(2); // discard the arrayref and index stack.push(CD_double); return true; - // operand stack: - // ..., value1, value2 - // ..., result + // operand stack before: ..., value1, value2 + // operand stack after: ..., result case Opcode.DCMPG: case Opcode.DCMPL: case Opcode.FCMPG: @@ -323,17 +307,15 @@ static boolean calcOperandStack( stack.push(CD_int); return true; - // operand stack: - // ... - // ..., value + // operand stack before: ... + // operand stack after: ..., value case Opcode.DCONST_0: case Opcode.DCONST_1: stack.push(CD_double); return true; - // operand stack: - // ... - // ..., value + // operand stack before: ... + // operand stack after: ..., value case Opcode.DLOAD: case Opcode.DLOAD_0: case Opcode.DLOAD_1: @@ -343,17 +325,15 @@ static boolean calcOperandStack( stack.push(CD_double); return true; - // operand stack: - // ..., value - // ..., result + // operand stack before: ..., value + // operand stack after: ..., result case Opcode.DNEG: stack.pop(); // discard the value stack.push(CD_double); return true; - // operand stack: - // ..., value - // ..., value, value + // operand stack before: ..., value + // operand stack after: ..., value, value case Opcode.DUP: { final ClassDesc t = stack.pop(); @@ -362,9 +342,8 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ..., value2, value1 - // ..., value1, value2, value1 + // operand stack before: ..., value2, value1 + // operand stack after: ..., value1, value2, value1 case Opcode.DUP_X1: { final ClassDesc v1 = stack.pop(); @@ -375,9 +354,8 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ..., value3, value2, value1 - // ..., value1, value3, value2, value1 + // operand stack before: ..., value3, value2, value1 + // operand stack after: ..., value1, value3, value2, value1 // where value1, value2, and value3 are all a category 1 computational type // OR // ..., value2, value1 @@ -400,9 +378,8 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ..., value2, value1 - // ..., value2, value1, value2, value1 + // operand stack before: ..., value2, value1 + // operand stack after: ..., value2, value1, value2, value1 // where value1, and value2 are all a category 1 computational type // OR // ..., value @@ -423,9 +400,8 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ..., value3, value2, value1 - // ..., value2, value1, value3, value2, value1 + // operand stack before: ..., value3, value2, value1 + // operand stack after: ..., value2, value1, value3, value2, value1 // where value1, value2, and value3 are all a category 1 computational type // OR // ..., value2, value1 @@ -501,9 +477,8 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ..., value - // ..., result + // operand stack before: ..., value + // operand stack after: ..., result case Opcode.F2D: // float to double case Opcode.I2D: // integer to double case Opcode.L2D: // long to double @@ -511,9 +486,8 @@ static boolean calcOperandStack( stack.push(CD_double); return true; - // operand stack: - // ..., value1, value2 - // ..., result + // operand stack before: ..., value1, value2 + // operand stack after: ..., result case Opcode.FADD: case Opcode.FDIV: case Opcode.FMUL: @@ -523,26 +497,23 @@ static boolean calcOperandStack( stack.push(CD_float); return true; - // operand stack: - // ..., arrayref, index - // ..., value + // operand stack before: ..., arrayref, index + // operand stack after: ..., value case Opcode.FALOAD: stack.pop(2); // discard the arrayref and index stack.push(CD_float); return true; - // operand stack: - // ... - // ..., value + // operand stack before: ... + // operand stack after: ..., value case Opcode.FCONST_0: case Opcode.FCONST_1: case Opcode.FCONST_2: stack.push(CD_float); return true; - // operand stack: - // ... - // ..., value + // operand stack before: ... + // operand stack after: ..., value case Opcode.FLOAD: case Opcode.FLOAD_0: case Opcode.FLOAD_1: @@ -552,17 +523,15 @@ static boolean calcOperandStack( stack.push(CD_float); return true; - // operand stack: - // ..., value - // ..., result + // operand stack before: ..., value + // operand stack after: ..., result case Opcode.FNEG: stack.pop(); // discard the value stack.push(CD_float); return true; - // operand stack: - // ..., objectref - // ..., value + // operand stack before: ..., objectref + // operand stack after: ..., value case Opcode.GETFIELD: { stack.pop(); // discard the value @@ -571,9 +540,8 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ... - // ..., value + // operand stack before: ... + // operand stack after: ..., value case Opcode.GETSTATIC: { FieldInstruction fi = (FieldInstruction) inst; @@ -581,8 +549,7 @@ static boolean calcOperandStack( return true; } - // operand stack: - // [no change] + // operand stack: no change case Opcode.GOTO: case Opcode.GOTO_W: { @@ -591,10 +558,9 @@ static boolean calcOperandStack( return false; } - // UNDONE: the JVM says result is int, but should we track 'true' type? - // operand stack: - // ..., value - // ..., result + // UNDONE: the JVM says result is int, but should we track the type more precisely? + // operand stack before: ..., value + // operand stack after: ..., result case Opcode.I2B: // integer to byte case Opcode.I2C: // integer to char case Opcode.D2I: // double to integer @@ -605,9 +571,8 @@ static boolean calcOperandStack( stack.push(CD_int); return true; - // operand stack: - // ..., value1, value2 - // ..., result + // operand stack before: ..., value1, value2 + // operand stack after: ..., result case Opcode.IADD: case Opcode.IAND: case Opcode.IDIV: @@ -624,9 +589,8 @@ static boolean calcOperandStack( stack.push(CD_int); return true; - // operand stack: - // ..., value1, value2 - // ... + // operand stack before: ..., value1, value2 + // operand stack after: ... case Opcode.IF_ACMPEQ: case Opcode.IF_ACMPNE: case Opcode.IF_ICMPEQ: @@ -642,9 +606,8 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ..., value - // ... + // operand stack before: ..., value + // operand stack after: ... case Opcode.IFEQ: case Opcode.IFNE: case Opcode.IFLT: @@ -658,16 +621,14 @@ static boolean calcOperandStack( addLabelsToWorklist(bi.target(), null, stack); return true; - // operand stack: - // [no change] + // operand stack: no change case Opcode.IINC: case Opcode.IINC_W: case Opcode.NOP: return true; - // operand stack: - // ... - // ..., value + // operand stack before: ... + // operand stack after: ..., value case Opcode.ILOAD: case Opcode.ILOAD_0: case Opcode.ILOAD_1: @@ -677,18 +638,16 @@ static boolean calcOperandStack( stack.push(CD_int); return true; - // operand stack: - // ..., value - // ..., result + // operand stack before: ..., value + // operand stack after: ..., result case Opcode.INEG: stack.pop(); // discard the value stack.push(CD_int); return true; - // UNDONE: the JVM says result is int, but should we track 'true' type? - // operand stack: - // ..., objectref - // ..., result + // UNDONE: the JVM says result is int, but should we track the type more precisely? + // operand stack before: ..., objectref + // operand stack after: ..., result case Opcode.INSTANCEOF: stack.pop(); // discard the value stack.push(CD_int); @@ -699,9 +658,8 @@ static boolean calcOperandStack( // if we're only supporting modern class files (version 51.0+). // Currently maintaining support for completeness. - // operand stack: - // ... - // ..., [return address] + // operand stack before: ... + // operand stack after: ..., [return address] case Opcode.JSR: case Opcode.JSR_W: // Perhaps we should add label of next instruction to work list but we have no idea @@ -712,9 +670,8 @@ static boolean calcOperandStack( addLabelsToWorklist(ji.target(), null, stack); return false; - // operand stack: - // ..., value1, value2 - // ..., result + // operand stack before: ..., value1, value2 + // operand stack after: ..., result case Opcode.LADD: case Opcode.LAND: case Opcode.LDIV: @@ -730,25 +687,22 @@ static boolean calcOperandStack( stack.push(CD_long); return true; - // operand stack: - // ..., arrayref, index - // ..., value + // operand stack before: ..., arrayref, index + // operand stack after: ..., value case Opcode.LALOAD: stack.pop(2); // discard the arrayref and index stack.push(CD_long); return true; - // operand stack: - // ... - // ..., value + // operand stack before: ... + // operand stack after: ..., value case Opcode.LCONST_0: case Opcode.LCONST_1: stack.push(CD_long); return true; - // operand stack: - // ... - // ..., value + // operand stack before: ... + // operand stack after: ..., value case Opcode.LDC: case Opcode.LDC_W: case Opcode.LDC2_W: @@ -774,9 +728,8 @@ static boolean calcOperandStack( } return true; - // operand stack: - // ... - // ..., value + // operand stack before: ... + // operand stack after: ..., value case Opcode.LLOAD: case Opcode.LLOAD_0: case Opcode.LLOAD_1: @@ -786,97 +739,90 @@ static boolean calcOperandStack( stack.push(CD_long); return true; - // operand stack: - // ..., value - // ..., result + // operand stack before: ..., value + // operand stack after: ..., result case Opcode.LNEG: stack.pop(); // discard the value stack.push(CD_long); return true; - // operand stack: - // ..., key - // ... + // operand stack before: ..., key + // operand stack after: ... case Opcode.LOOKUPSWITCH: stack.pop(); // discard the value LookupSwitchInstruction lsi = (LookupSwitchInstruction) inst; addLabelsToWorklist(lsi.defaultTarget(), lsi.cases(), stack); return false; - // operand stack: - // ..., objectref - // ... + // operand stack before: ..., objectref + // operand stack after: ... case Opcode.MONITORENTER: case Opcode.MONITOREXIT: stack.pop(); // discard the value return true; - // operand stack: - // ..., count1, [count2, ...] - // ..., arrayref + // operand stack before: ..., count1, [count2, ...] + // operand stack after: ..., arrayref case Opcode.MULTIANEWARRAY: final NewMultiArrayInstruction nmai = (NewMultiArrayInstruction) inst; stack.pop(nmai.dimensions()); // discard all the counts stack.push(nmai.arrayType().asSymbol()); return true; - // operand stack: - // ... - // ..., objectref + // operand stack before: ... + // operand stack after: ..., objectref case Opcode.NEW: final NewObjectInstruction noi = (NewObjectInstruction) inst; stack.push(noi.className().asSymbol()); return true; - // operand stack: - // ..., count - // ..., arrayref + // operand stack before: ..., count + // operand stack after: ..., arrayref case Opcode.NEWARRAY: stack.pop(); // discard the count final NewPrimitiveArrayInstruction npai = (NewPrimitiveArrayInstruction) inst; - String descriptor; + String eltDescriptor; switch (npai.typeKind()) { case BOOLEAN -> { - descriptor = "[Z"; + eltDescriptor = "Z"; } case BYTE -> { - descriptor = "[B"; + eltDescriptor = "B"; } case CHAR -> { - descriptor = "[C"; + eltDescriptor = "C"; } case DOUBLE -> { - descriptor = "[D"; + eltDescriptor = "D"; } case FLOAT -> { - descriptor = "[F"; + eltDescriptor = "F"; } case INT -> { - descriptor = "[I"; + eltDescriptor = "I"; } case LONG -> { - descriptor = "[J"; + eltDescriptor = "J"; } case SHORT -> { - descriptor = "[S"; + eltDescriptor = "S"; } default -> { - throw new DynCompError("unknown primitive array type: " + inst); + throw new DynCompError( + "unknown primitive type " + npai.typeKind() + " in: " + inst); } } - stack.push(ClassDesc.ofDescriptor(descriptor)); + stack.push(ClassDesc.ofDescriptor("[" + eltDescriptor)); return true; - // operand stack: - // ..., value - // ... + // operand stack before: ..., value + // operand stack after: ... case Opcode.POP: stack.pop(); // discard the value return true; - // operand stack: - // ..., value2, value1 - // ... + // operand stack before: ..., value2, value1 + // operand stack after: ... // where each of value1 and value2 is a category 1 computational type // OR // ..., value @@ -891,16 +837,14 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ..., objectref, value - // ... + // operand stack before: ..., objectref, value + // operand stack after: ... case Opcode.PUTFIELD: stack.pop(2); return true; - // operand stack: - // ..., value - // ... + // operand stack before: ..., value + // operand stack after: ... case Opcode.PUTSTATIC: stack.pop(); // discard the value return true; @@ -909,18 +853,15 @@ static boolean calcOperandStack( // Consider throwing an UnsupportedOperationException for these opcodes // if we're only supporting modern class files (version 51.0+). // Currently maintaining support for completeness. - - // operand stack: - // [no change] + // operand stack: no change case Opcode.RET: case Opcode.RET_W: // the variable referenced must contain a return address // that we would treat as target of jump; no way to do that return false; - // operand stack: - // ..., value1, value2 - // ..., value2, value1 + // operand stack before: ..., value1, value2 + // operand stack after: ..., value2, value1 case Opcode.SWAP: { final ClassDesc v2 = stack.pop(); @@ -930,18 +871,16 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ..., index - // ... + // operand stack before: ..., index + // operand stack after: ... case Opcode.TABLESWITCH: stack.pop(); // discard the index TableSwitchInstruction tsi = (TableSwitchInstruction) inst; addLabelsToWorklist(tsi.defaultTarget(), tsi.cases(), stack); return false; - // operand stack: - // ..., objectref, [arg1, [arg2 ...]] - // ... + // operand stack before: ..., objectref, [arg1, [arg2 ...]] + // operand stack after: ... case Opcode.INVOKEINTERFACE: case Opcode.INVOKESPECIAL: case Opcode.INVOKEVIRTUAL: @@ -951,16 +890,15 @@ static boolean calcOperandStack( // fall through is intentional: - // operand stack: - // ..., [arg1, [arg2 ...]] - // ... + // operand stack before: ..., [arg1, [arg2 ...]] + // operand stack after: ... case Opcode.INVOKESTATIC: { final InvokeInstruction ii = (InvokeInstruction) inst; final MethodTypeDesc mtd = ii.typeSymbol(); stack.pop(mtd.parameterCount()); // discard the arguments // We are sure the invoked method will xRETURN eventually. - // We simulate xRETURNs functionality here because we don't + // We simulate xRETURN's functionality here because we don't // really "jump into" and simulate the invoked method. final ClassDesc rt = mtd.returnType(); if (!rt.equals(CD_void)) { @@ -969,9 +907,8 @@ static boolean calcOperandStack( return true; } - // operand stack: - // ..., [arg1, [arg2 ...]] - // ... + // operand stack before: ..., [arg1, [arg2 ...]] + // operand stack after: ... case Opcode.INVOKEDYNAMIC: { final InvokeDynamicInstruction idi = (InvokeDynamicInstruction) inst; @@ -1002,13 +939,12 @@ static boolean calcOperandStack( // Technically, a Classfile element, not a PseudoInstruction. case Label l -> { if (DCInstrument24.stacks[inst_index] != null) { - // we've seen this label before - // will throw if stacks don't match + // We've seen this label before. DCInstrument24.verifyOperandStackMatches(l, DCInstrument24.stacks[inst_index], stack); - // stacks match; we're done with this worklist + // Stacks match; we're done with this worklist. return false; } else { - // have not seen this label before; remember state of operand stack + // We have not seen this label before; remember the operand stack. DCInstrument24.stacks[inst_index] = stack.getClone(); if (DCInstrument24.debugOperandStack) { System.out.println("save stack state at: " + l); diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 8ece8d503f..bcaaac853d 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1495,7 +1495,7 @@ private void instrumentCodeList( } // Insert the TagFrame code before the LineNumber or Instruction we just located. - // Back up the iterator to point to just before 'inst', then copy the newCode. + // Back up the iterator to point to just before `inst`, then copy the newCode. li.previous(); for (CodeElement ce : newCode) { li.add(ce); @@ -2386,8 +2386,8 @@ private void add_exit( newCode.addAll( callEnterOrExit(mgen, minfo, method_info_index, "exit", exitLocationIter.next())); - // back up iterator to point to 'inst', the return instruction, and insert the - // instrumentation + // Back up iterator to point to `inst`, the return instruction, and insert the + // instrumentation. li.previous(); for (CodeElement ce : newCode) { li.add(ce); @@ -4663,10 +4663,10 @@ boolean is_class_initialized_by_jvm(String classname) { } /** - * Creates a pseudo 'main' method with a DcompMarker argument that does nothing but call the - * original 'main' method without the DCompMarker argument. + * Creates a pseudo "main" method with a DcompMarker argument that does nothing but call the + * original "main" method without the DCompMarker argument. * - * @param mgen describes the 'main' method + * @param mgen describes the "main" method * @param classBuilder for current class * @param classInfo for the given class */ From 067811b0ae9923598c415a1169254301014b55d1 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 28 Nov 2025 16:51:15 -0800 Subject: [PATCH 140/211] Use Checker Framework with plume-util 1.12.3 --- java/lib/checker-framework/checker.jar | Bin 13803829 -> 13862360 bytes java/lib/checker-qual.jar | Bin 241635 -> 241640 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/java/lib/checker-framework/checker.jar b/java/lib/checker-framework/checker.jar index 529d0cf98f03121129255b9f951dc036d1d9cb06..aa6759528c8e3b512a592c208002fe366768d3e4 100644 GIT binary patch delta 2331509 zcmV()K;OT$!pa8Ni_QkHOJD&OlT2V9Nk+l)lkdu5*#Fj6q`MXe{51y8K!rGY?L^uxNX_a#a-VMb={)V0N`GTQ;W;?k6IWqOHnHbJwrV4(>L zUJXHJbr=8u8B3P|;SL~|FoFUdmtYIU8<%|z#SOE>YP1o52Y6f675>k&ETv}F~VwxkefapHtkN*ARC zI_chfZ=iwnoco@hWLaKm`nA^8UFY0${+?cGmJXKzH?j$Nm-%{q z6+vI9t71!k$7QBJPRKqx5DLWC5VDGvwCV5=CaFn1@j$R*lP|Wj#ftT2YLK09!|`2dr&~giHFzq1cIGr)Qc&Ys$-ggQ&E`M zSrM#`MtyxT-qshZ55$+l=oFcg89@EXFIU zd*b0XU$Dn)>4`+bQD$&nAm(&7voHctv$H80j+oJSUtL!y%wGu;Q&?hoRtYBy3@pSV zg5isQ_eIPNK7TwM?ISeSkAtlm^{v7BRvik3X&p{c0eAMUP*^@J*7;hw19tcdgMibivHP0$yM z$x>T0dn|2rGZcaq_BIu@drYR`>j;{)R!>!bF3M4%W2u4Dv5ZhW_N9b^E;C*m@(05) zMwrvPplBopY_d95@XTSSiS+ELxmb=>2F}2lgj1LxE8UFx<*>t$5>2WN8UoR1ILari z1k*d)z-q9G%^7V0L1!|X10lxDyb%e=9EQtRDV1K)qozFlA z{1&R4d_p>IMwv!_(GcI73llqZbQ#!*04sR#Fe5e)tL=`&`&0zkE+$hUY6u$W26I`k z(--Otnym@nFA61GTa?+&C0hz3gIt;omeJufHZ(11^B_X-CiSHwI=Y8sR~W5-6*3-3 z^itz&Oi=*6N&xz5?Pv(`ED9G`WK4z3rSf6Tzcc!YUKN#Zt|Au}p$O7c0nhqe6aegmJtCpnp8eKdqS13LoBolY9$ zPOZ%EQ5?|mX#P<7&oKMo)*7w#tH7j!eZHN3$eor_AwS@M7Dm` zz;gn-Nl`Nr^!d%|6n`}fpEK|RKF>y*8tiSq$H(QMW?8UkJvMU49BPh9tqG|w82BQ- z#93ADyDm~D$pu6*bS!nZG1<^ zcMZIb?Nj+>Iq%qhyqS`(`{;AaIW-hN`> zr}!DmV@Dtu7YjXqDe;#V_zn9ltX0Yy5@Ki(bax`Pj^qy$DOI( zfAtUyj|a3K{DZ;4b}EkkUk3h-|8RZ~i~FMS*m;5Y&SCO@o9#0FO#^S?zbx#a8S0X$ zoYmIJz}p7i!Es6XcKV{#EKpZb-I5wF5otPQ8RQ~2XS>N=Yj_$TR`8Jn@nLF?@!j~0 zejOb(qe;(Xo;2S4Xy_>UJ#_# zjj^g+Dxp%H$_y%}icA*-gQnXxGs{2Cpm=1(SW=;(rDG+XZqPERG$+f}>HD&$q7??M zq*Y>9;Sh_A6U+>b%66B-4vggFUHE~}Im@6*s^SF57wT*9#r->_=o-auZx=&YZO|Gz zMBGQ%Fsub7>Q8HmF{1(sF#U6vbYGgO^* z`EXOG*gr47`6Sx^xI9rtw~$S9Ir!5~g8~xy-SIGc6G6Z(gMxwpy|ulmwynBZoIuEb zpfE+O8n?z`SDfN7NxMJX-ObcGINB(ftmB68X0POE5~Y|9D=g z>|wo;x*n8lg7z5HM>Y@!Wd(%YWA^YTxwxgP=v_L!+o1Q*dkM=%+1&zV>h2QEe6a?z zyTgn!G-+angQSRI{Ol)g@=xN0+3**CAtyn+gYRXO-mf<38oJifJ69@xQ&s!5AqL+{ z2R6xzsEUX)r()3bKr|e(?`tlg>kPV{Zm_`=463{NxTTO?k4IGw62u0Q>boTy7U6SDQL09jLSWIcDEUcj@#&gYK65*8HIyQ`k4` z^u-#@J#m?Pk3sj+UUuLi?nuAfwjE(ElYxd9W9V-v*6Ra3NDt}sF@qkaM@D*4Nm;~U zzM-~t(-!t`i^fJpu2%Qw;8FU7L7$W>lkAq(>ejj%5$dA`9gsVYEMI4*81iEVJx&KX z(uI4?Xf)8-X@;B>@}A-B(n*&757Qi%ll+Dm9QR7>Vg64YgqD+^qfdQUP#{!{%KpqQ<(k zPd@57FI^e9ORvk>=KQSeKqm`GEq4}A=t$dbgrJ=2sM*FX_+&a`>j}T@4x2;@cJexZ zQfS$4T_>Foi^@0Xq0f=bN?O;7sK@ zj3bVHUslaxBF4;uBz(8*7=C4rnpPK+WmD3g=@Z-;YEJUmIzIRv-y3zFfLTNFAqP0s zKP>g!j?|3|{~&2k@(&gDWMA))ASXY6S%_wMgUL%z(>b^dcB)L(Hq`}bbBBolr$p>9 zZqpsaqTLryzqZb}*BAoMcy7Cyl}MNi6+VoJz-Gl8OUVTChtlBuC1THJUn@l$glWY zA9P*`tSmkRDn1Im-SZ4`+OzU=TiRXur?j-Y^Cz~nXXj69Y1i}fTMlFLAxwV?GmA@} z!u%)H*1zVzQ{m>nr^7|LlQ)bte?r#)<XCa~{ElLf2u`9>wPNLug>88~f3m-^PFX zasFX!-;0I3`clFGICSsBwBpi2ms&D_%haBSuuJ&PQhXP~%YV;d+G{Zd>#zXpv08p} zj#_NR2AqdFbnvH%&FU;GEH0h1?4Uo=pZF}&`ZN87PwIw`{z`viMNGj~fBHN9gJtqh z9?u264O2(Cj!HiCzv$oA(P=6l-Nh5GD@mNXp>%}fU0SLR(pZ)@C+y7GhoYmnyxktp zkMRJDgpt>eEA!uNO*@45KF9Q~A+Th4^g0cD;dUL!I^c+=5)=6E78Xzw3RoC(`ExOv zQH~azfmRk!3pQgLE@UA^e{cb=;MUc+2-mXof1^a};<;_~A9{m@!RK>?b{)OR0%FgK ztLQEIFGENKGy&S%i0D|ZqxUVQNOX)PX2Ih@-XWVm%S!rjV?${|Py!T7sg41Drrt!2a4ypCpn&&!0= zHdfnH4Wizp^|Mk%r!1j)WoZ(cR9srxkHa#&Yd@xocvdPbe^tE^hE)JYt`F3r`ofIHP1(J3ipxH(Pm_`%=8=42Pc?jLtWB zT$6v4U~hi4e{C*POGP3g#WKq@#4esm_u7y0+yi`yPcz4l@fjXZLBLdp&Q#^!gpa9O z9&1}utx3urvXQ4O!^J!3TE4OeO@4E3^Ya0oBb25VmmI?Ljm4$R&Wj1YzI@QpQoeG8 z&+vZFA_vbghM!OIx~aSfHF7u*Ys=FLINW9N8jm(vf13iAHr1Av8sh+%7@NjaH2Lu< zOF_7MlD`SvrEG>T6H1TZRj|c=OT!U-Us^xb7+F6bz;881rP)~gSy+?S=eo}(P5%$k;%#r!8` zO=GGmf2eEI;gu&7{w`kUUY3%F`(G^1|9e0Fxff-{{dgn$VJs}p?#Hpi#C9{?t)hD| z2Y2qI?8D@3Y1ogo#RZg?T;rBC?o4ak$u)+{?rtb;EPHm9c&RDwDXxb&o=kBstIRGb z%(jg+yDx7i0b9`C8{1`mC ze>V3W^_OE8rt8Rg3ya@iZ)j<2o;II9J)p_Z7D$i$>e|NOEv#|Td1-M;KNTt*7MC93 zKw`n~2+gq}nF7Ql{*)b)3zNvr{vaE3*w>bjOP$@qQmKQzQWd#KwG{SJ&QxmQ%;t9? zw_c^!EDkAP`;@&Y5lu{CW|^%$E3#daf10n+{Ethw7)(DcDjA?+4eD$>ftHfhK1|Dx z&>4I@I#YvSNNvR-j?QMspGbw+;F=3)tp%DSMVYovwOj`r$TV`;15JZLr=gH#ID=+$ z_?g27I2X%k0ano>Y@o$xqJ=o0if{=n;bgIxQ@C>GzXCVYQrt?*ITWnGJ#>dk zh;gsBNCiY`Ste}YR&6l@CySGUUJeZs5HCTcRwMy2MaX+?Aq#LO!+i`h7%0c&Ukz6t zK1fHhjN zR>H@ci4|IDN-CE%;ccwdX_E^6%=!!Xyp8mT9r#j_UUG!|4$^ldkWO7T(w{guIAYO7 zjP#3Ht(P#;FJ+`(loALZ@z)V;IxulaZ4v3$v7z4Y-bB1;eI5lgE=QTHOP5hdBCA zN$W#`q~1#Q*#ops03>sC_R-dyYouk*@f3On=%XUG2OdH8{^LKA@0_Mp<`m{UN&6FC zegE+n`MZ<4&Ek5@quTqhtgO)UJjw^?QyR|OkNJg@Oq3=8nUiyrNC7#Myp&3R)-g*} zNT&Ml6FMIYZ(}}}Ox!$%h1@uXQ+Z_Zo0$D3w6`2@ekSkU#ATd?|E>H@tfjDkj@H{Q zwnVwuXDk<+G&%V{S^%@|qJt@BR%jpEg(>tjdp*kY%B_*T{VFN%1){~tV3FKWrL%O2 z+RgHbhE~N;=R8gBq3k_s?U1Mk7nhbCqUX|+jFlOG`3`+7PH?#w4sVa7VyBKu_PwOV`2N?V`VC497Rq%nk7QWTf1 z_JL|iozfWF_-o?SpcY-!gE=*KOep*E=` zD24M^D$cAnDzt6V>Y(y2?K18=SF6{ys8*A3?Y$7E=>pqTXC|PBtv#*;_NICkJ>72y{f$}XsxyN zXiF<-3?S9o+S+PuYw!EM@7i07weL4GNp_RnutBW;*qxd0c;5T?W}g1Ql{bQ;Dd14S%z5cp%tqm=VRY_^xjFu3Fa(OR?0hwt;@N zP6=6tIY7u(!)ip;ttg?mVYjkJ*%u5edQUK7bgAKB%+kWaT6aa27um>>;FXaJnQ(4$ z4va{|(1V>yRJE8;a5LW|C!MuH(=}@&VV%DrZ76|I<1DNyZI>{Ox2LIz%VSD7xPM*m z(~Z5lqZKdmFhhb*#!TcBmL>%fN(tGDaK+FJeRE6;cc~^Jr`t3lHDM*n`n%MBDh1l} z&a}O!s&xDg*B)`i8a2~2%qn630vWS#Heu@arfp5lJDTd6FKVoABa}@7N5UM!+R5n5 zQPyU|vW$q}VxElof(zLpzqz@st$(>uLeXi#HmX*y(IsFP$XFN$+gRJSwRww#lJsFm ze7((7)$Oc$0lP%TIq(xCcRgYC>A9O1i;yD_%VdyzJl8Fa< z45KHk2329Ee$&v^pfX~-Xo9-D%*8Sp%dvuRw$jyA9oCrHt}SXPJZf)3i+_Kd$0Z*~ z&vQ!K1>IFLR$~oI-)}^%dX8X1hF^r@I>KdVA}N)O%wEWDqIGMkxs`v48R{MIVlApf z{@FmNPn9+%N6t%Zh>D^MV2qe(_HS_pIY_G>Ms+OL?Z6QV504pXx$@lLu3XqIAcC(U7XE zVXcz`F<9+@xuJKFj8<^EpV_NKR0SgqW;mDisGQN3#9OSnbGI6@s!GQXN$BO`o1WV0 zG&Rh1t_Qni^nq)JM}N2&VMUr&6W;8065I>uFeLQLxE!pWWs^o=HCu6|BDz&InU(2| zgtls0RjbO!ou?%uhCPB?HOkwH{iSh>x?_4s><_Z*cWEIGx~g34!+?YxKl|$ zt+5o3>9&qi9{pBSlhrwFh&hyc5WaQDPb;@(~(ta8!p;eQED?`CoIkQ&?}Mq8ZG z`r*+Fm}rY)Mpd(w<5=lYOKOyGSm_L_qJFYZ3qFKyhO4E`U=6#9YO|PP)Ctiyi4eV( zu;ZM-YnrQGTw^o377xhc_8F*0JRKfhBn*9H;AB}bm|`IS8pUNpL}EK#m#t| zgj;0XinkNioPQ>LLZRcbEv6Px%z?N=z<}HM=Z|l*oZM=NV0f2|cjG7XO#Y=V^bv#vMY%fmWlM)`4@tAO-yv>Qock6nrxRSJ2idRQv?G~cxgXldr`WwVCEgI8< zQ6pxCoc_>Wn(QQRXOy@^mWyZcRS92{@pXKID=6uyHn1hwLAGf+_gV}66A=(=IMlv{ zZ%g=&jPK%moV6xi&SBNwT)&e(+$4X6t%P{kkfNTZ0bkmljh{QQFv&dO#V_$I3BQ){ z8~m2rqcLvn)Vdl)H+1e;!j4ZS=3m$S#9M>k%lL!Hfw|7>ja^OEjkOZ~G|Bf@^*Xo0 zT9?D0fc=Y%=LD>;zNx*sp?*soI${1rG2PN4YP%NIxL6CNBxp6oDP)*-RO^4y6)R?{ z4($X<)UYUX4lCotcv$;cVwSZ}$_WW4al9fc;vSkRCwE5UULjGJ%$BRq zO^MC=hBSajZC|yKp{KT5N~nL2PdzSThGMap>rOk+*ta7i=TTN%^i^nq39_cQ#`;xL zuo)HlOIjlM_$t%S+?gpwZ#{9Z$9YyXkg-T)pgJm2H3uW}vnzRxuHApvZ>qe^&|hY? z<_xJOU=d2vp~y|lse2^Cs)_4^9t($cMs+GuQ_L}z2xlb};_;HDOP3OQ&(y2oQ+?4P zOxefu7KN2aXO~iv`Xyk=(llSt#kor9P68?Ha~nco_fwg-)mCtwCi3;d37M}Hth2Xm zHVi9jnM%LIQZx?_P0wGV#oTn!5}D@F{5+b^1EpRHP?<#KGF4C|gO4^bn!d;AQ-ck* zjEtgm4}ZcF`F`~2nfOzZyU8KCRnfb`YP6)mF#2NsN&53t8-+ZlH|da^cyH85S9jpu<{7wO~F6-zmh2d7a$YMnc@oguo{1}u?9t0k0q#Lj%xY80q3I` z+t7l4^6CPIAN&jd2JE|Y;Ad_!@_ z#CIMSpq@v?T+s=f+mZPwHg#k$Om%CA=LBjy0(^gd>rq@V7Pcb}w#bDg@m0cweU$mi zIW4L4p%H!y1s(2E!D+ZwrBC_5y+w%ybz;W!If*nU} zHU+&xNc`W$bX814H`~33{h=2DXso}8&Bscn6~I*d2PW^Dk2yGr7nuX5Kcc<0_^<5? z;_fBBOd)b5uy@iFcu4GEeXg-ZxrPN6qTI`nLX>|Z7Nz1St``3B#slz`Wenju!M5*) zA>0(lae=-33g-JtOvhFHd^JmP%?PIj$R-bE^6F9D@f~H6b5qbG8!{)TW z9m%HLk-1!+b9pW#S(u2X@?f@G7j0KMvZbktNI3Z-y5+GH(?WQMm26> z&$`tXHNXNc!CacgY8OT+q3M)o8>MbU=sFgf9mf`87Ca~6m2lgOSSjHy2@gCEdVvKH z0$uA0w4VXQ;>Be{7-}pZ!XpPUCs6Jy9KwI64ni*X4IaZ22OxRwgC~w($0P^&|90fz z4i3FLQNs6v&teB~gr~)>Au>@+Gswp}&9IY2#z_=OIFWH47f6~(`L281$X8*>;<96S zN@({hga`4>dyp4k9>3ods2IYJDh|`(5oYGFFN1a=lP<#yQZS1;F^@thBy~h_vmk%j zK9XTGILulxokayUYje>@vs~6Vvz3N6~ywqqDs4)*YIjFH#OjT#n0F)4vhiX9S1U%-7!z_LPc2Pf~>MW(O~}{dxf{bl}O)V~ePS&Y>WWEaW|Fd44J1 z*Yb54GqsExxO9u#=JE*6D3;+Pnm+^U#9hX2wL>ZSb2mu?j`Qi@^ zf4e3uG*k`Z8>IwE(!x@$THRU*Aq~N8z_g84KW(=+>B43=v%9Gd#&b7mX_AIE=|X1GJ$vrG&w0+vJvn{y^q>C#%;DQ8MldQNBI6Z|G2|V$rWjk? zxXazDtJnE=j(c}Up;R5WuKPYoOFPo4f6MurZ(7NgCZ}6ga+V>wty{^e>3TjxQZt;o z;x%o>bDFNf6`#&1`FjnQd!Fgo0zwr$UX>9=jA6{*GChHk*FvD9#vtRkgcCBx5obu< z(YN(`ily5%rS5EUOKH*pWyP#FEWUcb!7HX``i?tKL>5fj^cNXMQ|U?+6L?L+f9o>d zK!Tw#G_|6=?HIZ*JSS^prIIaY%LRtw@a}eEsuJEj3d6m*OwPt|3U7(vz0Ghl6-G*u zvue6>4DaGS31?(X;w;0|!9_x$(hY+*sHO_3eTz!$YNt=tM4nq|zO`|O8@`(ERf(jY zlaUk|jh5ClEn6;U*Co8qF#c?Ff6mf9FGdxbl95J+A+{}yWL;Ok&+tP^>nSOpvY-U( zK|ZuDETR%tss*hX85eO$+&V$4)U+&y@B6V5%P)h}Wf`;hfZ_Niuj)<9&l+Nx;m3Z& z#K~pTbvttxHZ=w-lp0nK)78=yhDeTFq;k?so0ppP4MNj5EYeJ9#LKGaf37Ls+scUO zeN^8eT{DLGGWWNf&D**Fp?w6-$j;QkNuZ4lhLb(HU`TW_rz36l=ejp9>`_!4b5mWU z^A-?Eerg}A2|7d zo}+s}(*fvYYke0qg3q9eb&?kFIpHjlEbnTrkmhPYFH1Taq}rCMv?`DinLok)#i@1j zJ9&!d0U0Q|7j-4tHI{wggN{`1GudAVLg7-lpLSlx4Ng zuBAedaZ$o08N&!O#2#o{+O}e9R#~ao8{AZCq@)y#O4Z~mkE*dNVHw^G z!(e|bUJPOc&q;V*#tVorWRG<7z{L*kSzETQc_IsBjjR;Y`E)+ZuyAzfC&x@lc#)yd z_Zml&AzZ;Vk;s=Aim`r|Dw<5iix=<;UX}2gj8R-?7(2d^D21A?^D6aSHrBE6#I8nJ zQ>v(cz5Gk-54i57;_WO^>>DzoqSC?Ks;Ymc^ZE3egf|$54>o5^&2>Z6#W5LiBp5)`X0kxFt@ea4T0cO@?o}c_qaEhf{CK zNaAgViyOS8)l4s~3o*lY-5e8|i-zMg*RJ2LF>Lp}pHnB9g7G3lAVc9&YpI6CbG3iU zIw5N7CUHho^3g16jv>|!W&_L3n+Hph-H4sEP5TyCoo zL!>zhQfWkTqjmH2Ax6?DY5a7GF6jW;&%R+acdj3M)ER#4eIA^% z=cC7s0)`)Y9vA2AbGD}}cAxMJ^SytBb`;RP-g@#VsGr-By4+5t`*qo)Cwrg1B`Ye&K#IV%oVI^Z3c^Wrm?zLX1GO;r>T%No1r$q6} z3zo$lKO@|gu*xud)({vjH3uQ#Glr?t`YPa>LYMFb!|gMMPPeH#LHDl#x;lRY1L3fE zYXIm;mv!Pu^c}`KB%dTIBi=0pCo!=DmKfiGl=vMNo(NUEOTR;40NcTPL`R4xl;6h` z;8OyU;RB+BB>Fz=+X;wELIZz=!~#F?3obvV=injGr#|RtUA_+*z=uc)IZ@O2h;U|z zmiIZgi8JfFmnI%v-5QokBo%*1k;JcHf8xp-#c_4wDPA7LE=F2y?;f%p*|#0R9m)vv zsaD&OCfj$3NB6V#D92hY{nI7NJD59Bl=I;76iSRw?Bey`@aE%=rK%%^ z8us=IMD?LB0p7&DZh+&b0K7{TU+4y?^bSZVs0aTsKJlL_7X8HJa33oLq7u~9IZAtx zKn76%jNntO&0eLqociZ;T7QY)e^5&Y2#4efs~-da07#ed@(LZ6M+qU9VD14Mm(L`{ z9fzRC0k@#W0;OVq<+cCseD}`WNpeF%Aix9yVTVjY01+`Pf-C|iVFy7ePLcsel9@P@ zu++L%Yg?^amnyi|2->Q}EdkN0ZC&bXt5$8@x@p_j^}W8=zP3^%|8u^3=Vp>j6dG#( ziZkE+mh+wO?B{%U@TH?qd=tPlRhtb3!-8qU2R~tHJh7#JqHb%XZd)X=IT3D*?1(3} zr8+92vHHl)ik7CPNTN30605IRbNY&wa6@!+G?Exo6-g#nZw<$)BC##aTbFGn_-939 z(dIdX@Pw-K!rQ|YEzQw}imGU`d1jC2wPvygA2KMDwg1&^kNmc~d!wAP!ITu#X0 z<@3W$;ksz^E<(YCZg3_p$%ci2LdHUZIbq4fwK*7!Ar^u*iZGOr+hqY$XIo^~sz@`V zJz-)RFz%X}gJKM~Fv3O&Ms``L7X+fskwmyTo*)c=>auo;+s^<-V~mBdHpXE*W7~5I z!P**5)$;B}hmO!280XyH`CtiFg( zHfCUdrZ8?6VcvwkN}}*?j*ZhWmq`(>uO}2{BE<$F+37asV*$@=YGIPi$T07ih$x^I z**HU_ED(t`Cq%9+EFlc&B6DLF%2*B-<4hY>!s!6>YHhfoB_cGav9U~~#TQL3i8V{l z3L7i2iba*DahH~qB{^6F*0*&w&XU>vx@t0i%T+YFu(7Fmm&_Y33V61SbFh(-852$> zBMG5XazQj1u5E}gb!dZ3++^ci*~v^sKOM19OBm95%z3G03loWWA{$}U3%ep3pS7}l zi^$$qA@!0B^eJFdcb<)HXyC(zo0=L}fk$*voXssUEmReY+=ixU%tjnyGwR}v%%RAC zlFjpKlM$iA{9akr3%Cqe34s$fl3;kl>k^T0bHov*MTvOhQl7nVXH$Z0DlaFjOyAJa zIfmIMQI-9-+t?vY46rS5i8}+kYMiU&HqK;5S4`4ciP!G8@ily%O=L2KF5~H9ygIIfi}=4f;_4AbDLg0ydMHzDv{r<8 zzm13S2oHC$b@7CDEc3*0_X#6^@w<=NcwAH|P#2FihoiBipw({U01ooL(PYmMwJ?)i z-5|>j*?1C9@eDSNDX~}=l~uB>L|#2tE)ln041L^ZY&HDFL*YG+o77A*Z9Afs+Nee$BOwM>9 znOf&K8jp6Tw?rH2BkUi4-@uz9=Wh|t_-8nk!8Qc&4m*_XP8jwEeq!UN_!$dv(v8gs z=cLQp{H@_cig-P=x)&CG#EE7G@C$Z64*e{=Pnh&EAXe{cimcj|Y>qVQkio*QIB)8% z3m(0GiTVJ3!|YqPHQZd{vE;N88Ty@#-{TLwJx67c7)KiA8RMLPUVzUO5dS40{=3`C z46$<0l{aMLJ^ZgQ^Uu8)g0;er|FiK|{EazOD{Ez=<5RW|aM;2>Y#hOdT{0&JM<)h% zrF1|Sr|!syXlnd@Z@x|abyOKm zo*r**jyFo@0GkH7Q>%3T+Q28HK{gGRljTK|9EmiuWI5)5Ehq(TDk4s4@)}&*u`D6h zzTpI9X&VHiVw;B32#&HES~%a>dAu;wtlM$Nx9Mvoi@jKXxH8J7(ZZFiL`0avJP~KI zDT~I@c#9_3G?7XPtN(c$yhgfDmu{C?-VhtmH8p3}EL&GYINr#h>sb^P3vJ77nk3u~ zc6YkoT$wuArYSU)1!YIHJ`$@EHhiiNZ0O-+W@ZXRXqrtY({v7@ovgO2Y!H@p*Q&ne zSu}%AwW!j6rkOM=V})tS@^F+{pyC{moOX;wfL@@?%;MeV*mN3k806a=O-M#w&=Y`6 zJKd)FGR>ciupOuu5nO1~BAtsQB8~Cw5z+g_(lteRy40pKwZ3d=sFlgpHr0r{`os10 zEUd!N5o7T`;2Eb=aE=yELV=c*4#C5P2 z(WnnMhc`FGcU07E-ck``%T!UrAIB}mo^rT0JW?-?Zc(_dIiA=xbAI1cd$e|JMI(o$W;}cW79_Zl!R9G^(nSo&{t#J7sArH6t<|= zraEGO*L*@*P8gP|j%6M`Z9;FT#~T|t7Ss`4MXvy~RBX0s3vDG7Ws-`d8~%O$gb4nz zA$208WN86ME8A>pphjIq(#11EOV7f}iA*TEBH~rv1fjT1O>{n66&IJ9$PO>fx$8ta zoZgV=i;NfW0k##upk|?H3*nxBpTZsUfeT=N(hk9QCn3_So}9=X1N3Q*;=9kjfb-kg z9PHC)I8C4nS*It=|ER1$(Zx1hLYKPLPhCstdOss^gj8ZS<Dd4Qs=Rs64x!{o>t1RXg5LpL$Am zz1x(4iYLS(JJKfDsd7q<&L0bUo{>?1YTg>`0$eVxZmpT4>iBbMRTjsa1Wv(!vu zpUgQd5e(=4IVDD%3+NC~McBDok)6$n@Ir2l>89lw@DqTCyIX^d^NwlGiL7ORe=^i8 zUfB|Bjy6WtMw3xj5jtab*1wZKdXrd7Lqm+!%()S%;U|%ChMOZ?@`9UUU9;+X$CF-c z&XX&zNd2nLDyyFp_SM2f-B?yFm~=C!vqEV-X|>Nz!1{zI9nT5QjOp1TIgrwT4b;4)D z)Z@Q>u;^97l;b7@8@hP&)<_~%gvjnRd+aD#Itu5#WSX6+Pedmx+Ueux^r@b_L4viGrqlu1FlQ%QYQ2XnJ+@kJWP9zZ)m3_^ zHbn?K9*d-f9XV+bb;aq#+L{v#PH5m>>rM4q%*KFw)tA=fai10k>5}iN<_5MO4K1}g zfg9Z&vy9E9d#%+H zw)Hla$usmhAil7N3H;=Cm;Imp7uNPaDOc*qz?Ozuxln6xU;KVwA2>CCMf*v$bFzF)k&mhJaS~y6 zpPz{l_g1#XY03)1;yAFJg5)*3sZ)IHP3+6Fo6H9h6v-;4d|kHucl z9_h~N?FCkuGrIRz!O|++YSSjxoLO}Z?oW-fSH)Wrb&*9;srcrnNzf!&$z7+%r@Fczjz+QzjeR%R&iJ{<%SC%a2}vJF(~J{BT3VDvpQ6b}osi>gb^AKr3Y74SIh0@6o${-H zQu#LjSp{RXX-{yu7dDe)EBD zG;U)k?O03)u$&HJB^|urT8=@;`t&EWfmr zpC#~YCX<@Mu(Np8J6c|~xDBWY9mHxm|H9IPjB+|fCVLbqtMrM8nj)Som1U0HvCN5F zI#Tz&eYoNgY}kV$hQs<9(w}!C=Mci{+fnzlG2JXQow2WCLunzy-mDzhp|l5oKSO;2 zQ7{J^4Xqtk(0>5uR|bNCHni-9kM;)x`Ju8l?BqTx7;uoe+@yUScb9jHehmgNTV94u zub_}##YyxUi{k58L~mdP{Rr#mO*GS6xQyP$we${dqj&KT{REHGPw^D}3{TT9@LhTj zukoC>=vSI`O>7osV<3HlRl$#clQ5k2vnu#-Ei=Vw-Nu6b3vT)G5XREOJkP@8Jns=^ zaR56|tJ!G^6Xb1r&Ej|Db$Mnjx9CxxrRN;|y3IiXMqt9maGu>EoV%(ml>nF50dJ zf@K|pl>TB7dlBDtOrkNEakY8D_(S;2`ciEK+i_8K*#TTCJ?*%%#{I4|&FMaKx(Jhq zofWiPu{$I!SL_0*$yuesXvbbUnwuTWb{AAj%hlYRLf>u_1alt2=i6}gZdm3%n8tKp zq2KMkHoe;)%nIhT;rfGr_=>ip-w3h^zciTTpwzj;SZ{~2%A9h+MCJ$0U`}e~kN0)V z8@e0W1vgh(`!GVV$S&9|?E$iNcEPREwhC^qv<~6U^=xd!fZr|R>eJ!?Z$Oa08pBW~ zaW49)ekf3RC{pk}D!@cF0B5K|ELVfDQw_$oY6$kKARbjkXj4ORe@G3(+o~Av ztKs;g8i7Bl68u?>!r#!456p=zt^eYlyVpIf}_zC)Q}2I*~PDE)~wD577Sz za=GvC2(fw1&dE6f!=f*1%_suRbq>zjV1T~K5AU2UaYBx(K~FPYe?C@Wtt|LFKPmnm zS=x?PZ9E6E+1w`*=b6pY(BsH@*t2Q{Vms8yFx7MnRi~gt&CskIK-_vGY6L0utSbp~@)@m6adBeeHNa@GvwU@(T#4`N&oa^!}yJRB!(r z&2ZAKSF{kws8~10f2KM3=4b}FvxI3bBF}1aW`R;BhU9l&j`do>w>(U}k|6JKWPV519?gJg+Xf5AwuWF%KHl55xoto0%W z2InC<+Cy}-)>uKb&_R@CFpIv;WH!@KF3gNFeTSW_gYr6FDGV808frt^9@wQJ)rKch zhVlWA?|#`P2ToX>oBmZ_hs7 zYov+a-(WlPVn@j98(L-pWBZO&6Fwqe>jUv0(BNBFw z9(LFhycc-Z0goy_cNw{)3nQz`97Z0*HwAmfwM=^?2`%+`hL(Hoh=Zv%JnbInJ)>LD zs6NB&zL42{5wrUe6st=yLVXsM>T;Z}uD}9yC7b=ve|xf8DM6#KR#5T|xx^KQewe96 zK&3H$re?g-#~lEl!}#nY@bjsQB|0R0hhB6~JJXc`t2AV^<6HYRK{|PUOB&BDZ+DBn zOD{qA{2!SBnHd1>{YXGceuwFX^$)oD)q_HRR_y0%${)i^tUZt62bDhle6`Yl2yd(p z1^w;#f3XCL1vl?SQP3)QTj>7oI&S@30{C~=?L&k|cke}h=jcAH;J#bC_08tK+k1sF z;t<|je+a*1+x+W-|7^o=gZ?)Bu?>G}$NxMXwA%2O&Ioi7+X^T)->gb`svU*u0Nd;* zSa1)qC_RZ8>M1N#-$a#q8tc_FI9EN3M)fT;f2(ifBJ~|yrJlz=^`a)%N{0|0xgK=M zB`tBcimhcUeUHS+=HU)4_$Dj7A)#6H1RrSU zPtt~?dz_T*Y4d?J<*Q`XfMT+!AHY(ta3K3ChN#zB0pGyM>PI+B{g@f?CU&W}@LBaX zu2Apd^Xez~qWW1{mOO-hs59bSoMODDe-nbUP_8pLQP8VBR$Wc6>#(30ae9OMlt*|6 zMym&-)r0X6V=9C%WCPWYK14`+>e2teT(MQ2cZ3^&i~hMrw#AJpib_KV$)}iX{X?a0 ztJ9d9Y5Mqnnm!iMkN70etsirX(ww!7z3Gj;=~_`A)R4KULdjd)nS)iX9hfF|e?idG z{G=?>?k?RF{6=r>nC5JkU?e|Mb0L(u5R}<{YQsEMWJrYy4@E=rR_R|a(&n=XC=R!TCiXj-M5sruWg(3QvbwEBT# zCfF6J57|^4MZW4l0XwpwK^SV7e<(5hs5C6hGP1DA$i_A!2RjTKR~r3ry^)6-jsCdV z7@!HVn6+*jdq5`{-GO3yS4-xV$fcj?WONfw_GEOoC!@RRr&P+sEWs}NSr-{~V6=KL zT0Iyk866BOD-bw>5=&0ePmAedaV|=JM(P@bVty8WoZZb=R;Bq$PSZl&e=A?3x>UY6 zX=^6BTg@--YYIQ`$K4dG0B&vm+Id-OV6QX6wd5~|7kvb5X;*O6U+r|gz>eGceq zrFD?T5I7Znjop6;YJHI7kOw*)bAq`6 zV-_r9HnNO4$Tv=7jho9FHxDC>`50p?#L31YEHoBlrLhD}#!_5joQdmJSVM!2wKURLN9D$Pnrv*KO5<#rV{G)wN54jhe#!Eb zix*H$ztWlaCG5n1t+n$y+)n?=tpM)B6)X$4v6*keQ(B+>A`2-A%3Wc4*}toRz;%t>iS(f6?p1kFC5W>b>fb6k5_=plN^JC?t3}u zlH;+GPob%9t*n7hB?^9Vrw{53f`){8bnb!qaH@z_*6EkhDz-oKDz=NYa;IFAU)0-m zO;$Jc4urZsXLVKWyD%`-k)^-xWGs4WdTkd?&uK&Te{NI+0|)3NDWBWHEVq?gXcy+* ziT>rRu{j6m6t{kc5y60H_oEV~6gZl$+kTE%9^TinXJ1EgdH4GClGJHQSL`37+4`(y z>9&jAE)UE*NDHK3XSq3>EpzA$ZAu>PEUs+l7!Af%YzMAJsqrO*jB9a{aUJ`KFQeAD z9x>wve_UkTh--|Su;2I!9yT~!Hg@ApV-MalZp9yr+wf=Ob|T|W8ex2uN{m(-ZQM)a zjJ>qL*he+SeRQ^QKW#O>MhWBVbb;|8U1U7u)#Bb`+4(QJpXKNeD5U@9RxXF{%jr+r zO4Q<6*AB$+IQ@^d7ZFe|%qicpuepEU8z}+3d?DIkad2%kH1) zFOt{N#hx{}n61g(;;K%n zL@Qjl^jB9uqR1;{`!LX{vvnYjY%5ika{BbGMyEmHHAf^5VOz3@ZHX#6EOv;~^lr0tah&E;f|zVwW6)i>*qzSgj+Oo$SWrak4?{ z1!M;UQZ+6J2A*g4Cs!SMA8~gaPqx#tl*_v_gOgi{fh^3Au#`l2T+~m5c)!0rScy3CJtpm5!gDWED z%>R9AzUQ3gN!ZEGX;x+*auoACx#`CNwJRZ=v$Qy@pp|ZbI*B(B)EkA(A(xA%e^gUV zsJoG!+vB2eH%iK1ka)j_4OuyNNxTvWa)@e{a~E41Un+2Uviy1El$AS=Wu4rbD#df- zN9bq#m^t+(CK+#Gy74v#{_kL}@e`~vevWgD_c#G~A9cnrISKf+R~npzNxFnDrK(1c z@{L;Ir3$o(4oirNd~BqDbgRHNe`-}t%}NEUBM~?%e@$v}%5RV7M($kxFb*TY+LWqi zA7MrMkdC@;`V3~FRN%5oLuL7)c3Rb~^ke+RE7!wL9FJ_`$&pGwNfGLK$y!n?{IVht47e)-vceMO&I|fpZ~~N|Z@;wt zL5sg7!->ifoqFpA<`c~RC^83OlsOn<%^@f^gE-kN!fbOW7MPscm?N>&EWt8!6jqv} zvB?~RE#_Fn&2iXnmf`|4e}qfSGF)y>!jkA2UBd4*SLauo(2Abit9gDmji`+|;fxKg$%1M^g9ZGdteg;f0+se+G3 zD$yHKjf_-`k!oV3e=hh~qy`)-QcC`c5|<0hT%>Xtk7PO?>1?Pa{g&vD{y1<7GHSZFCKGbYQ-V?Ol+eZlCX;+b$eDfw2r?2pSH^Vk>L4nD^ zw|T3#cLDD+Nbkc?JuHT)!TPlfIjPAmC7-bvqJpk@G2FuSf4VLg2jVSWaNa5DUgoIi zQs%I+p^$(#KqB*Byqd-!b`z

    dI;|@~*r__VcHCRmlT2pN$7xUJX@?8$<|BOCNBOjm z@oC%GAhx5_Jb*Iu3Gbx5k9WRl-ub4f;rgyj`Xt(w!uMExJ~3W-I(qhbuF)B5^~O?X z?k8cTbLK+l;_pTdP*Sc+>79z*3xWZ(s|~-EBe&s?fB6@-(FJYzQ+N0EbXp~|I9171 zBUFj2!(FSW5^Z*e@a>*eR9EpvGNe&zv@4a$4RKb;9cfKzJ6$9U=pvrab0X#|ce5p5 zDqE6CI$QeK%8I_$GGAtedIdS=tE@;rM6vlA#+k2UviSy1HQ&N~^KG1AzMICa6&|-% zc-&gye_p}*P^HF5(89KTks2%EB0G{()wnL)(qj@Dx??GBOH1?9k05C--AJAo#o}u_xqa5x-+4y3lH?|e}?%1`kRL_&E)LIJc6Y8AucqJ;xe-X zSNjOp%6)*(zym%XzTxxZ07u79`m($l@`W4-jMuL$B@xuYrG+Y->sSL8$(>#e`8khw zJ)CJFuVnC4Sw4cS@Q>aBc;SL#`k5o$h-k{6XqoY?&+X6d9)ibs=liBv9V?R>ze zeVvj>OCiak84?LY(DZjs`;coLgdN zcV)gJ?KUQ$U7f~UgC&MERh{HQx|AUaf8HgMqh6(NrD=Z|`wMj!aykCi?>g<=U)J5- zB{;%KBHL_ccekDG=nf1wccr=767R*d5@%OlRivfC;Z>GcK%39ipV67-p;PHzJoz;` z-H&x{+OhoJ27d2YC#&f$oT;u6)n(>(y0#l6dN+;Q0d)$S3;CXbNZPHF{L{bSZ{9Y# zZjb9XAH{~AGUDD}+46q{P^W5(S*d0^f}?7lFRq8CZ%;UI!JtroY^YaFOwmMtT%nzuIYLf~h`2PS$cMLm|)*>16U4K?ET*B?+Mfh8f7q7>o2~ za+6##nF;sKgi;@^Se4dN+Ei^zRjig!D^+SqNLsByTbIip)TKY_(zRUv3;rfu?sM+U zB%~9V#AeORJ@@Rhzq9wZANSn+;lp>{1F!=h6oA8}!7boH9>ag`xHS}r3>%RV!y2^o zQR8&n8c9zC%vi#(VrFb8(4HRkn6{aSTh-ecO2_qRbs|32V#ajqOqXRC44Z?I_-MdR z#sYRcX+?}cf~EuWD;nkg`2q#-GUQ8us4p*tQvuWpstWDydr_buDvf zI3Z_?1xirLke7cLHtp(9l3&3UI@ah#IaX^}Bd`|h7x+hAvR&NhWiAnu!W)O?kWu0kdZiS#s+^F?(=2eM6RorODJ5Qz*Y_S z3;0mOu~u1 zZ|f2ce1s)Gwh3&P7{!FqA#*MTBEz~v;M3Si$!t>`9g+^`6r-Ht*e6N+jKFTmpa^vb zgC~ORU2T6I%|U6`W+~k(@PL#SwT46c+q>GsA!0Dx;ia;8P+%XL89d`Mxf%9lH_S0d zre7ecQ%!{XPa2T~CDBKwG_+FP&ri3+<55G8dC`J4fdhDmGK2~xDRqV;VXHI%VAJvnjR4 zV*_S_boA)rDiM??8L`Cb7U+>cr6lOGlE%D(l=cdIPD;y2dO(lb3&fJF&kH=P$Z83P zgKf>BbOvbn0+mTN(}E^7H9hK-z;QexprfBsl<<3GbQo6qvP9R50T>zv1%@!pP_lRd zH8p?ZR8p61X^k&SzVvx<5+fR-0;7mA>{?+DCi6_YJvJVX=#s$jU|VX}`s`_N#Gn>A zFt3ma;uub8umo(7?Y>-9o%l6dL&;GimY{9R(qyUT9HdT9U11!jH9RVC29Htg-7aQu z+va12>iz9<>6Zk)jIYo=0Za1Qv#>ACeL{cWtLaALnAT}TNvPp#^o-2zz-Yf=Ijfv_ zpT*Y&z9CUo5z2fjX*icQRBhW6HwR?BJuUDpJi}0^nuOCl8QQW_z2He6ydA1BTdhm{ zX9X_cIr3WJFD9HJyo{jcy61$z3-~s}dbMZPN@eKEzVVWEozw0NulZJd_P8tMA6I{a z>!A#7jSoeBn8G*cEN#-lyDWy<^1q+1@W7#dgVTJ?5fro@RU9c4(7 zOoq zXB=2&sA-!>T%HoNgww7Gc`((Q8T@~_XDk8f){vdCb-smAHy{c98WJ*ZR24EEOP0XC zz09SjmJu<`ajCQR_K=+!ONVXOqD}YK=8_&wgnnQ-^}qCif#K-N%KJ``-Tz17-U-*+ zsn8CXlDajEQ@BBDP{FjtBGI@_^NtGwzr?Q?%I)Ns+Oti!qG!?%tSxtCv8I2I9yjf= zm|?X>b=x*<4RZ_)%X{mfG)=vCX!tF|Jxd+(C>iD18Jnp^mec#7yQD6!=FMae;Vcd8C3G~sNv7z0e%68`SW;~PauCv_tMiQ$JmUg zqxc>nFg5xdGIR9%b=Ct!u=XH(MOaD*FNfY@)_+= zg8z_)jKWZ@az0e+IPRwF9_dEoBr5Cu*TIx~MHHdBX*A8D<(g{-`>&;!9h}4#zg(x$ zx9|oIXIZO$GGsKMkjQ^{5gLC9#rz`f<*#5Xzl3f4RqW)K(Za8wgTIdB{0;Q;Hx(f} z98)ud4BmzBl7%FZp>z`PrNC^B7)F`Pq)2C_mSs8E<3)Uj+6cIvtPcL)vt3 zO4WfS|8GKTCa4a~i^xxhGEUyt&mu{seJM3t@0!IIIp(lQ5%Rby3eQcPO{+-)&hE*p z$eYEJB-AP-Q(Awz7$j?IobOhPwakPg)D{TST)7ojEmYRvbHvq62>w15%LmxVe}^jm zdo=JrQjYuyP5jSj<$u8;{#WAeZy4c!#~A+y&hdZZJpY&CvcvH-!{r2V`BTN^M2gFD zJdUe)lelc4cb1nv(Gi@QD9n zjfU}C@?Rm6^;@XZaFzxeN}8$Yrc$kM2WhzI>h;&w&EcEVc^8aE-|On-y- z_f`B4P)iF32s>9XRB;FZ09==$*%%#{;DJpUm!OgaBbVl&1Q34_T9DQ@7@JtZ*u+*G zA;7{hHZi!ELxinZfCDmZaawl~i&!J=%DXFqW2cSNb5kchCarr&dPsV1oHh{XMIUm} zo80&Z^pEty>CpB18M@zMxVzr>xPm+CjRzh4xKh85$t%s(-Qm+@3Eal7o$ioXajs++k5;C5{MTYVj5!4Lb zkqtfFSpuV!Jp&k&FeKv=o@Z#^VRA79lysVW8g6Z+B+W#2oTZJM)QVX(U9gq$tXixZ zLi>La87W*|QQ(A7;QIfgKxs)MmoxO(xMHdHjXWhaHB!{*b0?B2pT*}Sd|t*Ft}wLi z1cc!Lh2JI95QdOSaeYQJ4PBVZa4J%yM$vV{R%}Y2SblkKtfUyJ^#y!U!c`exg2E6f zsg{6EJM~Tk&Sh#)5bo8i0o9%|CKCFLk#>KUW4N_dylvBQJFuj2EQmBFB&aebks(`3 zX|i5rx9ZA7Ymb>J2q0lvF|!?;lT_fTnrXNuVOmBOIVy^4hZ%g9_LAz9{Dhcl$jIY5 zeG{CHrch6~s32noFVeamW&Ng+yKK>d7fKVpt`={WG#-EB zg1j3tUMiMrm#7h%mbN9_VhER}GdHf9?ku-d-o%$>d_|z_B9s+9g19Zp+pBa)*h&`( zUn?@~Od2(`2~pg>A>*6)7HtAfadUS~hInZPRvkK$YoR(zZ3F`UJ2GCwcgbB2{=>mN zRC=XSA+@bF8Q$4>8QPZ7n|gff8I6CV6xe+N=cF=d$Xg8sfll| z(;qzFM8C%}py?4IS)Me28Lmk+VQd!&D;6VHm1 zrB0QCA-es@Bi$7()Nov>mT?5qAHhr1Qq-7KTeZ%ht^x10xPlza~uFzdm-43kk}UxSq}$ zVs~qL-Sv! z)*!t_&*RbNIk0HU9HeN-H-})fX%4%iA7SqYG+Kr?=;;RoxF6qh5Xygq6uyri08UGw zGyIU+)jr^rDrd>!kBO~-p0p&hz=eXi)3k^K41dF+_i&NgVTM6^MHo7KA>SgJ#Mtq7 zQNb5*;$FzNg!Yc|Q28RxP%13oGxO-Z>kUR*n&)w02~Xc!htm@M5Nrj)13gsiAybQj zf;-2`Ua|x{0GS6-!*_q7j_*N)SD}UPMH{a{obSVP{4u2XL0sYWNb|#(<_*a6BY2q~ z#jE^DhoNCqkVks(Bm9^QuEQC;Ni82;>l^SEenPBYp&OAqnx=b~J4&=Hb9x6qbvdWj zUHps~|2ee}q5M;{NNA?N2RJC9{XeMu6m@P-HGV;Ji12O_6bpZF;Fr|H#9rw+;NR3) zNqzU5h@IUFNV>1#d5kXLg(9a!;W#nbvWO`PvbVk77QP6*3`=MhPWl+;-DPqYV0V<0 z)GQJ25BWdF&E+xw5^i=#A!!jWGprVJdxT^~sDjj>?^nvm?CMZCeFdGby9hgD!8K!& zH|7HQ#ADfoV-$a$;7us!&Dcxt1H1+GycJ=70>?RBLwOs{@l!a@Pb0~n!3gglS9X#s z&ti&q!Qkg`i+AHT@53D)$NRh=|KjKI2~Rk#eZi$~*-`gNtG69T-S-?7#-H#Genmu| zBZ*%-t{uTG{Dx9dINru@sm~9C&hhW!JxJu@Ui^+mEAW4N!jTEh#rOkZ2)7?YMg0Tp zm!Lhs0dlnC@!L)e(C5tuc#1yjd{sS^X@B&RyNzVY{|H2znwRj^d3^m|$z+xt-2

  • f2f2LJ#Pm+`w79hX2wL>ZT$k^~~RMyUiHPJb{vWtLble?GbM&{16g zOcWkRC`rg#wiE6mkJH=I>MR&(U%6m@&uFFhnv>Yw|D1d_jA7V}G(3Lfqg9ozH1aG1VzbaaVmLoK32$)4s zgcK20#a2Pia|%{eQhM|&sgXKCm+bchHv(#=w;f-!eu(W-$|1!UQuKD;_SS=Hz+%W+qv@Je z%it<0ZIO`8Fii->EG^`#Gfm}4qZYM1kl^7;av9tun@d|f$irn4@?}iHREB>V!)*5j zI@Ca?YPOk5SUqf*oxY%ADQzL+urJWo?$eE+>f5GT9Y%1oe#i(YmS*Tpbdn*bUA1;9 zCVi5olG4TzDXR+v)M%6|s_|eN3MEXJF#|;mD@UovHpo89P(=oDB3(AOFbRZwYDf*M zy5+0yQUftdX$`6M_8GFli&=jX-Xdc*<}hqZYlCyb7mh`(fD#J%{HCf{YIGYN`{}sB zFn1bTXwv$wh)GrvDTY~ORH|H^t{YK?mr6!rWO~Ahk#!`Z`ZlV%YH9&Kfkl%BchboQ zC14rmkpUD8!!5^x=2#>W(p0m?W@~2~Pqdm`6l1Q0c`~lRl?<2lz07}*ty!w6kP!?s zN|Nv1?3^bJ3viW$g)&M|%21Fh!XR}h(I&Oa5^2Ae-%&230+p2Ax;R}J*PT=>H4=Ob zr2}$yNKvr1X{KqIyhawwSc0WAAy08rrQE6@%>g6qi^gXiu(H9$!py&V*~1`t^G2{h#zq;NxUhdq2?jmbf~^u7Wo$ze zLrGdAxSoJ8p2uSs4M_hCCkPFu5#FE%LW(J($umZ zw>%^?Gprw8I^7gg(&f~Ad!eukw2as-<2vkNxO$9EF-)aec(N6KfiC6@ix4j z9uQhI8dG=a5ygzE0u_hKaBuo1dublUsf4Hx-oa2mN>0~s=jyuxYJ}$v@2hvocn9ug z@bFBw6*7OU8fd>nB*LV$Rf(#?`1Lg420M4wWaC}biUM{;#0#m-Fsm%F6RV0P@Otnb zyjQ~eWZZ*$8J3M^K89RVjTolo#Hu>YLq3(^zBIYs!c+SLGCqh8G02LuQCn{Wsk=Rx zCR4}y;B{_m7GH6CV_Ecc;XWB3!AEIt61P6FRAzs8I-L&_x$qum2dP{7#V$I(QPb6? zSh!U+ck(nMe;diJP>W(}{Mb3UWz?(KlvNDvu7+6JN9(L))~`+SmS*Di(G&$9B8Jst z2xLJZWnzZ%5j^J@7*Sq3Cdi`5lb3{bW5!O~jcD(3Z1cDUfwuX?E*7$A`86dqAVsM( zowt8CGy2vAS?bir#<9A(ri^}SY4WZ8>{&DFwBXv-rf3^}PVoElnk^;JxlM^Ue&#f5 z?Yd&cOqH=&lUtJxu?efpv4LMYbbqs{^x4>+o%r47gmyAZyg8dYloPbA2s>|WD@L-y zme9j+`QXYKE=)MYH+SmINNr#CE7>f&=`nwtzoajrC!W^GdYZ>xIM<7(E*rRck96rz zs%H(nuc3MEoVQ={77ww{p;j9(^h2s?@kieP2{F7^Mr4-lFakErCuR1#ohCZs&4cvjChbfa?wh_lWcK%daAtl@zROXN3c|Cs- z!|_Y-#2&|YI@IteqMqKK#lt&n0Eq=0_xzQ~-jaT47MA%#j?d@Ge3PCj}y`OSlKlRf_?MGuD5==?^*=!`|uFdFDaPIhz`?I{Pp zw>0%C=i01UV%xY`r!b3mrYa?*n?KYg{DWb^u)LJ;FIp82E=r3ZTNv{w78#c*Z3Phm z>@=4=Z3P~G10+%hSWiIO<35d?rm|CzPobc^q8l@--ClPOE@!CD^k(*8J|oRr`KXNH z8B|qgd9z4-k#kEAmeJn5qOAN3s)26QR!d EvKvQV-T=kR`GhHe_J;v5O}wPtd$> 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 z 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 z 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 z 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 )wBbN|W9Mi`AR1c7~ifB5Ar9<(IN&O+j^G@Vs#y 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%0Dq^RM)KX9NV_dUALJYxp+Wiyn{+Ium0_EPY| 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Ξ#syy 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⋘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

    nw5%duI9*#gPaF0?}R8$Al!5o&shfvi)vbaGz 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%0A* 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�oXR-b+hqYbHFF85Q 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%0AOQ7?@g=ae77{_Irl4oeGC}~IYR9Ga6zPg zs_&JzYRgegS~KJe@+52A-nsj3ddPDG(@tO4Rf=isUm5GXh=Dq$^OikUbSnbgSX#AX zGu29jhHZ)As@ib(p=Dv99_YBKJk*9Vdu7y;CIm(f%^7zv8=>V%zdV;n`jV(3tqKlv zS!UY+18kTodZ%qyoc0E2dgtg?NIZr|?UABKJ7hA^oN1uK+@$&ou)!0DG|c0j6AzIF zVYAk;Yc1ec;(UMzu<4XCE6_?S1Hi-nfWls>gcFGIh|5(IK-I}Kl)5;a12{j>7BZE7 zKvMl)*3GzBjG6TRTisT<5-FFfg+1Fzg%e^bBwKfbq}Qvi*TIVWfjSW)Y77m)2ow&*1HYvuYTXyiGeT zWWo#9>5WT<%f^w2VbX}P7cev{V_gO){oJ!)8y?uRxO|M1JBSnGSf;7z@2O+|#8C~V zy_t9!9C-R$Ja@+uWdHAnXIo^_Ub%&^m6e&psbp*S%cuS(p0)vkYMRmJV1_x=3ai%4 zz?1j!D&2bxXPtRI7$`+4fic@I9R00^FjE+n@?cyZR91lkKIUosGk~u6e&1y-I>oQV zBFbZ*LmowYz{T+kVoa^?FQN5Ae)Q5J`1uE}_QNrS?OG9!pe1i*#v~T}q+zIeh$*up z_V$JQJX{KRmV}$=oKfN`y4m}kR zlbTtVrUq;G9BnJt8c?!+<*SU_9??)@$|Nxn_X(1XSEzzob68j7;)$|#Yt19`cxaS; zF$?RWH?#1>+1}7?J~lCA8WUk_ zI5<3iy+dN_OjS43M>f=_HRNS%d1LhH)a%uR;q>LyU}+VS4Df;OYtynAD$^Y9c-#=| zeRFtMRbNL(+EW&#mkjHcBbV|Rf348ah65Bhe}p(~x{qFx^@ex2e=7f5F}t0@b-z#7faP+k zdi;_@-Pim23ICrHk`7(g?e%wMfj-6m3*x&d`H=Vj)V}35+4umr|Cn)xUFADLEc_a& zi!K)(F#fDcTBArqCGLXRYd0h{f17b&nh(bvCI4o;gZL21PoJGR0hHx#B7-Xj<690h z#S1#Tcd~fgt|Pzx-PH8_(C({25ri{SX`o4Q@oK1Ju%q6Pl&L#UC#QAMTGm~m^H3?X zWM&dZ!Rr43{0YF`n!WM>+B@cB4KU@S7;0mhwQho2iPY&@s4g=}Yt^|dsFM&6II^7F zs4?kTi0U$rYjXD*swG+w%>2QNx99Xn_8zwH+p&sjsF)ygCj*01$lD`=+xXdK);Cdrx?~#Fj+2*Z~zU)FbVRa{x?HhsXmd=n>Rc z7)mS#hyuF{mo0Ysw`^1M zR(z*h>hb)tlue|c6S+6D;V9G0lg=l4m8rmEFr)zu;a5rTgx@Hr%BSJwmcPc=7G(Y3 zC_7t%L;%cT)X)pilfMx*`BbJ<%S|OJMytYgh}U3Jm@`Y?jfV>KprE?JFH%%7{ZyY& zOv$y6HQM^^wI}lpF3>#+3`#e3b=jgk3&vmO>I!!p2kqfk$h|Xq;U}3Rn~4aPIsF6; zfRpgR!W^&aE#9dW>V#eyc|ys=UmL7D)-2`?&j4;C1YcTzI@^VA1&=T$ZA9TK?W{!( zOz6Ztds&XgB~cfh2AFZrV6p-(B^4Txq4~EK(#X{e&#b+3KjV=PPqjFG__=k_jV3r! zwg;I8;b0N=X49o1?#E?2?CBTdF{W%gtY%&GjwsXh@XS*N*WOW88aJ0J#qtM|hAQB= z8vs*i(sc#`$htLy2+=&nwDBcc>?B(^-l24&Ofj%}P5x2!Y=M39PBD&le5K4S+Lg(&aQWAOQi7p)h%SE-`ObA_u$F<(7^A z3~N8Pl_aAXJGQ#e&dW^wP6dv?#Tl_gaMq*OzRc^z&T6QSQZyni!}5un%VVv$qoE0p zM|8zdv#2EHKw1pJRz_4Tfj{54lw5Ul~!q|)Ln_jb;Q4t4z} z4kGhA7V<1tz~L+`LZk33f9r}l3t)w>H9mqCd2!r!Qw8U~O~AQ7hG$QJBATh|plqxR zKeBjxPd(x!R(>ks0Mua{MY|;Zm_ZFM1}Z2F*$f_f**tWR=!aPWY%MG4l0k%QaWVgH z1k?7cn7Tba5|$J}bm;`L2!WL#p~#ONRI$0NUn_hLE^^-xr*s$p&z!I`UI6AdPhg+w zCj8)nX}jHl&FQb-I0Yuw1R}nn#~NQU;aJdhpe*?`@((v`37GErBG5^;`ySbzO+1!6_HP2%bFY17`wrzf6xLv-Ad7RRQDqUGbsc!u@_~na~;_> zndLPn?WI4i(&d@MShnvIUurwR2B`j!R^~^{kmFVbFwRw^owGo5 zK$mM=)}vm^pYv5;N3A>#@*LX#`qM00pLn7+9jQfh6T1x?ZwX0!LPx_t4co=FBkUqD zIqaJ{^^a)SY*q*es4t;3V<~A7-!0vo(gZ(C)>m4RyLASvIt>P}8X@#ix|X zV7JIPUS~fud2h@4=o@3>EHmSNTbzCrb9v7!Fd-i}Pd4RU=JI;(;=Ot5oB(|OjRAmi zew)@$k+7z@gO#W6*(WZ_E{2m8*f!(O0L78YW0epi~EA|zGn4Cn` z&f*HVfSVsTWX*A+(4#SNF%8Wou3Oi^V?8fy_pE;-X6$jj$y)n(e z3E)rYyi~gr+erZ6&)DSI9ud(k>eDCS(TGilS6Ib&eDEjE-h^_{nbk3K0F4vd2*i}d zVfC2|scNOdX|2aOLr()${d)f>_*a$X>=ouf*h$TeyGpAT*X=3maTE;qG6ikiv280S z^M3w5ja`xvTsz`TWESeh;lFX*6-E%58EbR)7mCUQq*lNPtg1;! zg_=qa;v<#JDEI&-?9mgcfQ8!457F}DWZ)9eZCF-e>JWe9v4SQ#X}qbS_&`JZNX68+ z!8DF0fMSojb($Y4j?Y$Z9JD;{f$ciIla7`8Jo!xcv! zp(pc)VMQf$yeOwW^G#4InWWo%-Mh%kDDZ;T1vcv?!)W%4#!Erp9R{$J4|iC2RYlbf znu}6mUA?7V`O&B0fXpuH8hMRb9DWq{PRW95T?9wkZ&8{9pA#t&y83H7zlOK7-4|ht zYJso7mhAx`*#le8Vcd2(v%#1N(p4cdR`JzfVc;SKJsRQjz^t_ z<&gX)&yGxZ5&O|lF^pT2_(fz)2PPY3rv$_;chUzStvNRn=v!nHA+5L}B8=|kCP+50 zDE;SvQ(a{Nzx4aWjckcoeoX0|DBFI9yLy3Z?iA&SFFo7*Gc3*qPg5$=_Fz=g5O=2< z6pIXzv%+m3G>}=UWoD0v(hQnHAr8q8dyu{}zZZ^19p94DKm@JQ2N}h$rdJ3$gsZ0|?zS8^xW78*{8Dxpx?4Wa&0d7>cTOWW?|yD%V7;LTviqIl?*yKo)?Y%* z@j$P|`#MwJej7}gQi~NREHNLdQkn??{T= zj;H4GS>sw1=Q@&1H&XLT&QniXWn6P0hNpEelx!jvO-36}H#8lwWJwm)wZ3&3okZ%$B4+~4Us(p0RYfpJ5k z`~B}>8>`a{*O$kp({xvZ-s_Xo%uj$iBMFQo*!e(R-EOFDWHcfKA`l^DKTlXu3QS0X zv~&wY4$SMR&RzHdCdz^z%3UQfUplu^Bj$Wq^@p5}PfviO|Iyl;^ANBRfzRSKxA!8D zusi^J(!990oOhq+mk}HLB2KvQ`l;&fP&UAhVp0-9@_t1eD1AOcQ>luiTnC{BRXN7+Qk%UPrB2eS6=4a@w`sQx zlQ@p)5qSo&j@;}8iD+ri>^w{=ux!v303UfXo*Cf-qX&>Ctna((gaYKg(~gF!m8}L% zfuiRrzb;~+@JVl08p2X7c@(gq;e>~RQS4ObgY%5eOE`@k7P(bo5xVBf^f91!I5hok zQnuTiCGG2Scm`0B>_))5MTwE*^+7S$R7{+wSQrm_AXY2P=H;X6fKF^OGt02F#(ZI> zB1_J*7SNj3^7<#OnE<#5RdR7xXigR8BKZB`*P3GB=TDioE|Y#Pm-75!m%>6lY){VK z`pdo1{_Y9Re#~TmK;fA8RDsp&(wLpkEJT={>bb%_9wxh6tWBH};a0qF+cz5a&oBJK z;pbXHvZou>pSjUJidtGd{)sg8%UBa~J4FZ9Z3?D{1_>5&;~PM2?@@5kl<)IKZa5Rq z)W*{M+OUa~(dD4=2)I!arxCR|g=x!y(3R$J-cvlJ-2j2EoaJu%V}ihzDQ(R@Q&%jn&4A3}dNM`C@=) za{BT`xf2#Ko*>U&JtE;p^#u7`S1Fn*4$UpncEN5J4Z-kVu;n%>?1ji#tTS}z>%5Sy zd*U_9#jzQ%<0zSiq=Ttqx>_YTo-K(Yp0D3Sg!}){z$5?&0n6>ru+gsHT;%Hs{xDLG zQFw%ozp3Gfy9(z5D4M(|FjjEHIes7hdn1Gga%dma9j^}l!DZ!4yae!0I#A8S`4XDE zVU693aor!Ux#0o>Ayh51pl4ZFxRD~BjmC72sb$M1QP*HI*eQa=sBtFQXscN%mg2Bt zg3xPEWPt#TyV$dVtTHuUZ!kiY+Y=huT}H3~k$^mu45ko-Y*3rGsvH(otDy5jtwAT| zuh#Gc?J+6C0qcnpWp5NYSZ$o}kza;u1U7m70w_lxBHc`l8*pi92)Bn4=q1H+wlM_J z!Q`S=EOIiN;IGGIWvG|lK0r;%w_3^zj76v6F0O^g-zKq z7xx`ArS8Z%Nk6EoNbO~avl%AM7Rd=lPLw-?W|Uw`O3&va?}QV7D3&n_BQRzsf>0zb z9l_Fcho+P%V8c7W7Xl||QCd(6baC!0`DxyTe-SWC8>pE)IN53xdwr@7rQDjVmqi+1 zDjx%uP0spU_i1Um$5m@)6Sl~Lj~^Cl9FX6+e^I+sI~4BX(sYj*hi6;kM&P1;Tx!vD zM*#{qv)E8H%_CJ`+3Jp!wvFbC%5ZuGDqayjgK2W}$enC{+?((0#fyul5N8Q0k)HTs z?kL^*pnrt}3L>+>k*;Wj=EA09kqL@y8yNr`atpfx$_@wu`ShsRn{jU$^`g?mZ96ev z@^?5ZSMyAm;)Dc!a-8o1HzPB*IWV76Lo-~Z^=Oru&H4Poa_O|0UL*LZFrOKcD$koJ zT_3}k zwtwt#X!|-4Pv{f2ia*O{4P>`$b^FBSp{2ublSvVJ1d?>fKlnaYCFph55%ioIc-+Ci zKeW*3?ilV=j{TWK3A>zc8kLWKDHS#3ouq^Zfudq z%N%iD=iysYF|%|%YH6YSPl-HOU0+z7TgCargj9pZ9cNFaRcdKx+t7d3jwg$LEiG`) zh(V^zpjDrAwrwzSFo0e}6qq+hE^c{m7mw}^i=J}0DMw#jjAxo9yB?#Q(wiIBZPl=_ zJfYjFd=4m$;N;OCh5pN{UvdG!>e3}*cZpJYm$IU@yjOd{a7i&b5@T#NheW7Wtqu;B z?>OX@b7N!F6waR2WC`?-RmsbA|KwVy*9a*wdWKA<;Y<5;3MiL9CiUU`rx11FF}P?@ zrp;oKSL>nL%6X#fU#)%f0F+GEIRvs&w(fJ)v#W^GZ9#O**!^e&q2K^GkC32F?+{66 zwIguFe6nY*I3)I3^QAd3rC$&+yU51|ByywBP+drGbenz+Cd3c^I7_VKwL3o4ExBU< zq#76@2tP$Cbs^v$$=6hyJjIV0F@hGttuMj2)nUH5A)|ZC!n_be0)L>r9U;XKU>RE7 zl`n0sJ=k9V1zfH$gX73dU zF2mE)Xqw>>BM%|~m7YYYcPZ~wURY|` zbAb6I{{zZ{BlpwlF@}W5GZH+>sFqP{7P79$3QyB_KwFuji3uk)k^fQk&#HFvh zPJfK`@xoU;SyMbob4?~qwv)2?gDz1WuSiQ@#+STElf0g)qb)$gyo;n}5>Zha0n2O#yf+QrZpl+Aqiq-Kwb7qQfGoG??x>e()$4wP4NLg|+@F8@=UIrOBkg)41=M zgmj{Lv)^wNg;l8*kad)#e}L`B80UAQ?k8sPqgKaz-p&>SPZV4f594v|w-38~&KWb8 zWJ@k%4)}@W?*}N3pWK3eujgj4)sDY(BC8!j0B0ZUBt221b{W%*bsmRQTh6{4&YyzP z96Qsru#+MoY020*6cli^?7t(tWpf=+QV_sYWemrD>-)Q*Oq?llhb8^=msl)W)Bsi8 zN7#1?0@;*6cEGHpTT!i3)uzFaM7JucCwCki_dE71cXQ4i!0DJn%Xj0( za1D-X6{N$EI{XV$r@V-?fkxrmGU?m0srzWijO|lq^E!bQQrcu6DLqiP9QX+0!C|r; zQg5gc_j6+WL!E*0WhKm$_69u6?|%ThKt#VuN&`=SW8+CoB|Fm|?{id$QWJy4BtT4P zy;-%#$)qWr$s?Ieh-?+UY#~@{5tkG3wrA0rPXDNbzI+;p)%2{6N~~$s56aRCY;1TI z?E?+0&v8O@GVm1k@=e1e_VM*|Q28Pzv40@Y@C-Hv=*^7*7VDK_my`8@$0@3xzzkwr zi4S3aA&#Q~Pht%|j1BmRgk)NMqwSlGR((#Tj*T)-g$OcllvFO19w`-$CAo$s)?$Ta zi-$9GXqwU?#5a}>O{NY_q{EQZp^0@E38doL)Zt^K!^cU7lcd8_q{Amkho?!0XGn+1 zEIRP|b3tqtutivGA$`C?x|Tt1n*w=|Z!D01+f0z#2;`Uqxh)-}nLf@C)K5|1KTlvj zjg>e{AYUMmpK$ZPn$B~AYQ0h71*|LZOe-g$MsNvC~N!-?O95b!)9RuDI_mzkzfAcNVd)1a} zeU$X?qIagMt4uagn@!ZgCOVxB)slNp*zVo~`O_!D{vGnctC)@NQl3`Uw?(@t;!J{26Yc`&;n~yPTJ!POKB_NzuLbh!nQ1 zctmUvS6Vi^1m$I~(|Fl0Q99>!aykzz8;T8_mH21FR!Un(jASYeh_jeW_Dx1$a(%+KOZEQ+RiOI<4ZM z_1d%_z@t_G93Tu_OCPfWVC!N#0BU)(*z{br95+fmf1kbQA@99nWuKV=dLg(4kP$#} zG1rO<`G!qn$Ho<=gs3ec>W~m+36D4>1RAL8J(>!Te%h3P9O9+DKpC~lvnlwOQiIw^ z?dfW|Ur()8Gc{UmVm@|L)$gKzMxvi;{LNJ1LZSwvREo!`@ZC+3{}5H%_tO3Qsn$(( zTIIxvL&SrF_K1vQ2g_q-u*lIy8kNYfnS%-$HY+GvsuytFteA=$s;v|^Vxz2RS5ay; zUDjy1ti*dF&0(t@4lA*1;U+t1Y|22otJk|yZWc{en(Co=<EuGkDtbeJ(RtVr$g^>i*T{s z&eW;y;aPkvowz4!3(`VNcGxz5&|0re1m+XRC?QYcnPVLEGd~NxYrRU4R)L~h*q)F zN~MIMe!CqYtupXNMEsiA?Lz$Tg%O_8h#Fxnz+8Qtw_-n$Aj?;^3+4Mj#3&w-*vqIi+~l!@YnLQwelSkfZiW})yC zh#ymi{%Hx)*T(&hRp*y$4RX{Ydg;B_%6ffbpS<>q0aKv3j@I$bA|!^yFgV)_F(Pzv z2n&7-P)i30t`Gy!zYzccZ$6W;svMV)Ls|)!&jX?rmmoQw1()WGo*RF8d=%9k|Gw-d zn`{OMsX-B90Rh7%VIiWaB&5a=U?qe!35j5fOg58cWV0K0XCtxN)}vPIRj;;cJ!&f| zMnu#F#J2X**4q29*4jhup*`(gYmeXW&1AC4&K`+;`bYM?dGmh9_xt<3-+OQJ%zqyL zEPz$`w+96RRl(?>Kcs&fI}?5WbJbyWNR7p{m|u+>er@+q%-<4L3Rd zqDDQU8%+YPs%1UJC>AKx28WChFT5!AK;daK1nP3=-lQ2jqy3%QfELptL5-~lTwc}Y zEY=;}rA0c`NJwkQFvC{NnzVRak4CahZIAYAZF<~jXyX_DFsXm`cNsA~5^7l1T!$$)2d*Z+jRxTAuZk5S_~v__2a;$ITqA zoJ#3a8wJ)r7#0Xi;7$J~dEt@-91?sba%%VW%Uz37&;&jTtNR;w> zWb9qbPG0*0+p|R{o9=YbP9fvcb%uf#tTmTehe{zfcfY)|P*#ms(z?K?VIFs%DO@zep=@>XR0r zU7HCE1IM;N~D+tl$z{O19NtP#Yqr&&p=ec?ZgG3n{?|ak&Q{Qg8*X6gb)0 z%AjVbgM=&WKa&PKLwl&m_L}lPo%tV%HaFBR)>AYmT&OjDxy3ye69?BKA&*Z zu2FC;uA^ATIo2&zfum5#X5o4TH{eDAPfULs3adelHRqDcog$^U86WlFV;t;{3(Om@ zGXsf8kSmS9B^rrS$%|!J3_V=oZdGs_m$!oG0O!u_3huz2RCOuayG924qTx<09t{t( zl9Q`4!Hw~pgtR$Pi0J>M!1|n0{aP@r#^l*4?ze>d&A6@|e^rW4;nN=6qhJs274Uyg z(HW{rF|(VZQ=m0>Fvhu)cNM3lz~tSpU@smJP>8&g3_d+0Z+Yf0>wZwdK0HKchafL` zfm1Uo&3SZvSiu22BJ)wQA+Rx@$mSO#iuhv!r)736LXdd9#U;1BG-tx?z=MMXZYtvA zM|=+s)5$R>5Yu;a&o1fGLlMA_`*ypl*gvPeh6d`wuJd@38(<54YVz5t(b(_G;+oC}=+@r>HezpeP#!j8w zTQ!}`66l}Gy>hyjW`Q{qJtw{`@5@ZLXoFFS6D>wat~$ytjdEQ<0{PNg&^gL-rS{+T4GeTS|)3{jSSUgS$4VLt~X7l=jVOPL<7L7g(HnT&Kfwd(`Mk3=KtNhSqOS&EvC4&acpxTdSt{UD*^9mmHm4ILCQ< znkg|QgX2Zz=vs3;vuA%YG4-1YC%(5UnurCpbvkbw$2oYnoK0XM_#*GZqe$WqwFUgO z8lZL~+UWOj**}6Os4arPXXNt^sMH@D<9~@&Qd=mWK1WYY)ECs2`NR>3tq0)}<(`8m zd00w6NxxodfemCkfX`D;G3Vn8_#(Be>q~G;T_NhbsV(t|>Y9IAONlE*$tD!jb)S{^ z%!!r~?lBl4dnO$2vGXo`**41Wj?lZOs6WF+BA@}#G+5}Lwvm3t@@)nwVBc=0w}p(} zSA7sOeKkqEt=CtZ#Ie1;x$Y$9_4<-{`?$ZylMLs|;LJ*{um6cTcY7S$O z3;S(vi=@sS(z6BTq!ebK#n&zNzJYI&TJ~a&#qhKEmi_MA7PBPc>#)qc^R-arze# zU|@)hoJaW7S=QxiV{>gj`5RXo4&7BfMaF zT4%v5CO>}yhp=ff(u-1%7F+5~x_(S!b19q6(A{bwu4Ax)F|b|yV1W&oU;_lUM}iG7 z*s~>Ax3qWyJoI}7*}0P9eHDSa8cT5vfxVW%T$cj0&IVd1SAs~%|2mofHgvBIeWM-e z7wPp+@Kc9KZ=a0+CdWuulCLIz!xru(6zM)0>Fs|>4BTSj5A(CcPk6Vd#MLYUG>wQW z!)++X?WFP!oQOM9U@oy?F0rcZ^HPH-AH%dmhI0fLTJDTe%L`*o_0uSHjheLAy4K9+ zUJ}u}v4DH?lZaREp<-qB&+m1QUREIP{qGB0!Y&xK-CRm52DpbX?jeWoqZGWKT;EIM z4-kKCqgYAL^;9j!R^%*H;b-`{bbgKP{2IK3mo4W@;Vya;#bV(bgxv!1lH_zB99}d^CErXv%dNn=58$%NvQMPQx^3ATaHB=!3*-au zBU?-&ttCv={YlK?0`IoCUFmA7w7Ff(y-I(R+j7~b=^swwYUbBP{66Qat~rR0j1yc( zE`ZFt$$=tD;+e$Bv9#CBrMkU<%6=_X>eHxBt)oJ_fu7r`e2r~#i%=uU=6G+h$=+g- z&AnHsS0HIuP*_yXye}E!oys5c{))u?3;fdJtj6N3z&$#NvFB14E3g^+l^r!((l>vZ z>lYm*e~nkI+R;g)oH51KzQeewAg$`ZOm*Rvlx0zDgDu8u_|1gX&m+I3o|Rg!+2!hY zH28bF?2WJaL%3zKzppy1c~i+BXzTzUNz2nDKH)3B>oD$Sx9^&)?{&vK{bL@Szmd*d zSuuIGciTfs-U7Zetg!eh@a7kc{<|n)te|jsH|2%!m`|y{v(B&tLzse;p@HbL3 z7yq!-tgw=+R5%D8JL|}c4s5LDz>$v_Ni6WzU&KXo3?rc`~lr+qSrAnN^)cxVj_tIOjI8*z%NwTfUk zsu#;8gs_4^N-O4pjI60Ms*+-emIGKEYkO5z+|LaXny`|ge}ViA#TDJO9o^MdBHyY} zZR%4C3O zTQ6Y)+8BbWf2$IW#f1nWj1E6GO4x+W47Zi`nK4x@9XZH<8J5XudS(tA`fk3a7}l38 za0yqPxZRH~30tt0AyjBUD@{2@{YfrXww1{1Pylygn;##Ma2L86?kLZXF-=$VbTc9@ z-%5S6eW!&FH*nN;*RwS85+Vf*c=!zcsW%#p?-(Vc7(65R-mPNw^pH zQ7;P&f8LmpktEjwS)oGYskGdrqQD6Q4nHj+1|n$%!S|)}4n}5ZZ(7=gQ1=-LvzTL8o>CIV zyy6o04Q$I`-Goe&3*!Mq<2N;nQ${##0WNhqeApuDumUV1nx9`2`S`}s5K0G+6E-ABp< zn}->8PY@(OBH>Xy#^6sWNllIs%L7ZYymS>fnU702fhV}yr-yV?Nr}ZkTcddSDG8s( zf0LBL?BXVFZY#MO8tK&Zl!TLbn!#%-X)4W{MV2!eJ;rS#qbVh>#$=PX&_O&a;j{Q0 z6?8_`Ox}N6+bT~g>765eLBbb#HUTwF)@cfur}3PG=kaAa#!worLfl@q%gdL-ix(xF z;;Y6NdJ5?F|DK~EE#N!8ZlX$lv66dw;y`VIkj+~b&jI6HxpZP zMx45Zn4@B*ujf4C!t1Osw@=dsRYi-Z2Z%8`QBrQ}`g>teG=IJ!+DKVc-J%6!%G zN56Ubqt#ULU|{=Qe8h7WL~!?UzFl*5^Wzy|i3bp4(phc0ks&ag`1LA#5d9{>=B|zexB6v=Bdn zN<%t{*MP>qGO5S@L0>dgf2HilzZh0mHl^ONjOp9lOD8ghmrz50^r=kOuh7Y-md3Bp zSi?W8T+hBr<4rWuHxd1QjqbJ)0;4eyW~`B2gy)=?_I3IV(g^xCtiyJEgRUgY5U&y> z1jskZf`jZN5N=yXARQ$z`pC9lU^H8HHU_`4g8mj=`{=NbkO2NRe>?(sF9CZj;Es(Y zfCtHTj{sg{*|~tN%yTYkgo^+t1j0>@lJD5L)Y-Y{G30P67{v-4z)FmXV8RxH6HGI{i_;>QW)W76xZ+`XL|6?TGJqW#4~M=f zYzAU9^2`Dq;fBb`>s1=A)uJi+r#{kaYdv?8E!}rPK4;=RSy9MXn5A)QV zAzEIe{~w7Ye=OoSYsWFWD2_EAoO9x^O7Q?Oc(`mV=PJZEqS{#Xows|nwc`@nr#d)97Lk_;f9!1dJnrE49a;2*J1(F# zoG1Hcg6AywFh^0TXrwRA)zGkxz6A4)-RdOWYB%-;fxsFUcleN#%N)()p>86_JKjah zRSevB5xe>Kn;~}(x^mxShhhi7W69zP+iSng zV1wn=?>z&re`lefvmSAwHMr1xsHxw{=U>E=HmO}UULD7~go(nUoNz(q)~Hq4OY|&6 zi^sw_X&0x9*Ja0PyC{eFjVOwUR^kK8;(;k%q#a>;BfBcKn#ce}R)^0}Yo4UaJdO2u z1|4`7o%C^+uU3~+tu9+FczP5;@RnS;`b4>oQlYH?e~$~H1=e=F2cKub3aHVJHb@Gg zOnDc$a;OUh0X;{+&l4Rl5SK4fH=d%FdI`6ZOy>hy>jbnGmvJQ@Q0>ZGK$k^3&r;u5 zmE2+QvYg6?LOrIbo1_@F%-Uv1ht+)%q9t{5a+ZDC*=Ly5wksL+u8eT7Gqvu4){TSLMWqlYCXg_>&S#CW}wJQfA4#v(%C~;ox=Kg$ohh zC$CViQs~cQ@%e=U?tWd&d#I0i|7npJX7Qy$f8w_miy=)ug*Qt~excgQKeMZLt&{PV z;F;lVf@#9fZJ17bN!9X&+*k>x*2c+6X($v5@&i{-vDvK`aAxKe`D4E08mQ@2+Rs-?b!(c0FWC108mQ<1QY-W2nYZG zmyhyZ50_9ySqYbrqMj*#SNnV0RvCVe<3zTjre5eex-xLObxZ6tZr8PeIBVyn$<{VE zlFZpUHl{dAqE?oSEQe;7ZY!`0Fkp;K+H6(u85UcijK%oPJK$ zW+ZJ{&eS>KqhE$=!mxv@(Zz6U?>Il7R*6k|)-)7t**OsxaSOWX4E8c-&nnb!y?PoHsLlwOayiXGjDY z&z1d*h&#Bl5mMIL6!1BQz5b*QRRldE_Tf&VDmhdP$LoP@(-QY;Cl29W0f$A(lp_oW>oZ4#)ZHk5qMUNW>>9~h?);yAL0L$rc#Oa%t_sxEURi1qZkwLkcfwIlHo{w(fR_-R%tP1O{4`?o;LI% zv05Y5C$kfy41*0+Z$NK_&uJ0kn4s{{bW>Sc+xj-LV&~hFjc{(nyB2jnKk(WxC1M(1 zB!nnirX@qxOrEI>4>l5QC36$m9>J`LIXuE}3$f3CmOKGdOAL1gi^vI>XBY?$&kLxIbNLj-llZcLr$k6tU^whAr68M9f$UP# zr)YE9+MJ-h3BE@dX-?8q>>aM7u*Yh$n#iiMiy~wY#)2UiRVhyn9SKA`&>Lquu>wWF zS&r*}IqD!@8(S)Cd0z6;Bf3^97i6QVc~-<+1O*WqbTXLw(d=4bL04zwlCG|Ds>8kY z;>zG>%9fDrMAQkt!Y~#{wJ7IR$*?MODeVw1<|MT&pYXnPq6AYwS;Q*7%8+hR7wYYX zJ+0u$Fd7WLht-Hm)ygl*_$^{h#M5|&A*7RkcYEvK6sqqZ5j-d20-k3O3H6EyJ5m?$ z#xWMbiy|)KYt*FjJo%`G*X88jJHH{~CA@6KsD&8Asb-wtlp84~US&91UmcCim|H8# zB@6y}I^%U10pB8P0u`}k^SVpDV8p7LJI57Go-7v@WMj_$&^@l_B{e4*3ST>$VRJ=) zp{~?CT%1qMO_Xk-({FZyM!1FP023v*I?qFZj;Jz*ZUVZM`njyFoIRw*%v(0A0hkqfUNykRNJU z(D2+$W-gmK#s$*I5S>+)HOVX+#7-T5o*Al@pY_>mcx4KZOn-eeXE@OelZu;~Z`Y@y z)*=^%`&y$Ib^x0m{@75|aN{75?!xlct^Po8xv24QvTe8RNP8J%}UusP-Uj9 zcA99xy&c7rlJ^9q_v;zjk}9@h%96K8^j4JQnnr0^MK=_?QQXn+D8s{zz7IElT~D}k zPB&Dm6<*u|%6re^tnVwhHT4FY=u6%M(d$f21%^jR=MOd00qMU|#=eF!oVeN5>(j&u zs?qcOI?79|fWI-^RoVKflhP|?wp=XghAA()M;RvmU$0nOJJ#L;NDYoQYNV}rJh<_D z{k9(8mTw6>&|$4R0(g`GHU2~F5^uFyDsgdbZ##x3z7OMEm$+n^0DmR^32 z;dvT4c{G*mzm9`#xJ-+GHcMWI#bdfcM%0xN#hdtv^*xHW@KciUwrf8B_A~d}&pr8X zl0t9M?-!OyzqIuDm7~Yzaa8~ zLThq9nfd@39%(a45B_~*Fz^%!ktnJc$lZ(BOApr+mT-{pIzsPFFXjeaI0l`V`yI_m zm7ROH$2`4C95aVVkQF7#8^}>=K1#Ygb`z0mi?s@iiDPt@1K|D+D z+o;LA4Ln=TPpvUuZ$_Vx!+qkxo!;-XPd29wGjUtWAlC^Cb z(n8WUX_D>_bq5q^$pSI^*jYs=pk*6Q5d*?3ayyrdVo_nr8 z`p^3}0BpwJ-Eaup6*40JY27@MobVr2e`nN~8c%3(znU=p+KE`)Kcq%94+LBa>QFCG z->pY=vq!+$u`cLFgTSiN5{8UPZ9q?$9=PH1pb3f_3s_LIz`d0e8}W!5?u|wbQ#ExX zx{C${q8$Up_l+6HwCIQ$oz?;+R^*seZqXd-z`CFZEogOP5o5khV0{J2`Dpiie_Uu8 zNfX)>wBvSxhJkaHy1qTtg}c}k$&>Mu7>qfa#a(S zVYwThRB$I&2y85^WJXWurV;l)phdN~9tx&E1?uEP1v5$`9N?AyF!AW$H*r)8v84q= zO<0Ay+*r*h*Oc|)9Lk`fPudVmfBJCV(1MLb=-moBu#PN`r5(7s8vl9VL#G?-6>NZC zU}f}Z;hmzs2z}k+g$ZEtU+~dZ*3MGgw0$WOhGbX4vLm&HO zN1X_3!*L@S&_Du=gUESHH zEZj$nt4Jdpm>%rJE>35=1=_M>V$_W5(P=Bwd`3Y(_6WGu$w|&M0%no5l@12$(-H|f z5;bNZHwFYYRM zBO-{pVJL{>8Sxnf zr}3M^r>y?MeNv%M*dt_Uo=-wh@J@dcMY;E+jj`{-kS0g0ry-~Cl74Xkf ziooXi?dY~h8t$%{iUMg&LXhi%YKo$MSet zh_%XP%i2w&1YI3Pt1yAVq7${-7O0|lD^<1$Y^q$O6`YOIgP3%gG6dy9(=H~u29IKJa5Y#U#DLWwZKN)hE4be^_27;f4qPfrH(p$6D}$5Fttu<8@$5TX~}SA z$=E{gtF2PTiu5{52KQdV%TjKGMC`yTwk95Vo<_b!{YD2ZY@vY`%cO7PJJhm4-?hLr zlV}EWoLU#PtzO2m(7Qf`#pB)-?#Q58Bp2LA+j~gYb`rWnqVuLV+UQ#GJ$zqcX_Yt~ zf3n9oomn_rB~GWrxxh(VK#M_xu(1AsmeF(D!WW{JNoe$WJFjD@6PImV^-|uhET$T5 zERA>-ugUpFoWtuDQ|%HH&%I&K{V>DXt7O_ao3kHD9Oo?@(>XX+I+5?Sz2t#`l2|U3 z!SdtESbjoFMleb}#^R?h-csj%7i%xue-W7GV>m1N>MRUtAwQ+DcHC|m^agp45p?;k z!8`6_QRhkGW$zVipa8xE@fE5rOHYA(xD(vLlsB8~8Hu(!=( z?*Tq2gF|#ihUu`3je9ftnxzhdA|gh4;E}9T(q`*zv-P%-nzv~uzt*qd9qUZwAebON z(+JK{%fh$%K17}KqVv9G?3ENAe|#M)xVJ2Y!@l#xM7sa^ao5GC9pb`&|LOHzMd+d( ztZ8o@Cr~Gdo>K(#QQV2gh~mcy>M8QrQ#M_kQr^XT(r;UB1GXZCtCp9V;Hv*Ogjo46 z@`UBAltg|8XRY+PjU=(TE#6sZls2a+l#bj)Q@)#?$qL*SJ8hoEvzD9!gWM<#^=lX*=Va~R*zHTXSvT;@oMX--H>qdE%MCk0{fY*Ejo%bxxodbbAMZOQv)pf6dMRjrXIY#PlERns zh4>1E(B?DvpvdO0RJZvwKD-spzrPjDf4CLRAJwk;4E|W)vg$VD8c*`P3jCS={wml1 z?SD{92MA9DpeK9@006a@aUKO7myn}o375|upBk4OwVoD#R$F)5L=gVgmpFFZ)(L57 zD1|h%U^^G}lC~i>0XNO1#kt@F)0A5kS#eZk$w!uQ3crbmmWPDGIUJt(Q5vN2tsj$F~l%0=@p@@m`B!u@IpKmtD;ep4MD7# zg8Z^-2wRqas^%3_Hbixm<_tqwMN`aWhMUQ}zwMs>ldKg)tt@9!#TbS;U6di+g{g^! z`#2Iu92XeIC97uYmB&P?h^q37XezqK5KN|uBe;Y_1fy|`;T?us?Fo*RnqumPur6z| zp-9F0lp$;{FcjPErCl5{d9Ea=v`b<8;Ds!inUq(5G=j^Rh~QoB;1!0s?hY1prQ~|I z`hR#;jNrYFX?{z+qUxILaK|u-_j!d};Hmf^jt?;$w!p{wx*Q6f1g3R)r@d+_8n5B-`XNhAZ0Hs5C7tweh=wxYfp%a+yRbf;5lC z48v7_+jq-URN>IlBwm!limuhHicFciob<~?40D)|K#1cOZZnKEAhxRd1`=R z;%wM{uD%UjyUK1)l-(<2_HvnJPDmp|bXO^BqG=ffr)CRFUjCeqY`Onl;4;%+ioO|t z9`yp!)Ej*p9fQy(3d2Hw7Fj1?JK2Fl;X&g;Am2xon&+;iOYRx1h~AY^< zC7Xmgc>Vgk)=`yVyVH8M-}A{sR_N&60FZXjOx+WPiKK6u1D8f~bVYOXs~!;tiUZ})O#(0?<>bVm-ZO-kcQpSzyA?CMMYp5R?N z0=o8YG<598$d+#ITGgsWd)n1R1hwH?-;d1k}$L`t_l5y^6fW!$BB=DuZfxPX|2E2138KSnf7i23*Ts*L&A8 z-O9P|Yq^K7og5ULQX8I0zriN~PYQlS1kam_Y}ie~FpBtwur^$LE_vE&D7zvJ^-%AV z@EN{!s#|cJ4X1y{Y^%R=lfPkys}AyAB1dul-q~>joXFdq!gyhxp*HD$dSqhyyjqjWMl=3M{iKTt~t2wojAaMc6=04kTk1_K?J zuoYJcm!N~26_+px&mDi=T6=t4Rh|F-GLuXmH|-FUmb7VUODV}r+Ub)>(-x96ZDSt^ zN!nOksgucVI%P5w=aIBUS@3~nQCHNJh1FHT1=sD?f{;>RvFZYgf+D!5 zeXYyN{(k4)xpOmf=aIDR2mPZt=brmJzw`Zle~)wSnSS+Gk34@4U_AvqC?l*3#l`}o z;pCyzaNuxoA~+t5C-itAm`DbaN5}O*S0tE7^u~LlNj-ir7}5uMuo?unhH_L8DmI0q z;p7&AtGQ*L2bF|n`8Do|jp)0=iDWfAa95)Sng_L_Xbxdb{%QJ=@pzzj_^=*IcE$Bz zG8~I`^AO?X=3Rfzvj$_=>(TyTbX0H8BVp+kO?o21Itz*B<)YA}w7C~dre$9>ytv4N zIw9>1gqD(xBV1MjS+YP48Z^wqd_rYHPY#4)<2vDO`6fH@*iuY3*O%?GZli_;SV-{j zy235taG_=M`((BN7HL?FO9);QKu3HuHKs?C3BvwDNHTv8n&rYvH7t{bHD1_SR9-CC zaGAVlkQdQd^ypYDl~6W!#zu~c#N`^AB@ydGsYEh1*2CEt4o1Sq)B-i|!S6w%yYN+rXQK<~IL zAB+&HV+Z%7B9Y*5ghRZ!IWJ4ornO7ayh_8>=-^@-92p^8S}Z2pTdozWx-@JRtEz(O z(2~(@8n$BxdpKdFxPJy2F7w}{VJCL+PLNcox?z7-nOcQC==Gpa!!_t@g}-MXL9Rsd50eJUjfHSEPcRvnEc z!v~M1-*p|5LP@x;5ch?2=X%>I7{%Fd*03Mf5^6d3`+{-yoA{Klt+?Aui_{wYmWH?D zI>LWNQeG07MS2esE-$U(G1Rvq=)tgt5I888I!}^VP6YPKU$%%NfyvktOG+LPR^-nC z`;Y|7K@Fo4DODZ)+xPD7-ZMBLqhSq)Wwd;ttGBOPHpz&PH%90@Z?Y6oF(GQaq?Fqy zfZ`ew0?0kMU+@qjk}?w-CM6MTllIL;inu-&o6yCy_h~qeTM0GBkh$S+XrA3(=EZHY zM280-Agn50%ex}6sBRYXYP{b#7Jf*>?f5XG42DAbIGgw8LbN+?U8QY4Rrn}=&x3!D zX}ANwpZ7F8rYD1AOkpJOCLZilgS&Zbw~P@M#&Vdjz1^G#dPZq3k=FEf5AG_+<1lYc z0ok9n>Y+$5t~7|FKd#{u_(KklgoH;|bI*CFfd`-BI4e@*jn4xw?$&S*KEp@3xIP}? zVlNPiEl_+jtHHgv&x6lOc>FQ*p4opT52m6aF+I=~izYa&_+ZfBR8-XY_D?jNz@Ku} zBw|(kAxj8lJ$Dd}?Mt+7j-nye=#)#!!vl6 zBYHIbane?>MCL#9h_-KNcn*KxRQaL&MCdCe@MaJ~9F;E+uFMZG%Ek(wgmV25%S`*^ z@!&5DelR#s_u$(FPjR`kYzuy8hIrFQW3^>@@FJgKi!x}CW*og6`%}?mcuZ|SJkSy4 zqn^PnVQujcGFP`wc6=xq;2;eqQ*lr2jP7)xte&* zu6SDbQ(@k8+jy#JpO=fvq1Xr?9D*D_dYo;2@b!RtW)UMMe&h83`vTsl5fwaIz8)N5 zF9a9dr>|KFkYHI|U}k?uB(g26M@AC1-HVgCI%!=-5|$Oeup~P6>v0GCo9SVi$iGt- z_%xFXtoW#G205oo!p0fv+cenUKG>o59T&I!vAwB(W3K8Bhp{a)|FE=H<3BCjCu}W6 ziS5$T@y3Tw`7_i)SU~08-j5vW@SIBZFmC9uIu$o+`$T`j}e9p;d0ikvv84O*&J2-A0Dz2C*YEdJ=<#WmQ z%f^a=pE1^6Nf;};nn|Lftbjj9imCB<$+_}j(2x*D@C-s{5&r(dD#gU-X@ zgHFRsnr(#VTwAFGtq6vU3!6m+MG5_d-WQE12cE=PdkX@bomR1`J{fc3W9RIWJ`Z?r zIMEl29JT-Mo&TC9^DUo|&s+l$Ru;blw`C<^O$jSWB-wx0SXQ*CvQT}q!#x}ymb;J0 z^|)MEc<6G%a{KLFj6b|%$$`}Pcr2dOM=a42em^SuQ??0fd(mI#i~bsKYP!7mRhm*o z*nOe?BZ9GV*@rI7w?UE1wAqF8jMtmZGPC;NnIX3SPadXS3SQ9l9B&cxtuV_=Td85y z1F=**q;G!<%PDVuF2Yr^43?q>UX^TZ~18_Jlq2o`G_6`?LQ6IqwsK3Wj1sg z)%Pnkf5(5Txdr;sgaQ1JdzvvBe~%w=D~kUCE~S4sEdND}+ZrGFTWMuljmxIyI&Kdr zH9kYsR3klu2kD9RWvVAOy6}(IvNCdxNB)WXwJx6GWnnK5dQHRsSt0rtRxXG>!iXwF zR1mFfbT^heU^>LQ!wS3j^4|$oH_1F6!9_TVi*XE>;0CO~JJ=)dR4nW;matgxQ^MJcPIvwN-v!>lw7TaLTf>LLq&Zvcy=s%Ce*iFXPAReHH!-KVh|kaGtVA z-u={i_cI<7TvcT}?B#*9Z+@3b0CAI2L`Ss83l@&Q}+R+=yjJ-_0yR|%#~32p^MljwO0b9`o1cnIrd z#6N{CLt>^|>7Jv^x*c`wn}wWjKeUW!vP^9vqB341lg2XQ0+CzMMRm%)avn@$qH=y) zK_1h#fN5JfBk0UF><*h@<#xlUl9hi{ITFB&~|X$LSQ z{~yp~_b%p5*jeirGVf(2r+g1!x5?~)v`<2lhNdtyL&+q|bs$OV1AybH`h6R^d(C>dSp||-T z#(^Qh-|h1L~tJFn=x?QPJeeA{vmlV;ddMGyBYrV3Vyf1kNPqd#-RUM zHsb3{|8uPUn@s=n4F3g&|E+&K^sAjDmu%SuNd6103GntDl6%r9-!2a(${qt{52H*f zls(xf4U)gZB!8DlevwK39xw8JM)?Cqd5%ebDG$j~*&QgAy^5&TF`ZHl>GY$#=`@GO z7CUD|DsAi$c`%Jl8OElph)OwU#LK+SkJ%+ZVWWP^F8LW7`*Sw-7kPhNGMSSRvPn5O zY0`?Oxh(izbQl!SjoeE4JL!K4<*pM(@~(7kR;6)*| zo-(@c)fWxPPD`@WCfPYn(g@5tGis}OW50#p8Qho)rYtono0`;gHGFLNofB4!4D&G7pEyi*dS$y;6rs zYQT*&54X{L+(8%PQ`CsN`T4W7NKwC@qi`;o$;gWxo8=6p4 z@d_$w=`T_K3Xe(KkRC|y8g;719_NkLDA4OrW^A55ItwqKk+Oe6la|>+v&t&cPg@E$ z%BIAvm-oK+^WOJCj=bMJi<)db%{Dz=OV1N{($urcOcD13_(=BLRkpcqYwkVxj2T;J z7=tkIygjzoxV8YSKvTagvSMqw^cESeu2cQiv$%5#e<1F5vAe%*NOxM&oi^!Ck@ni9 zjToC}#@HO6@xGqln`KCU4UwES)1hbLNm(nTY%8Q>g-=df!QXlspU%Wzlq(WwJ>0Z` zi9o4!oOoa_sHG zM`<@cM!on1_2F}L4W_6cU!eg!!Ovf#A?u7k7p*GpT-a>&K56xTm~$%@pEqJr_3F7- zrlN8YG!>PXnNcZiV_ka0JgiArQoVSUv*R%{B3jLeD0834iifw_;-M@Z51d1{X3z9x zM^eaf=6udWqrmp_sAO2B-**OoRF-{4CH`!q!?qGxX<1)MjkI7|iIkCr+%q$;(W>c9 zJop@MgxLu+h0pna>Q0`)DHm_{{(OfPeKTwN4|Cf7WePOFOE5H)X2>^w863 z!!j9adJWTXE-+L@+NVRPMV*9@j2(~}8o9EXag2mIo^nWBOE3hi1%^muM0`tV=At@2 zcT0~uJ?$e~#d~&OCmJM#W$Z#DLyIS}kTK(2NbR@GbSA0W6pI#*>nVp}Pcie;5}Ft~ zOJiF$(uQN%e`85TQ zao1;0NpA9&>hLNKNO(=g>u6;-S=>ufceJE6uP4-DTAUDzqqH{4*BF{oUaWb`XG+BE zS(_-L*Tc)Gjn~j2h9jkLPg%EhbCQ7QJ-lF=aYV*Ze_nM>@l4vWl9#ER3@u^Y(|C46 zh@f49A|r|phJ(dz@`6aKSNW5nUQ5%OGiEtsnFN73TDsOY^Vy6}87jIMg3d}xCk#HR z;}Yr=JxK8loRn}%#%Y{kI9*!DnxoM&O~%DQn@i{uww0n_SIFno^@#z7ZXcgM`aPV< zvog-%e>^d1T8^=>vhl5diL=dc)2|f$Y;Ps2*!Bvc7jH_qAmc5(&2Xp!?kHJl-Jz<~ zP0H6i%`f`J$VDi1Wdt}A7iIM062mSs-x7Q-yZe=sIv91{%kqVDAF@3WCoF_zuo&6t!C z!xTexocBrUs3naR1uS8jp{ullNsc&;X@O&gWU}N(DkPt*2m3`WHH;XhK9)(&>Gl+_ zXF8BZthkn#)@*~%-Nm4@WKi4a*bWGWFp;uk%~NS<#F=iBg?*D5(=n3b=pf5|CT&B} zf5hlpmyh+nL}Jj;6Z2_)k~wxJ&d&ha8b*54NkRwgtmtl=R_h&W(|m8F=sC(z7c&-3 z&B@pV`BG7#-t91OK}5K)$#-ic&+3-*S)_)JXh+-|4)}@^j?Jl})Vk@q;-|Q62xGn> zZ_^wH7;VosFrd8e@crR{pOhO&hl!WYS~+4M7oe!ptVITxwK5u3P)WVRenQ#0GydBVJ9Tk zHAob!$4+gIomv>UMYe9|{P2~8$Cr_FnWV*74)J+%z{SJLAJ~0;9edas_P#)KA%w*| z2;m%lx`eoPI$iw1XJ{$ZP3GwabGr0%!sTwzg&k6&>o};a;jmW{J1IUOe?!vCsKcE+ z@Sz;|5KLGeR8yFzJDzL)b8^ZRx}(o=Y$mGwg5y6?o}MbtaDq>wYv|_hzaaA$5zsTE zM1RF`g}(HOO2{UmjYtJPrdaNy9uLrfhiJhg`U&$XmF8pmo$w?tzV2Ln-EQfo1pYun zOMVeEd<5Gi(JLZ~qmaeVe~J_l;}=X9=6#BibJZIC8`V{-F3z1w#|!kXVPGb>szf{1 zad|a|XFpj6zMz=Cq|sNz_1Cm>zrj9yD}1$P?d5Q^A`M6QZ>5Yl>bdc)s`lJ;$gf3%gKd%2YHwfea7G%n+4x z)=ZbXA#3;!81S=GQaV?j>T+3fR|GHf2-gj>9 zOy-@0A1+pM&pl_K{rJvz_TD$V^Pkt>0I(6iccDmNRZxE$@eQlS?%05Dk31?zWId|r zJ~?XmI<-NiU5y&$5O7K;Mu|X4qZ(F?CIN@Lrq6{^ft#``Fb+f%UrR`iM!WR3u%YNf za!~1|$#S^hEJp<-7v`|$xdL_B^(gxzx-XyvHGQyKHb_r+8_ftr-0k_jZ^$8II>-*? z60#N5^s#@-mF(|)fv2(=@74Ay;eZ?-E==oHb*~BwUARUiE@HMs)Q^@S;|rY(yJWhg3z63al=KPUTn+p9^&oZo~$Gm6^B1 z3^f$>-Oj%S=Fm-7bfZ%q3hB|a$a;;@IUul7Rave@C z-RXg6Ix|kTO%iU!CkW4|Vsy*Ie1lI#pfz8Ikrz9y4;ll%b*Jxu>&rE>|l$#ZMH;dU~fYbMi8djpevCOm2TFY zZ(kvCMFiI8Pl+udEv#5Mu^d{wVTdv{@}=&~dB3pKU4~J7#)bV74&Y$c?q)>fhBrseok6!%;JA}LT6fbw|ASzazA$<4+!j-T?dk=Oq;) z01G_EZO(EYeNnbs4u@qUrjsu_3OJW+TuaU$4NVOKfmtd`Z75Bp z&K9$5&1+Y~N@r|jK+$`-B2uYn*Mf4WPu5j_wyI{w`nDc5DM^jMHHsel;GeNtIcFjXj7A7%oiC0>Ee)7ID68))clHo4}Yr$DGN zusL0IbB4L5=@$^&8vUxFvB1_slq9wG89P1!-!!#Q9-7{cMhm3w#umomR6>sefQocZy8qM$*3u-8-yR4EktyLLX zhS_R&#!i{5f2M`JnIYZRCez!Y47OLelPsil;O6mD6V8(Y%X5kf_;an#(Cglu{>?}! z$250%N;ATCX3N!#W^fs-Fp0g-SndR7JyPyDC&Wqkp*SX7Bd>8>Q3T9@BcVk61lSb!x4 zE!oDZycdat7P>QhmJz|W?dQ*Z?pR#-NMLnB#{5$3)Qp~3B%*)mhB9c27VtNdyq_yJGRW5_oX)^0s6IRln1Rdl{k`=+=WuyZ7T7^1uZ2!io4IFZ{k~~beS1~ z1JBa9+M4lFXu?`MPHW$$@f-(DSJJjhnyj=Ueh%NEC&&A|=_P$+TCs1SC#xv+Oklw{ z7M-ypEivbnq$o@6D7#>gIo=dQ+xd>PB{%gZG4 zef)q%?2FIBwAk}1YEl6mO#-yo@*%F|49y+FVJn~$#0mDG-g^$~`n{~`6lpx;Ig6Y4 z#XF9V^Yec)Bz}l-Z0YxSUqg+DR+>F*)@hnuMS%nNk+J(R2M=H#9wPo9B9O54hfjrQRapv$nhS7U5nobr;QBYJyQLOv1%uI7`bv#H$v$YAqm&oMR~{JeGt) zkxi@D@MP*vPbz*-WZXH9i8S!fVO#3vr?Y~8j^=;P<8=%CfSE&x@m|k)e5xpoOwYhY zH!Oi#sf}7GF5pK~P~({&)5yZ=f^G5*n*2#d()d&TelDxu7isQD4$}B1Nz==<)wS;qVxNB{F!!J}p4__X&F=33)>`<-J)ip1&v{vj^uwbJ+ywn4KjylUCMINrhXZQoWA|tzSe%>h<|!()FpdbH-6TZs}QX z-96`7#8UVEDQT}Wsm#x}t{m6hVtOv}c&W(W=cygXgZ-Yx&T%~4?-|Eu6RD%xl=}5>jbWSb zBsHKV&{ojGWY&1QvYG!s-3mXEddBhj)cCv7Qx9!Eigz+>{z74!j}d{=H-D*6%kR#{ z@_Vzf{Qhh#|7zxzkKxy8Rid!XbS;^-0w0o^Lv&H&YU-@|R>FDz!CZPuEIl2QmA`Fs@l8 zrKmgG)h*?jx}%m=yTWZnf2}wQe_6JbtX?V`JfoI4Ltk1qb!V1gI=&n%mb0F7b6quy zJhd#A6@%tV*0FW7m>SPV5ygN6S#Td?IMbRtV-<*S>;O-lp#6lWxSCUiT? zaH+Fyc}p+&irxO73gsi@!gDgt;{roeZ-~usb7-Qth|eX&WsD=iFdEEUb#$YmJP=QY zLA63_PR249M0zt^e+&$H0M!I8Ntl$OV2UAjcmt(7e^FHh#YjBBuFVLp;HrdcGOptW z!}Zo)vbJcpLociDMBOs@nr)RyYf?A5bax?>TUuONSf|2j-CGPh+d45NyRi3Ao%@Ft^#*e5wpE}MpnVRv33#dv@SI^R>f9() z=E+*eu4*DNsn8w&&|)~(`CwyUJFR`yrUvLpQtjfwfBx!aKEug_-lF(<9-HZ!D4knR z<>peef{;drNLDYJs#CQI&PcD%H1p2|tj%^`<~}n$#%a!Q_b4C@=UQM7V^F$8VYt?v zMA~!MTKYe`q6tknfpkAsJb3jv5f3=^Xj|4%wdX5p*^7I>TG>DFE+3)Sh+40A8A{}~ zJw@zJe;roE&&BA%OVQ~?Q;<+)xKQ8Y9upbM$yUo{%XWCd-%2j;@=oU|@l&TQZN9hb zb?Gj8j0k-+YgKKHFY3bkL-mi7LKdUcx1*qYApLs8rHRHYUE=#_%+WYVBORFZd_ZqE z5TY5-pJ2o6Jwk72-h(_nqcnnUC=#w>gJyDVe;*#=5sd<4lVkzn z*Q4g-74lT3r7n6KU7mH;;HOZq}7F2ixKFc{ux_jKyecEkS?8OLyG;7f?$F2#&L4tC#FNz*VVmv|K=w?phqjnIUYahIsQ=|pZCpl5}ITtv3^M2 z+jIFn*Y}+tfBNQI0FU8Q2_c3DvQ|Es)1BqgLh_Qjq83!UsM&u>wdf?Zs|7nbq2{$1 z7$P#-(9Y04q?@`k%n*+EWh8827zmIsPMV{?D*gEz+JdVL1~e!(ccVZ_0mBJd8&q zJStP4Il^$HF-B{FW-GLq6ccs9(57swKsr|$uQ_U->@t#PXmd(zj?>;a z-y?q%8&+!-)mQ@)D#9BVy(cEcua#*TGni$NY^`9ZSql1SU_=5VHs65^<|I7BeSeN& zukaNw_T*B@%yJ~jQOhir@)~upo%QOR()d}NmvBMGMLfr_y&__=zy+w}hLA-W6mQ%n z?jnB|si?|WK$faK$L}uBpQq!E61i26c0iM{gdE) zh2fFb+Xua1RXfKcR+Fg=J$Hw3wXhz_V=XHhnw?I~j--aULK+#OGkVTcosv!BjG^gc zwfaZu>xDyC_XKsJP z1Nl&JE2yd&x{qfZHG6qnEvy%}DOy2qPy?oJ;kNU(^h}sNcf21 z!3vFdP1486OsPl+LU2{>J`4%*A0py$ZSj(1V44R?%!H&D+pU z|I4&GL32jq4u#zTJNGrhcOcOa{Ti{)X+H#={$n%(1GtC2cP`OPF7x0r3?YBJ4S9rx zyfcW<4A`QuM1LI_MMIa5KK=Wvbw!3Jf3xA{~hi$tmJBfs= z)JRZ-#%_gc+@>5_!;U#+4fj@bZx;l|iG7%`KS9Et6d05;qlcjzMK}UOw?GpTGma)K z&}eTQPhH4i3kL79I`a1o!8q?^hY z7~qS<8Xo84_mKI()^Kc2NqmKa3Y|QuRNQ}n3KCH zfKoPe&~wM22t32zXiiYJ?G+}sF_DanKeSylkC7s7MVE31C#iN$5th^6p<|=P*(!^> zJd5d@z?E~@bywsIJiULBSFhrYc)axaVDaNX6Z^nZsGuZPGDQ5}D{ z;kjiGNe1P3gv@HEqUxm7-bLBJoAR-e9lf4AdhrVWF7)@}Rhos?9n-#jJr`b~;Z*_b zHN5T`)$bY=irm;>()B8nLY_(g@Z9QgDjS{ga$U|h@TOY>)3krfW4R@v+{W2ZO$oe4 zP3ZNim{&KUx9~Q}TJ_}foqy8Ijs05!I9K~G+I$E9cKu&T^;?+Vi1+O}sa_WHZr2DU zz<|NrHhm+*c~$eLru2O{4Y zKBV8rg8q}A0Z;}>_Nn6~cbyCw6P-MkXD@#U_Ll^dCc!C%H1`jO*U0{ac znIFY)uB6J2EiXyPOr)!G&-uQy-Npa>`^R4Zj^q0tgc!P%QrUhGM+99_bPI^0hhaiC zN@7v9*D5RGU1?n^OQwINn4)CaqH@1%ic7Ys>cy;TE2gB)l7yi_71`d9 z2~X6E{dgmaH@S-k7{=PWm^ajd@8A6Y<5xaL2|Xy_Ega%8^E5N;4655SD;+o7lE#iMQj8M_tmbpaA9BV|tCK0EeT1Mm2$h{1y{ba;>B%n6k9481w|8id{-RdWs+UyGKRfY zeT8Z!Gfh0NVm8#*x2E38;A|9AJRk2e>~s9*#SvF4y3Bu{N1iJK=KV_XT8e znR-~}?ZI%oDP)TU!VsAuM20@Tt1VPYD~h=+t!U1gFl0%~OQy=dJz>ONQ>nX;ZiQ(e zXv56Y-b#OQtr-RC7KwsaOv2xjtLU~`a+;oar*+-1oz0HsCR%V$YucQuXa$QG+cqmQ z?{8XjwtpZn9BhARFtGL3K{i=Rv=>WeapQjCbqK@Y#)Lj7zf9`nrin7kx%BdMdWsX$ zn<2KO7In$4m;|R~a+8hx(*d%n&F>aIGd+fB%y56c6OfvnJaAKH5I2cJ4Zk^yjF+%0 znJuTH0gWeteDAXq+ui*OdG|n>3%nd`VbSzRmMf;yKN)bnpwbihOO<}r3b-)Q{op3e zNkMb{>S}=WKr-862X$hmBgegc>~E>caJAKZvrWH6PIwKMTl%*pP##miZ3HA^Fd4YJ zGhBZPoY-PWGaZ}=!8gR}vA}Sq{UHzxLbj(n_n@A3yklCA>r@9^Tvf3wN@^|DSbM6f zA?Y9KfN6oAwHyaqa&YZ*{c`ko`S|R8eih?qRTSSa9IEO#_qYYaUaFMKhG{DWUzN<3 zjEX5Mb1FX&1{+#roTFffj{OAq-)=B|2c&=J0)3rCm_|TPitS|25Pm}A5Ekhfr#I+M z6s2EbS7;=-dbo-ly*b7b*>a3?^ya$p6dQStSOCgd#4zQc47!>g3LnvJn$VVM+{Nf4 zfonAECQ;s_pOx)Xmz zufrO0SYsg)g9Mz7uEbtYvd0!1NsYe1U>J|-BkXW>I~ds-j+oC8!wuYY=3}^p+r)9l zkDAYY=+Avr<-b8u-=hDIop2<_j}_04;s!rn595jNhnw3RC1|OsFLDcC3hjMSNM)6L z2ziALd4=Y6{vAW9$909iP0rlutk8cv-D^<2K0Hcqw-0~A&~v<91$MJt2<*YT!LFr( zT+_+U=-f5BAbYM&dP^jc`V(U}oRqhVxR~%=q$|9KGwy{L`4uPXZ6DRx zMts|Q&^+5w&o&hKrOxu}8q1JxS@OO2EmQTJKLlFplq9$Fa$ZV%Mp7@34mE!?-jB34 zf2v7nkDt&Ul<^5+-Ki;A8D=%bWqP>{W|7dQ)VWm@J!iX8&+%TpzdzUb+vRb&AnS=~ z%JZjQ#8r@|n5zewXaphSEba#wU+T>G0v>FK`Qdh$A8m*Ev+Xc{z8&T-w$7ZzmkrI* znK8a{78j!>!|<)6|J{F3O9uuB*C5D{^Ow!;o>hPAQyWzj|J^_c30sKRqP1!(S{pXl zQ2J89BBh|Myb74ws;x^{VB1YLZZ=qaYt`2Jem_6x_?U5qacW0t)fvZ6I^!SZc<$Y0 zcgdUfLvo+zoZorgv;Y40`=0>z;HwA%s0*Q9LJ$oMv6PWc%xl&{ekO5RSyZx$nN!V# zlCysj>e;NBn965WbBJaP4SiZhvkovEiH($|nl{d;nMoxxulAO?;qo0*(rRxgBR- zkkE=788)W!Im<{NCW~o`u05kz0(4!hBiVn1O=t_@CJ8rVGecK-{)<{pvkWuwpqf!l zEtRyF3_)?gFi}+n58MbpPUvKo#Q4l+7+MAYyrt=h@hmsKqBBH{xv{*iD>HvO zv5m#b+GGt`Zx}M-A#_T(2Rj+|mPcdE&}@+w<6^?)Oqd3#Y%MW_r;kqzof;b$9b(vD zL8S^zM2K}s*oAHiv5aA9b4#mdg9|+58BSJmLM7hC)+ptp2o;gNA?%Z|ANMlcS%YgB zHc;kGD5jdR#*A57AFPCtU#XaO;sSrSM301C^fBB(><4n5fbls3R$YWB4hJOk;{k?d zQ%xI-s#hO6W9v%&MjVtdh(lB-ZB8{oI1$1y!_Mk?HmDmJ)k(AnhVT%tm^X3-j!1YI zBP3QyrPM4{g-0uiEnQM-s}5m|VLXHh2}d!>u)DOBv}!47Qch1Cq0I@gIZA(fqkNC@ zGPi0p-{zh&h&^6YMO0L*rtwG!Nv{7fhAm#^&gC;Hp1X-bBa_RgRVq!JN+o-e*No#5 zPVj;eFy^=yAD8e1PBMf{HLEKra^qlCH&%Buchr*-6wEM4^Qz_3eP7u)tEfHaI4eQr zu^UYB=wR49na@~STEq!u_CSAzDuj4=atz&7g{;;)w;(Xo4~lec8PPK8SUx?Yn$vde zY#lLDik?(Vjjx@}dTT)=NpkIJBZ_csodQFYlwUArDWYh{QcV)oRe^Xw*M~J#pUv?g zu*`gl$2mO#mfIdMv{!E-7}#QY>s3f8dh8W*o|~#D@EF?G+K-BkW5a)*bqng7p6s0- z=smy%(n#;jls2DHth`C=^uEcSV)+9l_71GSYPgc=uY=|chiYNsYZ*$uFbs)xaw%Ux z%24z<2Ak-+W>XY#<3=FtP4oUHvn^J#qhPqd-2Sw%AC8$|`iGr^jw@Z>xBf;c%t%s>*wHgIi#vBCd5Y z6MnM{pV9}f%{^-ow%CoppswU{b~v;+k4oC@g!b1^{k^Xqul!SUUcEo@2pEHYQtFfD&|*1bw(Q%2rQslytN z>SouVJ2^Fd83gEw2I#fsUkNnM(W-&Qc^cbjq^5}e7ihH?buOdf z(Lf|z#tHsCPGf&mCJ`aIa|O~dc?D5VSS#x3e~@Snp@~|*77Poa+iW^lXcSpIC3J}j z@c|(|9H4E`1{X_>qN7@hMou1%%bmYrV;wHhqE5(b5Ii3C$q2hL!Z48&=V4gLlZ-`I zeSY?|dv?~7ZxSGjeoI27X9SLC9USv(aNJUdpIscbk&l0p!zasPd9DJM=c{9Rfv&uW zmmF7g(~6Tc%D-UiRor>Wb%AY?q%T|=9T+yBmuat=9AopjKn~*|y5pSD4+zSaeEb^{AJ__ZACu$1VyjFi_sO0UZl@Rm9^(xu8R8_VbqaUmNyMp#?81yM>bhNn zbURV^3eA5BL1c?R{uuu_aR73AaMJepKM2+>+kjdfv=NHF`;XNx^LQLsE&#MZj5RXH z8Ehb-nF?ejp?O<3xx9X>l957uACXd&(MKH7Sh_BDUJ?$CBRw1N8N0?Knf%79CG-bL?H z%7rrDC`oyN_U-7ObR5wbmw&@lpeXp?C8NLRGi{@5+D2T&o5X9;7m*k7mREBwy21H2 zZNB3MdBOo3l&|8^LcAaQ@CMgJ_`9_Co~!Y0+7Zbmv%j#1N>(AGFMN!`uHy7z<)Aq4 zr2T&me+0HU5!ftu+FV5xc3#0_g<<$LdGH$&^(}?rcNB)-)BX=sAb#`}iXE=4b~s_k zXYbQ2;0EO8)v~|?@_m7^zjh^mDpoQ&K+*Vt!@x833QiRgcNLqOh*f-8f;d$hv4W4T zNAkzlE?LDVMd4K&F+LTpVEBxFUx@o({tpdMO9u$7inA$m2LJ%Am!ZiT9hVSKT?v=4 z_MR($So?nzR~7%>>?WIR23THc%fkYNcC#DU&;r3ErGyYL7!pWA(qdaX*-VmweZ-yF zK&V<;>4Pe*;QLV(sL*Ouie-VK6|1(kYVB|S;D6%Bk9yAC$?Rm`3w-?WA#>;6d(Qcu z?>YCJJNwap-gy_mCVb*SmB0hxcr-Mwn-j@@kDFpjKc_VJ*G!QLRTeOfNiedr=R?gL$lIzCdFM;{!)@ zGd#iO1x$ZW{@sJ|!&n!57#vw0!Sm?nb#=E#Q-i&^K zfpulzWdrqCs-OXP3Dg^!IiN+fuo)+RA1x%G&zr_ldoxV7vB`TBEW>gEFPZF$nF(Dp z1ojuRm?5P?Q!5pGij!tZIBA&iXg6h!u154@s!71>u?nj_Sfk)RtQBZ3ta?f}bmAqn zTZ?H4Jv@|t6{waACBSFn>f!ZJgklhX>Ki#kgp*e}Q}wtX4|w2bY>fizOJf^~>!UWX z?Y9YNsE)`BDrmxb0gpBtq_yS5h5&mr%@LkiW1&2+{|Uf@1| zcPYs>4_X8Qg*O>y)SPvi08O)lpH|R{Hi25hPW)g6dGE!;*yh0_3bvy|V0C_f$)u@A zjL-r8D=<$rXwK}7o4v_MgefU28|u)BogQ>4*oEB!n+s!%kI-m}Ui#!f9f@fB67fm0 zIZc7=>K*Lw?ivtiDdJ`k6*9Kn3ijZ$bf#i)Qy-h2UF)3Ssv_`YvD7Q3JJ;=eiOJcq zS3xiOh)pUW`_u%bC#QhGu2MCBq-gz^lfe5G^n-|6NG3XrjFG-E>RRQMsv(Zr0R=-G zvf6>Jp03WpzJ4z1k23zp1a{muUWxT{jP-FoCMDHL`kqwqc|1iO)zFV=vX6H2^oW8m zpShZZ7L8A73{>N(v9dHD^k70@L+Luz8HvX^jQC>zKX zlgHpC1t;;cfI>aPp|GW3*D0;?YYI-`73%Y0PFiZiMLSq_U-jVYMNdSG>hC3W%Nad--Nr8>tlJvRG?ulJR;75=%b)b#78N?=ySo;5(M}79R^S#$qe_N z{$$M5qq5Wy%#IkfOL^@ic+ExBbwnb&bS*M!@F6r4Nxqj5rC!s%xziU<>D#@)x&Qk& z%Pp`ZrUV|Wywp>F?N$@xoU%F9Nuaf2eeHw&ZG#>1bhzj#5NYpk%~jozXKq{Njmox0 ze;R2lu(KQ`jthR?n~^}MLM;NDDwAlpNZQwa%T(lOV-g7aU|Amr6&Jf&>jQ*tzoFt^ z5jo)F0=h!uUzX>FC?p)==3 zBXf;znWp@iWM$E<0(*+BSBi6QQDBv6V=v0N*klqhbFmTFScW7=+bOfAFJ_pZ9oK@EFCU~j&Ay}+9P$WO7F9D@QCpWIby_B_?~TvXU@>f_i0?mj`?W9XSwtP z{E(jP&}$Z$`J|e`9H&(`JsSeSt5^_dN@2-xV0{XA4+m0Mk%87gGQfWN+fM`zU?B#v z6bB@K%s^U$4YL71!jC1W1_`)Iju^1Z0k}Z|c1ghVTqFY844Q-m`X{uFzGW?-VR|wf zb-_T>b=>R1B^z6f)OXN9S)Glg4rg&ruGir_UbiS~keGPwr}o-~40&gXxbrr77bT82 zEF9x=aIAA7JA6-3DAa;j-YkOUXQi?HoVGN7V?ws&^{bw2QQGOOM%PS!7srSKEu!V2{%1N3O&Pt;1vXa zcx9g?!!6CNp>O~O88I;rNi4t-GIA6_OcRsGuo+J~oNKY2Yq4rVCShA-!V3Ia>aJR_ zeAe;IIeVLy8*rD!?CBgIw$A!6$S;-;Thl&lB_D>R4_n!XgMmzfr+qk1K0Hf4JV!p9 zARnG5A6_6IUL+r0D&Rx9UgRKdl_fBLj4=!8S$cA=ZV7&XYS)bG;T2433QwHFDjuz% zvRiHraJCs&QpnJl2Mkg-=O&Znsup259j!B49JdT%CRvnQjLW;uTt z@)jHN7FVJ{v7V;}HPfn4Ibdt4_CJv4-a0BC1lyze9&`s2TXXo2% zj(qdk`DRi=q#5{x^l%mHwHVm8(q>>Sk5;A`SR}_ybVO2!F$*qY;U89L=LcxP#}(8) z6X4RG$S|{kyh&&E>xAe6F>{fad4qE2O`>T=~Q;nx!g^x%+^&d>&y~Ir`Kkw z*J6oBS7}rw`BG3V`C3POEt;)=A57R)>FhOJw@7QUPG*&RCX1$&gQhB*rgv<*ZONQ+ z^P9YqH)uY)R$aqXw(xreYt?UQ?p^%OstWy9t*Q+MuH%bUIkorC)H*+O90h0Vyouk> zInF%uUZ#58v`zkjCQssJ%i|3eZuez8n+^M82W)rRl&^zi|Cmz&Q+P3BTlnEzpGo*s zp7NQ(SIZMVi9g+r<@ayh@+o|f6X)`TDP~Nbz=u-JUv3>k1O94ZXtvU%h70MEV$wAh zh}pX6^O2%u_**_jcUPdO$;SouV=3_W{{c`-2M8&W7WBjk0069)aUKOBmyoWX8kP;u z29>>^8h=;`d=%vs|9`ui%w{v1Wq}}~OP~NB|G-IW}(qOAIgARSKnrKrJJ!+(t zr^9g?hue*mmgtGpbo$_9DJlgPk05}Bo2Bej;u)1iU@gv)aW<+1Cd4vnL+^`{M4A%U zu76StO-~58gEgI%7>9s_@iHc0qQLy(So^fJX6UK#MQTD#X|c}iD;dpP5ZF~r(UO+3 z>%MvS9yMk}YKBi$ViL}gFqx&CA~0`cDLZwoD<|Um|C?xZEYmPu!nrce!wi9dxg}$0 z@$lv(TUCh*xb$v;V6doWL$;G{GcilTY=0SZaDl+o{Fd%aBF3A-&3Yo8=~LOQlvqqn zlC>u~vG0@+6sRBBI?ZuCp<3qgVJ>Rf*Q?lN>R60<0+*CBnX@a5?kFn|#(W72WHex5 z(dg<^4W&=-Qsd$EG`Yo`+(>g9c}`%u;c#BI^;JcL&$D$p@En5(TVk<{C0Hup?SD}X zGpZ<#f;GcK)r$-1$S-a4A%aE;D`c$1Dgl4tMv9blGR~1Q#5F7~(VAVuCo9o}H4>U- ztVN5!l)P)Cjg+eNg`)|h-5e3~6sHn_8Nq1O?q`KNBLPZy7sX)(o6Nu73dNZ2N$6WawQ6_JsGuv?289E}$`YMSR*N>3Md@FDCJ=op)Vj@sDH zrX82cxD0QgJWppMu*^}|QJsk!m&;JFTR$P&^^qrx-saBMovrua+1LeX5mFANJu&3HxOnz*U10Zc5*jN+}1@1eUg3q<%<1 zIi&wW6MOJxc89l^0bKfM1Ai#P4$e?-lW`5Mr6NSkv}82Vr6!Ec-K|jGBl!`g@Lr z=@;*m@h-gEbR%<`8jfHo8preT;5Hezb84=%Del92@Lmb;lktAsS%0)eV3@R(4_eYO zC8=)X8LFolvKqg0y~)K}f!7SpBlanl>Y$9fSSr6ksW=^{1dv5Yb7lCTj1TdmhxYgJ z#D`_vi~GnFTDpb1PSeG9^2$eKe3ZSfJgz2sj9#AlxQs)1fH#w_``Pm+I>{B~y`Plv zDI6y97#&R$@$ryDHGli?89XTAAsG+j5rOeTPf&@O`ApW*+j}X+q?1ZaWy0pHM32h& z9Qp++(wW_9tC&^i>r9~`24oz?F=9uR(^iz5$Rp3ZEPr0cah#yi72_U;`|Dy{OQ%oP z>m=*-1RK*yl?ptGFG~25j4$IUipx?SwMEg$eu6S&z}aP=k$-WDPtd2C-rBBRrSkN% zGM>Zpl;+Hv$L5sX{EkPwlcoBajIXmuLSY`?l<_Tmn^~t@NoS6Kff}cZ?vN_^fS<&7 zx&Ql~z+8tM>C|VEZ#2`12vjlJrcB>%HPxZ)j;pM{9#i6-N=oB*Ytm!%Y7}IP$8=If zEYZnVk8E-d41ZsyFeJa})w`&7RLH+n&S8_=G6_TLGdo|Bt0|Gt4f8HUYx7IU))bGg z)6{rZnj3K=l`(S@8QjQS;RI%me9fZ++b7U)`i(W^1|`KYH`KNVl7seLe%d@6JK7>0 zO_7z%o1PTg?OIPlF*01+B!`#Z#zb536>3^q&#sX_c!^C!>E8>#j)8rzs z==3NWErV@o9J48gabqKp?A2P@`8z_jQf$G{i!1~k`znErjth-rib*y@wbtz{!3@Vv zbMO*t>Pz?7>^F$%CAU&@TxxynvTrXb;#m2zX5N%?rPYFscSyl>izD8Bdcw@~?VRc9 zzR<1h=YNVo34$(V;o_ZJ<8X$ojaNwz-Z9JLoRH}d#ycc?fwS5TCAN1X-PN**L$ahL zBnIz}6n?m{5*8J(mi_!S zi3^}4CJD^8b%oqrZPJbQOfspb47Dq_l`aZ#rEhnaGJE*7WA;MsA)=#dnaSniC3!WJ z_;{M{x*|>&z~bfDMpzPj0sEL!3pKJlJ4-U2UxabA*f9=~*p;Br_O+YQxK85;p6ry1 z>VKJ@TA($$ZjcO0GTRHKtIEY(p9qQ?Nz}?BB{r z6->KQ7E{GEKmThQb~e1VJl#YKDolt630S#XFUr^^B}iLwam zWpR#}?8luX(?*`yB#R2ZcgxWPHG9o*C7o6&sca?nM&&D#XcsuQ^j4}v+08hgu01~R z-wb~U{&Y>h->0`FaMK9z){1~Q0{6o-cHsx~>!T;oKzkSBhcuG2`|u7z@ic5SYfiL&Tg|<@aU)b8L|2~jmreR`0)!GmebTPEetP_FveEGaMQE0 zHdJ>66}A14^EhXlOKXX+g)rBdSTnNQb69_s_!WL_s!(a7x=hpx7fpjE7;O&bSsKMG zw2Dw|-BI}6c!*xyCRVx0V}lK&B8O3d7w{W%y#g=dDZ+Rur!}wrHn;Y>JpK!$^^5fX z_oh03Fy(mJlA~vc9Mx_-oRcGK+pT1vwxY89v4kvt8d;V<)0V&BKFd?;=*c85&*6WZ z;j_lrZu1XU&OiQ&6NQwu4;4^e=1BQB{M|bButix`JAkQ$#4#IjnMIrx{2w&;PyEX= zVjIn{*4|L&-9y*V3t@e2M;yk4@o|10=U-eX_MLB2|p$8#Dlx1!2l z`xxf#ID#6{kI+eY3RTc;D)@8yAH{z$i%-3!zvmIu7t&^Iw4NO8HMrKY-LsbObW^M> z3M_N=)1B8HIx&FNp<@&ygtFd+S{iTSaT|?~;SwJ1auNO;c@%TOJ%FBm^qoX+Kdx92 z8bD^+F}%szMig(ghI#4gDZqfM>Gyg}!VQ>(8)@z)EW^!MiCZXiZpAj-hRc6(J5(Cy zowwW4q7u9C8vaY#Y`|2!E|{}vWx>|C9ZN0iG}1h4A0Q2{4!nH;?>LHETsVnHp{?$+ z*(#8;)m=GG4VIm~#Oc-n+)+q>pHl`Dt{i>dPy6wKLgEJ;{M5xCpsa)1X&uzKIx=zS zgs1CXNS;IRxDOX3od<2U8kc`_(s7opXe8XiLslv?fm~Iq#b8{&M&i0n*yr%P1=~n8 z*|6xx-TkQZ~IX(J9g~%T%W)15IM48%d#i4w?Y>9}dyW$MPES_j^#p zlu^vcc$~C&!lvD%9Nr`$nRsOg2rs8?Q#&ujs~9ICGAM^+x(C%$OOAg#ESokkwx?^w zw7W4OG_4<>7{I3wqT)K&>xW){`8t=F#_RV(4!LRZvt;y8KGRo&p`NDf@C=PlVH$5G8-&jkQ$k2ovcsBU%J94jNlX~O+9oPhVSf{j3faMTjuiS%c)0Hn@o{mM z1My>{BR(q5J`?1sGeLj$p9%7~GeHiV3G(={BOezNhSjps5sQi7#4bd&-^Z<^B}2Pa z%>wMXQ|^ZpIz$mRr5}$M_9(a60yto%QT_{vDeS4He@bx4YsoeJE^d!4fMyGzsy6f} zzCg+J2%e@QP$=N^NWHqnu+NIcS+#Y848MPJkdk(YUcX9((c(H3m8av-yE8E=*emkqXZxTm{U3o;g6J#xB~Wd(c;PwtpXTGUQ$ID+pK>T<&n zU6^@Rmzjdggj>uqv&(EThn_1@E-s+Cc_J(t%+VsTL|kZ&BBD{OGDoY$8nMoryI5?n zMy)j34DLIG*di0!LO!dakc#?siHWTa7MM#e5s zw$PTAE>H?BOQ0+Tih;C;It`q|$xm<&e-wxN-i&9)+D1-)u-=_>R*=5ZdrwK#* zh*s3>QHHb0iP}P0sG3@C-g#tb6E7I1Lp|`YP4KsA zok&SfFI-V`Hu+Vx)QP=#Ac_Y$vWFNR4@Wj{Xn7CT=x2g6A0ztqN%%Z^89Hn)O#7RP zQXG$Be-w{N=tGjBTj(#_nx222E^+D=ogr>4PL*|CSql$Vf#oAmMQw zU^rYKjj=$p6?&K!6K-e5G)k&zuQ9~37iPwvpUO;*GaPB)QUfI-!467z0)v!bMZ?w> z*EZjcE%SV5xYQ^HjdWMDQ7cAqY9NQB_=1EZc#`3fCPKr|MP)amm}-B~o-*?E{7fT^ z{F8O&=Np-=-A|h9 z4KYk%I*J(yU&JiKP;GxJ1=Usx<3nN>FhNDmz#zTLl@@h_3OtIHkX;(PU zllp}Jq7ymfqfjL*Vu>NWO(@h`O=lX=N!Y@<_o*7w70arXWW0-O60YzT9x)a28As@0foT*DU|;Mi-BZw4?-<;@YDBurE2$V5<|P&>6$&^$#}ul;L!v_o3`~eT6gh zY(rSv(ZxNWw&8o6xx3(Pfp?^dUC6((`uh;wt-{Zjz94=7L=%>H*n>8D8`^L)X;-qw zK1@`Nukr&W-*uw+GsC07-JAB!DZ`#Cmr90dt9gI#Q-=4q;Z*nz>+g#7!m{1%mhX16(UzJ|lFrWLTlU2)~NbxC)@1#x)x6qmho@^!oxm9YzbyfT+ya zEwGPh8o}4-m!B$tCrRune4S>J^BKN@7ir`wzDc57#c>)Vj*3(b6~{=$s8G@4eCDd) zGY5a&w`ktR=po?&{kChPokX~ei~JuxG$v#+5tRovAf1ypknoLlqm_QgN#-OvaSA(e zS{U8u$azK+_zu1+d`SrN5n(ptTs)SN2X13m3vSXwi?G)&bW8?p z#5@}@T*vps`xsur%Vgsf&wc*x``)`(efxjc3D8UQ_nL6&2Li|IE{>%wIPP!3M;;D` z=tAO8)B4{QTN=j7BUcvz-4Psx4|9-|E+0QGu+dhrf^;sa{my$R?Yk&Qpa z({8N}k)Q~c%$3W?o63DbR(o7lcgO>dXM)**TbQe)_El2)8ku^X zsC|Q|eUsMTqNIO2ko@b0~U zcM;FKpL+~@l5!<4zp5$u3;fb8@mV+9I#Tj&oQqUd`0vU64+8nq;W^oX8>F3yy520i z8~C-~SZ{b0_&zPtJ+UesHt-d>`|@opwBQadS3>`=W;*=F>j-Jr={EUOELRHO3<$Sv zX$QZhwd2hv_b1iKoybs9{?18N;G@{U)k@*PY7``VjaaP~HkuPIP&ht=}89pR6HmRw`U^b&B;)ZY?e-Yzf{|``02MBGa6mBmFmmhD6AeT@@SqYbr zqMjO;U=7a%mtPj241a5P6W0~pSC&1NJO=RyDWPc%gdj!^astGu<&p|x2*hB=Hg=#X z$#^`r2c#KwG;$$LA4$`uO`Ejo`}wt>=vpMJHA%BpS3b3C^+$De-_dwRwxp39K1lb@ zoqNvNXP?Kt^WXpd^Irf?<1Y#l0;de8oL{xPwc1ktmcFi6bbq&Mx_Q0o<-NNVGe1$% ztJP`ulI@x9if)+mTuehCsiGHs0)69_ZFy$}da@@L(&$G@L0Y~W5IEjmw|S@H=B2Jl zP6RGzr&{lwcW#^ZtZuKGg*H1vq*7Z!Vi?3O1-m7NjKGNw7^Ho(TD2To;8+(Z>Q3%e zu@CzNl&a}TyMF>R?PRy%i`lh>lY%sJK*ghyN(|0WZKe8*6X@QyaPCh#}ph= z@kKl?Fw$P}x>dD2$IV|fZPT@kh5DmFum3_|Iu83*R8#V8zCV=afU&OQ{Jg%pWwg% zo>i*mugQObK^BMUdRHCqYOPcfcrx1+K`ER>Ucrcpr}2!ynfB;gCALJ_CC+2>ZFO5-_v zMZuVg0)NH@j&>0xa?YBY(OuIf?aO>V7l%=9i7h&RgJj~Yis$h)fjv}TtVRZ=R|u@L zi3J7c1WtBN^@);Wn?bIpQAAQ2pHy)H7uij9!!Ro>$(Q3Swyx*yYBPmPxUAqs6;rs< zw*8k)PcPH2QvNa*XZ*!0T)QII$dMNmV8hy}Hh+L4RrA}03bI#EtC+z{Y^APQDe-_2 znCQrM$7tLbz#QfkT$8*m2psZxkfobnso92XpZN*LuGY#X8_pxGs+P(5GOjDQq2lX! zMPP5FV!9#~=yW>aFgvpCi+;;?Kh18cconY+sH>*ez}}f`yCjY0uOCY)3@o#m8#1v3 za(`_#HMdU%E3pTMO)GM9)u(lld+H^aobW4e_mpLuS8L@Z)18;qPm-n_LoY4pt|gy? z#iX}pu~&8v%cr!v(_SD$I@X+J=BQ4pOqZ4p&em+tD*IJN1Vx+8%|9~vZX`x=u~fQX znWg2bObySi8M3Mb(q4G{3moZuMGz3{0)Nl!ynuO$(%n_bVpBc|9N0=N-4Ey;+p(eX z`PssJv2a!z>Z-jP=s*>x5CUf_vnkADT?oqu_*R;f6yXD)|Z1uj1PcT|AuZ#$qTW^3y+u=^-? z<&I2+^qf<34fBE}>v?cf{-l(_VIK5@{OUIOOUO?fe!=hOoS)$QU*%H)NzQ;lO?(P* z{Q-I&K>3gh39Ruy%@Mrnt9TX`XKH;jZs9gZsi=e=U(xd%*_?f~Z~GeN2I z*o{fw=ullQG@3yL-}HUS_~sM7`BZ|-@F56!u?}1_I7;zUP8%UOkQeDn;2b6w)z-x9|hs{t({gEU`&U z-`>q!c#Ff^KCmC+M}bqrfm4a(y=^YN+2B$lbm^Ut)=*O0PR2VeC4Y>c1T`?rRT<0v zoc0N36HO)X9{b7r4KeQzo$SZE_$hU*hx+Bp&!W!rE{A%mzkkQY_wn<9|0vZz#^QFo zziN@{btS*Z6qx`YG}X%nzOh}&NV5_O8~9}lVZA%ySBdN)EdToRTQ=~UCgQpi#&7+s z6Zjp~?86@dH6uaD`(*X+iPO^;=-DjhOom(Q(fA|&Gjvj|&bLYOu@+H@Bvip{WEn*VQNMq&eD2 z?+m9s-T7GtwZlrZUyhD{D=h^mG9yxqMmWtC7bD8@t)*eeg%w!o#5LTrRSez|ymP$T zdv#u=E#_v_piaUXT+1LO6un0qRmW5%o?sX%q-9QI8cKPcm6H~(ah-&ET*u%fjXWL< z_Y_l>6TOA#TrXh*NA${2GNEgc0Kr<7!|HKaSGDL8+<;9^Y?iQp1vfHmD=dFfO{lsS z_wP}nN?Z*M8Ltc#;zNn3p(noZJ6ub9XqVWlsw#YpEd@-f)n)5*|W z#K$810(ET?ZpWtybx}=M$Bw1GbxiP0%5ZP7ycCn2>vO(@@fv!EgbwVcP|{xOljBNM z=X;moj#AsZ=r$7s+`%phdvGU1Es1YWq!sjzG2BpEg}~H*UJ3iq%}^alSD#Jg6d&HH zf)aYsN6AX4#}(110(`k&!T<*8eO%GGC4rLOI5AYTJ*G+{m%d-Z-8ewf6I^y zT!GI?xCi%AS&S>OFttuDxfEYX#Rr_YuW08?6^xFs7FEoO;le?q`GzEnf()sYLm?$b zzV0t(QU2n8SYCyz#yBRNP$e9~;eyAEh@#7c5+&^4ON)JCv4_@r_!>i#LbwL zaD;=sGOk3lNrhwS7+*SG)*d|I!U^2(!~+r@#6t{!%SCQ@9rpLecz2X3d^U|Xw5M?S zokLFT>Pz^t6AyFre1&0cnq({)4RIoWhZapFBMLRAYw}4ICzD4doWx^vGNDbJk;+z2 zp=g$oOfL5c38(NRHSG|`Jj2Ze1s3d&PCUi1voKSXlyRPf2=Xw|q&uM#Pt(>ehu12I zmXt1kmExN!MFhtIbv!ET$vAnjw+z6v7NJQ=ZE0(va@rxf#IkNRssxjf5hXsz8xWzR zTMNnIAvvz{cXQF9PpDM1x6L<-3`fd>`Qo3yxy{7Hu(>SR46Ek)O^c@QZo<}tHcGXK zBrpqS})W?NK^^orrUAi5#|v!(FNp9!>DgtH+ZeUfmg7 zx^?fM4qEzd!tnm$+{^xtA!L(OHs;?7>Bu0*$N4VGDS3rkRAG6ogZ(Xo?P9~)X=Dhu z_V3CS-JWNyZT^ki(ngO4nltP!M@Ys^B=0Ge!9Pza4BO|&(P{>%uXVwp$dSf_K(;%7 z$5VIMt);t228ifHKA_8?!##4$EF?^&Uw~h&MCn~$s&P|wHV=vs>r^i~W%?AorKm|( zd1dG>i?HnOabgh*;JjNiT}ISI&R;=vF`xr`t(^O%R@ZXYR(bNCYZ&g#`=OXCd2MVH zR*vQ9UGK?|o^w_bfTN>0Uu38+O3KiGTkQLSEbcFA-2y~%e{L<~G?(`zN4J{NJ8mv8 zn#<6|NtHx`Jj+y7#^z2l68%kOXyO|oQ^&@Vn~;cBdh%SJs0Vi*4=G(L?-VPuD4MtwY@nOX3fS;fe2tzq{+|ln4ZjZ1{2BWBv5n@}(pm*7>G=(M z3y2x8*2`wW?w)~t7ET(fXW^njn!(byg@A9;(?uiDPa+2JEt*LNE542I(8$G}hC_%Q zr@4d1YA^FOZZ(D2GlUGI3j2kB5U)XK3gI)uZa(`iz9*=wh3$4cYboVa&(Q2SnlH7} zi<^kuL(oVop8W^CLE}B5Hn~2 z#DEMZULw*_D5l{d8o97)pSSTMHrjF4veZc8gs^PAL6i~Dm+?b0XlL*WiG5c1W;4J2 z$olrGX-~C{mff`AHtl##*zvk)$M_sOJa%L!H%iIX3feMN#FjTo+wvxnyhW}X`1RAs zSt`8evGuHlR3jdV43t)XSSYQ>bwtIPpQem(&CR|GxM|qOMVui?XT9gp%wK%dxQ&lj zAn}1sqkY)xdk0&+^rh3A4*y1S7&uBwj$tW|V;N4+wzwZYJV0rG5IgXYFvW1R*$PLq zfCUo)BvY2H6)soMftcK7{Lets(oaYc-zGudhp4bm+1u*LpujYLdS1jPKC7R`XMAS} z%zWN>8Fx)%c-S%Zu${f~pTC-p)p+THi=*5z<@Ghr;ImVf15H>$&qqkdqZGTx2Fim(=aW6(sBwD+8PtX>ASFM`NSBl!LE83SVLVV&W@c;446G zY64#Yj<2}Dmm>pTuadIY2w$%gzTO~wy-E0bi|})n@bz|o0el&?G+lO@&AOR`xP8_J zyF{Ol5QvRHyg(z*?oJbVx2>~~x1P_|8OWwWUf&FkrV(biFhfc&P!ul_ z!e$9!KY<7D5|S>F8<(w$QAMj9Rot1KmNPp|RB_Xnz#*`-fv}YF;JirTEXg#|-)N@L z=9tRL-<6Di{MoGJziR=|;`C-`{^Puy@8SI%*j&IDvYG!-5H^=-?Wg#e37dY=y@4v9 z_aeS%%PFsagA;$x$aj?$qAGlVpU=rRU-^aECn-iBSSqi$+i9zOm{Ufl@kqAadvon3 z=2Q4(9_Gi(V?K#rU5)0Cu152(uSWC73)g%KzsW&ENqNlpt=O#$zaugA_`NA+n~9T3 zUM|)alT&HRNp%;un*^;PK;{v&dLDxIx!pu+0P2tUlNkT}UrWfXpvY_dyOO4tfQL0c+f5~L{tEjF|ULcnN3QZ~?rqI3xhEDgJHv+2|u$MMd; z;2-d&7dEvYqoY%A{ZWqReY3ICfyV zhqc|e{WOtHlC{(j_%q{Hw1_Z{0NZDXErneGnxO5 z5@#^7f^G)m&!*QlG-l~hpfF1)zn)r2-``2ECD&8g)LMZ#FDU41buOn`oc#(^=2SDe z)pT+(vy;qa^O>gm9R&m2y_7E8OKYh!?spXoF?WAHrxn@?Us5n~%6qEvdkWsie`NvE z_~v3}BSrm~eQ=J31TluI5-uzF0OQn?QrWf)A|8%p7(%S9TL-b+?vYV)DRu%MNeC;5 zAWDt-FCb;rj)}@+y<9VL`vT^|E!oMkUaiJk44Uhh)}pMOIbDm*gLlF(6}&-oBGDBx8itTUVf=z(&g(S`~03968T$C2R@^e|OHS5LcIE zgS5U|rl|)`>WN9}sDQqVX&Gy^<6XlkG$K|zv>(Wcc+t|2NrbY7 zduZ?Fb%#_U$r!nZCW+vkWws-7J1 zsqqYkt_1`vvj91pR8Z*Utw&~bd;0+=}B@)62>QP~)dVJC+F z1yD-|2nT+Q10Zq)m(TN9DVLzJp%s@PIi3ZV>nxuUfBAD8R~`R6NwzF$eI!ksI;P;d zX^|y6vU3??lg4qJ;$T}sR_ru|rfYdEZzAuC)yhrUKntama+PxQq!6x_!$1;JCm}OT z`Gw9f1HbV9Fnr(BdbO5TSK7%$@9jH2-_Q4a@A+T<``h0E9KuaMJPadgeJz$z&DFwE z?1H>5f9GT)uNW~oZ^o2MIU_c$nMy`6W>ix#B ze40ea!D+{bU{g*q*KLE2m^@t5#`hd8HVapThP^Io7bZsjSr=C2lh*d zVVEJPIHDxlM38Wh0}>AMqR^&W4h-Tjj`%Su;WPLw!-MW{1yjxDV`um;MXH>qF>_8g z=L*>@!z1B_Oc=lz#{Kx5gkyM=;c#{0fBF*j*6AZII`UFhNf?~4d70FoI-5vN&CgHA z=NLw7s9ys`gyMvR6PTn>)O1r_xx6(uxyqB1;mKMqtA$;uxtm9MZJCmA3Xc_2KOq~6 zMmAk0(I;w&=1Xd3omjvXoR)AJU!Y=6@DurxfcOf-L-j>0aEHxGnB(4RizlX%e-o*A zGDwF@Lc$l3WC*DFgq}B7)Jx*vImd-2{5Zp~zkYs9W_3-m5+sNee0=v=36J9(oo8}7 zt>h??&(`AUUIiLU=m5TiFZ=PNg!6cc4mWoxYlXl&IauJ?ikzjzz ziIh=Hhxv|#s|9x*19qSwVI5D?DUjx|#V}YE%BAf3LB-`r_2n9gNnOqobjGmUW3$mf|Z)?zJuBxPYq;Yl(ax?dVd%Es0bdfz* z^<|24nT)L%#IYw?&`fnrWGZo=(5PC9!2X~b~(?3%QOmUE`zGKY2SYs z`s?437}z?)f#!<&miyiJ%jg z4p&1FXRA*W#ig%av8VcD9UW`-T_U9B9j~g8yzNU}aeVcKXKI`c!n$-Uo5HLQ)LhCi zU2A^4@v_IGWTqysrogxkAyaoK-5qv4pZFcjZK6r)qYa#8rSK~qW)v|E?Bou1?&+@? ztyYBW3cFl}_^tX9f4^|?y6(rH81|Lch>IFs_U8+^oNk!Pvb~gH_Tze_TI^o=c+R+5 zXLXY<49@EXBdwfLc^-GzbNl&Dy1PtkRFWsN{6&=Kw`8jZ&?C2lZgdQn;Guu?ZUd;L zrx&&N(|8M7>Gv7>ItCy0fUXF;3-m%j%VpNe@HEG4xM-cSEwfy*W;`B z8nqnjId}!uX~ObS+ZJKbK^Khk@Z%|g(N|n&VelU3$V88`^x%2w2RQXE8tB5;>626b zh9zvQL;2rdPag9E_fU%^=s58DxJN;UM)<7 zHRFE-f3uk8EvEf8(~&KvGyFp^C1xWIQhUh?AUn5^rQ6A5og}6guaiUHaFFS@$@Gg5 zE|T$rb#8GvD7esz+TwD+GI<*pyovZmnbqHMSbZylx6<=<;ej`7tP>ViJ7weiTk!kd zgU`EBmJ`2n0Jd9zuL+lWLdRJdHodT{&^XGqe*mvscafsPwLtz``~V&0QSv+2szq-< z3unK@(RTw+l<)nsW3SKNOV4CWzbjUr^+i8Ki+95cv5v^#2e^-yBHu=YS3}c&_x;16lE+r*9oww-&Pcg2K6KsrbNs?8I!STZP*6l8cc6GGYR+&qFkEAs@kbGL3>yT~LwQkz8Ma*B$}8rc zS~#s1j^)r;R~N-b(Hnn3apQH|5V1lR8A^-49`E@-P)i306}on8te25BpJab{6y+KJ zeY=}%j)8q9#c{YE`{c^7yjwoS|9Ep0G)NZBGABh%0z#$J583C-p7bplBTnU`%+K`3&nu=V+E5byaJNBo!(n-AgsdEih7~y|FqcTi8Eo#_toTShjqwvYAhS-7nz7_qQzVq*6mpOrg?OIo zvO;g{3;EdWp0>W;-hh8!2@@~VFx`n65>CZTfyqgj>(oGih^k>?ONy$-lyC^txH6(n z!KR6tljltv-}r%yj4Fwd0BI@ktl`#SWgK%TadMf!|_rFD7hQZZIxwG(GDqh|@s$hCtW^qxrW zItodxYa}$FQJ{ZVj@vg-|xS&@eSIOa4N%EVFQ#FZH{qn795WrKeYvmLLJa5b(WKZtM(QRk{3sdEz} zpUv3n#)>Ap%;zLrj~l4+hn3!d>{FP7Z1}S~S1~@1o1FLpyU7;^H9BVJQb!59FQ`y) zn2;(#QUdrgZg%1;626MBQHK~u(cH@jWHOpfr7(4+&#!~PwRpc(!fxC~Wt#dmi}hE! z(kXv+2=-_Ew@cWIJE$!CIBd8t9(Kdw#9d^J^oO}s=B7I0F>9En{!W5k?I(d_W_IH1 zR0(oH6gzI|ZJhXK#$uFw*zA5N@3r}RLUOb(Oqy7eLo!{K0VXC*&GH(7wIf89A`~^e z>qdw-&6|>jyR5Y@6!izSTuQsO*1qNRtloduL|g`Yqh=W2Waa!Pl;l93RdPg-qmbsgi6Qsa~;fS9z7ZV422FZV9 zc*nW9^g6@ye5TuwQ!ABQyCtw^q|91!$@?m{dcwrcRW--|cT|%)$G)%no|oZdZ6L7P zuLQay+;~L8eLg+%i=yWB0`*MUuONgdKQZ@r|F=dE{pssjhPMGq;BvTUaGfx^IclSZ zjBiAhT_Gbg~|G}`h6mGINAp1ObPkk-Xd z%l1-DjlS`U9yBk)%KVYEpPB5giuD8`r-vx>Z%n&4E#=pS*gLxx-ubfeWuiPIC`EIo z{j3g|PJoamW0@N&DSyWA{o{6rMHw=_UQ*Mk%$m$&KCgLAb;@1%ZbFyDP#19hu z{2VB;<5_9U$eQB_XuK=M%^rXCUaKzR+e7`D;a!25aTx8^u}O{c_boLXRk}^k9Ik(} ze&{jSk^*wDt6QEKQZAf1fADmk5LXRBcNsu)zNQ(0ljKA`#pTX_i=ypKwVRR#axP;PC|#kdQEKz$Uj2q4Qj#y6MWR3yIz^EriiJe38+U&4?>2A_qj5+laF!hECIM$Qs_K@$-V`?l=?*4dEabkalgxa!B6+t? z4g}i#QKhC7$4M(CMJN!Zk`Opniet1eju*z0esGLpqCP}@Ze4)CX+@mkB!O8uDZnYp z1Ww5eN+m=G#&i^54(xxp6Z`NDdfNEo90c|QG(JGT2Fv^){aR^mGvKcm!6Ealpq+b zAH~EbFgp>g<97S4l<#+5kV zVzVlf$tpu@JYv>Nn>}o>#WveahnTGkXv|VfNVHj{LEmn%l#KD{vRG<@Nppf00Rm5$ zZptf%;a_`(KvdFY|R{Pr!iZ-kT|NElY*BZSu$jCk3y4|LX($5EkoF}5p!kN zxYBtqG`V7^gC^9WxDzpd4TE@m+Dt0X7#1uxG>2%+wW4fJcJpDy9|h{$EwX-MUxr>3k*chylWw`)MU z1bPO&%;F7J3p|JK8@hcSKN#cw+aBznUY zvUJ%gL*gZ^tc(NLnAwbOu*>!up6Ur8wLCAR0{S|g1m#W`JGsVyDUko z+B8tLQO4s*t6Fnef!}DjZ6%Xq>8rss$!}?UK?WJTF&Vb-#E`+O%iuL-@TQhwKgn=_ zWH?AN+)XmvLoy7I42MaEBWYx4PLe@SFG+tgG@CN~j<%O(kf9|eLx?Aa3@y40Ev5`D zsb#pIWO#sNc#vdxm}Gc_WO$Thc#LFtJdF&A#iQCN9!WC96XNe_dmH5~%^^iCJvsVz zRX&M4`#$>_Q`lt&@R3_EjYm@k&{w$!qmA)JosNAwZQ}O#UeqDICZyK_=}iIIVnTnm zSRh*lL2@GAzR%1PYry}R`7{ag3`NMZ7)PmYDh0ZWGL@U=^C&BwK{=qFQco)-o_3nA zr_k@A(2r2aT}%EHKN_l>jH3K^AjI^y zk(c<4Y4~MudD%;$qj#)JNeVVesr!FE?4a`eF|z-q51}A2>R+-%eW}@^?xt|m@ys<+ zhT|YUk$Cpcma`7??De?8up&h?HWQ z`bNXlJbHyjwn0XpWfr`YW2!|3t>n4OV3s%;wlP*j!?i#auSiTz@fL#ysgx zFtiw#^5kFfHzO6b(ki=eL8X8DC~mYR7F$sUrkTDWV*%5pxk>9ClOWB*HwdCAy84|~l4B(bT?_QFOgbwc|mqYb*cAx|`3Z1!v39!Ir-pheEmZKOPn8DSH4?dcGCdL)Q^ z*u^L@T8uG9V`(%&iy9#&ijyg3%KigTO9u!jV)Ft!mPDUle_3gKRMi##-^?UKCQk@k zlvS3XVJ0xBAWA~o5P}UQi%Cc%SnFi+7#_^#%$pS4ap|U26x7yg#TBior3eFxZM9Zy z?Y?PSOKbPVe(6X1>#yxO_q}=Zl3A0`5B)H?_uY5zx#xe*|D1F0%bWjx@oNB9<2@J3 z1eOG%VP8XWlZH+fn-9DhTDkGnm?pn zE7w-xe|*%ruv~!$UV&Blw;$FLnjVe&E>k0FTnqFWj{@cLMG+U}*L@4m^o587zRtm2 zq&Ar}Yp4nOZI)TNx*CcfHcP%?Pwv>Fwp6*uA!)~r>?&#?3ZSHOB?C9YFww00h32d4)Qn?kQ zy@Jth6F9%LWZcJUY*%n4K0<6tXxFN;inj6aM-^NRKRpLkolVtNg1H3(3Wj)9MO+O> zhgG)T4h2EBo_ola^Qxio%v~ipVSvSie-wm4DY!yQ7`a#suyJDwu3_UkJG)vt+(40e-lku z)%}!I)sSy94R*=Fb{cEvF@d?^v5D69vN4b58JSsW+FIS2APaA$BI^ZWLDjw z;7)voxR_urw$!yvIyJa(x4;D@mz*?nnYi~TxEBYANpUq6@&{B_sMvPJDelI7xZi~b z6nqw+qe7Bdf2vU@`N|$G z81d`LI4Qoh1l#7z2zdg!p{YS&+a%@Y;}^?zw#Wm-v@Kdh?MQ|P)p#$TO$26ai3a?k zK7U-}XLHc0@6-tNnhE(wV0memkb&h?=&Ok&JEKDsx-_J#aoYBpk_z>iyc$yB8*K(6 zf@zAkOHpS0-acd6PmB-@e|b)KGNNl?S(pjxD7vpIAhkIZ+N7zWp+pN!)#J$k7h*aW z=+?DZU`g?-v%vdj<|D!XrSZkEz=h*K?{J=u2RUl9PB{YW#x1Y0x4WUYStbYvwF05W z?seIsn{$jcjsLV}?M8o=Q(s_XDMD;_;+z*I0pB>K2&^98ibm5&e_f3eHbs^+HUjDH z3Z_5ZoL{gWW{64Uo{l_$-R=IEnWLr#$9#9{FRA`dq(7C4~5V+OIKRDeKZ=!#xIk0IoD_BgT24@V%&&)WYh-(?NXHKUu zP>3vGG?S_94uJAVEt9U2vY#$aQt1M(C&Ce|{ZhbhV;bGj=PLY|ZA^_8b$%AhqOwIr z`aZe1P;sIblfNAyBXBLZcbD}3!4228R;p0DgvRYC=gfC!D94NmUz))z8^xmGr23DZ zx)?@+W$cE;3scsTuFukUP1bp~=!EJYAkoJ_*qF~88vwv_D%FdIe)EhJW$hQ?(eDz= z^j~oWj#jc)P&%c@m+P^qR)AhZ8G^?Li6)^1RVR|l+NNmc*# z@d-O;z?M;b|9ryM z>VbVrMNWRXD4mxPr#AA6+EJBOJ-W&1rsX?$j*Qe@6wr(H@L_;j1exsgYlH92ZOKE(~l(vby@gScTcFUY8y2F1)xW-EK}IMeHKhr_9hRThtGTHnyKu+R=u zyOnwELaNzyLCTm7+wL^zd{+&|s!??A5akn!v6JH2Vt#~-o-5e$s{_3?f(E}oyUPLq zw|ODiV$B`D3LX+H^QnG z+M!ZFu-x#Mj#Zjb6=oV=A#WL@O?DtaTlO)2=Vx^%COv)4peZJ(l?+0xFZkN->-Y$32mbirtal;$*8O`65s<$(0XDb_` zIu1|w--3=6sV_B%v*yWEG`Y;eKdnoqiK0l+F5B@rl4!IdRJ%aAK<^S9)IIIuluAoWS|WB&O&+d zJamHs5BaCWC=3;Lg6Foq-*df>^4cPxJBDym7zzj4hIN? z4t@)}x5;Q7&`502`(y{awu=n`l+`(7)bJTK5Dr5ULZ=JxoeZ`d zE}H5(L`~nxAZHU$PD08|d1PE3Ff%GrG)t4mgw1mu`CI16`{GwZ9Feqer7n)|klxXm zn+ku`Ei%_V-vmflFaBw=MAVv;v6h`29yuQlTOkWwAq!ifi_Os^Hq03V2wmu-)o~0S z|8bome4;yjtjA#3Y>l22wrM;@sV+bQfLOTikC$RuC8$}mmNjvErfM6EXjot^xT7>j z>bwWrRLyI8(!pU&Av6|(ELWdT?pSK-gQ?LxqhSy*2|b^-Fhq&>#*X8@6mG+rilGN~A~FCwAlww3n9vqM*a1}7%n3Lkpyk2XBRE)=)A_HceZP*w z_8{1E<5++>s{9rDIOTW%1YI&ZJYL7iU;z5~9Ux1#r2T&Glszx}^Z;<}z5NZi{{DXE z-2Q%FRr^Id5W>Km$KjvMt~onY%UNKO0ALDlZKqG$AexkPmtZsIp};g{tdK!fUKNMa zn65z4nMxh2oS13S9i=z|4?YYNxV^Jk)8$|zJv2Q~-gbjkm|~CFjXX2%UrU_O;i8CU zKVot=g$^z=X-0}8EE}_lFEi%|J`&z`1BJmz>RqZm6HJHlHeoK-N3*faLe{d2D< zA7hG7XC+bEYRE}YQdgihV7F?Wt-$Eyn7l}G>=c<~yPURavtXYSv!@hl&mj(;cMt`Y z+CLd&3@&7k_b)3Ib@VlE+N*uo08H7yTBjS>^c{MwEhKG7p9SwATxu{l?^DxWuEOd7 zCwASEPZ_9_hT0L+9goe5#ObqZ(c365n~bJ4tV;wr;a`DeU`{>K-B?Sx-*Ib4RUv944>w{M zs}srIR$5CgG#InE|Hc%f0qi5J2De1zk)7KZSLeB?jCDt{E1TGaKPT+6i_(uFltkI* zRhM|DB44TFSXdWqjNhmZ*(<2@`1)iSn(vy(r7@Kr9PA3ZDlRokBv5Lg{kFuEz)f)u z0yIa_9N7l_vz+|S*JM;3Nt0YUYY%K<5c9Np#1iD@`{htjZmVkS0vN-{Ei2X?xj`F8 zV9H7e+?`k}`Q0cMZ{N%+(k|DiKgLN%Ie3$3v^J5xr0_3chhSOK<-`NGxoI zvWCz&MA<@14I-*pF|4p&Sh0MJ(6oe@Sx*&0MI^0#Rg&b==sx}2pyCA43t7s#10RK8 zy$E`KjZ>XFie%8q5TIFm-3g^;mqUBN$nBKCO#-8#QBp9`#)MKsSOOti6ws%o1#$ON zss^dq^7VbZ2~L=mqH5|GuQ3y5rlwEtM7SsDoQUE~@(?{l|K^wl(Nr(ctIU5d&ncDX zW@Tz-L{2px2H|WJ0F0F9X?Uk<8emvXy(T(DEO^Y&m|{rz4Dh`jqW4$_i809+sC$WX z$BB@UneiG5WEl9X6FK68uC4gUOaMKU_w%x%GH52x zT1lgP=pjXZe+h0kYjq2=%>K=-%E5);lFUh`mj%390pMrknAG$kyu;DWc0HtLoJt)W5^`Lm%*kDkEEdO+GvWr+0$iho%&`qMNOke$3Nuh=;Px9;>!- zXxu!Ui2yi0IQ@5Q8=e8tV93L>Q_%*qZ02t(1Qzu}%Wc}W&AphmLo}>Yk{)+;#YZt- zRBSD(09Fnv66rN6IxPqJb;KDuFf3}j0QwSpj3#Et_mXT<+!wx2r$e24wh*0nTpniX zVY?Un0F27^*PymfN{z_(0iw*&B|@PuaqEbdxr)h+>(Sol7x7u;V;(Yh;pE& z?@o;(ANhznx336hhnsMA1l55Yi2*(Fft(=1E+okTJ&^a!il48nLOfoLLm>R3MY&};UfV}? zP*O+y{)6~UjQEWZ{^CK7_zi9SVz+>Hdo7ByM1;{;WbgF}s`b(JrF3fbE~@#?S=`BL zQDZ~08vGG4?LcGef>v^ytbglbfZlCGrG0J48SVxNdp-C4T=k0o0rB6N9$yL+ll_y# zTuHgLP5xdP?eJ)7X?{=2DAf=F^9$UALLbB(xGV6Lyv~*NY{rnhUksKFB`b8hMVV z_9u;wCMSeG-d;JLyV^7F-?J{a#-qNqTfy~-zIKJ;ddB3bkuVmc0!H(C2mmhHxJvs_ zGp+FhA5)P-_1s*nW~djW^j-|G1#Qm~$Fj-# zpJL7o_3KOMs~$o>=(!BdAw^_h_(P?frn!j*I)xjC=<0HLMuP!DTol7LtfiQ;V7!QA zBh2LYTESk)N+k6ht@)PhnJ9JcTB!(22Oj3wHx%+@WUv+#-__A^5P*TBO0MS#!f&MG z$~?!)UQK*U49lvXwmx|X!?)U?`uC+hY;uzMC5qBvPQSa*&5DW*_M~~%Tzwu^`7g2u zqx6Y4IJ_>YJm`O6U1BW%&d1WDy?}avi)ux|wA|Drv?B(FSY#`0xEBTpp`l7Qhn;`s zTK=Apa>}H`mTIjE!2nh3=RBESxCR*Nzgr2+5B7w$ApkJb3Mecle+Hsd*buO#g%)UE z#fv^NuM_!N>}P1}u_#(r;ZBFQlVn^M^2)~nBcsB5@;aC%SHzhi?u)yN6pF>7KcTjg zW#$tzV$rfwjkpJfL^t}pp2rDUldBYWFC#5-KXQVRL}f*f1wacL%SsIJI!t?;J$;f< zj6V=8^aROmRak@n6{6ZKb5HeJg+Bhf#Oc{qT}l1tuZ+$ZA{RcR@4}ubOd}SiG8_nu zYaw8(O;lx0?GR8bXtmfTd+PEul0sO^v)o0LNc}`cncqPT43e|&_ZBYI8CQ~cT2gBE zkRfGQ#4T72ivZ^hUF(BqeD*i%Q0%^0E}}Gq(eFs^Ks(&UgXnmQO9!%dD$f&rzkMHI)sJH zSYwg*8^BzdCEnp|`#j%+x!utdrgeRtRO&8MmZuynA&!7%YkD!;zl{k^u^+@z``FHD z#tLWQ)Oy499u48d`EQns8WC7|$sX~3nmW~J41`fXN(%AR%w8au!?b4bN(rvQ1H*2bh<&G~3K8w6yvaty+r?DjLaSwM`id2rj zdGRoqxa1%*95C7APnO9#-9I9R%$l$?dCD!xNCg9Js<_MROKcSZd)`kT*DC>iT||7k zJ4}hQJ7wAp;6y6v?7LB+oVaAB5)7_70|uoay7=wW(TDvNnCY~#d-@{z|9!ex=cRj6 z_Uk^CMY7k+9Cj6&=zihYdOuj^4B<{sc?Q5VW~#XAP(d#tX)3Gi-`wO^@V_JaY}~5! zg>*w!O4h{1{A@{`NJZBu9pec1@kUYGTV6Dn}3)m#-X$P%%B4$_I zC@6U#n()PQbxC)dEZpI592+5b3G$FMLg)=Hmzucig{Y0K%TZqqIPS%!rj>oy;CrLb;Qpb(gy0-%SVNuu#n*+ols)Gq~!-#tc9pAQEd zY2lOEppD!UlC1@hA2G%)EHws?+MX3IIF4IA>%MJbx3Q-5F`v=ocBb0uOX=S;AUcn; zX_0C^pK~rQs*b65s2~~X0sOWF*|7+WDlZogPiDtz8_V?faIG=A2M7tQFR! zO6D%6>IUH>KvXm4wh5PAuPfA+E*@Cu}T)CDD4OJ@z&&5sD`NywehWag~nicEmfWeQ!>zogUm;h2?l zyM&GYBE%~XbjFJ;^GQ7We9@o2DLH=%KLbfDPcy+wHtJ$;iixil2tPCAzq3^R31&8| zWewW+B!EKLH=xm7Lu6*6E|W0S+lrQEV$|Dvfsn%)%j)KIQTOKuwK zM!R4qp#?qIAS0iulFvkjw3BQsRs4m@#|pD%Cnk@`mJ_BarxBAUMW-@88?; zO5)Z)W74f=fFtRsC-W1pj|udu#a?n_G}2)l6gPvpQH~%Wj#%ekUQO+cn*7xlXH=s| z`e87Pnzj@3iJf-Kp3ZPqw~JW{w)^GJX7ksF@5k$I)y**!w;7`?y@My+&Z+bYpt1L< zSXrfMZfn~t3kLbc>*&a3HPhl=;-lB#9(~h>R{%Vf-|qx{Z+8u*)0|$rom<4DK-vH1ap7ZTH_%uh?x84A{v%A6adWXx3%Zm7t`g7`)1vlk}O zfb>dz{`k5BTZK!VFa|fm@ffKR`~sks=Yi7afYBhVD0pf0VN4A*N;fDqZBo#rt(KHD zrk2H60FTOx?N)sbQP8Ybkcu^Iil|B(9X6RGy z!prM~1rXpNK^fCWF~FkH*SWH!I>#y5oUTl(q)@p-O@Lv!B|uNcJ7%8u}RE&M&9HnNn^>+ z18_zf9xw0+S^HWqx^vZ6j z#4RBWr4B(gMufQ5hbjX9XrZ#iP#W~%cO}LO)vqbY%4fnmff@i5DwAabe(~vB7NV#&H@<#Rp_7b3f$~uY* z4d)7q8w*E$P*wn1Yl}qzWmq97u=?`3$pg)%#VF1>Hz+b77v)6I(f@K1r>?w1IG^y% z>Yp77c}G|HNbL2e)T^Y+ha869E&QUkBq?yqgn*-p&c(Dg#4S~U%KX#0bXma2=mpb? zhYU5t6(4Fdmik!cwR(-LPN8M@P*eh7)dHI2-@Wbae1wQ=!o!I4|gj}`>+E|n)3hEKR+`-W8E#0Y*Ij0{XpkUf#UzUBW0zv##i9(t zMUl)bEd;Y#?aDjTQxIt{CrM>^2&4!ItYqeT$*!XV&FdpFm)t&ls|Q1vGM`L2vG?c5 zY(OOL>PrkY>{%PGwt6uiFrQcZ*AwFKLn z>;$ymi8P~OSfzcgnphR&c$~pp+!GEspwqckA%;#VhW9kBUYa*WF3fvP7mp+iiSF>v zoC3JEvrH&7RnBS)E3|UThGbpJDX3OKh!SdMqpBO-DM3$ZI2iY7T6V;*=$S{t!+PHSmUUqk zp;^fD+!v|lPhPW>_QUzlC)BpeQ=yxC0yJX(l$O)uSEVA(1i`XVoL{a0;W;#3ZUBfI zbUzm*s{^Ny>_hKWPgPO`JAi)P02441xBF76h2 zCQ;N#6{m(eLN&K^xshLu`tbZVAgr@1DaPL<)CE2qlqb*Q%>Po}{MXuQTYftnfO|C~ z<`&<9msgMC>g8=yTKZL~N7}qlJ^~Uq@VtK0DUIKC!F4A-6F2f&9tVjO_QvlzjjTw} zjf50MsS^w-^rY*F*3~jqL!@L(OO{4v(wT?i!}##N;dsm z0Pl~(R>!bS<=@nIn+N4(#mMftqc9g(1L2nJt}^cFEET~{*3SvVoRX+D00-RSda3zC zOZJ%j8}{{v>k)ujAp@Fzo<*DZ^~s|t8siFM9;w+RYC^nW4@2eMVrf(nd$)#5TG3Fa zyr<%&H>I}6^3lVnA#b?Xx_sG+FN=At5+1vJ0)QJP3ETe-Gd#kKbMBpb+GXn~BBwxY z*QWofU_s4SOu|){;SqU=)Cj0F6g%)vd>`_Tp@#4NeW$gLtv=X!i0nr0hzV2q6)o`n z^2+FN*!^v6#>Z_7q9+vVCv-3b#CT*7zDuMYRsgvR<#=UaJ;abP!;RG$Nrm(Pm$3%- z0m?^W%~#;V@`3sTeii=*eq&&hjw_!y`>L`cWhVa)L91TNvxGSSazi*!%C=s>l119m#EMB+}FGP%faJJh4eNn0W)B5apaOwTb^Y~qy0ng+VvkdrT zbqEe)pP+=|NM<1Gaq;qww3h!?SvA~8tf9vGOcI#2j4j+@x@%)OErQMFCeU)z?(gU< zE(8SQBU;$*PlCw+r+7#35w`3O4=9M^)q++_A{KIRVAMRTUv=jQ_KBC0_zY09_r0BS;Wpz3^ z#Civ?Z-_tKH*X^1H4e?Sx9ngiLc51P>eH_io30S;fe#S*U~F>qXE7+H-oL(XoK-s|>4*G8 zI~jk-?~sviNy&#g{Xg=viobCA7-Q57K;<#{y2UhYJD^uevng)2aa!lP_rH?t&AQg_ zgKp9VxKqzLAVF;lmQ&ZXMa}O%Boj$yhRpxo$V4OIc8u^)wce=Rf7ik4h|)VI8I>_M z+w0V2mhcfW`pdm?W-2h${it8T1@?FA5&R>jx(9H)x`Q9v%h!Pq&KGizwl50P{LPu2 z4fRe0VGWQ~k)gW$^w!@svoc`^+Oj-1W3@4Dt zwhXbc#Ra*NA((Qj=0UfNm`onKg zDhu5j@KS01sV%5gXXZ_hHZPNJwtkPlb?{b}x?D`qT$veW@k{L<*YKeCQH*%3sAH&V z>=NEy9W4ywCwUUM z0K<<^f3e%to~6E%J)#Bdk`Uch1u&WR5}S5vQM|}!+9{& zgpZeHk$zi7fNDyIP$3sZfx!I(+$$U}-wLjw)P3Oh`q3s`(!!J%&=j3oUGzE0lNG0 zQMlOOd4l81SdoresTd2M)05C-9Alq9{@39lizBh=3$LqK4_L!4hVzCN%41-_I#*Yb zS7TDS09#V|yKJzgU_y6pUdd63Gguml9;Lq%4O;L_eMO(Asd-|DuW}=6MgzNd;1Z$f z5hoTg!cXU##>|6e^>IJh{SNd}#tTo5&fUbWc9@P2fEQU>lo6=IUh%4)d#L#00Y-`W zmI6tw)6&}-_`4Rwx(SP0DQalL6bsg)ISuv+|EGWM6yyfTS03p2y z&5x!&!Mr|mVcB)PdSre`c1JijK+pM(MgE_HP?=GF}K6*DJhk6Mu$S%hMc(WR< zjc*@a6Mdl6+e|NAi$)_SAo&PQ>Pg#H)Oh+(RcT2(kVc#vN)#R43}lH9ISzaItlIDZ8Z=8n&s z4H?8$FQKzO)RSZ?kkXH~6s~3$-~v@H3rw591AZ|ItW5^wNxbulha>=Z!e*|)mB#4z zv&Lbk3=Sf*>`()dz}f^|R>L%IlEj)U*%5X<`YPEGbge~Ok&xm(( zu>(zRi%pyF=Q&7qE)FIf=(d=guW2+G#Y9P@ zy12ARSdm_56KzcT1JM_qBJM#a)GNi&`(xmufA04OukkuT? z_jWo6y)t5>T36+FF(MUrf2&sykPQ>$u0b<0``xXEv8gw<#@z_fpUgCBJB!QGUE@E! z@xr8cty=q(WL`Z&A`sSD>?SEizA@ZQ)rNa9A>HqTme|t&Y>wjQx_5TZdP_8-H0F<9d#?~aM zR6G!HFgfrcL5wl7x-wqUKq3MXtOn}m|8Au0ju+hM!KrfL9|ODn@0FG z!lYkwns0MUYavg0RW_IJulNu1a_df4Q&Vv5_4Ua8@T;v($JtI@$DY$X#}fyK-@MOpBKs`RDFstJ9OQbO`t> zl3TBgXU`MflvO3#?tgiLkSa#HrpQ6$?FqKzCdJ0s;Yz*|Mq7^Pkj9|uE{V~xt448h zwE6Vh1bB3|k2*0ac?WHpT#-24S-jZ!l~g)+HWEkg3PE3}kFg918UbURa5q-b5YS8- zZ={R@(QmU`?dnI0&h=`Dv>WPwZr{oO$jg$X^9RAPUn{r7Ah7OQ!JY`D1{%KM5zaNJ zJ(zRFw_G0ukx{>b6xe&7k$%t58c3#BH*(&z81S&pyo&F9+fcn@x*_ScRm_CnilllqChcxoNY^ zNnl;y$+v5A8}}S7nU0xV{=1sGT-w*P<76!->DQj4AZlfmg?I$ zSau#C#RsH$onJ(Qb-B=Zq8?r!7AGyney<3{T=|z$vZiRe9Tbm)?>gZ)1D%1we)Yi$ z9uKS#d{C7WRdLroolr*fJPdK-SZk?`3;klr@%UOY>RhH@kIV%UE#4{=L(LJP&%s`% zahFj3oe4Ro0_9lJg$amNO2@#BEhA$tm8nQRYMGibPvn4qh5xYV0eo)y9G&=!Jt4!l z6mO5W!%7|?-?04qWG8lHZRQ<`M`J(eDmS;uiUrfQ1U`rvY9*I{0SoM0#vN8}R&=2B zpe3UAwLK2D5;{F6K05NVO_5$*d5!r})OCKUDY~p7FuP)WMqYo~0t{pw$C+%hl*Z|n z*gH-nde(nTBlU3sfWq?j8%nysFo%*}?h2)wO~U20^iLBi$DGJ|Sdd$8)8Chv_{}Pl z=gQvV3XT37qNJ7`qAJ?hm-TIPXd9gYe!cD&E|MvIL9f3?2;Dvvl5!U4MFJ7HwkgOD zy1oV5Qzdu=T>eu~wJ<0vbeSGIPGXO) zNlRRmkp8&fIA4WAhKc(dX?Vc?X<{!efkP&Pvwys!t`huld0tZ0(ng-FM5`{FGIYmH z!x2z3A6gf95-l`|ZfiI~{t7<1xGOlHS7QE*(R(zcq|UZ6Ql3p3 zHS9lJ=VylnD5(vqp%dJVNEJM{ue}BJ|1i#AK2I@Ki{0;m#B7JFrx-gngh$&IW!@vL z43RuGR2Cd#?^w+@smEMwomsISx`R<{w!0#f5N*vprAFK?95%b9xer|nJDDIe-0*|! z{f1@I;8y16H%s=_@iIc1Nh8QjfINu&YKYten<$|^BSFyJy^k2bjWNOB|qZsF*8xxmm;U*(sVsE zglnV#MDm20aBFf0c}K|^MRP>My~k{wBTs)^%S>s86}WTR^VPll>UEEeza@}7g3rT) zS4#GXb=|FXVKke)c)kUJa!vqqM%EpIpX@9R?%v}=FnsN{kdir|lR6N)NtHN7n;WoQ z2A%#RA<~l5^?(gy9u;q;S`I}i9 zR;#U0|!-z6jJs@e9Jkwz!*ixzMwMi+KS^ zw{Vi3s~uA&K^l9Tr;X}oEE;>WRLpl0T_}lCU8;zB_w}z4P@W>3??hB^858?w_s3#@ z9Vl!W-iTs+EoZHGu+yu^f&)3?I%``&ft9zIz|KRuI+RMB|fV<2iZ9Fkva*f(t2e%+^O zH`|E2c3JR!@cRn$`!1xm-wxcd@bA+A)|IcwvUJw?PZte7ikS(n9sNpD$oJpd!y~<`@bP5FmMv&4)m{I_#`RwzB$?e z_0zw|Dk$Hb%%{vIzP`RNv|u9rh4K0NNlSth5r%B*@xYXfGR2qtjL2rBsP?_Me|x?4 zrf-#aAUHI&r*2;)rf*~J+_uN*G2=&xX?)DLCcLk=w!NRfuDtEurn|d8f%LJv5)cep zSgg?InA(`M(k1cLju-MRSJRVJZOEzsS=5@R293Fm0R)sp!9SIqx|=guyurx_N77tt z2q`mD$H@%VHFg#HN0RQ7vhZQIxmBy4&Qjx?Z<#~(e>gBIISjIAA{iD_XFbj;Tl%K) zu4Wx8V{79*6ZKctD#dv1SXp*u+|Mgav;$aRGnl824+<7O=X*1h8uoDsY3M+*2N!V2*}8= zF+rEa6T<>stXU=WMPkL#39+tPM4G``GXw@8&rU@BSy7)8sUA~KjyC}3=%2DTR*4p! zAzX1rYse;T$A^wA-Vp$1as?}3G}B-nllJf)wwWwr%_VcLWJEkK;cOHkaCHGiZ*RrF zA&?eR%R$XND^2NvS&WWoPatc|svuc|*h~)bXkd4?6LymzmEg_ad)?T2m}h{u-}&KG zDdia4)Lnyl2atNXrVmyUzN?G*YyffS8*Z!I$Q&>iOLVenFykd*z8D4o^ZM~9TtPH8 zs~C4}SO1EXR;savjf<;|Fpx6hg+GuHa)R27&I)zB0mAg;$Fx+b*QgR#aU+LiXbH@q z>G^cy?+d`W`PJ`H=j+7Hqr>>GBdPEwTSkk@OxfHh@K9_FYbf4V8;KanSXrHlLE#8O zi7Gl!SW9xQHjFwBHaQG1j&zC^3waNDy0i6>7X?pPFs7+WRjW@t^$WHzPc0^Lz!^e> ziWzZ3iDB5lt(2d^Nm>g_mc#$ETZ#Y|XB|3@VN1Qxgt6_chs#E(3Zj`-P{{!4w5JS+YjA%cvygdhh=dCr z)8Q!naT%7;7il1OP#~m$PgbT+mnKhb>liGgEnePSp&k|P7&xUs27?A!E=?#5N$i=U z?dtNWGU9apu}uCrWh(^P!o&m2rxO~h|24^_5VNiQON~|f*Rawozq=#`WNrijf7uLnkwU|mcAKlI z0Ii#kf2sK;`j}vT+SJ2zWj+#dJBsk8)VjUk=(NK_K)${U&U-W zPV!+~7EeQQnzk~T6W1c%p)7x*t2;4s!KyUzlljH`=mUMghyg+E>C2vAaE4$CqjBGn zXNvj>cW#JKmUf%TEH+L(C+T^--!W#t_|CxMg>-uBN0oz^d3W^#lg~1WcT>S^op{v> zk1@7Ufk{SgY(Cb{XgvLtj_j zF~QQC)1n6p&NGbB`HS?^0V0BSh*5DDL(JSdk0B2su+o`Uf3fhNZzF2$Vgv3Bn*^+P zVIwkCos_R@;v@GAXtpoOQ#`^AA`pH|EJh#LP&ds+m5If{*=^$7D^;~sFPMh~qFYtp zkS;zzbfZ7CKbYufpWGmtKKr3*`dHS(sf6-{l|wndd)`n=4vH_^^)t1#FD66lrr=nN zV+3BI4dVRmPCArsn)T@rmc|{5_2UR&NASoE^#wIcFV`P%e`-f^so+7=%S{h{|?oSbVH`Gg;ARuuEK~Po_LOpN`u`*KG}8 zk5&_3MaJ{4eWzJ8H8m$M`%_Nh1!C70CeuDOl&E(j-`Gu()6IZhVSPXo-x>9H16M6l z{;DD>6OO*`3o+&{v6hiTWrB2yY!Jz;he;9WL&sPEmYI&ryc06$Cbx>jbaDlw>Q?PM zlYURAh}&?+z1t?+Sly*vbZqXX7I@Q1+VW=cXMfAizd{ef(q{(8p$nd5Dntg^CmZs+ z|6Ab2NPZL7&fzm!cOcKQneJ^PIyn#Nv+!Nv_cXeFgC>VcyP4wD?*6aCvZF+inB9a5 zfiLIN5e_fagyW;c+g3=testp_EU&}#Q%9!Fu?km})GXEIsY60(Vsi_Q1igK12A_BQ z|ITuR+s%sdpWs7jir+UlZc1)N0bUA!b`Da?HsUnmPmVD{4`&he>q_t+6fCHEs37qm z=x=J`3U_lP1Q~JhT9`0F@qi`v3pjd%r?@N)B*pjeswabrrp87UtL;XcwY4EZNE_)( zB`dw5uJi6Wz3EP-w6sl)Cz4(CBZq6A?Y~_=Mk+J6eLzahua&UB<-0;b_(@2r1}yzq z|Bbi+MOgEvVKWr&sCypq!8gQ59GS;-s3Ezp#9;cPfob8$6d5$e zT^~pr-s%+kJZD62$7~D(=|VT8=%T~XVXX#7YH^e>o}2?;H)2VLOUx}LqvQ@3`-p|4 zL^jwYRw7-47dtJrS>8s@qo?X9nfFzBYl8?frvbyN4DL%DLrR@Wf(SaWEW|Yh;Qat^ zFh9mdDjfUhCY3(cK=MdYOItl=P7Enh#UXS5K;=DA0AaE+i@`01`}EAo(m%Zfm(Gw1 z2d<{~I-z{S&B0n)D{yzgM*94r_;l1bQA#d3arQK>*7J5u*JKRF^^8s=kC|}xMXEY?;vE4pAv5JvI{_97tHg`#Om;jg7#6W#w^|LuascVWSf;3Ajx~+ zCeaZs8B9e(WL;SZhg2slV+{A@)&IxTHw9_Zw872}cCcgHwr$(CZTlVDwr$(CZQI@* zo%#NAE>3hr*L7D#RX>%PPbM{~Lt{h@lAp+TH{t-gp*iWl_H_EJDTEwFKPVE2UFjHc z_K0_KiQ&A)jQtzOgh8;`ZtQ*C7)I!$hoYybllR%QphI`OYrc+n#UpgUV94cgBC9fu zanCX8`NASU_(|K3`8mE&asHi?xtDA!Hb~+R+%t*CnW0!yU#ryLLu`_~~*>o;V zv0uqHN-AXnngi4`^l#%y?cP#5yhA?t)B9O?cyV_SyB2I{^&?w8;DtqXoaL0tS9k-V zpKoD7u?O5jI;=JeY8=@qEId@WVx+PZ2trxMc$4a;uyHX&7s>!_)&+_HZe3-)Wvv5` zl~o~{teoWm7-UPnsl;aa@^~qs2!`yig?_OL1>g8<%k^kxU1-H~UY8hHq<ZY77w z>@;|3g(_Dx>_6Ym;3l_CQZO*M6pTkzWfK?DmWed2TaPyM9G}9VW0N|4 zs-V9!nK=Ng2+5mHO&!;*OxWaw@QtyQ5kQGJMcBI_*R2d&^ITo6@|-UonaUgeqKN0p z!Wi-%kq$;NHwIXG!ZN#G!UK7BARHF1fPWp!Z$2oxqgcKl0t1S=FzR>JOcP%C-r7n2|$C$)eVR_j|e! ztq8^G*l&94DZXT0qp9&q3<6%LFFPNSLx4cZ?Re~BB3$hJ=`aXr%V zsV%FvF?6ilg2y6U}~7zRn8)hu2u4 z9OV%lzK_7V&mfi7hBceDE36hl)~{!_H^$ERY#~MBN+ffQ&7uvwTa~hi#<1EW%mrZ9 zh)FP{VCXV6T(NArY}r`xP-pqvaKPv@nP9OHAum*Cg|N*FN+H@xa{!CiVC0PG%Y7B0 z5D2r&Z}DwIB|5X#__F3^KBa`Wi&D^)lske;7p)|0WO{7w9jl95mw3{o!Z9t?CN*UG z%k6YJMMLo~G$zGnRvYtXR7Q21coKl-$LxdgU?Gc63l=$I*0+}aR3c4Gjg{8`T7!8e zFTvNZgajLTz?p7u&fdOKo>VJ|jAAgCFf|v|I^aYwQznrFs<+b*4^bIrWl!vlq1xrh zVq(jOc0nA5*Kl!Pv zL7PBbi<~sPuNXuPTj_x*FO2J?ia?c{IfZ0^JK8~e2wE5R`W}>WBis?-vINY$uq9&-9m6>n9hTWe?^yS ze53MjRs0g^q~8AO!M`87@r+L{#3Q*krf|ERZW*_4c$UFCxeu&wk;m^}|CLo;?H|WP zKh&Ym|ER+hro8`GRYfQK#GcqFA*mtz+9E~~M}k(9t1J<2bm8}_Ey;W5=gosQ=ZC#a zOEm-~Puq5M=5Ne?l3Yu_55xHu49_(AUP_PRE$q&nH}SmQV5R_JE!IyN-(GUe{yeW+ zled80H?Teq?r@?Ydt?MKowZ^69_y6`m1zxIYE!&N72VU6YE2DW0GGyKRhg6AWkq&& z@s7`i({u%^WySs)w4{oQ_h90v}-I2W*)owv}r(;0AT8;IYL0bYf zM0nLqG$o{ZhQc%$Kx5NTTz05Pum2aeaoD5eF-tx4uravh1|snpK&_tun^Y50Y;HrA z^qD?_2wE(l6>@qMxhs@l!8+1UhUC#krFF9|Rnb+wA2Q4M?BKcMD`}tHB!jqf-`vx+ z+#m_(frsnRg*a6LjG_qR~u0J}%e zR%hdzIt^F*(n>kGBXszR1?T8Xi4*rCE#47>Ef#wKWyMT`Mn2P^RYjrZkLA1Fo^xtb zMSpgP2<>by0P;i_oFQ|n_{4NPWC07Mc!qiL*E0#qpt-${r3$}84xu(BA=tFM8CJ8% za>ijK=kyg#nn}&9lN6GX9peGDmGG)NkT8EbDSOF0-RxYi2G{i~e83i*JdXhMAJ!Qc z^?zMY5K6QVsjXv-*lV(dQD!AX1*4pl*@*bI??PNy0QG)O+8*dqE+ujq%s9o;|Sky3Iv{xVNlL;tPer*=~!Jy9E=-?c7=`P~1r1h5?ilD&7a{<%aQvi-V zbDYKsv6MOAYEj{W;!Ggh89OFdJs(EtO3p#N0hoFYh1z2r)N%>}gJdOQ$wOqTAY_8mSS0PY{n&SKJ|%aiGx`Ou887=c?m(u9{buim z6j1bLTEr#eb}KOyhngJ7HDQSN1d6%-ojX88P95PvWB#4Y~?0!`tIaC7vF_!;;9596dR(zgd8sU?sFigA=Y)l=xg?6D=) zCT$^seS?tu*@e2WMhl80f!i#ihHjugoxymOLEU_x8u}aBe@AbUaQB;H>UC@ zNxNsZaZ{SjeiT*1LqDdtr>%8-d$bEvIYSULVO}xv*-7Xqq|FsT%A-wf{BK_M>AXPuO2s>Garu! z>rOzq0aj!5NtiuWP1fy;Em5Q1vEbZM!sd74nDNfV^=EI<+nm*o`shmxK?WiF0FTYa zW8gvl@-Bt|>KXH~^PdcK`gc$MS-XhmPkv$1Xw^*P#xu58j3)6hV-*^e_aUWJZ74PO z1?pFNmA4Y8tEw1+gwG83*qRlT7T8JA0fE{r=fv|YpvMN6^BH57_w=+rtlj@?~4-OrCShs|l z3J$$0#p5pK~S(IP&PYJ2s|1I>T0<~VA{yGP&_jBFt6WHVgoP-5H4O}j}TVw`1)xN1c@ zI4nvop6JTM(}~o5zl0O@#{h_o{rB4NR5*Mop z!)oCEkz8zA+ORx_jQOD$fCztzIU=*PB)7DK2EM3gFfoOs`2uUk;22|uYpXeo(u>176j3e7w37WC)lkAfOo}lc2R_a% zS~%z)H|X}JE2J~Z>8s!731RK!^;JV(;m~r_-|8Xsk09A<=z8Z9u=z<+EDPDMbHjpz zfKu7hy9ql*+t>kZQ)|*Qqrh_WjYFE$?K3$lm)dr?WJ58ytmX)M8 z#~7&P{GFCo`b}p6_{OqeB>n^N=lKT$vOKY*WR77i%R_JtgnIT(EiuQFDH1PFYM<$P z7>?F6fRmtcR2N1v@R8xlIeuiFPCN+pm&96kLbZx}SnDZB)`k8B`W6VMOY9Qvdq@~u z31HL!a`+1JrG3Q&6K#7SbYnPCy^m<}I*o8+IFLPCE?Tt3??k+;(X!BwjldILnSU2* zbgVzw~G-leDoSqf93of z!3xuoAPn$d4I4F;Dz8UOOMxSSp7QsEo|bC)V6*2pbutz|{jd=|8Q^$*p@?Kq5fPFg zi5LT~Ox_;89^SzAVca5w_R1T;a*FeHyB{utUO&M8`H-Zy9d;@J%{+tHpM_WQ=#K4%zH=s30KS&We$y7>f=0i?G` z84%J?O1PdA<5S)_02f~F>3~1rm7jclO3WsdOrPcP{ecHn#gGy2$c;r0GU1D7abQIe}M zOAl_uv`(6*GM5Tqsg*n0%gzh-W~2xCbyx3!mx-E&31VO{7C*M_IRj#wU2^|dBbB8p zBwwegNeL^IF`v96lXn28;13s5t@%)W<;naGI>CPsRy_k;9bU&;K zg?!KC@EKN5_c!r|iPQ_Ec6%*_MQ4laCD-@GOwac#mA-yH!mCUkuSKe!Nt);2@LjHq z!Eak*rz_eMAW2>?-;vQJ**YX-Id&#@C^JodRFj<8@^N|8-5UPy0Cq9nz+6~xl$u0m zu$8+gtG^pCk?uK+D3I;K?~Jd-OS9{`@~{jw_PV#a2P%|mwLt$Z>b`eVPTS9-GNjgv zm$0SA73Puw7DbUmc3lv!*a_bfLQ3+3fQw^5+GzY2)<6}7BKp}WT(goeOer@biAGYm z6SgQmDtsrBe9!LM`6?D0sYFz%cP~sy*OOgeyJp+3!oR*wXM2IH4^F{?=#fUM0ywga z+LYKf(o0P7+^o`DFKR8tSZHibl_zJ;L<7}!T-uTW6!TYcFWi5pPdo<=!&us{x$i=@ z2JDHNb+K)w)X6PVvZDzD{?Zpfq2|$R;{bjtiY4@#VyHvp1_SCC=W)^%>7HWEl^l&Z z8`~a*%LOri6eW1EfFo*xR5_H9av8tIA$yM}()_NfJwjd*ljeE&m>3jal7_eR02OV+ zHvUq;$9Nt@QN)3IN%4iu==Ocpz=4T@L$tvnpvO8hV<&5>4-Km30JB{`^VStJTCme7 z&2@N9O{Qkkqi}m(v!WW~pMQ-)Sn6+m)xtMKwt+WE0jSF(?OoWAM`ak3>TQergpHGd z3C}pz2$(JC!<2x{F?k1AQ@TxIC4ea1%kdvT2ueF+nIJmUHv^?mWc0-WR)-LekymqT zm+Y@}Ix88S=1$V`?wm8;D&FIs1nAbnQ>9#UcA& zXI$*s@dm7NV@b0GC69`&I)|nr)y-!z1?Ef3swylj_g6hx&9N+m9bAIe=3ayhCG&Ow ze}lhOHXGL)yBQ<)HHwacW?&t=H*H*0nY(LTLv?*PG^LN9jN$7RR{Ggn`9V({gZ9h~ zk1(z5{%)t(x1waO$|xqKCW$?`F;J)9j@DL^lZaFoEcO*e?s;U2kyy@n=UYZQ3?4eo z93svpcg4xTRCJvk)y*C%jm(taI67-A6?2NBOv&zGU#WfLzM&`e#uPh>+r9CnvnZeVYz42NV#Z|{BC@8uO2MNVoiVC-rgl;=RI0rEn*_$!` z7^+X5iH}3L2R;MEZLHLlwYDcfdlukn};G3$Bm@CqSVj@|Pzz>$z(S+n=nn~aODN+BI&A0t99;2DDb9D+_a4!Y z9@#s`oG-$wz=Z)Z98Z3wBtwn|!NP+y7+_cyBq(>I=DNcQ?a#NTaK_f0prGz{5A+DD z4fp2`eI;^Okp?{cd%6lblAAyp+~LW9eE|)6ldG`{OmSqjAe4k!$!^@)4m=nc;AZ== zf}@O)ay#R5o)uX`de%7i+4h=D#fz*-ezBg6WcVn9A*x*}NneEu*&4tp#L>z78}Odg zgr0)Qh$z5$1+jdP{fl5(bn7_qR$HQRRzT~OC4=INMngXv-w4qUN1cGQ6zu?Bf(NvNj-;HrkS&ZY7z90XBe# zpjmQXbeE?4hXo!fnVviUlR`vvUT3`<*r=_jDTqb$l+hhT&f*Zz#g>nV7I@4#Xgml+S8Kv#ZM@s5|+vj%nCtTyXX~ucv z$0P9i$c8nN>ALm-$>?+MsgZBuzMXB-bo?Z^BwgZW+v^8hb;@zN9shdY-TekqAKWJa zrAHB@kFfB@uT!vKY09v`%f+^!d**v;v2}r#TI6b3u~vzGsB8hu&qrk8ERgP+uSSQ= zH*o=vXBc$OimG5hZAs9eg@`3NK$(ut2*Zy^L&THQ5>VPZbw&0e{{piuemI0@B$$HS z!m>3^tW2rA%%15TNC)T}2z5QncJ+IKAfU~l>}*G_0}(-be96KnVj4?&|= z)uh14KX+Wy7kl`J8wN#ux~L58)2zVfY3|smvLM-H%xu2*Hd(S_yl|;FgUKVty2a}+ zZNnI-Cg&Zr!42;}A<=4`o*<&-R{aC4wmg&90dcg;5T8$?y6%H30yVj`)}qTJ-_T6m zxkZRznQFzdVVZrUIZY;$Xtp;21OrQ`-oFjs6K05#(RU2s{o}8JyP81pM{x-&B&y*` zjv%NO)Uf;bvoKXOIF5;=ab@WmDKci3&bhb&DZD-rVGY}-Fof$5sFSeS16ZR4vK*#Z zh{{Urg|-B;CQ7$&o>qysD{A0Ny@Ua)m|wId#}E=}uZREN$Nlp?erq{&E-hM08bhxT zpRI}q{5n&>l*&u{OdfA5*NtlhE89y2#8f(MxNYY9Ct*BU^$X)8a$3#O^J*;^sy8@S zX36xg%Tqbcz4I|$cI+2m%BeO=h$=aEbf&}wr3~ztgwJlr%?$d60+!3`3vRdm5=&A@ z02M+QH}gh{!n{UZ&qfZ5Gz#O*rKz=SAS^J~!yX8rV8GfqQtL2bm*T0FRibf;vz~IK zhJx-Y;G4Ea60av6^p50+3=#Q31q@j4k;2a_Zq_QR`mueAq0fQ#^S7Y>J#v0)+Giq_ z(%N3_6Nv30*4K<1O?|kX$`OY(!QdzLse%dFYYWHC9oO{2FVNoD+p{xjp1rx_d!E)e zx`j=^M7tIo#ufNgLO_wZebxcG8~F~;@bTc27O@vKQN%i>hIzz!bj?ph^9_A+Bi=ny zwO7_5?hMnf@pMu%=?7+wA)?T6Cb25@)bR-lUTksW=vtFY+;KzN__TmmNmMR64Y+@1 zwrF)hc>%PXbNf#dSlTdoy@DEW+H1jojAC;Dx@~tJZ9K5=6HR~qsr&1?@#lI9@ZATV zg!rA@MS^T>Zo0nu9_N%E>Aoc-c#X%uw}a$5AAS8{3!%_Gn%{h_ljyKc;Dt=^h4dVM ztezGC?B|ggKez#lH*THtUU%;G5)2j2gUGe*LFOVuszn6pMKB=%&s0T`S#rPqr)`0P zcn^A-dIJFh0{q{@zwR;r|IsjAHMyv`ApYVF%<+V(TFTUvkY|>|WXO1LtRrIZlpCXQ z)CQ^dHMvLt^V#$I-j^r4i}UPtl35wqgbDwto2l+sr`v2Uw!z(R-gl%vVqciTKidMJ z$WM8x`{o-{l^WX`6tv})-q~nvCRQmEHexJOQLL|ZdFz%5IjG_%n2^R(%tGXq9F3;D zwHUC2bL!Lt%F6|Xr%Rb&Vr(!unV9%Hs9-)244~M6Y0_~Xm4rzVA{ygmt(27c#jW`g zLHRknAt@-rFh=O5Op`O66{i?e2I&|Uwv|3A#>zbtXvU{IL4wyfgVtWH)GqMz<+y-r z_uzc4**{4vdd?F4snm$QO8u3Dms%76UB+%^*trXS_)hc~=AHN^Dyz!n4g%;Ok4c29 z;wx#uWysAGz4fE^lmk&^3APklgHpZ6{!m$f&zhX}?}Jy@*1$5>&}OX}8ig1GMc*C-mOQLPd%z zxtkgKLG`UD1QUDdUKjtXrsj_JD(HDYK%`-XTa5igk#&f^Cli{##)eObxFB1TF+*>WhLbmi7!wF2)3g)d zacg0?lMTaO)mf2mWhgl0GoBlxqD4Y6XL~UlJu63Q;;qIlrzB$lVMXwmbjZGhW|3u7 zC?nJQQF#oBszI-GxNdtEmBgRZ4!oZ+>#D3;V$TOpO>;`}&wQv0kq|ZQg3NG7M>`I< zrZD}~2i&)@pBmP2NuWKcW(&!DpzSW8>{|1aBD8eX_AbE9)b+&Omts)tvWHnLmi`Xy z1!bYln{-2f`SF!La3iNT5_+^Wak?W!`cv9Rs1ziJF;Z2tvnY}ncI7EaNYG#N#N&Si z3|On%M!YUMK^i&eeGl-TCD7Lto6C`o_L6c)419|_lN?v+NLqz`@8eCrWPr*!MY|u> z*4PoV7qdZz)$l-)+&!y2a&~>A2->`kMscOCh{h6xE|!x_F81`XuGoj%GPv(l{-gyubP6lnEn39 zuAyZ&?Bfap^A+ou%@$MedjOG6f#${~zHiBOA&^M*CL$9En zPMhSdb8^wE)zglUUL-TULw(6GC{L-mF|%zfADEGQ2!5Ua9g{W6VGCK)QZ&}nI@K^N zAq9C2ldo5;L0`u+A$#0`N6_-m3R6GD@I$PW~b&dqC>Ri$Ts4*d8q~ zGZ_#-|83{(cI^|n)-4~^UKTh+TLBI~r^d*CQa(;=(t!gP&bPwR^~$SFc4rOg6%1KgYIYh1fotOhtgQ zpc8iqwKKwH+zzcq3E1<|A%;L)ciz)E@AJw5Y3=SCbU46!J|?3QgiU=jkf?^{(8h60 zAG7d)EIm_#S2IUGAW{|>#lSTP)oR3I|HNj(VtQM^p`>_~38wr~ zoRL(kOdjtZWtjlKOdhvk+vQX}ZVSm$WB2&yR2LKaa8BeMFxy>9cSqBciZXKt;yXaM zcK<(}p`gFLt4k_xQ?5SXk9X2?@^@|*DF*LYB7Oiqy?zdH7l;5dusJb7dAM+%I$0tl z^c2yQv^xdmL1%N>vZYGhZD?~3OptP z-KNF%QH~?%kga}FGxDt?IOsO7SGaZ|8LYqMv7^o%KA$)GVfwo_uvpO^EX_FM#bNC@ zIr44GF@{NN`m6N6Fb!P)Q3QFf2&E}4=Ew?F!X!dGCc<67L0{Qv4&qsD)7CPbL3;uF z`j<%yaZsu&iJMyjDlOzn$w7!!f-uU#A*YuyOZJ#ouCUSJSxZ#9M1pRdVHWALM?(YO z)!?9;-a~->jZ)ckj@=q~RakNcm66si_I8&~UqT0KTCuG&fH2vx zD-BXlktU5q<4YUYzPfu0>As4V&e9YuWehz91>%0csQwxO#~fUbmHy zI+z>It{{)N{{GD!i0d|2-`@?e!)K3MIAp9+Y^JD@ZpK{NkT3m_NJ`6J{^c>iz3%Yi z>M#M%7w$pGBBO4lCq_x2pS46(DmFX$Gs}!{BaO0hmK3`s#7d3NY{D@aV@kbHhb{#n zLd7#xry{)z$k>o!r6!^lC$dRoI&*mO+D7pA&%=?b*B;XnP>-)H1kKH?R~%d?%(jr; z4l9VmIo;F7QngYKY)Qf(J5Ue|raE&C*^YG-9t4gHm@o$`mA~0xL$=l&#k-LgFZ+xu zr>?p{R<$AKPNa(DwNvW6Fgx^eh=<8!e%d!Q zwL5?p^xy5K!_FP<{O8u86A&y_FEXg=oj@P1fj$@{rR2f1Lt{ZBqy3!~OiQq2ax;Ty zJy?th$T}li>!7pVZR&8t$tTG4gJ^*cJDQ^SvOl@X4fMslQ7lv~fg((REGYwrAy<#T-Nqda%4F6cd0!(6`H&Rw*kr)A782`ulP&c?IMf=wYCpkVDdN5HDCBkH!!{KOP6vJ?tsU$qvue6Jt5qDsc@s!3X|V(f%&r?lx!wX9hku zN`t%9PkuG8$4RaQDlF^OjNz6qn5(*tDD*>Q5D;mU(Pj`9fvWYAJ2aX*JbG&rgnq`! zj&+QXV(O%2(lbDQesBHCH8?2XyOS~RvpnJKrM6|VFwvn>U8#xDCi`CI(v{*d=MR!) zhIAprQ0|H}$aJ$fv>^3E?3xs3E~7Rv*pdo|j^6IDQxiW&SPye4i1i&miALBhYrya9 z8|X_Zo=JGVk4}sYem6T68JRqqlK@0$1Jqt@lW?^&xIM$oEt+is6!S-;CUOw9HaQNM}A>kp0AE`mCg5d#_6d-KtX zyGRI{q)R=<8feH8fig0@@xxL?opeAW)V_F${GCsmDX|Q|o%BkFzN+h)L+B*l%m?(M z8BGskWC<*yf`t>qW8M7=!pg-4%eLj^#2SUrV0diFxY4GiA}RS7msUoqqB(`&K?9<| zu|dCX9e94$Jmt7;W;j=~WqR@xIB~Kf;9nt*J={X(e1WpDBAniUjf*#g)ljOJKnx$g ztNEJew1x$Uk+9K8VI#p4UW{6cOcowlEh#K_&=WeFb-n@@&`u1&BIO1-7vjYYBdv!! zCdF#EtdvMRk%n(IWoM@832NZa86z5FkGpIzD=VIotX*8?+jB-Q!1<#IQRBd~OG@QD zW>yYJZ)+ac{6-zHaA0 zEEASkKdD4G@2S_t%^B1KIcf6%yOd<0!E;tWOoGevFja6eY;vM9m;Tj|=DhcyrENAV zTB^_5!}v~4Z0eGRDIp0VIJtBkZ8)lRubv9;kyPa1NIO40?#mpSR%Le$3Fa-FaG*ww zqyz^Ps9#R>wTLiCNJKkQOFx>}*ycBL{?Z^n9cEkxZqvS*CPY3w&Y7EtE~m{r?%t~y zvg2&%$c^!hhi@-vc?As#q%Il<0jw~W$w`K;U&;4#Keia9TC3l z#Jn!{F=>kB>LKHlwP2R^YI}|{=c!Z(8`$!cZOU0CCkOlFZ}Kghx82Yc-E2QJnZGBB zc8zb1@+Ac9C;IgFIqD)f>MoBFEq4KEHSNr`MImtbkg8jmAC&Tmb zF@xUzp zEsxs_78ddIG&vL)Ru1rPaOzAAKDytPa4Fo1wIHg?9vBL3C(9+hBa1wmMJWQ@n>F($ zkS-AO^Cl}|%u=43$;2StQmQ8^YFd(49~r1HYf!-8;}!I3Q`n#jSmA;#FBhR#mXYr(RVkb1S7FOFEL^UjAKDUiI#rQ9=(xE|zqjb|FT; zj<~=n-RGIeH32Pdf(ViBmxKY}pCE>hU?+t#^!zoC!Ayi%mOfI+ww{9AS9A_gwrR+zdpir-uk?SGD8TKqa)&Efjb9pSjS`! z^>9|PjqGHR`ZrtXccztJRXqObeIii1j(?WA8UWY~(mC4HnKM0$)EEf>V~kXuav$d% zfuCtESW@n$5WtZ069gV!D6!8zJ`g$7fG+fSa;V-`pbss@w#tSrHW@Kc4n}02tw|2d z-JEw1sv50tlZ)$eFZm=&kV|{~CJ)S4k=Dk<5TtoEf(TlSQR&PRf~njN%Zm^NRK z+0U3!mV=3|g@U~#{>TB?QCQSeOn3doLV>&0cc~3s9&_Bk6rhl$m(~|lnFbk3JU9H0 z8pOQ0KgbfqoP}i(xP7jIIg?#MSKq#XBLwXan7Ot5Jp{#EaReH$jhF#2 zQ%qW13Z}RejA_z;@1kPTq6|zF7vjUp=wUJk8|AheRc?o+WdIw5^pxrexKg1Ds7~P- zLDs;+2!i!ZrY1TVmjop*)O}!%M%(NVNa(K(gS$QhKUefT98U8TdrTTb(KL@eahP0l z1{wwJI|t|BHpvjZJK`3b831zb1x7HH!~C}0L_zZJ3CTdvWKKz?KB{OxwG7}H4Q51p zo;fL!0+WgS8US(F2{9q2L;yLWH4~xCvoOyfdy-kvR|@k#nuWPViRV?5N`S{i7__F? z(J>qo;iQtN@f;_iU9_HXN@>(so{R7fUT;{HI0izji}2T-fvB;_M3{RO(L?Hede+)|=IGw>^m=c7d}|%Q9^epNa0?r^Kc{EpcRLN9{H9~! zS~Auls|oFQgvLFwsvGBOs#6)%qeVk`i#aP0+v56!!8GIjNj^GDQ^ZVoIZcL9elE^B z-I=y#b>1%dmzvU-7FS5%kNNvdh$rMzMbB?h&ouggOO%t}{_O-2?V4AX+S@3L>DnnX z1J0z&8i1>wvOp`CA99R@VM3!RWWx|!8%xXZQfoj{b2Jxt-^98Dp4ADOjbUKcIcoo8 z`tS3oL(yVTC2xe(2QLctjA4Zsn4O53y#eAdvyuVj2(qT!DMJ8MP5(^k3%WGZG9!Km zK1*Cc6F(|b90{~B1&Brp7yNyuPBPF-#egquC7?T+K4R9%1%UV(fY+NAiuCr69Cz$6 z`fCQsogH_^GG-aG#(jewu~J6mTboGL=@^k7FW_WElsw}%>)qw1L+HT*FDh{e+u03z z|Cj`}TAu6!-^Y`(qdR9dXWCb`wve^4oeM)T7qKvoXdvu7XqCXP#d&A?MlKIiNjjdy zctGmEbt&4H1t70-zVOtJGOpy*4ruLMeQh+w*a4SjO@~L}_IK?Z*s6VE-!z0e0@DRs zQ)&1{i?N{+kKc73o^MBqe&(i&U28%3z!<^nRNHRx0Ul!;K6Iu*50HrC^y9hN&bAh1#>}Ltfes~e zUv`=f)R!*d(r@6lmFpn6*_u;kmi6xVZkL5KjVa-1p&LFC!GzjtKTcgI*DUOO>Pj;n0}9u;~Kmx|*X zf$sF4onza<@nwOR#4Mk&ByIR3)i76MfgzD+xGDGaj~DEm32F{E`t5jO%1qnVLL&Gf z%dQp2UwzXIyXGu!k)NR+kmXIHV{-id9iHpMZUH?T-@`YA)ft@i9i7_9WdZHN5z3Tw zC`ojR*|9QExZ@sc+vGgql7jm@VszG&<;}CLU*Gg?+1#{Btg*2Gfn2uaNwiJ;?VG_n z2#|9?ZBJJ^zjg-SF3!0zm5nGhdJ_2;aq(Vp|AIBL_&KuZ7KH&P_o!R*%47S4!}d>h zA@Smz;_%$!@cexw3hhi}`4#a~o#%7O{XOIUMdlyJ{TJl@x1{YL$5W+K=|ZhXp$D4M z_y6!TnO~0(I7mQ1N8+ghm;NNF`1WN8{|RGIQ+X$HAyem2XCVODircn`0_Z#-Nnl$W zG%G19y_&5wOB>N6C1{w1gfim!aRE;SYJ-dedp`nbTAP2sJrS#xhEWVYKzI{xFa_Go zBe~NvvmB2;W<4BCdc8ip;CJv^7(?)Ear6wq#DgJN*jzdo&mlIYvvO~KmGb1Fq47#E zoDa#!6FW#|rT%~mdSbaYHe`apL^^DhFWyH5Oo}2HV`=Sx@w&%%WxlhplXd=}8Qy7F zijz`x^IfyG7OYZ6M=urLI*Fk#0z)}rYs7jwRa`F0((}DknW?^lz$HE2+N4P6%x_01 z8=aLQlqm*uVewoq=zH&cYyBJpiBm4z*G^?Gqq7&+;yVB*NilHo>rA@(l2_>^c(ZBw z8g=*F6${cTi`5d`M77y;f`2CTig5YL%^x;HaUNHm^U1Su^FdUh0`V{UDdi%%m(Wq0 z{EV(^gv4r4+E-0&iRjTIXQG1}D@U6srfB^#?RqMfv|jz^6k5L_sh&%){HIP8gy(=5 ze_)+{fDQmRP~*iXKLQs{2my1=Sp9F~tMSyDk5&549E|7S)Wo@3k=fAJ0AqA3WVb+; zY2OT4-6LH(9R1EE;2)7GQgf^LRrDTke>tQ!VH$S7TT;#lHmW@e$5uaP^rgF>4d$Ub z!TynWkDOIrB#53+y}!A* zI->H+^;L`OE}n~)&1sA6@^r^^y9}7xX-{j*``HWGRqk4C@7GC=(+vrvu;7^;zvC^> zYnR^ad)6yY=;{}j8+f1Whg6_Y9z#OfQ>@q`(jw6p(g=XUXhOVXs%Tfd`16NU!iXwa zIJVCh4%7+_Q2~ynp+P7e>YGYRS8Ncdr(#VFOIn^rs z@^yh!MgT-o;#}70_9e3_S@`F*`WZbUxWi^Ll_HJL^VeL|pSL*ciYAE=0uwW2N2??V}{(MPgithx7;U4t8OMv0786cX`xJ$%oA(@q~kTQ$tM&co4ve zb{Frnh>C&YRu&JOLgz^|UN1N_;2wx7MK%8Da|9ev?oZYe=H*N1JMBxDn2Sb+sN!ht zqm@k!tj9}ZGC7af6cus!)9e_bZZHt>-rQnv2+-1qS3Fci=v${UuM^ZwcfQ#mV6T-Q zGBnNKs57UqCIWY+N}H?Xs>k1`hqR_qhXp*=#ewpXUT!&1bU+89sd0nv)E@t^%Svi>K);o8I~aWAsx>@?BIFE7u~&MvUdJQQMP&fe-V zmfb$vfjA&Kj#q`8yriSr`#JV%9K8N=mh6>>O6+0-bX5{X9>fT8So7?WI?b=Vpaw{P zpS&%mJOudu6&^Ye@nkcb&{3C20b0=nw)=K~s)MJVgbkZk#W532HC=)i#;rroC`yEo zEvhW=r2}hZB_XRIMGsBgJspRnVbO^gVwAy<5QtdKi3=arajWPJkIv4ZEA1zukf0c* zGEms$%&b%=B~{C}6s3hR)@pzi!OUgBJY!raEp-%zk=3no2#n|7++$$n01P&1%?<>D zPjjN>^1x7_i!(vuu-N|qh?XvZjj$|ZNckQMcDg#FU>%WrW1Em*kZ|5*jyAPPtjoGr z=;TN?pdyBM7&NSS)V0nt7lwJ`k9dXTQ|qi04HS=u!O0ehg^YI@G8^$a)e_E1^HA&}#tMjlsxlp-w zSI^q34HJhJ&Md3{7fQc!)o07gUC!}CH(T$U)8l+@nyly)h(ddT)dT9KD#gIv3mKxt zi=EK~yj zAC2FznD_H(=?|bt;fae%{{M%obKtHsYPWWiHfgY9?bvo>+jbh;ws&mXwr%g&PGdGU z8#Mj$zUPebjdA|Mdd7NgtU0flZMn&heAKTT*m%<2l$JU^*eLg6&l96royRjSNIrv- z(&cpjf{QNzew2Qf-%T)Dm_}EAKvI5)8Q{SJxGwD8bV{o^ardiV1cMa&p$km9_ z^6_%#wWHuM7N;?7G`9e?wukoJkEyEOv38G>O6^r_vi(fjvPtp4xhtC@KNP@eH~a_4 z!}~**=b3%D#p1(&;*pAVzWkYWlS{ihbPQ3TG)xmq*oWY_!~tK{FP9ve39fNp*O_Te zJWI4%mHD-%rQ2v6*Yz7(eYNwr9@E6R<*Th$iyMTswq4PcMa>(C;>juh?gGQT2X}~$>yY2f{$QJ?$jy!J|YF4sS(y;JqP zzXI!as~ltmZrOZvLwxXN_qyL_p$7jz_l}SC4$tH0)%={jx9aKYZ@~Ja`u&*C#y^YM z+CwR6ppWWX{a*oAkom!b4s@A4T3OkV;~*pF{=TckJ^deHOhwTmQ^XB2U>vste3u!D z!!Cp9uhmW_ud+zLqR9N9ktbt5XGNJy?YR(jJVm89I`|A2_uazC`e2scpzDPodd-+? zX7#ejmH-Xw-st7bM`g1WsNR;K&UCco{!i*0Pq{OCA`K1)h%b&N?_BM3C|=tXh(i2c z`pvIqVP0b#We+?Tz-4qX3YkConLQ{jO92`JvO{909 z%KmgD3ooGo!E_FuedENHeYOaz6ESJh`vzLxuBY$FVA7Q=9JUyFX zopwE~J1Wt*^lPdGE?4o~F%UT9fb96q6Y^XP^)D~(jD%X8M8q-%#!fuGK6_;WUb^*e ztAQVG7uyn7j(q?qcH+m+=gXVdatSM~W9!m?O@G>hmR5Dr_LT9)pjuhJ|8ljG657%& zViCrsGYK%hIw3T;*)g8*A3gLK%tQXdIRYl(MN2LP}1QxhaSo%QvPopze0wpj3 zlQ!p-OOz6y&y<#hH46tyQMFZAR7Cf?VyB{Y#SI5z`9PqLK%)cZPhcXLjf~95*OG_q z-G7_WuC15!u-(l z@EZj-=2pJFJMUV|#uM|u{{LFbMiyFmUE1A&MXfa){|Evr|Kea0N7 zCoeg#>r^I2aGqaFLo79uQy7+$b-b=o<5y9_o}s`=sueC21X9{Qc)_jGH3~)k zg#n2n*i%1j{_>0>#fqMr5Rq&UU&lX@t&5YH?DtehlY1%|Mry6Hn(yIE3~j#*_iABZ z$H?l8B7Ehb-vkXpg71J_02N;8^${iwDeS}m9zY4pAGtTp_Qd>EVYeXCOxSrzlm)J_ zmrUlJ2X6i}M@c`|sgdSvZtx7bd4;xkBgz;3;;l545*AvxUHO%7k$2kjI{sF|d zZvD^)<}EhRj=ErD>$a?u^i2cQo5RG!&4L=Db{--R#0S!zq(oCi;q5Dc*R`Bl1_1G z8O4uoEQ*0+2un4lWGgD;5W|upBhyZRSX)b1D4aUJsV~@o?G!iGhJ3DbXy>adlKzZ8T{&PNilvBG)IysewJKtu>pYg%jH3OTdJ-! zO~xC0N6fkcWdsq?x$9wDP)~K=oeoZ*jWxsCmt%p&6own~#Cn%R_QDP=J*0>Rbqi8j zj%N}xs5%eNps}vDtPLO~%6`Ag zX*6M%ANDkpIc-sMfOw)!vDhtNs-u|po!LwJ`#sMR5?+DtD5VUzr)Pzv(3 z((IebvgA?2G`3Of+ZQDByZQf4)QVp3>AMhVJIR$qY5zah=f5Mh18^1%l%uZXyeN+R z!QfcE8~&@9n6)_s62hcR)UrU4ghS3j3YHVmASs!j$+>klRxp)yf$QtPNJ==DQi1%% zou$)UGGSC&*a4*8t}XlLjg76YMS*`k|8V;e-V?ycp=>5D(L|FD1-~DsYU$fv7Fdwqr-hRbQHPaWE6T$=0G1Dax{6+lYY>=E2MHi`)WE>2K(!dSq-*Dz!Pc;Z7FyZ>FuniZ2NRk5UE zMt?HKmS4K8oir5yAp=sDHdEr1TEwCxSAsY1){#5~QK=!%Zcr#0X5JgP^XG}|jRQ_R zH%Kb3#16)KiP%ZmdlI~&V_9caElkEVY&Di%drDz&x=-Ux3eQ^Fn+CpW*Pt1S+pRT= zoFn&1WTVJ<62K&Ldotp4Nm8Zp=T*r@D6w%TrDjrDh9F6REV-h814_QG8}$d>@m}8O zHBFm8b!B9jYw~YH#V-s4qB{+qfObH;R9tuoHDAXYbmqe|Jpqdd3~lniHdg${$=KwV zvB%?z(3^4I0#oLWjA3e{Q@kQ|96|Hmx|Osd?loS>@@2H~bSM#kq4}=`{ps7yAd#yMgKf}Ezx|M0jJACN3m zZ+uSidks9|So(2&9uv55D~?H4emV0S>i!~aaD%~w=TgI5pn`1C4#B4H83<`>f9D=7 z_9hsn{&6*zF2$>MW6iofEFJg~Q&_o2d}bl~)6gSOj(7Os-+xNJ>T-!%Mwg%A$vKG>ELWsq5T54iqdrFp0C-}YVDf7OfZTi(+SxXc$ckiT&iLujpQ|~uCDt8Z z`s+-TL+5Q~cj4-W>u}r`Rw(3t(8LMrXcW?_QQ_2Hpvf;~r&78U`_t+trqx_yANuD1 z;X=d?bzsOzos;9dIBMh+zSu_Ub^I&I=S}UpVXp^I&aGU8B7VwLz>ODCsVCN2orvGZ z0|E}o-y%U3M@gL|%R_U)u+!ADWH#U_s29nLRC@6mi+fJCg?N)Dqn-bi5oyCu)_V=O zPRkL34T;Ox+nDux`qymAiuF%ew>I~kJzC}bo;!AB_E_!PrO9+$GW};i5VOok%Nu^b z-%&C~M#q?2XjuOTN_bLOMhWrtGi7vIP*%a%k_dGXPu4S&u#@2nJqfEA)Cq0a`*gU%^Peva;eIpU@M#6)N>l29 z_+LMdH1;eqs3jfN18o#z^dBi<i@!J{&3=DET0tB9{Y>b?(air8@bxF(5 z_~yvwQnu5C=8$H&Yj(cGR?EdwbBh4v?>utS*X+d_nay%uJI}uQmfKUc>a>?uCCn4pwI$RwQwyc!x?+YMP^!|{k z3K?l?X$BVr%QDl!yI?fV9f=``5V@Bb((@8Dmvcqw4+54FV#wO&QBG(~3SmNj0^sl6 z?+S1pL8wOt3?iOgI4Y0yfSLf_O4rPAqP&<^yKU6yv4(krzFbA)B3rp2ALU~ii+)IG zDa5cE;vX)@ioi}Mn2k{n;0?Hu)cz%^wP4|bA^sW&Ef0iW9;jCf4kDL$yBBSb8XHkl?g z0E548b53s4p8{|tYoW*7w$!cx1f@|?HFi36Wwmdqht9F=CDD0r@?4^_2dOJ~Dl1Td zoRSNOF=&lDabR&;bU66d&n%EOX$)~&S(4A-c63%c#Ratn#x&`Mz+CN=1;NYl)%O*B zI6U1a$@OTfOjF~AG3nw<;WzFyQ%;ssa#OaKi8nSbD!Z}e4Gv|QyT2Z>i!NfEL!5%4 z$Ld>ROAFHCoRGjcX^&}nC5YrFNpo=^h|nKg1aZ+Uba3r(u9;9mTvUdHxiW@0DF*;t zT?rf5LxOrF5zgJ=7S!CZa|?F-zue7|qOhkp0-vu7)0`xjopPPaDmS`}LL*E;944wP z)rf~l4cDAK;IQ(ua)Yc}4X=hZ z?Hy*zOxpAI3Gg*kckoI>!nlz?H9z8%mL|!Xaobyaor)HFn$w?QHg5`KN}WI588o%v z(7Bwxz=Dadj{5b^A=v7yvn3u6I~k1z#6c_b7(`PO8skZKC}THHpmN$5709Z>2b)g8 zuAhJP6hN?t^v_OApu7Z)ZIB*b?664Ul-JQ_?Q&Y1%9@0df+f41$G(+&YjZ|2TDdc; zjD@GF3`&?FAHbO5>3agAOI``@X$Tkkv(H}R9W~EgBguXusLlBP+r&%a9G|%?eIpK>|)DI<_M z=c**ovR;^?hbIo2b}kV1I8$N+8>E=Oq)%f=ib&7v4(waLLza7U zz`@ItGsBw{xZ?=bmv&>zD`XEkv|p)h({ol$C;6mR^`7!|_mZJT_(f&riA}t7X0;`)bMq_s`Cz z@`yl0&>sH7(ZHo@=hy4vg{~7{|6BsE6;_47_cbPnYcAEi;!M=;EWZxCdPw&L`<{8U z>jCeOBb?2UXQj8d3c3it?n^r_KmU($a(4(59~2N~QvT0JAuk{vAxQ+%0jWutGt~oK z!7(7o`1d!fXSO`>Crw2mU0nxrR09TW{ z_vWCxoYGNjcq3uKO?%;!(z3HGZHikuq)cs!`a?SP>g=K4}lffSVzx9mZP&3C)Jx4%mDzy&Oomp6zUuU}QulEBAWHAuE zQ92aDeR+0hy1md8*4H+Xso7vj@4wDV?=SC6UH1dgXj4jo9SH^_&i&alNY32wNAMI= zC>-gzK1`!9N1Owj!c3!1gR+@Sr>$Kzt*S0&2EHg92QnVN0P$(*nh@~TaI<@=-kze@ zc|-Sn&E3N2trKL3-c&fs@sG_5LSY~a1pGplQ=qQstNNTb4y!=`v;#q$i3ffBY0Le? zuBJYFk1G#fN2EG#>QN*{UZH8;+Af?|pr8WEiSIXVp|Sy3T#G8Gb!jsF@f(Y(-%8t0 z%gqwA+5~?ycSi3ytoBcWRKXJM`JRx*Xuv!Y!ldCec7;8RZih*(O)urKl0DE&{1A2K z!{T9%H*?nZbu(|vmz~`pV%)f&>?;dNZE8Svy{r}U3v#y?IGK;z&nRPulropqC#r|g(pl7HRh~J>4qM`fe$ImyuHwT4~0{QW;Tz&!iStUDKB?9Rs z0ta<}!hXJ%sl6h7Sf}P15$G9}RA;OGApAoxrHN5x){_3r`kxN-=tPBzIZf^)PZy-V zp}e7vt~-ha5FS93lC+ermAAsh5t7ovQCbibP8!jPq_#YL{KXFppz|y~m^$pxPXLXH z5O7bCA!YEpzshA?kir7~2v-ogFsyrDwydlrzR$k3U4PjexFRwNFN>c`5G4ew4%gta z$=GpBjv#_&a5wKm%pLS`Vzn{O89_LM9I2L1(MBunDrkVeY{W&Uk_`H)mf|W}tqlwD zspk$Gc%@o@xuNr!$vle;`wZHh$Xu#URaNU7fO4`3+%v^Y#iTI+umcaBNcRjbV6h`t zP#1_|U-CCQ_P)K}p?04;Q9HIS_@{jFv3TvTEo9T6j2%@fELWdkrNGT2KTtBx>~9V> zoxx#re#7=nT=9sW>I1l1Ws2hBr~!mwmUWu^@qVrRqjm)>30}g;ZgH;xuswg@_Yu)s#<%f*s5eHd=(n< zpO|cuQihqt&N@gb)IZt6CPAeVp<9=~c$)a6W;4j<1uXh1(8yYOq^nbdH{GhLHV<5h zLnP$MdyubQVI9sV&3^s8mnIc43W!Z4)@{aX*sM+qX`7j3zXV`y!L@O;n^(9tXXNu2 z87=a0S5J~ks7b_lmyNHZTJF9Cpy5RgJ?U=7LPb&h16d```5EGQ8%Hy(dz$IdGfHNxe;t zlkKwmTw33&8^x_I4|D|%4K@G69Fpf^vu}R3joJ8{*WEot381M2y|a&T>h*w0P)(@! zH;cBFJOqlsxy%Y)K-*<&%M8qmuAZ3tduhrpqH^bBXS&|xdei4^3(9VTTn3IMNFUqo z_d3GW4Gz(ppT_mAfJ?OzbrAV_d3j7_EJ-Txfijk~8!GFq7j&ai&b;}qAYWoIKiTI_ z#m8^R9J$9()7PKInpNPMxL37%Ut_mbM3f|KoL=&%f`c7% zI*7{@+9nC%4fK)IcJz^3?cH@FaCTV+D{hW*u<~;@vVar~0-gxm7#&)T1IAS_J%ZsS zzd@y1QkH%&fzU^G3^+qIM&r#P4-=Rugw>nGd}N-r*eGIJR3b=H6qyk+e<`{+q}Ns=u%Y=@l27CFSwr zvn@!uP!fD_!c9WJHW{x9LK?%i3E~)am(Jt(Z6z*a$__Qt4)oPY^Qt@&>Egi|bnhXz zs{>Ll{C#9O&$DMx!Lv#6lsIt4+84}%|WljIi%tPtaoUF=?PXe2=h>S8{_Xq zg#U%uteKIK3a8y%dsF!B_t(o4A< zW>V338(MWrZ*^WaTo2zLK9@@Jkjj6Ok$6~m-X6@hFRpe#$Dl74yO(&<=}wBZ1%Z|U zaelnwei50U4m&)`Od#uG6iV{60$Y ztHl#mg#B`*VSw4^nmJuW&VVayatgYDSDFrj2L02Y2w8iMFe{Alc&PNO`qtWTsvE|E z$BV4l9qC$6HAh!iZM>AhUU3%sDs19KeK$v+e_QK$xQui0thnLl^Dc(XHkWD&MRQud zWW#eJHenWes}3q?%)!h!zLXpd3GehiSo${MZ6jtd08g?t0j+Dx-Ql(!f%Qi7UMU-Y zJv!ca`Q66pE!NM@la5X;&xFiu>a~JXH;Kl5yu-by)-1sDH(l%6tIv+@r5-3eWWD#b zUbA&QmgV3)$bj=2)|b$U|6>C6XkcS6E{7)Sy$JF_MpNc!T*Qp_lM+hcoT5ni0Gsad}@>5|&YfHARN{VG058YGsxy zA)EFZQ(w=UmK$~Ay3DjAL(TmZX+@^)V3Np3w=G%^LBwFA#&W0WP}9}vMwbxX*%B{e zgjJyOUnn|-%y*edw#mXZtDD5-LvGd+=n(@Z(fdKn#(t(P1uJs^^AMXXusv2P^kNvN zRpnqKjQ%Qv{LYQKjCL&FQ^&2l#^iPZx1>ogyUN7L3IzLgF`YQ(wL+YNtNf-r-0DBC zO3b4mCV4!2tIgE?q+JFPlC`$2HehNf4AmKelgrdWtksilXbNqPuLKwpEUNLL``cfG zTu58zil^l{RmL;1iqj?IHi9vIHe zG%s?EG`jlyBj{j`DL1hqzo7>xo?`+P%9EaW#FN~-h1HU@3cksrs=jz8^ z%;U`n$l>L{Eg_(AO^SKhM(a?2A69f8D zNWsc+$l*+e1%~^_Q`mkDgtDwq%~zBKOUTedCCfEZXfMc3*)^!44A1uM)^Kcl?5VYQ z#fDjfLIuDFN;?^{>{&LMak)p?)1T~v?%8|(x2di!(8t>b;g^}+E`E>QM{rsG_b%Yb zkKq(i`L?^N)1k&!O?ps;sR}Kn>Y_AoxSG9BZ(&L_(kqJ9d`6kxR*Z!%i8y_c?)c^Q zMA7M7lUG=oqvrODThVHqe;_{k~r`5px)~9;+Jhw%~vr!BI>*%>OkE64%J^v;r+U&m=?ri zX{}2d%`&~_(~B0rAns#8h27GCYhkzMYNSHv)el*cFNoMYuWpLn zS4_dU9V`zsr(7Z}>XV|cZW1Yeh4(`gqZRUpXFhxjoxeD~5$!Re(1}o0;A&a9lGmgh zFS`WPf-)yJDlcQ( zUHJ$hE?6GTS8F9g*;b_FXsb^m;w`B(-@Q-U_;jhUj8N-uGKlqd?~gV_sM1oxbtYYz zgLu?FAzM~lMRMmlRlauNO1+`IZM^B<|AqKQgZu;Z_D-gP#Ljx6x|XyH?>(*fmYzo0 z2Y`q+{r~U=@=hbMo=@`XzJ@yFeLSn1?L%y%CA{786D+h#`-)8+7+YGgxI8f7KUP7kAnx0!;78285E&tGGEfcWlJCy{UM zqPj4X0PvhrQb=4xNfnuF&g3U18z--jY#08~8^9;W6+7?#`)3$~VV1Eblk*vB?P|%$ zS%QDL)6ZQNy6&+tTn=yl`K3BSLcJ zT9JzlX$KV|Ez}0lnz(fs1?Thy*3%Q;^Rpt!_{Bn)YO0NqG;cROKys=csEGz zd*cU_*xe#%zmKwp^mda`t4$!g06|RKW5<{!9vj5sb4O?{?RD&_t)u*f%xQGifdid% zaFq{+b9>-DacKA5kNl5wUyd%K&uOY5BEJC}z4{^rOO+Ax$Feu@JYn`>l zM=PJ?33>!%^<@G!U%KA^oAP;Wv6$?uUJ~YOfTUyE$T+Y4bfQ-pu(#~3J;FNL1W;;3 ziYpn3-}>hO1X8n(R`3@eT7Y~~;o_9u$D_org1e?<6Tnz0-F2IB~=C+PPJbCJ;l;H zL%WF-oVOP+)vhNsWv>bnjn60n#Yvg@O+V{(y6gQcB(a@E0LIqBVdwD)WHPX>RyAW> z2%4dBhVy@gMUzSgfG^vaT+rh8E-ZTSiLG~$!68S&i8_mb@C&-`LZ_=dP{f<1I^t6vf(?0@rI}N+FNA8fWQXs{} zU?%5AgSVDtXZD2RWlr1IL+#!*iW=42eK*V(+7!#n);X+|$0xTM~&x8X}eDAJl zXwrsZt@OrtaFZ20!Wx9vB|}E~Cl!Z)S`|Ux3RsN~MXR=|+-r8^qtr;xkP@SDn-MT8 z=M!KJ7|og+gSfJraQrl%BSA3_*14Bftx^XD#`B-6*clDib`Dcrq`Qm+($@E~amci%*wikU^pPw8#vNf`b@i+baHj3>eY=+jW zbOZy{S}xF!q;=T=w_%%>Zn}5R-ix^@!GWgsrhZ>-K8Ykgr|Hr!3T^q#0!rZ%Hm^t6 zp>84;+TSMrG7h4bNDMb9tcw5Yq2P|0GAZMeTpcnA%H8g*jT>TTE;jBUtjn5bsM55Q zpxh5xkmY1;nxAiyl(78nCE2ZSrw}YLFW7yYV2=o5WK8?>xy!^asLiyV!{>=+-@|6h zu2N}QT_1Mm-W~v=iq)NI@7LB$T&gxnXDaekjBh^iO6jI+3__#h@%uYLGVp%IKw}h? zIKDv~a$D^=CQ+G-T||_p%zJo82sP>WIK6&l63r6s=etV9Ly1P`z4mNLv_-C=z;$)_ zSTq8K+w^eY>rXq5Qm?x#6~`Bqt1e4**$EqvhiFt%y5?%ITz3wx{-%WdD!`n*p^*-F z7jA1_DRgNJ`3#D=8cb8n>m}eWyuskxDJs+JJe_mM>(%{}nR+L z{}a{ApX>D*fp2#4m)Jo;13gnGpUt30*vAgYvJ@BTRHNeC0@cE`B9)Xkfu%R1Aw-@1ISKqHB7UVnUP# zXnE0n!(s;T8vE+JmZ%W$CA!$a%^Zj*r$ohT40@WQ$M7|YE3;8{=D*^&E9r}6E$2p~ zl`}31hhsP;iZQb{yd*p(wqGLBe$8bVV|c{m-O|dx!~duGHmaXm|M!WPG)yay68>M@ za6RrU2`DChK>kx-5c*F{2C8Nyia+piUk~t|2#?Q@d12^YnW99qbK1>%zsmCl!iVZ0 zIWxZ?!mcsnrRkr~KNA7|oo$HC{Y^0m1LX4>)uOs5(>)dE>5@ydk>9Y$&|`toFA zcZG|H2bSM)Gzw$G1^)U-W6>?y^egDv5RAlK&LCKwZ>x(nRgIPu<{@&fwT%ga_PG=t zjVXqU^~el?+>h4_AW-6fwD zh6Wu=yikva_IPfOXDbKAvjyGLpI0@xWor<#3j1_p{^EM)8R-k1Vd9|RKxeagwadE= z9PfMx-b+6LwP^L_cfwx0?><Km z)OJljIll_;lw*?ts-NvES%A_uCK8UtM1!VhKXUiy^@9;?Qr$)t@pFtfyq!=DQj%L;n92njWl?Ddv|56Et=m`@H2i z_ws#CS|6_n1}GhV!E>a<)kJ}Mp&gOB8rIM|_NmKXFT+;m@HE_2r+-(PYCJ9&inuRB zPCvnrsslhOn_N0|>H^EStzem_)}s^5*|o<|L#xgD8vMy!0O@V_u8Q1rWd)at^OlQ| zhB#p%stMFzMIdw?5fIvnn-S+Rv;wQSlR*;|%OY}Qa8J$UR%Ks~^0w+bU`Ef~&10}#3~AhF6h&z{z=XnIQ+CZ(d)J3Zb( zf8Z;xN%{rA-U;lojDKt1E;4b7$oOj|%qxg6kqF<~nk7P*fYu|hOjYu-IzHpiv`PFe zKm|3I)`K|K=?vN%_{zG9#9$aoydr&S{UTVWxGEYYKE2?vNbEqCOO>+l?XB?Mw@bQA z5=1}X8YYeCoW~&VFIpj(FFCvv8w(uSSZ7F@Qa)y;bFmovmjf*}F)x{u$?<6nt4?z* zD^8JX1RP&Rnq67N60Za>Pdy_@+xNoTA8U&x6c(25;s9DoCYao~hysH0t=nQ#iN_^7 z=o(^O5~Bm{XT#thLF-ht*<08RSWZk9v#!t4yWXX9HFlpf4sPM{ z_}cq2Kl&QxWvR+M2SUNkoY<`yRHohxaw&1|HWQjV48TzN~ zdC965MB?jSL)}Kcy(8b5=&(=m5u%Ve&ZzdxC=QbCg~}LGrUdTDl-9}^MZvv!5J&v- zL}fO)VV4vxn17BS3!KCL@u#5a(C;`v^h6E^N=H6-9|g=zp)KUir?3rwk~AUI|63*% zBW~3kq#zyPc<^5-C2iN4-~G4Gl>|bXp$ano|IuQl;{QiYsiv)>tc3o-o==5$i&L^y zfnLwMHmp21KQ6OKl$j~_*c`yujxl36v&MN~ECAM@lR@J9xgxvhEKq4_o39)PhX%Ol zSWsao9q&D_TRAKN>03;?vfS`g| z+`&2OEj5YuVDN4n<@Q;2c!1qQyqqlHE2v*)lO~h4!!|*qg6I`!WbR&IJu9gZG8YB$ z6^j+5*a`nTa(%Hk3Yx(%zJQOOzQW9EGfS&@5*k#yOXGU#)u|J0o{3h9Di^4n`Oz7G z+de*L$hH7X-M`K>We=*o{q7i5DL@T`?O}+*)KHUPI#kHf=!E)nZ-hQ>YBjCQ@=!{W z8nWI9U$wbsS`aLP>Q-@(SldcsS(P0TL)Rc)@-~s8?x=UyXp5mvGq^Y5285i2i7VhC zr3WR{q&g3-?RKDgzW#8_O=IsMZP{{wUP>*7R5^Cw@Kko8A5A!I4&Z)~gfp@9=0WUVGM-uNrImTWZJbS?6HKpE@6d~RM-vN(_`<9;xqtFZp;S8>`p={vvI z7har^eL2uJ!1nf)>=j?B)qOak?Bu1R?;ZrYw+XOl|IB8cSLd>JRVZ#!nI1Fm)<6}p z*sA6BY@mAN4VBN?PM0r&{}l#&sN(B?hyjFdn7lZI*>r*|IAq;$!7%iXMVwIN26GHj zPl!Kd^T?4tr)T8N(cL`XRip=kd=TM4|Mze2gwzcFN^%;L86&!{>}N0SVa!_7#-QA{ z=Gb${-KgmwycWg$#VPYU;|Jm>jJtIuqKP|mZ$~VJVZggRG|zX56U^8-FE`Z%_LIuYEpOG? z@1JvS+VAJQyuL4@4H*9Lc8t7`UJgNq)EeALaFvcaGt!iI5-&O{E@DY0Tk(-4-H9(Q zwI|A%R-o^!VQp?Ea{MX)u|@1as9}pMTqK3!+UIe;64kBn7e_RH#&<|aWT1GC9B?z( z7zj_91H;Vt3M{S7Gl{pT5aL=Tg@Yjx#mjL<-77{b{fgg)9lD{ge+U5))GlMfm3NH7 z9T@lC9!Jbb0OJvEIN@a-#P=E6yNT&~k&X`_200fKyM#VEMB+-7IW-8fXKK+k$6Q*y zek##oU_7Fgpc4u$NG_V;D?)fir|zoxP;Sr<00g>!s}=7C(WDp$hw7m2`MnDdEtq}1 ztqQ1cO=FHO-J3-YwqW%lP}*KNnWkEIs_F5RIAIg}=kk=Jq&t05)taNT`ATvXE0dEH zK+mRfziqn~jq$2nF4o6gxyOb~X!xW;1H`|{H8ETN+Y`u@(tcS}k3LZD{b)sgq@~`l z^}hNrtz&w?iHSb7TP0g>p^D5ftlhA+*AnaEjdhDJs8R<6)%av28#td?agkM5`Y? z%0D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ǿ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%0Ab*_Oj{UWwe3+sT=G4 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�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

      ZJvxuF8hSBH>U88{y)t-TqhCfw8I67Q8Qpecb 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

      Vpo?$#rUaaMH9X`1*Rv0+u|r|-%s2c+ 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 z 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

      l1Q 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⪚ww5KO|`h$>d;^CxzhjI&Gl=0;c`r+{+5Ulqt!r z;bV6)uKyE)(X{MY018ntHt{@B;MDr|PK?kr?rBgRm#^tc&OYvW&=_71rS^FN!GqA} zN^zUGuBG{9&;u{Bcy|$y8j!CWZMOoIqJ2kFYj4Y!ik? zl`e41hL^=cO<>B#a-Fnwh^rQ^&5~@m#TC*jhp_U6|3x#@R+;#o8$HB}g(FvyYd^Cs zEMGqPF19UgSCQ-Bg%;vxXG>708)kA4u)wpzR{n({-3Li0;`TQHN!Fyb@dNobu3z$* zJR2>!5B29K!z%Dbgy6lN#?9D?ztSg~ejJcyP?o#~#n~X*g{IO37Nd0ARTgAlW}IE- zgFE5tu(;{af>4$SL z0hROzm6!u21V(@pMnDx-pM!FUhvFe3jRy|>^EH-elMc!Xf^7nIEF2B=EBp^ABM2U0 zAVL$Ag9{W-9Z9@!uz_BYLD)K|lV~f!lRUCSCBMmNF#tt+-flP4I$S@*a~v^>V2WGu ziG>d7qgB`se#|~vWfOXgG3GzK`5)HC{ukTF{jVPXzxw~MHsOEu#Q)WkK+e;oJmILz z4&(D^%FWQ?3F*KOA!UH?QjJxB-|iBvWPzWwtAYNeA>3O7guecaZ-;~2Z&ED#f!xDV z{)fE(;rXikwM1}h*e=AlJ%NxSNsBTqN%X3-pfw4Q9S@XfDq#rf#relx)+n{f>C39o zpV!zEzosH5EQFL>c<8y4eO`-JVxhkX#Tz+_HQOOcE8a*&H=+K|+*p;qz$4a>$Ys4y zNzESsn^-iVfz2?LNdHs)xGV>-|1>1vq#s5li%E$mTdIy=a)$|`AUzj_`6gVo znEhKPK^U;ET*&G;X6Zi}JAk;V%D0U;i#Hnyr$Ch;oI8J5>LCCw%)BCOUDc{VirXXs z;4qCbp2HcnvtF{X**?Zg{KHN*0R@InS~q!aHFsXI(D-YeIY9H>kS&@;_PxWj5*mn>XLDxU4zc!54x5Qg=0>GlD5|6F@>Q}tL zjH(}8?tcH6x_p2@9uJb34yn32YWDR%0DH{`Zcg1PpW4zC<$wPIrz{JQ%)x@SU0%5AB-G6*qSjj2vOiEts3oC!qxLEcE z#97pmCVca66?6l;TLFSQn*|5I02^5j8s4xy6*a~We7tNQbUicr;egvKBc_TeVfLW8cv&QyO zUD!wWtglP1zU*3e+C<$FyKohidKrh}2;-&)+r9oPw9i z_g`3KFN{T6d~TN(pEAG$&rTKoF#dQXGGo27V3q5`0gN9dpw80z(7u$@ zt2z5ayjba0)P)LrP%$33MIfUof4_Y*}E~2%0z{mnxe37Kjjr%_ula~UdBmX4U z2$PFLmKU++L*PF1bD}A#s&*y*Tb<_q)jwP8)iT)}rYOOW2BGq_ls7+G!J^NlI*-xT zgZ{J_^L{4$r2~8LXgg6OGq&RjP5j~+S*r@x-ol1yD;I|IBUGW4`JG!#)sBtY?%;Lt&WI87smsr@_n$%pR_}U#TCkt~X zB6Vv9YU2a_xk<)Ok4mf3=?~F|K&QIZt?uI|zl&R~~&ZnB!Nv2CV>*SM_u4()%VZ>u{^`FnXTUgFn<|msFlg1?H6zPLH zhu3L?R);%jgC2)7>IAsToV{)QUqTy;rVF_f))#He?EsC1>D^_)7?m50;l$)#W8#03 zIDmp)QMJBA`K&o13bIz^Z#TM#e=lqciO+^)rRn_YRn`in=_0TqUsWB6G1ozY^8@1K zxIyX@{rWRQ)`W{x*YRJ|(?j_Eu-71YewHi{Hpv<_nMm~g$|gJ`6Q5@`J7#FtZ}=nFbKJuRm^ssYW^_6Q z1dcG`?Q{DqyfM!u)uC2?mv6_MIHxFy@3$i>696DpRmq)>hvYn|mYgUd7#vjyU{sgs zoQ}oRJ=s*)K@wOgk0(G2Dk8$Oxf3)9P@AV6D^pl01ttdz(jUxYnJ-$%oC;d`cq%dr z#@c6*7mt7!d_Cb+q1F-49n0NadsNtcluQt$;=`mK+C$#8KPBAF^Flvc>o7dfv*^JP?Ybd9||*u;{~mR9%^IUO?* zdP*c$N&tX#`|F?Vc>SJE1Y@pJ%|+W*B~D})1q+O zUuA?x6)y{tyT|krf6?4v0J2hJs`!uFVWq9(Qno+`5gQw6)(-{LF1QCuR?Zi*tl~Ux z2HJzn-|yc^ZQg;?1Gq2G2En-$%1&5AA-s47jw2(2k_DmkTJR>jVKc3|7tef59sp>v zy{AArWvLBFAth_Yvf~Wm=~qT9+B9`7-Uyw{{033=_!BDApR)?B@bZqB>A*vqw zg@TCc=Zt;J?@@Cly>Q51t4PcG0m=Vpw#s@T^7=n)-!B|W|7pJ#{PTWI{0HHq`3=ff z@QqBc`VHDs{tfL{`i;G_^w;RmcYx{{WqYk2bTJdO(uMNBv~ZF-|L!Swo*)KP8T+B3`CseMJ81TgSH+JBWBJ3o z%ZUKB8(6ZSL$WKM4+cJ>dm@0@T9i7=OEXJ)-DPq^V}e3`8AtI@HJXtQO zDyGDS#l)5);&G~IX~Tggcf0Lc*c27Zn$U_UGO?RBMNYgbr~FfAu%107PnxTxw1GRQ zS)6=<70cZAx9J10btMg8%H2jCUcav`0q6)RZAp(H1-#wvn^%(k_ z8I?ou1OA?RB+Qe5P*g=Mq&Lp@7U-1^vcFIeh>_6H7O`)~r6 z5{c6JJLLFhgV3KHwi=z27r0m9fgrP5$Hm?{&jbS1`mN1p=xG1_Dx) z0R=+?f`Wnq0s<0F^3Q@#n=@*MN+W7WMM&%Om_<+9&iP^e%}8IQ&}%oYOk<7{M>HjN zMKDI#zM*Kh*sR}!%joH&z!h#Mu&r1~tVfxGpA3Ax1F3ci3*UjM906B^n~0zfgQf`m z18F4`>W4*CQHtMxJlk2%*v`-#m+u?$;@)0dJdu5Q>v4X6l>Q;O&C~)J2>P%B!<0FO zlN*Ba_5Zm7wD|p+O_w*jTsZ6GHqJNU;RvFPO>fcU84fWg8_<2#$$2nY%zU zV}Vuk+^L%?mu)xE%1~Nl@p+e9+?~6x;N+$FAE(+n2WUfcIbjB$FoH1Cjv(Bff;zFXp)|&{1cf=hQTA?R5pEVn>sVxi(5NgaIW2*X@ZAPnM#8(30)2MOcZLi1So zemzwJ_WZA;L_)189L~WDHI~ey!T2D(59$~ry7+eoFBX<;N!3Mi_YRR|7%>vY1P0l{ z-Sl^(c*YEzrz^Se%;xkuC=k;-)N>``z9 z&|NcM5fC8oZ|zH>$lvL5q~I~PLQA~ibuSG9Km(4mkM!}4>$>gfw%kBwexBDE9O@WY zPN9NAMX+L;F=7JCwKWSBhoHK7++Yf?@B;bv*M<}A(i%EcIXDa=fu6Vieg|6UQ*V+x z?~G-NqqZ}*HyLEt*_IYP0R3`DjC){<&ti9SmN4w_Ut{12X`c`>+n}DhC`NhKqrOlB z99Qt0^F}>W#UQY95mei5cplWuWm74jTOJtu$ZiP3eu&UkQQ!n_lsG+&y2u+io*dS4FJWa>W}L#hk?!vgc7%oq1hZLYQIyQ@2tVzk}&MP8{Iiz^Nk2#I4&6olUV1c8g ziBq*=*WlqaIIP^s{c{qI7&XU;^@`r9!Q>R`SxWIOJCo^iRG0uUMZ>g6abK?ywn_!h zxg!j(eH#(03Gr(cO~vUhcP%o8%hTlj*s3A#Fx9jEh{#D3|2MzFh7pt6fGw+sQ0rchsrPnZ=rBs_pAHqSnM)8uoRT18ai->DL;Ys#VsfJ(i9qRA+vaZ#^**yc`kT za6<^Y!K9ef?6mG2CfPRcS4vc^6?8eyy_Zy8OZKpI!8mSdX=!~Q9zE6;0Q{?Rz9YIF z{-md_q|h1!Q*DTDFo=hFFBz6w6m3dN&g6Q}&R>si7M*Th<t74l%dP z0-2|FPcZ%GN;u*&`pkSVpt)u-QtL#t2Fbpl2VKBRz~r+f)`=ibo^&5>bNUS3!19@6 zXmMh5?w++EFvf{?NKqi<-qIq}+yHfF8V^qjhF!y7-6JQC0=BGQZl^C5l~$YrGSzUh znP_m+|1T24pS_?ydz!30CJQFnkydEX1+E+Pe6sF$R7qPtAZe!Ne0qVS?sWG8L${NrS1~((U0@CL z)1&4RwrE)P&-KDpxa=xHo4if*D(F0de-_R6y&Y~Z$7RfvNvfH=%5-0QuwqYyX_u(& z6%4*gzgeX15!VP1-$O7;Bi409dU%U?+Zy)KGZr{u&O^+YO_@4TI(DXecuNcE$cP|T zyYV~*^?!3Pcyg#ive4j{oeINv2pBo9I}jDX!{p~0sVE{igt~?zdV)KjA}N<6d$JW_ zq<=h@oc87$g`IfNsX&SS_CHAAq7inW5iX+<-lY-7q7?=x(h7&u3ir_pztSe}s!M^2 z!%^o?DF#9n%rW<8d38|DS1GCW6Okv&Nh6gf6WLKGpdHlux^&W>wFJ{EKwa%LF%Ls3%ocQo*?7TgKJvtN3r}q_%C=2eyJxI2JV4wyB2+9L;6*zk(EJS>$3dV$R#73v zDwja|9kUB4#S#9^9$0M!X1NS?T|tc2GSnGn)IbxuByp%F%9V?HQzC{c?dtjzt-d#6K{we&Nw$NEf;_ToG)NhK z*d%KwHi?+u&!pjTV(9n|{pMf~8=d3J3(k__|ayevEJbAA3HpI26T z5hy)hrCxSY)`sbl9J!8EybN|sQNF%-Cj$UN5?{zIeR+RS|6R5dyS0B_I5q00WqoyQ z;TmBwD{UbGu-rsd2ydeHMep83JE#QK;OiMK{O}ke?8p4uLz|AuQ~xqDX$q3wU`Cd* ze9^W59!!qPKEQ9fq4Qv;Coaxj2mcLUE7d>?FiNEk3e1+$Cz|9idjj7tT>h0TM&tvG zw+%hMtTr3WmLQ);**-oQ?os;1KBs6RH^tb_dt!2BicF#oqz|6PC=yrr0yL z)S!YP6LC77`Ot#f2)G)MY>o1310DH6wqd?DlyHr@@uuCmy)OD`vO7Six8f6D`UTD+ zUzj!#qQ7qJUK{v0djhZ2g+H&CVb9R|R)N?G>?4aLs^k)u!mFqgaU9vil}Q0sC6ZP{ zV`x$_;prsh$luCj>;=02-L+6rB&`bJa(=OtN0L#PK%K~qGyYpp!MD)r&%$!WlB8-U z&OFJ_2XGWgT8RasNmWOBOn~|Yelzw=2^4ZkHfz7@T8M1Tb{BUY?Kel{RsX1LP5)@X zXwH6nhbtpOA){-sw*O22NK-CLqGJ#u0o8L3T1Wi#L(KkX@nlSLpzbWXBrZNu35j7} zXY}AI{rLA4@xPW*Myi^6xK$RSSW#@Avl>L(n(kj?Je=%AX3?D zQqm$+bFjGHmvovp9p1!6-}#u$D(K3^&(#%6Y0~79;#Pk@FyB`Q7oMl0ubQ2mPk)mh zWv||nwyURKEE#Pff$U7(dFg_pv3DDr{S&;pMH5QELDp**}W0ZdcgsvK|@VF zMB%g)Zhm&GEuah8Bfr8|`?dCpT~1LOd3FlEOgan7@y8Ye~>QShT46C-Fp|qW1?N+a^KE@)Ao3c4b1z@ z&h(jXrgp$tGk;b|`vpVIDSHciTTOHGY8$KBhuU?o#@~`!kH#khQtOI(@uPB5UUH>e z>+Dubb9Gvo*_xTnn$wmiYCD+CDDUQ+$Fqms_Ig*A4NB`-2Va1@@g%2QRC=M`S3{@aynA<* zUFHObsKP;qj$;s_(%P*~f;X*OP4-n=Fbj-TcB3^K-S$Jy{c4+{Cmc^z|3V08F6^3K z{A?$f8n6E#btK@3hi@|GS5`~@FuG`!kC8g0gkpM^@Yktb`D$?RxRS-zjM8XxF?`hQ z`>^RX-FcIFDehSCpl2^s+BD!EW&4+W8e-bL<9zS7l4x2= zw(!Yl|9g3I3zsgA+iS^Jkr}C_Zk;bB?F^-`Yu}P5au{)D1Ko9WR>y@CCtL^Eu=_z8 zhQ=%t!(9Fr*v5gB$QHDPPmYAboF~>Pq$GkQH`P&m@}P38Bsa}bdh&ttPW(NEXJ#8? zSdy~5R0bf?Noyj*K$-{3tSCFhNq*w(Ugn+mTTnlLH_^^|?v{c7D*`FT-{-G$otXDu zh=HKHk{ic+aD*-2fR@f#$Ff3W(0Z^h``wh2@b8_pxqV!ZD{T1}^8I{B+*9As#)+1* zPOnLm?xR^WsX_Wg^Er`01>^;RLBA{KCTo47d|#3X+6{HA`CJ374;-Bj2w1jOnQEk{ zHhSzCV=1RD!WT!#n>5?TBwRq;DIbU?ay~>dj*69JxnZ$HGLEX1Y`J5x9hGW%43+{7 zd$Edixn;4L)p4=)2zIeqO6KnhE%MNpJ77}^tD#{;l!d!S-`?Fv2nIg!Fs$6|zLZj^ zFh3#;Km`jeO6apKyz?E6v!hRV+>kd8KM?}D^T(Wvk5~)c2kc-yjW9rjx!g##1pb-k!aw+N=TSPzG->yA77t^8sj(F zAJ5}i*=q&EImJZ#)^}dcD3yftb|06oEj{;Fo{^uSAH3Q=a(`qKzFQ z^Er(xwt|dX31VZs+$b?*X(UvxtQ^+6zo_bIt0PB^9R<;dl3hov3hPa5$ucEF3&tg> zuo-~hLAD%`MZ|TZwk!CtCatzo9YHW8M*z_}g7??uL(Fgsbq{%DolV&!@J(OU7U@DM5 z$I}IfgX_&0XDr|MxV&C7cwf+k=w%lSoPbLDR93YzuD(q#&$hWoSMu12Z07Ck_dX(f=f)M5m1oTwY3|&Lus^&$ zGr1E`w~%C3sDJ4I5U-HvtRCkI1_!{Ip3UVT=94t#j4BHwxmw?X$Il zqrIO{lr-J22X9{L<-Pud&R42HA}b>^o=pCQ7UA(O0J|&w3RgR(3gx^|C25A;iy|<2 zC1_5oaq~PF;v-nQzz$U!t2MS*HQfx{hEPMuaCCg{-GA7!w_x#D)*nN#V8O6C?GOck zXocA2crAebta(eqqTwAhsiA+ydYo!POpEm5?7Qmf(079FW)?nvV$ zu;wfSMR74x|9QONZt|xd(>y0bd7Bwf4F}elM;Ejt()#%qlF&@vGoJlO6pD2bS6+`N zp?PNz_%*Xhd7b0{Cwsl9pL6QSL0bU)777o(&-hkO88Uxn=6NSK*Mlno%6(&{D6F~( zhXAn;_10F|HGzsB5^;&(8hTiC9E<+M#Qw}(0OI8i&3IuE%GEMun2Bf;9`WbAyc4RR ztPgRP#2|sNM?p$h;OQj@=o85=_>b$^V*a`(ybdfQ*e>NQNxj@FfA>!tN#v95M#iQG zSGgsCz+bJf^uUnQ(}B4R z^d6s`qwFhRDzPtip}{wRw!O<;y~;TXo#*}Z{Z$Yt?)@@R7^k+rSMgKBILA+zR!_M zZ*T%g-T<*{s}MXw4e>9)Rs2hGN(V?ko@1y`q8S*z++8~p+LqIcT?aM`6XA2K9e>y};wL&UvN&BZ3@shJz9dKJ<;#L67UXifk&JTD+L7NNZPDZnTt32x0fZ+H z=WmYS{1+dR<-6s;Iw6&sz(WP&ie%Eds@#NG^A$NNYFr!rgGrG?iy&)LLwBs~@=?sp zR(Fp;Ee5pwCVX3fMf7v1O^(@Hy9KwKdgQ>vjD1Z%zM#h^P4jxU%s#{xX8)f(z-jhj z1gFho=Z416tz)vDNlSTY{%a78EfJt7?b|7!+>k>KjBCSgOFLc9f<805B^Cb@lt?2e z!>Y8DQew{_)pBR&>xEr6xJIZOhm2==^TrG~imfAu!Y6D%8_znl>tj$S=vqjV1UTIN z@#S`w(#T^wv|LXZfq2)vg6*I?lf{H?VE4VeOQhN+qY%Q4^#jfAOu91z z!Y;Xu3z!DrD82dfRVg^)%xm#Pb+nohc6apF$#{8+zO6%cCJA=#7S$spG!Je!MN)p! zaj@0nG4hyVHdstSooqZ*$w)N4c(EZ)Qns`NQfXZkmKw4gOaQg7^42OzXPSJ1}K!g-nm!`aG551>2) z<&)o@MKYP+WqV1$J}~1jt22nMPob+ zhyN^b#y(A&qB13>FZ(|te?c*kY?9QDl=_+5cPu5=FFkgp8}QGFP{#WvzjKycwIL(j zJ;h|owrOr*QhoW`6X4H~ttkpd3fajA+Rx_DUg%x>J9h@tq1_*&7&`oLvX)Dd7THID zpcDha6ndaw<0ZnxH`kHr3ix!O5^7+lOJ)swOSSt+Pl?lx3BY7ixYPeFytoi{P&m4n=0u7r0Lb_Y?Z3 zIZ#}Ev+~l>AnpTWx2>G>d3^e$GHI*4JchdZS?xX^7eM3WO>OT6lJ zP!nHx1!a9@gS&|uTTAqO;X_}|`Sb{9-EC5|B6dKPFxtE}&BD3Geedi(%;T2z`(~|M zAl1Nb(_5=8YIA0$UTTAsZeojTV{=)&F3Vy1jIF2CKum)5pDZTQmjV`7@=&DypaL zw4_|Cg&s!#LK3q>y}m@C{P_kkrMlFOT0fG|dEChB*zn}u2cc{&S*;vlF-)%4L|c}% zZk=7TOm#KD`-V8=nM8z4c-(^G@U~m%dl|JeYr;bmQ?XEY#zt7(YLft)b4k-Nl4TqF z7F(0u!|GzJ>fK{SzJV8slFXvLaW0#27a+;*NXezMWM1HSxShJnDS@h^v&S*xv3k8{ zLf|h1g6@SQnT`*JL<%+Qve9&hfMsq@mxDl9)P>W-8AX<+LfV$mB7JiY^fv+g@#Q-Q zt{{pRlWkXTjrCj6>v%w?*sxt5mZ93n)!g1M>%-$~rYstC$o$2#AEudi3 zM!~>l397X{uHK3Xjpn&Jm<U~hKnayLqLC$=E1oAJAsEA@&XNXyhHa0`dVDepx610b-5N8W5)^zL(xd7P=;{);L{TOtF$Z97?IfIPK_f`>Z&|k6|VcBw98O1#Ny% z##Y0CsV{F{#E2OpeIxd@As)wE_{>A7WyX~8$51~4;*`$a;a(ggJ#>4gz1Y+>^QF~h zaa}aPSkN&&8jR9Fy?TPJ-q-F=z8ngReZ!R8voUkAkm9=!9zHdX|59{ z;5)vk+QyfPZL>aQl3p1_0i!wzb9L(!y59b+&r5O_>^OaL>V#)3BiPH?Zrl%}i+|+4 z=G=b;)!5LCWhu9&^Z3Kt$iy7zQk;TKp>T8hm3G%47Eq((x=vmH5@~jCg}lo7tFQ== zpkWw-n)!-cZC`?4Qm!qz?h%h}^Bbe;B|G7>a;&RFE}QorOhw>;(&R`B@JdrtfS( zE^gqw=Q|>uw;~KwRfp{jHLQOzwe}EVJPz)c3_9E=gszMPvFWh)vVuJQ8G{DM6$%5d zh%(#!NsLi>W}w*yV>Mu9>&M8P#4+UHe(-&U*Ci&2x& zi7XkKHRh?f8AmM6Rk_?NV|cWzw0NQ_Tw!%&QN@Nq#PE#~q8iGdLvy8YeHB5eVn^ej zc42I9;yLNU!`w3yj%qwJR;W)9=F^;PZu3NRo6=ezE_nW_D$no!LEVvJpu&kWdY&qk z^I833f;NvPb&g9iS`tZskTWcKj1pr$&GcAcQ$rq!>B- zsHbVHqC=;RhHc4HlNz$_+*&1oqm~BGa^GE*5c~b}PVV>+&559@3zXQ5P={=>>o zGF&3Pf;;Rm3$$}HA$c~Zf;%^K_){ja1BgL^y!@yUpelQStq0r$M82=}0r8p(){M=C zv0}bS1&i2edQ)O1>%vVm5t zngR#o)y2qDQ( zEM2KEo~8~Uh^t`6<84 z3mweSBnD|H0bLa7S0Q0wI(zgCv&%3vMD+2pH}UBzK2+w(t*#SPrs!NNXyyeLg-5Q*pVhQ0kQQfxiKc-} zJ!gB#9xIqs{4ggk(#IU}-qt~*iTpmpgQJiw3newXzFRcJltG8vhUPbxKVJo6<5CNn zQCR$O;Iq?!_fWdb{R)3j-B+4Nurbvt0AVmhEZ$|su)TZ*jf~G5k-uMWB5d<5-!5Tu z9U-k4Dyde5ORh7)m<`d&0DIbDO!DZx08{{y?Zq%XlpqAlgXxFtgb_yI7o7)I^TA1C zQW~qPjurx@!PXl!~eU;toO zfXddc5Go^|O0;xpmI~*n46RqpDVBj-C=;td4ndi8lr(WLaeQXtQ(BgPyAq(xoM9%#ew zeJS5vaXUt?4a{IDjd%!Wj$d!@>e$)OTH9Z9x9{#(ooWmycb4pO7H6dAZ5xba+s;l|7QZV&Oy3Y?jB3k8KS|h)HW2yZ zatqF|GBpx-GO)loJCZWmRwrP;UFk){=2(q*Xl6d0ng3`|YeO9H^ULGOM7Sbd7)Emr zA^nh+N-CE)ZgPbl->U2$j7v(%DeWF6601e5gckEkR?8fRj=W9*{zB{rw3hmDI-x?7 zqX(xx!F|@8Q_2)%*F6h85vSNqK4tY2>z8PqUxbO%tdOAGkdChA2a=v5rGr1s|E`EN z7*pgA&l&FT5=23wL_ZY@ISbV4)TivE^IU?QTMb_-KBi+Ql~;%{Ygp}Xu#A6Zm{);I z6t!maFbSvS=&U#az;>P>28n-sW0GfmSavPJJzSl%CBL@b))@5;X!pB$|I(8sK>Mgs zncFX9RUEK~X!V-%0JDc{eQTXnt3J?(KnB3}C(%tJn^rK(+n$Bp#OFTpfqVKgmMyCP zi+)7EXHct0usZ+p9_^8OHa`2}^2~E@=0{sy*76IVGFp)8BvI)9AEBaTHky{HRtJQiLM``{qV`x{l4e0uy4}KyNhlZ>gNd z%AkSK;{0%_mi0IZlW{^w1?p6Xk+>D*LuK;n9cNf9b<%o7$V(wYU$x9+bPxB1Fc_dMWwv0&X^{ea^!1v7|l;W@a#@qtP*|Fhc$=N4rE>vRQ zM4`n2U`scW-dyy0@KI?+hbQ?ST;zK25mO4#y|sLX4EiM61VdA05<|jr;>0j}15>)U zPAJ{mLA2Yy%gO&`A1 zRZ_>GQtn3L>H?@ubJZ&F!2~$oxI196yI|1(o51Soz9Raj2Gupw-msO+taOV{!#%hm z4a`}-NXEC~G``}C+*Gzfw_7!`VF%CR`QfM+PVEUUf6XMuAC=m5N_|1q+!g-@Eg34L z>XR->A6RAVO7vy>!QqG4D?!i0&m|5uVbLd?mpJ6e*cb1a*W6xQ2`W+aN+LefQKH5H zL@GRfjYioIncR`epvVg)d1U5aVQEnJ!c2|C733_=9BOh(^Fr_pKg^T(0YOdn1usgE z#O*tE_Qo#aRLq&5zj56KCSSn)?ooOvUZ*Xv;a%AgR`+~th8XD@?=S-L*0M>lTXhC) z{sU33-^@A?)kz+&zBTMKFW~RXk_@K^aK|=8y}^=-qp8>fQo$n$U4$H#nuZZ(S;n09 zsRaiwMHA7J5(s@5rBmq|FUNOyJ}j@od}Z$BRdtV;>gF&EB(8xzDrC)!j#{Mr;X^4} zYp0Cy`l-;0{i*26m#BJZw>Yp?^WEmwmuI#Vp(hAYI{qu_l_)0ar0ABJXbp%Jwsv}w z!A_o9qE!0nFW*7Q(=y41mqllOC=8Ovz;Lv_BKMVmI-Zv=+zpB{qE9Qx5aQ&Bu31dmt&G=d$-i)knVf)U zIWf)(vWFqkBQ2(*bdU&w0XXgQ*csWO_j7Zsk1}sMP{Q~wIpxGqFF7b;{Wv^?!Jufj z$P3+cz$)};Yp9qPs!Tz%^xT*NxkWf?F6%9D1PZ+z!nF*bB8#Q_r2G~Z-xd%xZA zy<~r{Z}BRfaqWuZ?TVxS`SfYN8Qk_hf63oD!*7!<(WQCg{_mjeJv`GF)1O)DbQ(ot z+VDPy!>xheq1P7+z;YUIuV(^OQ9TEHSpf1+f$t9_dvnY`n}KWh)`!w{{NnLmTJ|v- zW`@uJ6Lxd7e~e^qdpAs7&5Ev|>Z>ueW@*Msl*W4`9z}N+2qKpaQp%%|SwkKLFX85t zZhfY1X;4klI1em2E$hCdSNvW-LpmZ{%81?>)98w8_?a*OjVZDTr)w%QnT%)ea&79? z;RYE|uVDTTy6Qv@L$I*d5-3Hql6y}5fM)C?%aA6EFr_jYk7JjKOxeUPq>cav`@E0< zonVyMseOFs?TC%>2{D$bGUZ5v`qak{tA!xQ$8&NZ%6FZ^1?QWoz^R(~D>L2-f`hUp zpDHO|CIc1#lR{OmlL2i`H8$inxmB_(Si*ndl$U2L2dgz6tEPAD4rjMnj!OgPqJ? z8tytYLxg&g0Uje@cas+Z9%C)cu-9lf*Jv2qG(~~lKVvJeTQ9FmFRwERc>5XKfPTY( zKGT5y#IKJZN1H&Awjh+HaQV@@;0`(fnxRYJkyZ%QG`{>|1Ypm)c8R@|ej3OdkE7=b z5sf7)KdnGrO<@luMakbix*B&uGI$7{J-b} zhSdT_sLNCIIFG$&g-Uq+rK0>r&51TKDCN_X`pFcsiM;r-Rm+Ppg&Rc<5YDXt6|2?@ zJ_HHy6xDp{sscGpkfxL+gM>v`n&cLT*hO#*s*8OqQ@-u;Y~VH;oP9-87TyAz26k0T zQ(E;;sv%YN1IIglORMDpjFI1+N(SsYG`sRrzN<;)I{nYGhv#wPFo3e?mUU%{xERFI%N<={nKxL zI?Ia=sHLpU?EJ$>RA^Q+GYShD1+#zJQ443#WBIV&NK~_v8h5HM!SfaYV6Rdf%an@g z!soCje5=={aK{l*C4ohb;|ND-`98-by2Sjyy!v-J5k(X#Aw^L4W zV=a#t7tK;T4SR`1knzLsv4^+xza?#w=ANvp#a?7cQH8(guI2skH3+AXOyJN6m`BKC z&d%BpLlqsBhWc&i!y0&B5ZV#JMQCqjhD&W_zTI8&W6l*Y_#8kJTk=A;#C&?l5va5- zxMuk2O1N&!cs8Gp?-X-RLB7QXi9?c?4Z27@7{b$*xR6x`w5V+t^?trO|611<%($1v zEc<|tEqdolrY~^;6x~}(qooayI)=QE%JLG(VW>~m+0284%SXsd=b0q&-mDn5;eCj( zc2}M^1bftmYDa583j{UfT)<}OTMy%KXJVCX3IHkNCIV#}F&akF7&#b6q8QbiM!p-~ znnxZPGFnAW89LZRHW}92MP?b^Iz$E;GCD_E9}G-xcp-xWn#x`f?fm90IWV2#51BYk ziE6U;lcSq^1Bhs;^a6<3sJ{G(_^ERJm4lfxzI6{-Mh6D*M!QHC-hegsn8UZ)*ppWW z4KGQtwkDX-ElDc4|e+{yx_sEx=^FiF&_0<)>SZ$SKG2Q)RMH zD07NFc96%ROdj-zYKa4AL(CjoK7va5!^0(AMx=QELiWGVqQVY9b>cTf%KHu!LwNBY{nn^aLX^I z?rp{ycP#zkU30(g>j`ubYVB9u%GS~%g^73pfV=b&kw>m_#tz5hyBI%}LXCTp%A9-B zw$T@oJ(GGw_k$tWz%e!_-lj?XGgW=YupgLBYQ>R^kS;XXUnz`e>heL#l)6Gs>`PDREgNr{dRWN_Dx}_snT)=2aP`J1O zkx>Y|8z5*H${zR7)Z|&59^hz6y13mzkrV9j_`+imHeNX%5h2Rg^3g{n6|iV`FT)=2 zmAj-|eQ?s%eW2%WQn-F^c2V^A-o$_Pm|>qwUX`}l?p=AZq-Y;Guu-)Tp1^IV0gx;X zU=aZ{voJaZTKkc$ztsCt+l_Mj(ON-k$BPb#e8nu>M#KYxWL$<%5f zJBa%F(>Q?WG+^xaXbUa6pe4wfh_}WeZ_v;DZpBU5WhK_FL5WCCwgVsii!eZbBJ^1<=v{?aSD=V)}O{+v+b{V#V633*^}2QBCsp>_kG> zN!PAW`teI76d)XsVEQma+6BFQL71j+JKs|0^6kpb@ERulZPhf_xQw*;g)^zh+4G0z+n_qD>gF( z*Eb-{asS1@B=`QSM9Z=7YF{` zqeD2SIg#!SJC<8laf~xT7Ep=u9#OA&o?xZXlxLpsfM3fen81E+O!N5d*U-b>_V5^* z9{YJ%Z^)fUEA`pnhS(>jb1MP!eQ+RTv8Tl#faUqe@XXHkGVI32mIrzSPWJhL1N7F- zv}k*#++s-?VwVjOAOt|04)hELe}K|_`PtInPRoaz>jhIknKP<>a!o4%pdQY?SfA8a z$xlcr+5Zt%N<_eh!zE5ykNASmRU7WI@RKf(x$9Mxx6}h)zXX7U~ERXyZ{}8YWYQJ(l(;pULB)q zxHX}d9NwxYTYuAjPA-tXs3z}UfYk-%=a8Vk-HiS3!(!43XV+gRhW|US&n4b&Q>BCfr;btlWqDl~*14y_9^5bXR|1{IUMBDw!Sr zlw;i=260io^_eoYeszNe9XP7{Q3<`+AM zAng-UpLoBf@TE0rU-0g_Y?oAr*{b-pkxWqdapkgijswC&dBZz-QQDneH~1^s%1OVM zoNfWYtU=XFFW+Jz7Md`i9;c8CkHADZApq`octCxNL`|6JdKYNt)ho^Q0KLMCz$QO~o**pr^Ho@g)&83&bB=7m8c5P6GwwgRcm} zH(wHpBe6`=0OOO(<+^DB^be7_3(3&<*})*8Bx~ex z%ioq0{{nvuEn+)O`>H}%;ommNm#X+$75VI>fE1WMNwo}$XWWaf2*3-|y;|FZ9RR34 zU({l{vl)vMsR4>RYv~84$X{D#Am|&T4G_^?lJQdgHtDV>0sm9x(#@nL? z;B8X#ncEV4W}a4-z5D*ooBMgptq}LKv^Z`HVeTbh9gGs%=!Q-H0wbK`0PyO+Vjbub zw8dOt%uS#`|Je|m-~%!SzfJMpe|7p;1Nu0^*BRP6v#>83`Zca>M_dTdPyF({1JMjT z46E1rz@+~EUxbq&L-%_#JrGdZ7EqE?7ET&`#t39;U^09f;5Z2mpmw3Q%!nwbh>nID z-vzmgcBgbwS(`>eIO!;aK>IPTUjWx-xMgw$Hhg+(`Eda9qJUqP)U54h*j3IKCfO(1 zH(|p3nyTLi_#h3Qj(>$;G>bPpPnoVn>6|{;GQ)Hj)A=LU-wp4yNyyjb5|;^&M)olD zkG|o}0#9{-hoZ z5eT*el~2$yj3T~Th9=sdE01N<_r<0fMMI<#uW*+aM*k)?SS+$d* z$0BwfkFo452g-JtiL(lr{1!F{afw5&%Qfp-%oX+cx8m3$Z0a>*Ec`3D3PS_uKe`~?Bx)YA z5TDnp^kvra?umATz2e-Y@j|{=;nE{pbLf_{1MK754eG=5cY=|a*xMvb?2ZF)%qQ@s z5!z7rP_W&oJ=BNj!6?{x>-PEJ7$`mThwQ)zEY^$mMc};ASf92?z}}Z{HN4*+F)^sU zz+3DU28h^Tt#9fBm9b+fG1VJ5;0n#P-o=!Av97wR_p3vVp<}H%YxlE59Y4Q+_%t9O zq2~3ta@;_GfPB&vxowEj6!0KG)8x*Q_yBY2%HpVFH}Qg`;04fXbemSTWC8^Fpu)na z5(|`sZ2g6_n?zXq6I0%gpNNJlApqgI^YhXu`oE#FbC$O97`e4urr%k)O9an56Y-$d zfwi5t$H%kXo_RMpJnnuydtYBCTtM6YD|To8f{=koXTkK~SW~;pZm@OKu)ewvI)I(| zKi!|7JzPVF*DHZ1H8@6_t*^V)syhel?sVRIysJ~&2JUOH&4McRL)8v6ZrOy^mw zGh(M?-BWOK&xX%|+I>;Vz?t@Ru> zdT3p#JvG?Pa8tETYa^Sd_#Dk>&RflHGh9|P%vl5Mgd&xj$XxK#C(xb@4z@}p4uZiyLyedfQ+jhq|iD%zS@7S zV^@*o)0YM1N#r>LCe{t-SfLSAc3ODP!}ztbE>1_P!%?Xn;c%2wZBvQYlRalQ_$ifI zIHpyynYIm{oRZ9k5PmSwV_Gm(xkrZ`77|y#_-C9V+h^b(*?t5xuK}q)v1D$kndm0U z?@T;zr4zbywYEcvUeydW>;>=eze{qjkonrqH0*q}4H!y|qZ;Q4@VEe}cXomh&UAQZ zPZ1mQj(pq<(`&eFMMYC0H4GVN)Is~zsspMUJat({3sto+-kQ1NWsV0&0n>LH{}41b zFdyp}TFmt?poi<Pz};~JBmr19Y#0t$_V*|+fHbSq zec$%T69|tfxBf83;FB~)2XI1Ye|9l;Id&m-Np?{+5*``1;7iJl3;(fIY}K*x(uvrl z9Kx&$lB6fARGZizkuaYtQ~kVeqR<7f`UBGKVGH|!?@kZ^(1FH>xIsf6;Uiy+3AQap zV!sq)&{I=lAV8Dyg#cCKqWGD>um`1q;q4Z<&u+fw=AXOI6~J>lf}%HQwqNMO^YC?U zJ_(^X2xK5?Pnh{1Nd1eT18Kmwxx*i8Oa*y;Uyy=*Wk@$%UZ}>h?~em%8VJ;Of@L%r z{(AX_r8&ak)q=E?yQu14Oyq=NPgt#@zudCqM|0NKvm2v zWRbI%9c#!VGTxw#Bj7LH(>!#CSsfv|W*i1W`!d^ptv?!^CespXq96?cRB|LzV zm`O;z#Cj<+WWgdkG|d`KuS~FNlH}7U#J@qB2e65kUp>(*nU+#iyVHy?im&()hOQ0n3fkB8mxrsBVIHS z=pm;b5Br_`p@7sP@@SW__u&SXx!Y=lGG%kHQXz4{7iDlMuV6`eioODjs4t}NwTR`4 zlrMedZ-B}ZUdW>J&Bqn_Y_;q=VnoZa_YK!`uJdW`L(a|YrTzEA#RZU;LjyQ~DA+iB z7)caOj+0`ci`!K#f$xvEuC5J2Z4@!*VWh=$;gHa*4djVDGA5N|M zwqr)iBE~W*SVcAg`nauGc{RMyPxT;gM}64mu{)qm%)dTeOdDFoNenor$vW{4o^H<6Md1jy={B)n4yiM!Mb|Drk(M*~fi_@9DG0^NE3l zuk(bBfu*EnS;l2}g%3K-HZ#*2!7VmX2L8@GH;WV=t3HHCjuDuRhZ0D<#6eFM;T2ro5ZBt8O%7GH%_YY zON9=~id1UrzhH`dcICJ^;c6L-S(AZjr0)?F9igxU@a)rQ_iAFRtXpo;#lV`pjv3I$ z>{9Gy8c|}aTvz@8g_w=Xd-K^Um`)osnKIZiorN&94DnO=sy#vDO9 z>n4{P#|=d>+RfYoQ`R#z(z+J2b6IsB(}|1{CeMvKmTpf#J=ZA#RYqY=?z)Prw_Z1K zT~B`cXmbHoX|?&;g7Ajj?q!)3>s8pEu2)?0HqpeB``lzIZyna@rEDCEnMGN=Seu4M z(+fF_PkVnD(|{hz!y~pZh7LEEuzR1>cXyg)!eEUNtLtPgk4UGFVQhgG`Z7Oxp80y^ z9|$%wad%IE*@Cujq8f6+ydASZ;&j~aXOceYwsKED8metq{;{gT;?L9N5HSAo3}$FE zF)Ss|N@PEy=ew>9BL2dQNUr>e*Y3o)gRS4mLJsY7ek@3B9iN4y+M!&P+3GAG2bqDT z3sUwNL|%Z1d?ep>N#idu6k)ozif^J~ynZDAP2dGUsVEQSCeZ>u+Eu-U`0w{(i?|3k zR9NG(VF#UNltMoGO_ai%$26JOApMwq?$g)X{r7k6JF@FLj$J&4?n$B-rIDjcZXCw$O>U30ki z6zEl`82C}CDuuQOe3$w35BP2+n}6y1A~cQx*u=d2ysQU>^N%EA6g5T0>`RUx^UWRw zmX5*?(Ue>BOH4Me*<)#M^%kPb>q5n(`>gs$q1WMv;N6^3dYDVXn2$!(o7e@Gw1Q$Hra^6j&kI_6v`LHQuoYkbir5v z2HV867EK~vRTJH0@i&X&ZUy`e{z>U*m$Xg({#=@H3Q-KWx)Q&Lbu`k=L_PksVNPt# zB3ykT*F^I-B&}AOhI#)kfqp)SLgIIxadB_s$C#?zof)S^PDI=2#PirGfl+p*&8JcM zZA%1}9+l<%vTBlwT*QVbWIu*R3E={Omu}(Vq#`$5ZP$N>O9sl`P|KrZ)`PcU2PN9N_g9%p=;nSkzi&*F!1hrZK4mvkM zlMV;5i~O6(!0$D}+fBr9gWkvVosP;-BZY?u$AT=xt2=GTunlAsB@w3Gj_ct08VGNG zo^$&SJ*ZnU#q=23r5`?MJz3D7*GiZ>H)iXLXP z1+~fYpCW+{cK*344!_esBEth7Irj@8SJdL4$V68I!>Y}3O(bn43n#q->gsel;ClU3 zf*B@;(vA*h&*S>{`~|9J+r~*C##;mIi5XY+h(x-; zWUERhv_v7fT|LMP^RHjVP3;wc6D+(uugf0wyc7Wud|Oh<DLAW9gJTR{6SBg!unP8~#~qtRg9B!SVU+XVBMRTxozIOe1($`H8q zMYXav09j!6moMHLPn|hJ1hlmu#LmHPIqFrhlC`8_iR6NL7f*>rn}=h0XXwiaCEB+B z_T+nc`8~cMTMK}!EN_18aj*RTD;E9(wQ)@!Ib(4#3=VJ05V1pw)L#O_Qf>as{Q#*aay7 zwYbwXwYV~jwcS*uR2ft!Ilt7h_u9S%RXammtnqG+3ik5No0qP~xcU17`3zL=gq1Howbn(cQ!myQsJhFJRC(g;% zBT(yp)bl*E7*5d(lht5YYoXXH(cB-_UQHVM2Jc(!E{wXS_d9ayA=Smc8SYzUt!L*} z`S?G)J@LHZazdF*UK!`3Tz8#IGTFvUr;!|4&t|7Rnvosiwbq(b){LuXu-(>ftnf(mJoyjwfV?lQ%!rVmhzTjwcsCZBW#| z1ReGm9km#r7Y=ycruMnQb~u%@7RMRhGjT;ersWvfgiC^lN zVfTpHy`e7q{@XZn!FdCt!2kgbr!oCf{C_r(HoCVY88|@7x+pCs)YY$E($RGd3_);X z;~-iaM&`&6(q@{8#1KOU5>^W~l7E4uwQfcf106iGBXXCVp5awWeiD^NA|olu%AOLc zy<+^rdO0d`&*wW=31%%M`H4~^m7C}1{NGDEOTKSwd_{eq7YKk~4nTcYVj#kXtYQnn zuD`P8%IE>5oz7IJI?oDk-6>Si)fWwTUF$T6RzG3eageKF3%DcTzrk8NU!8XzIu^52 znwEA-3Ue;53FJ0B1IA@48J(wRw0;%pd)Y=F;@hBGWVSwlRkpescq)gLRI^3WDYe!b znCeh$$%ry-w6*saUD4>OrMg6iG{_oAuQ<@2a;pKTbDA<88LnZDz9{kg(?GAaH(nJx zVW*J)nu~QpUEW)^7@HMyNkhdqIi?#S+6aLenIwci`%3p8^nq>0{9yd2OAKwt4CJG#cO$gPGc zQK)&CakJ1dDM?Fl_Jdc58{M7<$D z0YXAnW-+H}>^4vuAw@rz0aD%`%?W zIHyP+;>V36JNX#7j&&#%q)VPSU3w=vjVV=*xvJ$qHZ(e`IgZZ!E#oVVlyg%2H2+bj zEyVcEr43iZt(%6XvGLb}Ld7p7)bsq5&T53}xF*_EUuQJ$IGWCTx6KO7&D97{Y8yE= z82S2Fc_cB#=cC=c-|dHzN@sJD;-r>54xc_|UxV6ys+-=1R_Wo_mbKk@v%KdgWap;4 zIb9jPq;15dp3~mE-mGi1WFiIDnIzO>MDB5~2#tI4v0vWcuG=~Fr&TV#*Ch0YT@G2B z4a>gnez`Vnr?b$iTue{Ck`Nt0t9l)JJ;*(9Uxn2zP$~&xtrJOwH^`po#5ey?%RJe) zEnv%`_WIXA*|De9EHMqL z`X-N`xk1gcviZ2xLCc{&#O;?$%BvLITx|_FpY=*)d1OGB@TOE8dnE^;^oYxP*6Fxv z0JskW(aiE{4WGC$tL|-%B+b?xlM=f%#AaMyoM*8R}_N;#ozfS3hJLoQQ)w zvSRvjV!8XzE1KkyNN){t!Y5o0Ti&V#HD*1@i8@!na|cCLUm4Y@-nEu)iOnJXKUd?9 zIxk|o>Y5?Ht}WdQ?UNKhJ1!iD)pg_dYe3X%kDwfM@b;r8H+|O#7LEKE(oIzEDOueR z;MGidWZ7j_cmIT2X1QXHhQU0J2kf5u48-M|^_4?A>On;%KlR+#?UdhZtki}|9TphT zwQbu}TQCs6Ku{qeOT4_NsP7L<(X%G9+bTCdpDf8rTHCSm)4yoI>&$7oy-p2n;h0o= ziO=ZYrjts0wWMbC$$AhZ*7>54d13)=p?#WU>;9iYvo>JG$-Lr^t#Dgla3N&a zii`TrT%|RnpUtJUlCJoQtBmg0$`e_o<)Nu7PerYdKuK-c%2P_^vCPxI>dw+-wwhWj z+hMQ2#wdp_GfLNhtotB>65AXOB5oXhvG%45W1GwEPbMwDvfTAT>ug^Cu=#MD<35zE zTgH`F$kK{Op?_ms(?EY?#U*wp8Z7;<6m#mz^{UH{+wUM}l|FgOOXC0TkhV~c^}H(o zCg<+5E4*q;;jdBNeODnktX85E*}1D;$Jeek%Bq@9Co!i6EQ4sP{rOd+#9SVzVG3rx z)gI6Mpv5wr=~;uNlu5LzGoNYrKU0EbCaY&H*Fav!R+jt+)f!rhWiT^vHJWk;(mGNr z$v{@o8d>TmleA8(rm~b(vP`V*C}%7BpZO8>&IGH`G?@uprKO%BwjSluTwHX_NhQ&I z1H?Et7VnI?YNa+;6tWMAi~d?;ndnX0G*^P6&@3uZ*7A}pQ@$+3$y>}#bKx$r+BYj} z51iV(WA)Zqom`S~&SX0=Eeo#0L{Mi+uVfby8BuTE!y3AYbmLNX1T-%eYd%!2nnYjsREA_&J;N4uht~Z?dq)t( z*sqw~Gd?n3=bnF35ANds?Yu^3Q}!WAZC~KxfRJ)iaL=dXSMK=yZ&drGQD-j(+&LD- z^SvI90Z~Y9-s(pE;uEMXppNR#?^{g0F`VTb+u}Fw9X5qdxV`)?#Mj^mCwqmOR>0VU z*a(aI-Lxw2DRr*%@hiDyThX1f4ZN{6!RJ@SwToEMu{JarV5|jNDj0)oP*4(AuMmv)cekuO1SF*3sjYxZ4K_T>tRaNX&zY1a^A(pd{vYQ4F&=Vh9HBAS9MCA0;e} zZ*U6Vu$}^*Aut$2Xi!iAx0e(-6Y#r`J)-${xT*x|snyYKK+^4?B&I{;P?{nvS;`xu zl(y@xiAwfG#E>-Y0a+?zI9eD&`)@i2D1C>K0}!VF5=;Z9k3V_0APV^W;jNP_|CxjbR3Jjym&I$?j-BDO&wPY9G%uLxKWlpPLvJ4^b0>wirH z?sion$Tdi05JAcJo&jMKl@v)KZ2iX&GzNkD6eyqq8H6trpab&ckbcZUw@FZec`}F} zCV^~uG78^KQSC!XP^&)71C<0O!&>s>8b=eL?gu7;JUsvFwHwE2l=8nW4&D?f0el|P zL&v3GIzIJH7i$()ALSQw;oVWC^WwUBM8thpHruj&0PQmm2&Re5oxkhC9S%of7O=j- z_iH)c5nN7$nP*T#%PF!Ra9MZUMjk^il|J?Ns;`88<-KR4w}`u?jo?RH*FvAF8Mdbt zm$ITYqYlT;ytrb=ngIlg6Kahg>5F*^Z%b)J&>j#sa);)~riToi$RK{RbG1p*rv4)` z(M;t=0PVb~y2v%}y3B$kE&gYXOw3*~Rh@C;0i27lv}Cmub$ zY$oT3%qiN^YvU9$4plu_CTCeJ8qz;~8quPN5BdnWcT6nTT#d$NKF*+H)12&wENUz& z9Q%BDm0*!{SZ`gF@I!C}`(LxA0)>Xeq(Q7qfCb7Qu_u_FdjWjXa(P%6Z(`SrBgVABw z0S01%H5DAE+knPTiuG(2XZ9J($2iy!HqRt-O!mKGHp5gq;?A zz==)NEWdo3{CwL7?n5qik{V_yaE0j1Mtz8^ zndH^)Zz9q2n1;^~^8WY4cz>Nab z((F)^jew8R7EqI!0J@%oY#2u|Sc49AERbZ%q7k=2n2&-CL2e>vK1sk+lGggL@Iixw zMh}rKv#!kyt^+{05kHrYoYZ)79AiWIdrZ0ameL$jp{1RnWaPB+?aV`WnA!1$auU3u zR_MFzjFD6Vkpol`jF3|b!8{nE-%Cs{px{V`nyzLqrP6%T0Hl{>p}KvE zd34xocdKu@l~E>??20_buQSXsh?l-OqOC%KJ9Fzv1II`vLyOUO60qvUX5DO|#(gH+ z$+Pt($*N5g#7L$?WsDQ21yAQ@^hbhJX0FH2@%55TNDIJ7#zjC$jlC$Ku!rP7QdMi` zt4pi?@dTKWH>*SFBeSya+5V$4ft-o7zpxWFRU34I=XF+Dl`3Ox+!gD>uStEt#Bb{C zS?zMvP*WpYrApvfnL_ETF*$<~P!C$CvZJ+QuEcqEvfs)?71MzXekK@X-bvIg$;=z^ zYK8^}F9(5!fRO z<0SZEc{l$bdCSrAZlPP?CPPI|u^Y7UwqEHP&+?!09_cGStA~O3^L^LQO--xQ^3TZ| z&{sgo%etTc7hm~xABgsWfT)L2SkE`v;I7_l8N`BQ3BmwxumSMiqz14pvago~jK&+; z@5KVTGr6!f!k>c${HM0VCDy;N{O~KFQ6M+8&UH$k{@MY<)Q}?^SbPJ0SQJV0-cV5= z`m08X(B1)k9umU6Lu&{({$X>SFU#8jS`r-8^TOghlHk*Rz5WS(LgX*B!Gb+VuZ3q& z_LVeCtmH_*GvVO<{E*pg+_4P^V8Zu<4Ce&~_#!~n$8yLjB1lMtG`p`sdUY1JH1->E zr|w|eXzx~<^BWv)j1<2*FOO^*DcDm}t83^@2Uwsw^mZiuq6TlP=7g7ml( ze?qmaN*Bad^SY4o?QLCbVJl8rGKa|_m}wvXP0*c5Y6x7`RM2UNQYvc4WVLpU&D&EH zT5ePskvl}do|)1m{7D$bH+0nb@N)ViN0svw5c7EaaOuEwnmX-?5&t@32@#H)ZnqeU zB!wQz3!5P;8~7DH30rlj$)hNrx)0v^S6e;=3@%qzb^{IMC}xgNhWd>-3Uj12VsCc3 zD+;TPqjL~!c`7-FyUD2C`8|4VNCtJ>*Jhy%OLo2be7@2eXE+oyoUoM$n13k+8#RMo z0OWdC`b6<|9$P08<7hz@8+>lf& zze;ovBCjj;$lVBxcS-(ZHxv)lQ@o-~+d{k11n*GzqP?Sr+vL8Pv(C;&XHFgzdo{O0 z-xbKlL$#W-RNed7uk1;EJ4pnG0u(z@c$71n{Uw&%U2E{Z8sUAd*+<*|Kz!GL7yZ(a zd!NSZ@I$HsNsC+=WybU$Tg=V3W{32r-Zvnk-VxZ7cLKXlN)w z6mxvJ;r7<;i1i>`3}wjV)(tjPnlVjR;nn$wTq(3?vDrE4!k(7_v&hIe1zRB)6dwW)3 zWZLuOUiI?esd-__3mD^j;uO+RN32rO?q==g&t0l~1NZU2bsw~JrJ-}ZxnoyoeBF*! z5S_3%<0j^$qKeT@LRwpbx&vU(8S4D)b}&{$K4IzZeLs7t(^J{f(n}XRCeo-x%q3I1zovlo*s{r7UE+@>^X`3EVm(W+NZB~#RgF>T%1MWpHNk8-BEV7r3K z;&#n+eh&xUTAG9V4!$a)>kgN`AH`tiTX3#m6uJ!UH0uOo#PgWFqapwyp3Z$U*d@@? zedh9Tsk?$7iX?wibSF&SO;M_X^*#Yn z#*;ZOI8(iad|F?cL)k#~j15Ofk*X(TR7=Pv2|WbX3=G7xEFPRLFqkj12+J>ctft^3 zTIcE>9q9Lvu@@VF(2;}pEHh{Z)R}|m=XKzRt~^Wa;gC1A0_P;#6Td9U(TgbYi;p9OYvisNLYKDcdYRciI+@m`*Egg zXwt-_R0U7N2@oj+w-D2B$Lw3}OS;To$v8JoQEDO#k(~yFRL{K@Af6tkHO<{pYRPC? zx)^kL#tkrNEv^>NwTd&Ck2#;}%KdDxKwpcI$Gm0x~ z$zC3eVrdNI>7@&V3uJ45?yfD(fa5H+^t>j*jSW2C-0?|D`f8WL8OR3elg<${c6W5l zr$w}l#%CF8VYym*9Y!+~7J)=0v!_uxtx*Tu)c{88mIolS!LTFKQTm4P6bo|TTju(9 zJ*CU{=FU-gx&EN6FW-z;TAEWH2&4H)#K_>g9{tn5%HsxQ=M|{)*`;Ii9lZB7Pr#v?JM|<3rqt;8NzYA!pg#yT|(HdC=5qK8k#)}I`6K9`?%eB~T->{9F zgD?#VkMl#PbLIzeY{63sF$IpIA>kW`MG010@7SJTCf2Clg5i^l7|{?Fd9Q=5Hg+h> zg)iSCQBOy`_&|v3h&!%O3pYV3mR|gD00}qry}zl`H_I=ocDQ>5V^3T!021vyIRLLH zOyEnEZ0NkDEqZiN5)?6*!p;ej)x!Zb_PEh5DdzZx-8J4UREeKDw^j)OULr$~KR};* zT!xDxM^5_Tht)R1_?yCF9_Fn5qP{;l%go4f8ZNK-XTq6mhQcYeg08EAuE!a&_!pOh zB}_~NMf;%56)8^lIFOu|*H4H$fTY+*nPRt(qrhg8e|$T+J)0i_=NEiW`fu?2T*w~c zhemcd3CxkRNA*#6e4G|!dztDN#$7BN=cL3m#7id+zsGh_fgCjHBv4rS%Rmj9bSwa@ zKrOn=3=Hk@Fg8;Nu2+}&6AS_rinW@5RdTx+gdUe?W&Yw5m+O^E`yX4^-$})a&s2hY zM~#dAN=LtMWnNNSHQu(CS33rpu|L*e;&v0`V51xZ4KA}UGEW=$l`~ImiQAPP^+;ru zA6rlzY5zE)w$T0&hz`Q~=#|=+2J8Sji5{A0DA>adj?6iu$q5n52h z^anrZpOyN+54LU+qJOi$@NetB?-G9aBA+d?!N3%fiHms(_3uFNxYBVCNAGh2Uf^4Y z-@ zUc8}54C|j1s;Qqi(%FJ?)UqZz24f#+!<`KK2twSyv{lxNkt=bBciqwO)R1PolVtpDgd(w+XH>ScmB#r#kpu-N`(TlUV@GOALKANVPJ*j1K=C-C;(y8j{7Tr zUZ~f*XwVVv{u;KTr5|e8B6xbvVQQl{jqT? zEYxMC3+r6{H>Fs92*tmpvf#vqk*{f5?*T3EIw+=J z0Q4U#lGAf|_sDbhCrBg*br66Rror{v!s4}jiGHvj6d(1b^UW-o(>q)OY9TM;B`+(95=A9Ls)A~7Q!nWOt zyBpPIU#UdAx-p*;!qMLW9o)Ny^--p3{D4~UEpI&!=QjttGZjGQsD?#fQM z{^J{eW_|~swV6g<3?~sT1Cg-L>xCmpeplEcYG2k%Mv}Bu+9IW2*ULwec>Op*GzZtK zX8XFX{SXe(kX>ZFq}SOfXW|Qv12zpO9b}lyAfD&}8Way^OGj|LvD+^t_0~0Zo2N}I zSLKkoEbX6BjB@+!(o$u~BA`bu4MC0nZxV(m^2?9fZ2sfM?EN zDG6XG#VBQ6h#4tsPEbTw}g?Au(4*`55GF*0u(>UXw$Y|o7&cw=KZ%e=OzEpy7@d74!65` zjpq0r{KYT6_S0(^sgc>48pOumI)SCNnD2V(`b%d%1J|Jg&bWu^cH$)sBm5(Za3kV_ zxMm;v>Pu!!#nXZLLEp#?tq;q?huEeZ4Vy5*;)FJ1Yt@)?70KIweS}rdwyfA_!evjlD;`{CB0!#D%O08EDo>qOuuz*5q{v61*D9i3pjGH zaAWn;C*f`P$A1fh>x<1+GvZ<@+j9vszpBa7Zgxhj^@|L)ynbQ$xr(sEB{t9alsjOt zflyL(MXa$9%`(7jC!~eln$L{537Er!ajr}VYj2U2AZrn}DZpdae8PmfbkbaatNiU) zvNgx5^pSFuVHL;box^YnWGOuSa9riKKl$v_>{kVxCPk?r7uvMITXT%G`$2SPv+r&f z%uXdy-4B!>SEnYT@V_smP%o0P^#LPS2In-`kPTRTUzlTLsojgB7ZOh80n>!RVlUX9 zP7Ubyui^by!4#6^mc)#&Y|_2J>clC77xO)XPAW6sLh(b;tJut+o7SRTZM{JzwVEZ1tcwMq$wx5woxOROEHww5HohwU zLBs>8k++O=lmT?>I1WeDfaLV2yZk$zL7Rm;H+K@Q<**D+0W{g%Bbou%_KEgzOI|PVdjYj#rqiY!i--U62U5| z&q((I3Zmo_Cp51`Tydrj> zv8J~oQ*mz%PJO=cI3^gMHdC1$X$W!!b4cvva`FvqY;=_Q`m$XHfyaXB0uZS{a-now z3?w5V?NJK!+;V~(u3T~7_XwbzP&yrQLc>v=W>Pu96&GDA&|fHBfZ~K=7f9#z|=b<%ebAXJ-)%IW!sN2^jTBw_2z?{J;EdAU8 z+dx#OmdE6;9<-BAt9`!u8pQJUb*#59!r=%_iFjpR0kK$6CSqbpS7R0eKl6aGR zG$ZSwIpNIF+$S&PQ6uxh2nB`Z(LOrXZ95*jMKM5vvUIqxcnDDnY#^iG2>JBgLUja; zs-}5SyVlJF2xk%0x<-^7^v-MwpieOPC4WvS+NRMkIkeT==yVI?y-b7Pa~30mmBAqE znMYy3hWzq|G4?5ycySj)=;gSS?wEXTX`5bETxPjN#bX;aN6D7GZ&k1_hZ0FJc1hn3 zA3=4R{K5FoIL}SZGbx84m1U#~RRH~-cH`F|v_F~YRi236%V>rU-x_BMOc7Wq*t?4^ zKpjB<4I>XL&9FdqEhdSM8#gEu`I_*=OvPt_QJAS1&5t$|lLEUzm=v&P6V5VQCJ7BF zRV!?|$rZM)nana4QKo^H7|AyH=nFHUiHaevi8oKETY}CHOdS87Sn@O(vGpXHo<%^S zSSe(~l5!10-A<8eZ~eq(k)gqCJI`_o7#4uiwZhrc%I)lzR_G2xl#kc1(JX-Aat8&d zH`mri0-}j+dv(vEZITxc{p2a{Af=-px`I}{1UA#NT^Qz87%G&`rh`?*BEz?7nZ60( zM5Pu-o?Vyxz09kouGYly&?%K@zlDjk=86>B|$nb4M#{;QX@Qmy6T8V7L)rVFk9Y+MlNN z=*kO2)IDzf$DRcpwKp}zWibuBi>=CBsEgThO7HsM1(QMghVCNkOzXvcR~iz&uD z`o!{cQkhW+JMwxec1`L>Rwtv{>UH<ou*<0L8);~ji>aws(QgvK z!j4o?X>)LWg!7MQx|Jd4d&8?vN>%0$PpJo4^KHbV7t^Y7wVv8)oV%kv1t zV)#tiv-<%Tr61NcnY!jy~X3UmhnF38|NwicK;)Q&2kwS zK%mwNxnljz2chR5;h>ZW_9?d!Rl8{Xm9Rc^qm&3-0G!^oOU9+4@DweklEY)itib(c=MbE-`ToW%7Y&$2dL#yj}9pabe~JMQFlp zLSnV^xyj45j}SjMx+rP1%P--#{qoC43E?-4P!3|8dAH2kfbvkll_9meHdx`!H3tP{ z?J8?94VOMErxwkKavYPt0@^CrbnPpMjs$Na6S8U&3R8e0B1J zO^pkW{@4+Ij#323&qn3XQ;gJQ&sUy^Q2ek2j4^(oeqh=^V^$$M4IzHz zZI`ZwQbjY2q{$(2)k+y7BR{)oIBiSsu^mBRzU{D6-r5G_)uzhlo8e{64THSUM3gPb z56qGJ@~#!|-F2Cak+`d!AK96{%RsB%UHS^QIrq7aS=tr~Zlv5bn)1tlwJLgZ5q2qc z3iE6?QTvM14`6n?>ar%ztqS}{PfUMZrN?zKtQf4XR@!bT&0sn?XA5>soiG%P$NSZG z`!la7%~!JSRBr9A_xKohCficMvxQ=Cz8BW+?iNQq%S2S z9ytVUR4M%u0{ndxZYDMTKz(6UJ1Ez+j;;*uJ7dS6D8`B|sd}gha3VWt8A>?)MIq%TwVetonX}vB}dCM6y&mReH z2q9xbiTL!LgEo!jz_p=U+?(#<j2f(o0r>CE;l{50^fKqz3Jo{NM0i`gx*tx z+&nPth80UPLFXA$%Sw*!e6$bZ$j=HlETcJ<=iLT7hd*HZNJ03$4L7M8y5V>+E^=tT z7KTNQjAkYZ%b4-XWMslIM_hx~sa`B9Sk#M+?lN8Us~pB56n_*4hz6P zWVd;WZH>5%9)fYJ*^!qme0cSBZC01eGHz8$JuUB-BhPs2RLwMYj|(ZM*e0j_{aP07 zvv#6-#>aN&NjuwY%2r4_tQpnV$N{dp3e^vPhDa+Om!UGvm+5ax0*VF~I!D$WR{ti~ zOl78?ah(#p?GZb-RS)GBbnU4)y457e2^C+FJF>L%^xT1?h;|?UReE`_>izsvJ7l=* z5OR&c?44@A@(7++xxxOZV#-IUP${j$O9Qs&_YOFp9N%44SDZXrmeN0ngaQbl_;~NT zUBHTP$BD5?6mj{=9|PR=e2MYj=T2OYY!dp8yyHJudam@NE$aQvqUnR@tP zrzXd2iA<;y>plEAu5(wav+Z9fqfl z_zR!dKRe28TWL@1_Q?RcE9)gwHUENVuoV2EgB(TF0TTVJWH$IY6w7DH=8lFc>N293 zjRS1~pvYj=&kzoeOrtF{W1R+^WO@;a=v6e8qP?^+q^qtQ2XR-8hD`%5G7|RBJsfs0Yv=kN92RSb#ueYypME z+dV8x+k1wXo7I>d^vAU9&+Ij@fpC;qk;f>zF)_%+M`vrh;Yzs!gyYR_QMquay1T+E z(HCFi)04BKyncunkkz<`^TfIDSL`*EkLfqw&+WGno6hei67SCJ*Adr)Z&6Wi00+0EsCw?cV$n7HfiWOC{=ftf z9e-dPXoXmGdfyOr&7<=>XqMPz-<2p@h<|%@pA@z5gN?D$p()$HU}1$FP(l`LB9 z=vD+(416nv3K-fSCk~$4wFc-A2)L;v=u+iWNyl+xS4YV;8 z*blOR4QvRphSVuBmb4GKUQ zL3%@P(|}1K*syM`A^Rl<^$>i!LK<*xe?#_b4Dunp=t4B0-;zM~D-Axw`<92?;N3Dp zh*5*(px?7X`r`f)i$E;&S^7fvCcUU{dypbU5Ax$9jSo$_3M)rr6+x;-81f_Ff_wpX zk+CT?r-Cq<#1sp(MgT)``cW@$NdVvovWP%m z9?!_a@ax-$1*~8se-PPl^DUmM{R^6_!Apay--}!)B`0)!LPA&#<@n&r_t-{ZPL%rC zJg7BU+(EDJxSgVuAQTJ|mjq9c%J(Bzk6*llI!F%gr#RHE#2=wjRLx8^P`!=nfgRdi3W`<-Y`zdJIF$oOcu762G}$}3<}*@H?jqbyi*6`y>tJC?VxNUi{y|s8ZdhvS? zc#(ORdy!`hPcC1)jpara&A_}>vWE?%T^T&lqtYie=>`UKRGxPHOZ1*r73VcGb90@6@zLm|fq#i%U67|1+BC zzi|1FOWDT$ljW5*?&kj2O~8UJsc#=y?Ogfx%S&{V=4{Z)Q;n%l&yQ)l0e=(>0S`Cv z&R_5&&~)r57OV|(o2svMv+C={jpddBRs;rH!sV(af}XbE zWE^71P=wiqJO;@Ag3}yC3P=_oEegA6EJn{(kOKcvak;XOi7hnt?A#(T1VD|^pDqO- z_6|>8yQTyqtmQTe(d23YTlZm_jt84jIFjtuhtS6wdsxw={|$H=%MRohv}m9-z` zch7{UK8iUiMQj0qaAO>Gm;Fj!zf8_1uhss%NKpGne_6bpH2-_{#pg(z%%v;oLi?9D zb5juI&4Q#~tgd5!ftfdoTumbnV0P6P+DM1j8NWh`WR`m&+YLjycm&bf##z60m^4S% z4==_!OE*#wUn@a~%!p?y>UBXL3A=K@kK2eV?(+NB;~lT9CT=S(P}3$q|8Sy|EISj< za*Rk(_q4E9g9eEK)_5UMqegv`?`-1k%x;>qRFy=8muK23pj?`$Q^kD;Fu_B{=@|7b z<{!wkP8Y55aCY6eqf^)&n!!p}`rwx%h9eg5Z7#JkAJWlI7ShpH#jJHV&%EbcU$F6Y zo>Cnp)0`890!9f1yEpfStJlsT&HYQ?M7#PH{{;9V#iQc8)E9fL+0=3Y!j-nb7$d^_W<&|5!Swrl(T!4Vk9+nSDj+w=_g zij&{@Z~Tx+-wR*NSKsxlgH&>ShqOxzxFdXy6Au_;&&v2&<;*4gA%teEeM@RQ$OaAh zZC~dCL^y!i7znp#sgG5gvD+~COv7sk#vIs(d7*Ie7Am$GF zeX!C{%(E6fnl%9E0c;I?2+;T2_IF}x{OKr^1OTK7PM@sq&an8$%?hNpuujp@dBqO< z$e4b`=YRW{kBHumoL-1KQscjyUw|DLBzVE0yd{#o7g7e1rHpvP{>5fhEhaKy|I+7* z^YT1mIcuz4~Mpi0tlfLi6Bpj0njyyasHVdtm&e?BE6Z8 z#{fcdEkcMw$b_0HOAsH>xI$4Boz%^xFo{yvQw9$(368ylG{Z}o_=gl zStSQ2b5I#4E204_F8q(q`(*GLyLxZ{Db)K{HY&x z-!>3kD?JW|4%HYu(NU4Dfh1EP3j@d=n2rn_*GtC*D0vXc zppOUqicX-s=ca|098{Y`H63_Ju^M;Fh{YUL|9&VHNT^_CU$Ro0z0-!V7X^hEheSt@ zift?`EkX?KPml?w?;sROdGS<-?VT#dwhh*HjPH?&cCfc~?QTU0q0o0kYc+U*W3QOPIYF?TZwwi2ob@8`@NUFtGM~WZIt9}GidZ*t*lFF-DXb>1_H&Mpv z6esgE#B!nQ~dYla=Q6I;s+7nFz}&?Cnrde4??=CZOiX%n~Ebyuyv4mYORF+*IDGv8pP*c zdeC(KOY=&WRqVs558%;p-V*t7F`$3-j2Y^f!`Hv7!%;g+Y#d+o`?I78cEA!bt={QC zn;j;nyiEqC|JqSM+dIG0!1GT^nDClKE7(jhZo#a+DCtirySu=#i}9CVMb>t5#{j4& zrri-Ruc;i%JBH|xV=6HiH83u7pW%bRpWqJ315A`0IY1sv1^^6z;0BCi?$Q$PU|xAF zvwC`NyG+!EMSA0l;Ti$v0mNXX5Cn2i?dP;Jr_}W_Yps!r7!?Cv6{no_R%@;io0wUB zUL~i@^;&C>k>i+IgG|cL)y%BoRIuJ_jr8PCws%@XWoSz7k%UjNDoL+TT`6Oz-#XK@ zMq}vqnOF!2m$I4kXI@_7Y_gu#-9*&4pYB~!?AknT{;%8(N>_Lc^;?|s*9Durrg>wW z(YG2eC5&F+ocD8|?OX;yWA9D}TF6)HVfp!vc(y0DLPA)-JVb@8ZYSoFva^t9a+Q;v zuUEm+w6vUz-w9%o<-Rgf9-?Q5PkcdMdX>-ZVSeUYT4b%eTzGuWmthV? zn#y5lHs^*h9Y|S%ZTlM~4Oplx7no&JHu%ZsFxl9epq^jkT{^DQ?H=Y##Wzy?;5BGg zYLipvTjFpyyxP|i6Y~YzhEol|mZe~-h3kz9dC(#lZWzm7vQqB7E4}{P+i(VdWnQ*c z*VwdIJ!-}dn6AE>FVySvr2N$(Hj4@JMP04Zv-CB7oRpJkJ#O>xURpDLy0967!K@?h z@epzi31??w6jPm*N#FW{zM6L3vnXqaPM5dKf?VG;hc398CTP2*bx;KGZNNsZ)#ORA z+Dol-(;dp-RqVV&PR{u}dgte6ls@T{c>OONY|*|{c4GFDn`Vn7qk6tI<9fh_|7Jxc zTUTjYwrLw1q>+xV^#!&}`1s?5SeG#~)cAM(lJ#D*JFQ1v+DTKH-jgX2X!@=ovDzm1x9`4t>vU_$)tRwhr6vI!kHW7P$3_Jam$xkk#3SjImN*u^jU{C9JF zje~Z*i#yZ~=UBantgqew3O^w>%JF5l0&9O5#5f<)^}>c9sA&ffYGxm5sd1L*OgJDI z!=5Z5`oXz}@n?{r7|vB8d6YZ@m|EjJ{v>=&1Kxyd1o7^V|Vww}l)N289xBJ>6n?q#{;@h*!!fYCXXMEv7uS93_`$O~82Z{TaKU{1}-- zvNlq^Q9K`)zR`TWq>EMK>-QX*^G5mE)H4f>2}&D+cH(Tnp!?TfN2@7J-&y~wI#z-> z8~PLur;K&RCLK`o$mfcxlUZtzS>gj&J)rla=08B~+M7|I{0sYT;yK@jHkM;pD@Fzp zEIa;z>85@^Bcb5?m6$sQki3r|0568Wfn>#$SKOqHdhFSrmu)<4z@aqSi_N7mBf_yY z@{Y;HtvEx`r%!bpJ_j3<(JNIa^pj6_dGYDq>j%;GS$CIcBudNS%Xie=TjJ}#aQ`t0 z<#~4#FvUDw7hvQ=#DhLAH#a)O^N1_SkSBqT!Tk3XjFOY6u!WWn_o!OC#bILd=jlaa0;R zWGS*s?~(1cTURyz9?o8z=AgN!6eEEXC%$4i+9CTGfZV$k7y@k^FU5&KHY}%NfG@wc zv6{0Mlpaead3_)y?A7Yi3JkWQ=1X z+%IATaLg+QFWefydQ=6TC|LI>{6QhbHRE*ad77Ey3=e3K#F@z9Pw(euSWz2o*EAi3 zI%Ak&bZlYNkvWq-wVHK2*j}bn0TTywk3lIfaa3OQ>e5XK>Gfn<#?(!(Xl9HimoZ1k zh%IR9xJU847e!}~lJ*+TYRwV&NMRrZO_*o{oRLZOTurLIp@XZJX|4Mes_6YxY%1yawrWb1{wHx6@38w?b>zsBYDq&B)8EK5~%F@;7VcY}&9LON1 zc;84ek*R%-)SmX%gwJ7HDpx9%4YgV0lnDknp(7oENRGv1VBjRpm6Gw5Ypz=%pm8zA zT?JaFVcU0$B;FMB{NG%EEj?*O_Z=TAH?VH?GOgQfHW7>mTTAIA~(58BV&z}6LB7G)QpkWx<=h!g3^VIc> zW8N;=e|0ceDH5EO=?g-v&q4d+78iYMxC}EvIDNL}7%qpu6J8HZL?XCM7x{z3nBZ)q z9^{Yt%m=_y$k$+ghy8|Ih9m{fke*wDIb^o;`NgT2=b8L(%*X%2UZ4Q)AE;#S+xv(4 zzwc-^cmlI318yUC)P{os~Jb;2jw9?eRB;^Zc@B=>MSxc`3}M ze&bBjA>|c6H%lsMsMK;vn|?_hjipj1O9xHkHm+Y6j(hp+*Z;~I2>ANh4)8vsZEf=v zx^*KY6MnRW*5J=sJ+%AO`#jARw)@ad9GCcvft#*KmN^V2vgFmAE_Dy31!a6m=tbO{(a^C86Djuh*3 zSZD-uCPH%l&)>lUF@zvUfd4=5iW9J-OT_mnGq9HDohtC@752-mN7JyWFb~;T;vpX7 zqFze{;+=N&5iCxTZJ7=}#n)U%6?#`^GHMNP_(3TJN!*T?qrAL*w~Bx4|8k|;wC?_Y z8=9zmY-)3Igm8QOFeBva{*#mc6B@Dsyz-EtI+Uufjg#i&X(Eb%VfOGvpV1ndSL`yd zH|CQ43%;oR3&Lkpv-Mw76Fj0u;nS2h>$%_~zCo6_++&X)8h{*Cv)yp*Z#`t*n-=aw zfnbGf^BI{rx7|ofZI!@?zW4vvrGKiJ6U&1skW(^Tn($cOM$ezgm5rCHtHs{DX7z>-@6 z+GzadYN|`eyA}6GTx+vj)2WVIs#>7SSsRJ0R3jSHD869ae@mMD{y->aqjxF{=(`?S z<{Rr>cQRGeVCqo0D(E2NC(BjCl;0iH!@wn`1Wyw4u?LZVxM01jDN|0t~LyE{o8<> z>FgEJ!s;^doQQ>c^7t@Li_iS*YfSmPPsV~DLk}u`Yi5XRb{-!N&r_G ze>3~+Z}#l}>u>CUTR6|1L$Xv;JQ&)2?yXxU@unE(eYR%0*l3a@CWql;jRrX)nJ&aJ z?hmbKmoGVkkLL@JrSxX;sVOIVyJpcZi~u>ffHlFC*^xZ?TDbuhvw%;{Q4{JtYJq{B zvAR95>513%b&XvNIv+&xQn*xj5cABvUd8&1)2PiUah1=+hY?!Xr+diGnhW~>Nc;gR*0-#+jdTO zm4Cxnca>eZCBvGL7OjOAMss(}1s8bZoQ}`Y6%cGiaFsg6dKO>qR4XE6vJ^JnZBaOH zfwhHwps^n2?0ZZ0AEQ7vXekPPYKiy%Q%eYdcp>w6fc#7&J*rQWqz1}~ooL5eVnnCc zRRxk09Wnp`Y1$ptg*(0gWjg%rr$SB{Pyy{}CgdeM@J=BajkNFsKNvlE#ROpzT`~+U zyWrL9qo%sYq2l5BGd2R@i@>^yIC9hhdtL-aCkXskD0qwnSd;T$@|ynx8u{8ufhOD; zR;ua|pg}B4kTAf~KC2j-S)HjS4tYIBksa~8AD&sro>JdZ!!vNZnEb-=i*>h5E8ib6 zZ2-0$z^-~jXMs%0j$h|7(0`%>6FzxCT!!S9Wu9{9IV<1=igLBi#{8eK$i;3tnU*kp zQp}`z_11sFqSYGkDJ&A}^hiMy)2yigIGKjw9jf|rKbPVCB33uI>Cqvq2`+tQuZCaU z`R3?{j61H(tQTNNy4XF z5+QoPTHOwt%+y)`vjI9txRdxKPO`0B4K@?^lVDc;qCd?NABRtZG4n01{`+Z`{6{c0 zp9CZGAHmFF>tKuaWHb^qO8w6)abGg@IQkVZ&*$uar`ai+OQQYeHQ}YBZDw5bKZ2>` z`~MRRz%8^dQPsTzgUt8*3&d3WoAdt&X8!5Q(b+3)W9M9pmc;=mQ;}ds6gHfg8=1I( zcDwZ}^$ADx%I%Y2_}1;D+bF`i^_=Uy=S%b={xoa=c}Bz4`OFSAFPe68f;9P1rQ7

      Q`Wg=(ZX$jD5zFzq!+y;GNle*lO`CcG_@Xr4;- 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

      X%74W0G2D3sv@SG^($MYIi}3^ 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

      PqEV5sCjYlAcJ* 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ǩn*(sOvzvH&dv|GmCwl^!K2(IFNG z)-0Z=H^?}zN2~;rYiPbRo>;F%3QJ9A_RNu3|1_3e^xQ+Z}##?bIb!4s>PB z?9MeUYt2%|nS}0PC}1WuKfSnD<~b5!>4TrmJpQeeH1M}7wD*d=S;_v3DmwMO!|(K3 z7l`yc9d+Sh--JMN{>GzA5gVu6i|_O>n~w~L7AX>Aa{GY%h|EhrWfpLcJ``xonD1|D`n>2ed|5v}AG|JlH(NTCOw;cCB=8FGLnal`fg?v%BIb-3};v zNR@dX6?3r>j0bSdXU}HSs`Di?Q6m}#!~b>LvT9kD2RU|Nc(!haVcGK-z7m2Q_c0z@ zq|!saH+^v*yAew3Vx2`Zf67yMr<{#7f2vaui3biz($10(h12{PW+%;`+7v#Ru2VQ( z<%*5QT)Gvy;}2UnUX_YB#%|!!-som?%)La5MaFJ$(@2sIYdBsNi@V2e;uPNF4o%YD z=w~T8gcxSK&Ak+go0K9Ty1tYtV5gOH{52mnFCUwWqfaTLSCcO$PYbaih_}g9*tW18 z;{wEr!#NZaY}AWKI27Y;$`xkK(^+Pb(=121l8AE8_N_jMjG1` zloM=_(wdWO7}I{6FY6ZDnJ;S=pPDZl786UR$G9tlL#zpn+`?F?ZY)vo z4(B4CG>pH)IGw%7CZF-+IAxuMp!j=Hj0)ILggj6XQ>e90Z@%@*M}G+of5ZM|5avcH ziP$4u5B^ai&?JTR2iM$h7jER3A>)ad`UBZ=s?r-8%AeTFZ+PN*_v$F4Hh&w;G@L+kG$tqEB#kK234k|eY@mN)(zk$t8vX^s_D5(MalNZVY);6t+;|XZ^DaNnHDc`i5Gg@=p5ptfML!T;q~_ zJv&DBV|M|P_AGSt@l(xS#wx56w(mgKeJ#ADMU&r;A4(3dYzVR6Iveh+3I)X}c;h&; z^jA?oiPYa>4rI>}ELafAF3Nq%3YHUvz03ROi) zO<$n$Xh%X`#@$5N?7_IA<->0FiG9Redzao=Kus1WO#F=L;OhyW;uz%PWZs+kB0rQD^DI zJsp<+TXj{auc>mdu;Xn8`~tiTB!frA!LP=2g|qlx=r9= zb$s74p`**Ec-aGUnS4{yVRLC;7g_Q5`j}G&vi`f?{ z4*zMSZVPUvCbX7uB0N>(neN>|<d_x2k-4jl4G_H_+vjk-}s92|1N0gqRJkv<1Iu1y8 zG`y02Ra3?BCYfIqCrGSo>c+VzH=DQ2g#W5>Atz<<+@Z99euO@Q@J+2tE2#o7;zI{N3nPGb{VcZ>wmtKu1fi-o>9Xk+3nz32s~pcmR4B*^y0HCG?W3H|7O^j-SRA}uSsT9xKH66 zVKx@EXEm!D6<7V`wI+1swX5*^vQm-rk!E2hO_B;b%^_{(13c(aIUR7FmXAxj0LtDIdekXIcoX=+Jj5`cKigjV?WhO2cuvbxV%Je;`tk*p!J} z2hYGVmVMtNH*^%D205J78nJu{KXk?wH>52cstGry^4@lG;qJ8+U1;I>`1poLM#Lu4 zRuQ1V7qe9K!_Y7D@nO&PjvZoAb3{8A!RX&f7e5yOlwndbUL~El_u-k03PgU5FwEbL z)i9t^BC2s}gOxT1?1R}rxJ85>{(M`Rw7P_z!>plsU5=yhHv%H>8<4Np1Fnc+Ra7ve zA3qW1exM#U5Ij{9J}4P91|mC9;d!~=W<-M!gu6iOp#_Pc=P@V0KexTq zqvq19ol)-Waye^z_w3f`-n)&t`p$AJygH%X6W$a-hg;?-zfV@6FK}gL;p@f0?kgEvukCxXI{wO-X8orbjeaST6Xj0n&Y|4yhoJl41KSUBh##C+rk~MRG%}{g{?6YZHZgX}oysiq;d@r`XB*aJ zOF5`S9w^%KbxIjX^OjZ|+8rgkBzjSHN_1wem#r(Ghg>^0v?s2YbV-q_h~xoiiZB^Gw$<{G3hV;!-TrSXH9m#*I^iI$pN|tDi8q7yQIE91NOcy-2FB-i zcj0%~xeg+&lVl^%BJ=eI= zobE38r`)JQtW$I0_&wczYY;O|p`(Jl==<^1#H9^xTVuTNsc8z&e2Kx<%&6~j5z8rZ zj$4|1$5e^I*^FGgbPXWAjIFvwoIMa}P;Di2tM8oYl`V5SVEo;1p#Jcu^gMkh^y@my zn93@(^q&y&^d4?x+)rtSFvSZ{(d$31Rsya%T-$wWln$Y4po8Dxzhj!Zl{4C*$bLN$ zmIx0r355-L#k0NhFvzQ_M05FtHkt!7YL@4tl=~t@%-&V5rmF#zG?MDZpd@wQ+U9MM zD<6(!I*)w+vEhJ2?g%fwXLl7wAV-$|L*6i~OML4269NfA*&5M=Qg&^}+ zK#pduimT+D-tI6|j`xYw0`w}0FLqD2eONN8bHiB_=U0|ATa#?z(p?|nSE4Tls8kn- zFz`-8jjr9`?wSBzDxL{%<-fiFYKA4KV zLVsB~``+MKcs?TFoK2zf#gmY)l@FF=M~i4TDk<*plOHaT;bpAxwB%lVz%pmtg_XZ! zqx~^prlK6KoQuelN=RnyN}xh~JO%|F^P|p{y43(DZ#khWZKUS9KA4ZxTRUDIKJ{2>&i)?P+SNsw$UBj0#0ooyBO(I{7)`Cwzt@N=zjZgg11K(tqU=3`SwsA#U0nwt+lbaiuamgC``oM4jOT*p9D)na-tI>;*5_UZNXSHq!oKnR}DT-3G% zhIXO|o=AUKv$nfRUVPByyma?d(WAaMCc6+9t!OhXe=e`NhL`*qqA}{79BHsOL>k2h#UE_}KoPL9jlum@6lp!=JR$b~*JDM)1G&-r%R^B3KS?5umxYDOOMzc$W zmfon`IjN@i`V4OJIl5i?QL|I`QK?h$QEV;$rBJxyrLwEwWjnHI#Y&l53+mYclqH;*>1Ox7UmtDG`jio;FUgnBT-9}pbOX+sYj~TzNueDPEL7n+8vU@5EusiSh zHX^~&z?BN?Gsr@Rv5R(r9onn)g3z^v_Ygt3$rzIWfu4n?YC8f|E}pH(wHts+q>H=`X^t?mWLVae9&fV z)-G))SEHISo$+tRJ9atHUPEsNAhuYNGNtw zO%DvUu5r`wDqBlR{Fm=jzAVpYa9WjFcBipd3I)|gcJc&SG=2*cm)Hezn!y!SdV(C5 zH3IP+B9XcKxZv=KM@Z!DSUb@XL`W9It8jf%3{l|1f*cj`4zT#vb^|F77$YNn={)j+ zSbeGOcOGbn-oER?=UnZae2qhPFIjxW2F;q|4|QN~O3?Ab9l(RYNW}YdNU1CZS=0~& zef<6e{(Z7f&M4hT~JiUA;vfWs#=mDtib5QEf-chfiTYMJL488G}T$zAa6Jdi7V8I3=JM%N}{jg6~O z$z_jJ5~{KlbjvBfe7(h*(Il2`FYA{@bERsNC6+i-SEfcQ-yT*2jy&qsvP9Q4m4obj z`M(`=8tW-j0A-2vS|w9hw@m33N<~$FZ5k{1v+lI658+*5vr2KM@NLPz9WLE`YYMAY z-=7)#`&e5fe`s(dzBse%(xEHnUY1;2gxmkq5K-^x+v3cau{>)ivjL1=J3;deVo^c6 z+_$wZ$&VV+s>qcZAf?6C+f%RQe>V-TgFJR}_4T_vSr~ze2m)M)-q?4RR68e&)&sBb zUF$T#b~?NEO1lPD&NI9O%bC(a8JrkAwC=nmr$(s7$XCA-YtVKS z)BKPxDM!6z49 zF3OZAU}3(EA9j>O#B+gW-5cJ;4!2`IwjDh*Zan=qUq}u)NpI8Cj-GJ8_whptA1gbD zPi_qF?$fTa;chB7S9~?@*M}$EqgZ51=?!Va;~A%}HDRF^`aAaTr2}!IyUFp*0Euvy ze~}JY=$F=!@zZd~jqt*ZR&&V1KZ0FW=uCD~;hkPTB6ca&l^7~>pW*!5aX@ryuUow? zQ8D*?5PbA{LvRbx4)%>(uMt)tRco2Sog0E8B-^qFJ%w~YkkRsjc6MO>Ggm=z*Sw-M z;g$mIjAcKZ8Sux2@e{Cysd5%CDunt;8BhQ~S|VhUkn4qt&1VHk){d2?=)pS!=1QGk z@#l5c9E_6$84#*KnshiD(C$vI;UnV5qZ{&E7h$(J0>PPnoCpWY^hC6zvV4KBv@S#? znay%7;4b_dKep2a$;Gc@<1r4jw1n^{UT~CmEne7pIC)@R**el$7Itw<%{Wpyh#9bl z)AK?7_8o35TLdKt}TnpLsvz;@^&&c`xkM{$$a!z9s0L@o#Abd2-#-kp zTb}%~Z+$B^j#GSue$xh`l0OE==(j_v`+@pnyE2)P`y=+N4qbWd=&8?&dHCsPI#M0}8eI34 z`E6F%e}pQmKMq{`Yf!~IQrck8CR{$ie6Ewt+)o?$6C)d^Ovn`;GHGD)>8q+EXoy~i}%~q<1*BC%&;PLR>=`d^JcR_32GsQ_#s@-zcnleeI|FwBx^j%7~ zu8IIfQ=2mLr#Xc}9-%W)L5BufE2uHPOsWXp#sscNt{L&dWE|yXYm*tJ$T$*RqQk1C zLUDPDu_ij5s-lF7MlPqwpR#9j^~3$TsGhoG)E$k*J3>`b5@TP4Zw)^Rkmd}ehes@a zWa>)~KaSzaC|KclP#5=bWP89&x@*M|1w7+c8;b=oE?z(c#wXhG@MOU>{(>1Nn}}W6 zE~kbUvM<ZVH_h#z&+X^Q?MKb+Z_e#^E9{uhzM0`qsME#ekUb`uig({k zfK--&$&Nu3B*ymOXMhI|hA9*d=vYRTD|3>+CC^PlOvR!e66KNZYd8HNY9OzwO|@&& zMSvM^Po6{4bxpXRhyI)tw>B$a$z&u8PLN3Vkh7H$&n+|@nDI(1oe$lyhWdh8#cET0 z3ng_+OWYK&gJlPgUxGrd)`TGrX3vkeR0Ws%^JVAnc|@dd(~SZea_V$a+0eyX3@~$! z5PHnX-y^SUIOB2NBCB21jqm0z1{buOp9xrkvlC_0c~h`1{VwtP8td3{)MV>Za-~D-Pi>HZ7Z1WjV(Uiv0V`3fba#na<$%_KYFQJkC8*wr~Xsfl2~ZCN&B`7{V;V zT~tVz)y^})b!)+~A?JRXNg273P7{W`=t{)h-GHA?e5nW4F*eoxgF#x5tEjb#^PLp4 zoglITh;95=qI7l=(49XR1q4@n$p-Sf>j2LK^6;UGV`d=V*UJZF|7)Ulx(!%6H}Q`u zS#J=V2&RieGpv6Tn-#wgO=_Aaz9>qMTEZP_&jJVtFzL%=S`@(0t-0flu5{-UwIgy+P6FnRN#OGbRcj;-$O3mmj-g`GD&r49ge5fhjB#d5vsQr z=&|=dH^=`S#^t&beFFkHM<16LBFWR*fgPkM?}I|!?M8}f9er05k7+ir8*N; zO0Djz#y-ezlj-?b`C}x&mKX{SV|P#gQ~SC35&u67rf+}YGWgpv9r=|a>qi>T61q+D z_(@p?h2lw>XC+Mneo+eiJYkq2X1M5Dl;S|Gm4DTWr`x&RO?~umZtA_SUM_UUtVgKX);ryzSPn;yE2^5}mNPAW zc)R;zQm@a&gml&i+5D&WsLk8W)Y|isz#(`25=U6PN@89F{~yc0_|<8?33&FEBCF_8 zQi{`hll;spb2c`^7-~ls7yN?ECwO=EuN1d7zT1bh%a}zAe3ZK911F!8=9YJ_grL?k zn?}4=g^}jxyy)Z>WakA8=5N7X1%*}7OW|KSD}T37m9V(;F&5ld%4XVy^aDu zJH)y5?fG@h?q-ZR!z1QAPs7)zVil2%njCO<7yexA)iK8;l`a6V63^(U3!Y()fU_4Cy$H9B9YsWRF?J*s$lLUbSZ zRMi!hXk{0c`q+CpLBdRyEzK)PdtJg!4J%^foYdKBz!VEx>24Fdt(hCGdi-U_w$FV3 z8C#d#@H^hQS3Uvj!gd^WWivs_l3|PHA*Rdot0KepC6wdA);aiN?3*S74x&YYlEyZhBIKSDrPIhOz zk)9Y_-*?|Rj%V8{V=|v#m9-3<9MV;|MLW-J!OpT&&T1KTbRSgwn(zpA^?=PaftqyOz-fX)q7V)OL!udkWPXFc}Gf|+M<(|>DCUWl8mM`X^p*i33J+MEwvVt7Y#j! zO1gHMH%KxI>Zw~xPO0xyr_ZF7opup(+DDV68};=|b^*S-wm{mAMD4T#HJOLGxBRpj ziEmCtiHx}i^*UKB6`#H|SrcDci2!|Wl z%abum@!mh*C_Wf4sekGelTN!C^|EIV&}SJ{KKy&;|BC3NEs({&a3YH%`J5#Wd2r5JkS#Osnnh)H$e(ay{2wEX?L z-BJPNP)nvc#??H-WD?8C{Av3iQtiSPF3opAZXIB3-7(i&(VPGkImA)#fZ}_1%QJHg zFo=fzc<;R%rzWj(ZO$(!n!z#~0XkJp+tLzkd2*?FvqUNHWTNiFId~tk=Si=C zx(Z}W-;)e-f8fwo9=kE{-ykD}v}QQ=24HrG&kMI0XJe%gPjAoe3**@)IClmOF>}ikBAmoPg|LY}$?qlP?q0TY0l&VrizOlB)_1%$KSH-WhCTgx7QGe(3)n$9 z5H{>DN{Q#wfW2ao$JNa4^u4olLkyI-Epb<_rTm{{lGYi6mPrSSdAj-(4a`n%fg96b zj5WN!8CB7@mr@N(Sw#)-SMqQCMp~A3R}QY$&>L`vmyR{a-4>{CkrIbI-jClCHG&K5+Ns7>#`j4XY>junfPHxR%T zbJ36}j)Cxup5!bN%O-bPuXKL}xA)UA`?S>)vG0l0)?XM-{rKEZV_@%E-HMWQ^wheW&+#zgI?N_)HuuV+?~j%Lt95l7is9ZQYczkK z*Qs&4NF}(9Yt=4?8yHl5m2QW}W-;G&3x-d0mpRnLpE!futIL?%KdBpjDI9xI8Lw`{ zMc5NCSbj?FTr{Mx2EGb86!r!Cl=(L2{@16`VgRABjfGjnlC>cPX<4%S7M?c-+DRmZ z8x6oA56Gk~tlc2RU{c)(o3TrH zethy`B2g_iId1v)c1kyI z{#ZZe{mD|cas9;5y@F_kJAZYNjgjjLuh=!A>l%a`$@gn=3SAyjz4#(ytoLtHzV^aB z@cs}qnwkfC3B@UM1V%c@Q%T~9uB$Q zX!BXIdh}giOh3Ix2g3K*zl_IiI^3cMZlJs-h8cxYp_3-|PQjXTaA2ucb{k$*^*@;l zEq!TL^^iLNxBC*?QKR9c6IL#gS2p*?Y7OU+ZF8c}gvW}zFvr3$W*f*DI@CTExWbSP z2^j*BLD(JbN?KdO>TAXh&c`=2c*^erMhaeYgk8xOe+t7d{!no)Y0Idpwq9ezHpOVu zldtxfa>rs*H&A)?dL>}VTRwPxpVyqx_nBx{&10J%6=eR&9ChZ!^yefp8h)(&y6(w} zTIja&&kxI*$u5Cs!}}ofYusJ^*49n9j-rA80c}8%zkg&4NSG}oNvw>du}ad4Eh25% zVv@&}lD_O*We2NLUSZYByKIH>2|Hi;0>=N2U8wxdE>aG&i&erdQ8jj{8fKTN@$3pU zja{j>WmlMs~Lffrt7ayH|aJ-KRd!?pI%952zooE$XN2LG>5*ka~nYtm$l<7SA5l znzARfcI-*5BYR5g&YsqKv+deownICaJ*$ml&uLTGi`p!U>LhJC2L%0AZKXP;>QVSBVs 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%0Ala3(F6Wm<;1!nO6-vel03euQ3m2yn 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%0Dd$F&W9`EpA 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�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 i;H~) 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

      WZv`U00-^{9qsTLuC>THW5s!u7TUwn8FWD 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�+ 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�oGL?Gx`V&0kap>67wN7>) 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 z z>O(uz5KkeJ$Z;l~&VXd>i5hZI|99u>Vk*|GTU-W~D?PlV_V@#julXRhBxrIoD4 z+DOotGBnXp)YNrcWA2U#sI1({ocg+iCzS_uB~6It3YRb*LLkBJK3^L(j_S_ul66k5 z>y^=~9JTX-p0+R2Y_8G%q;WJ_)h{$mmAXA7Va*Zo&~rCYN?MiAz;oqOEMhNa-Bi5T zA7RIFrj|bm3ZYc1E-3JR#*9?RFx$AB(RS;9m1SP$4H756Rw|~oVzNEt4NBftn>a#^ zUh{DVWeK}Gw;F@zXeUDmB^W0*syRz@h-^H)Bz#X;PU|b`>DTlt|6WN+bL-&JH-omS z{@4siGcV0!hk+`_IU140cjK}P;&siUxeK<=$~i5Z`q7kwc$PKli^&LR;fGW=yw%Lm z+4rQe*1RSe18o6S^eD!|f)HsX+rF&ozBITe3dInJENaBgB3z9Vz zIRSbsGU|`X#ub88Tw~fyDDn&bKby&RYU*H)yo;`+3#1bKaK@6kXug?< zQBC7h3gh$@y`)X1gd%rGoOxPk{>>7{YLf-wzU=7 z)RMECTFn3*WzDDJz}6cfU4qYMZ7x;t+@)i9si;iEj zS2uV(zXi)i5!zx8$5e{Xj+w@!^J}V|Qmnb<+jkRY1I$LA+-AKV8Hi+~4&=)CNn}_I z?U03EQfmDuZ8_SFh1?en+%1h3%`6v_kJ#$!zx5BBvaf508sO=aUn zu=1iTMp!Wp;uFnF1GEQ2#ji^elf3G!phmzYoUkkwPJKA@3jSLBOlB^bBdkJ;1?Q8C zSf=vW#6=lv-|6{WXopy`*alk?f$0_k1|qnR>s3RpHTKM~HSg|f`$ zhZC?GrJv=SFn_yqOj;x(p;O>kXdtdB>f%&1U7J~>+o_c10bV>Y8YLpOrct`a$LTFz z#*0eScZ|$8wJvJOUzoElFa~t?**P4tarCq>qoC=+3#bd=Gdm90HMX%bjHbZrb7!;A z*=ket7)`zI#m(^b$AwBKAIZz#gLSJ=m%IE_N{YNQs!=l`boZq=90(23W4M3*(2g^U zvb99*D~8iA2sy;LAl?3QQ3W;{CLVkqCfL7BJtJ;rVUYBRT%<*7Osn}V*$^@L+rFS7 zfpFLYLJL&S(VCV1z|HBUjF1k_vAuI$Q*(-GnEP}zo!n3#g;VvOJA0@_d%qc+jb$he zOH0h2JSRvdl}?VoP=2P8XIYRlcf?qRd1Cl-@+L}HdgFp}D$s49l`XTW+_*YBvckN> zM{@CNnAEb3cr*Ptnq>k8F^70vE;P$Mhge--Tz?9wxS`MW($yx!y$=}b;bP*!E=;Pl zJH%Mg4$hR9noUs*=~|8|S5B2djC-NYDnlJlG_#ajgT_^#&YIcC@sf?wluWFy00nk) zy1Uf7%gXbwFf1EN*q3EhtS}5}MslfB@dTGpyh-zRq$(O!r|G3}c{04O>4&ZTxXMRP zgTCV{XbusL@U};Ihh^X`WORgVMpEv0)YNF;ba47oRKjg;_2GD`tc!wnvI{=N-IBOi z06Jr;L{4~wj!ozEMeF@;lkAJUwvI=xeMAd9cdPNl6dGf5c1P<#d)Q+v&9t3l-O#XC zIrAFBev;C-Jyk2b^SA+nScE@kYg#)}#>OT0k@vR815a)E912+CNTAqprep#_yIQ`O zFt>ufkn;TXkcsiQXd}QW z@du1kh@WCt>!En73XLAHvT?i*r%zDZUY)R~DX5*PIx>odoWTA?Vv)ygpAv+#idbf@ zl1FQ;EXJ2vb8FV(Zhl8Gu?$8fmB}AG2EqHj$@Y)MOOJm_)F;akx!(=Mv)^XD?(Zec z3qwEuJVpddM$*ofF)lidk z^=kXK#4!BGZ&Vj7q6+eF$6a8Yxw$;%m;E?WcV);1u%o{PG-||X zXx1f+Ydo(~g!t0b_e{=c%#D5bp2QQo-*W@7dq(V)6uJ z)qUawY8$ZC?hEs}2eF=4C!iYAWV&`OU&_H1IaP;oEH_YN(y!<06)QHhK7VHJ7pf_V zN;8zlql9<{@M(Qi%^iN8+p&r*?(>B_)QoSEuXq}oAMe7d-ILPvN)Fv^>X{S&JU113 z39<64Xqb6DCvnoB7JO(FbG=3sdPyQtY+->YX{dcYx4GGHcsPaA*NSQYZWXL@@kUY3U7R{^$& zsPp?vXrxzA`wvx?SL~{$c>7Zz6BjRPV)j(9E2ZqIl@wGIzoZ}`@-4ke8zwFiNLzuz61ymX z*2K2ZL3v=yCu`q@0pLs9lGKL{ssl9=+kOnn0I-wW5(b}u(-cmek>6SPELn?+`S;~YxGVzn0;YgZL zNA>|>l8zO35dd#eccgRCpX~0Bv@6A2s5r_e{mYSZC7Fx+WQKN9O_WY#ky!t6N0~zS zNXbuHNdW3sB#R9J$A_drk?)W~P#1$wtOyC;H#@Rd*<9xLOP0LqbF-?I~#B?)aIAN8ce6?pHz@2LHzTI z%~F?K{oduCGJOg`dJA~h(cA!na1RZ(YPl=fQswk9x6|w!^uO1bkOtNG zUXWf3s~lk@*|FFyY6{@WzSQw+Eze=i{A37tylcxH5-F%*{;gvipo^uH zvv`~=kA;4XJQnF;*uK1jgmios!~r&C>$~9k7Hrkggdhv zlZcP*8C1)L1S$b%p+j{j(pg(UZEm_sRWn$}r3oW4Vc5G}ms5t_JId)hr|@)A1O+9h zSyM#{v)0n62G?m)_PNK~A?V^ve!Jk3NkJkva@&c(+| zd0vpXt`q(3mutkolot-}R2GBx8d?ANF~F#lg}J#xz<;7U)+!P-9Z}7<6sf(HrgGqa zxI^iK8R{`C1}R(|xWV!e@Frs!09S{z!Mb5)p)KB&^6tF8JEA^!1RF8g)!{^D6#-lA zPUu#OA#amKE3p`L9sTZ{$qvztVZt+w>UQH%Z|li{pE0n+u$aahVVsGSec5 z!;B>qr7)DIlJ<4pDW596b26yV_3g$`GC)4^Hd1q1rM|u+CJ>(r=h_=IMos zSvPBT+clx(4VVn6GHN&p@@J*t{nh4H6Utlx`VfP}(R%s*o}IYaBGR*C?*59)=Ulb3 z0=0iATJX<03h)t}+myrZG?%714U22owmIHsS&7La`0$jaY*j&O;|j<7`N`ly4OUCR zW?D45W(~D}VdsMj7#}`bi(PD78yNN%x1iPnT}!9uRF5-3j`mJL7KudGs7g6K+`!;f zN6(*}QnEPbgGMDSdYTz(9_PpLepSycbkfReSgoD3Em4d(`EXaTWo7+ z)x~F!eazKW9IA{e zO&oe18Z(0}ev|YIO7>p#u4QAX<$!kJAVf{?vi;7>&gyfrB<> z?=SxjTkpSV7DD?fWgKj;0Jz1DD$v zFft9!njA7wg?-LF5?^&i8Sp94do1a1S^7qd5zpS!>T+RdeGXO+kqpknBl~(BPBq7<0XfAFj4u=3zavCHa1+)chUVLoJCHP8A%cD+`7qdes%O zp_0;8ZD~C`q?shE0xa3NsSlH> za(he5zh6>Q8p#812iokz>gY3w|2~k5TtJ|E3O>{R%&XXe zRR5W1o@0qXpn$7oRw}L=l|@W@a#|?axT#`_TLx#T~7psBOb|LacUWXmTzI zrQb)rLSMcxT^zBr5`moyLJ>jn4b*uAG+%MZg*h03d41FRUBjkbVORwUS#lEl7ZK^j zgm2S;Q$k7XX{JlMx3PXn)2F~#b$r@{43&Ha2V|-Q-sO%%M z+by5YKwf!xj}q!fuh!iM?iKM58327Mf1R8O4X<|1nHkUNzNS3YgsN*{P|}=a{*SFB znRX%Y&mSzKMTCm=-3s;HbWwJ5i6Sxs5&Fce#W1rfyeJLDVYB+<0Xr(>I1C)p1#FUK zY%nLUHFLPhq96#Kf%HjYX;xy2v5@*e%J}Kgi|vmRY)w#=j{$;yCVGM?0%fCZ=J65AbdUcZE8cD-DQ*%(h2l;g@2waIR>Q_5LbWN z!34{ZucJlWSLE?40T#p+u3O(U-i}56$3x$Fr{3N2y^!a-u&fQj*}2H3@Dsp?l*R41 z*7g#apJrAlyE+xSpLC|Wbf#VXDWod^5=lx;vjyE7Ldqk5=})AF2e!^10h*NWm71R| zl`C>Jezwr0h-OW&S14zSe8C^hS|I6;3O+^aZ7Iqn78fv`ro9;a(t-&2n;fT?Xz0s* z8+Cx!DIc8C`@V1yz4ReX)iu~i5D#^S3F(08+ZA@$HFnr7w&WGdq1vy(PhA;u{S!yL zI0q4LJhw-r(<`s0CG5ID!{OdWY;UPrll~h#q~y(j`uQxJfXzT{?k0u-WA|_2?a|6~ zM`YtNCu{_C#39w(l)oThyW^z|`;&i1tDn8o=szeHT;f}GfN3Qj{H4G}PPvW|yF84m zP=rbHb@1@^y` zC%;uN4`d+VQxvToNn@sx|Frh4<;m$`4(?%AT^W_r#5;+5|C$>I*6LI!Pqek#84GO5 z<^Pm93?<6FWbR#nL=X@t_`QI5=QJ9V(W-~tk+{_PSSBn0V>^{UPi<^11|-m_dIndtKsT{EGU(QBRP^IAf}b+{r^)nHeS;ssRPvdY_k zUvK}ERpve=9BO}=5-=XU6IbF=K0f*xP>_owcca$Nu9(8C4;JVX=~$a2iPshWhg^n6 zd-O(M$QIK!v&U~~Y@S*GogIwj$f(o%l(5(S?w=k50Znt0kP7cy{y3(03f-yF!CBone*O50 zX$qHd3YTe0D;S}2W86PQ7k|GL(Q7^Oguvv|MRmsR@qB&G{c_OYjPbnra@gR^0OztD zRnn&g-en<~V87H3X&ILGNeSnON$tAN2;I=6ei~f=@(*H0q3V)x|AYE@+Vq&OlSR~s z`i4Jt?iM#DcgFb6m#F9n5l6rWdVNpO42^|NilwsqEdRR@)NBlH;kju+zr zQ}&o4cXUr(jOM2Euff%hn`!rwt~qX6$QgX8V|lerzVa>)WiR6V879(cN;aVtPv?L9-MwDJG>=c-fwyNyo;{`)AHsj$BI6#gc{jI? zJwFOJ--B7S9>`W9+01eKS%cfoLopi=D)+r z)LWyB4f!Uk-4ok3t0YFN9r|FWUJCvp*(b!bYix}Z8Lb0<0+I(wiaQaC{UX3~5dcP{ zg&&OLJt}4#p!X&8hM77Q)T{TT#{Qt(?52eBn(7mxeyjP@i|4>Sw&i9 zF{i~@vUCcjFlR4#wK2=UW8!dBL9(LUhzakB|hvzcSgyJD&dPN@e94Mwa=1B?O9EqAv{&+rNNg86k70Z^SJ8~ENM1WS`H}qSlf}L- zom{Fz@W~Bfzlc04Rd8l5j9pKL!wUm%B?De%wc7UZkFQ*Fp;@Yo8--g=vV?2zf{O!h z<>9b(7pmS6bbPX6AiVCz`& z9ww?S8JiJvd4eAOVF;N1{m>#{x;0`%;*n)gw7!A5zpq(eT5BwCIFk7bLg0X_p!T)J zkz{4%UAQJM5c1FT5v9kK$eu#ZVvd_*KBN^lap8_{5Xv15@2rSx{>+>sO2H1;HxlIz zlXsR&6n5NWSNIKC=a4aHP~XiegSg%t#dP8|guw+$_Ym7QV=IJ#t=E47iCrr2Zz=6& z@;utZDZyp67{V(T=b+GUv=0$k*Jyf55f91%$6+J(TLjf@5fqi}J{SvkVh4+dTXegu zY5Oc6HdFud5jEg+$h8LWaKb>Qupl21!f$xy436NFs?gcVFm9H{0+=&M)T{0p z_uPkI-YM8vm+bJnuc)}F(C)|3?rny|Ms`Zd8Rg~f<>mL~<#FZZ3gzX~<>j_G6V663 z6QL@pu;|N}sg3rI=w}dT+KO#~{{S_p-*9SBi=!p|2a;&J1b+6DOMNc`D>#%%I$&=N z2u(6Y3-;R_D;u1|UsDjR5Z|<2zdm8S5_W!yXFMV*o~A2yd{2AAF$*{l!#hKrTKzI= z7Ca{qp6`P);Eo%2!3scFrKYwBWloL_CBa8k=7gBGDC--l!dY&Rc4Wvx(EWYl$d?7N z{#(v7JqJRuakVZFdfQI}{B^5Q z8O<-~+~t(prkCGC{Z>r}R!zz=`k3X}q2<{!G5St1`q3fvXKJwZHpL?6-eC?WmQSOv z+0&Qpyn{97qxL)veAxOo{H|k&vlL8&r9E(2{?NlUDL9>sn8P*7U) zW(59*hbz4gryl1V{=;Mm$XU!M|YluKkX09|kB}knPRa=T?YAsD8(N)Bn5d){XBbpt11J-apL+ zf3A3n8&dQ4NHRFZBXq^pu1f<}(-TR5$H_HR;21&iGs`%(<_f8!zwsDhriiX9pyn!R z7IT=-DHLA1^LuJ>J67d8ucC_(cn4Xqw|neC#^JiPtJ>!90?d22URz*c0GjHG%=AL! zxMehJe8`983uw6^MKaAZ+IpjrGlAVfy60INC)FDK6(ajvvo5UUaK*+gwpt=Kr_|ck zPJVq9ZN^TKJ>u!_Rmj#7e2;E;Iv5B3BP1l=Xz~M^a8J`UW{c(UBar1o(Rh-{8SOS2 zStEFB;p{zE1N`vd#rGl1bQSorWOPqlO!H+56P^_lw*eF8?HhC$Ev=l2FSEQfMh%Rj za~&T4D#;r0>>0S%uSpZn}FQiov0lxU;W8mj5WgJ9IgRnr`_#nAW**?3N@`8B(`M#XR`dFbNj$^Yjv#=AxOF z+yy-ABw_y5$&YKl?R(}BefI>zXc3uVLRnx^Op&5Ykg9ueI?zn5D28Xbhi4`Faqt|` z#Ex*9_FDN1{yrM)`sD09xLJV+aHzSNl^l)ox52%_eSv{NkdV-@FbF6}-#(GuK#|B~ zcY2OvTK`$;SEcZpum2zVzmp>vwZJI&)GqT4D);fV|Vv5!CYFqhzPgi z+uag1eJTTRwiejggVue~>~2Y$rgE4yR-xH`gcqoJeZ!)Q?_)iH-w6^PolCm$g#^E* ztn@i_1;5w0ymzC#KO#B%WAXF^WE+Z4Gm#&4k3M1UztTSM*&N5egub`+Mhb-?TfO(q zM7+h9J(Vfk&hXBHeX*^7g|nlQOra(oj!4~N6hG0-^GC1?fiex@tW)_4a9OT)dRzfu z+?T5@@4%k3?SZXARB*W9tHASB{P95eTsT;iSTIQN74iAXL6kU-_i6_r7-B)lxACnK z<9X#RK>7(k>w?&}w%Q@#$=pYUaP7QxFArWHSoobXY-SReVbe8)BdY(hMk=nR8*OJYKtaHoFNH2}-=8X(Ko6T%YH289oVq}wQVgpmpab#jM zJ+Pe3WINSJ&~(TO$$H|eYkq9T`v0i<3aB=|pkE}o6e$v{!QCltL5jP(I~2D<2^t)N zJCq8P;;t>U1a0u*QUbw>6e(6HeEEOpo%7y1Cuer<&fS@NXE$emcXoH?mtqyx7@vwr zo;pW{^CuX>kqw=^tdyIrbq%wql|;LhT(3$PQb_tINFsxo`A?1it=(rX4zBqQ@dcrc42;0&XJF{`$%EZ^X$AaK- zL^&LF9N`CVwam!>M> znjmmBwG`Dsv$%mLaA2pC)z(<0?$fnyX;@_on(M-Nw4l;>tV=5|k21DJS{Cp?J@FL=d;24R&GAQW&r2nnlea6)(-pXKw zQbZR#S6-Ao6UB!)Qd$ z%0*Q60~PJqx|w}jxI#PL`x-e&W%nyW=TDz2t5@*;e)<=G5mm5Saozjv&3O2$ybJV# z5p2Hm)qIE9d21cA7ssO-J~SYe^` zIBWmXsAkXSk#Xy)`IFO|8cTeiAI*L((z>Cu(84 z^Xh?evun}+g}4s0c1hF&MQ7Jy#eAR6u5HEdn#P^DbLq7zx|!%Foq1 z-VzqqY=UJCDj)1B8SwM-N^ayj~Ta5qaVR^hVCahpgB%uh~BffFY=Ak7{5DwqpxY> zaUVogW&u&M!Nt12#I7s9?j^qZf(t{UR|{W=-4DHprM{qV0qE62B)T*Z`AS<6ml^t?Us3!1nq>)!}mmn>J;yEXxW3Pp5N}oO|C}dl_nLc-;(!-rT#p7$P zAX! zbiHkWiu`QXM_OfSZbWNt;4j`bBu;$M`IZ@UH2c)^H!I_TvVPeU&hwa=F@QFN;HD72X^nkzn`IzLYk*TF z+Mpo1S2dbS0P`B%s|OHi2%rrlxXHzDnq}XdV;Shu8gNsIHW9$Apu!XgAh;>T_iNS~ z*i((xvc~!X!m|EFajHtbStNjIM}b+sgHIMTP@o$9-Fm^V5#O&{Yrsq;+N~F`#)&06 z0%6~*Wf=&x!TQ31B|F8wdB`$wVS{x-gK4`-aY{nInIM4q^C_k+isF=?d~*ohpvG+Q zBe==H_xqqV5ULto&;^Lp1BBIR4P2ue-GF;VK-W0?CMNl&XF>F{6pY0#z`Z)4Yk_@p zgk>OD08@b+)Aoeo)QEf&JvjwROo;6P#pxUTQ=Wq8id2lo5P~puKv=rgfS^kBVh`Zn z5YV;3zG=oXKq7$IPmO82M{!C|zWJgc`ezD8V<^E*8U86Qx{-<@fi?{WbS<-QX0i79gxsYoK2>`WihGH9%OS)&KD$!^Knk)l& z)>yC5ybabknzz9cA>ULMz@#GIBrS-xCEwI7i2j7{SD>X>fq&{y5Phi zPl5@;-r}E9(L{R$@OB5EKgLx+NSKcM^QRCi%*U%36Q@(PE8h(&j~HjY=oMW$F>^vS z8s{FV1gmBDSdOKV9}DD-{+izD{XSEd*Z7NBNoiFe%SoC)z}cB4nxm(6zsGG}r1t(F z#_9)&k5`6-zY+#09(_KqnaW$-t?B|5wG|D|^T33!hXP$=pOxT<$iz*!Qp7xB|M!vF z+&M=DP#gmTg@IWB&SrmBVE?{`y1;My16_gM)CWq)P+5fi(;>zYw+uyeEr^dFKPD04 z69gpPV5u+zNOsu?z^4Whp(V~pCI??Zvd9kkPYa(+yyic(d(K<7Y4V#lQ`cLjn%0}t z{@>m0Wj}4z1wyY^i+&1OKW=ITEdPs&l96dFD=J$(pZ|OR=p!N#OlOu+HrPK!jsj@afT|CKhr}cw`bm<0!Ftut z*hWXo3ENHWhidkjU*dLf)#^9ix|g-z1B^Q8I}B~RRyCw-XGtVF>YG??eSYYMWh@%C z^7srH)))0p?0Szfa3aG3rRc@NHF@3G=f^%yERRZaI!L_V_UTx4Y#)MizB|k&=UwpZ zCcWRdb4Xr1cpsk#IW7q>m6HOM<056PuCBSiOKlTO4u2;_@#PkNwNU+h9L(`fC*Nzx zXDURMEbbrCUY#6Qp{w9}hl+KWzM>W7v>spA=CaYRO_(1-GbnzKGe>w;Gf9!-qn`?v z)k{3LyPW9KAM>(>!-WMw1ghPyEK#ry4505THHfY z3i)YuVzm31&RlNQc&aP;X;<;JPNqEb`wJX!e)mq6s*8hCAEZ`5JS0kog;9bbP(Oof z6y;rSSUNujQ5kQgC`X1pnRf~7ctLmFr^0e@n@FGW*Iuqgv;0J%bptxww-hd&Bv>PN ze?cQ1!sjWu|7PW#P;P6R*lfMryZSx$bTI}zPkX7uti@n`+_fMT24BhGCo?L6yBhB% z|6CH|$;RpK@NuNiyFXSMmQ@8@d#SojG&@dOZd1knft;|qYY-fI{h&#ndN-Ez^^1x= z!C+Hqef|}5pjF^LvMA{q#NVXZ*f|!wwY3{WPh_%k$f%y1%k!8P-r#jvm?HSmcxRgJ zVDFjv@k*3yLu>Ex(v@yMmWoEiFT1P?Uc(T;q)1*G_}IhY<9HeMliXdU+>L`MIyc@A z&FvgzA0aiys-XI?0R&5xTUCkAtQ&7Tf ze!)U6llO_d-}iU*$5?F*yN{2h^;FR{>T!RS@J(i^uPXB9&r1j;KJvrAW(&6=l52A3 z9QZ8ahNlDkd1fX;De_m1+V)%gvR7sl`Yi9Ac{(6(R{TNQvsKQd(1xs<>DZNAhGNan ztW2qINppF4P1{~^7I1qw+y{D6WSNV&sOjJUe|$q>n;6bQA_W6T%D z5*;OkqS`8-+C(SH580%DG0Y^07Kna0)|NLpk6(%iFJE`)g~pM*Qi3<}+_njL$l83k z6)S+$7>fp5R^=GmitY%R1pJD1wj@g}GrFkZk!q*WKPt7vsLjTvn{7644pbB{`tV{R z?T3k#u#gt!rtus4 zp1#xZG4YQ8zUhI#vq1ZN%7p;$c^BTk4N;X&H5G61$pY_TC{OIlaR8+CE>wtpgA9-2M zEOBbvX@sJ@{!Y1oI`wh+)m!6Vump|HVG*+-jYF6>lN+z`mMB$;h}H+bwxFJ|d59`6 z(Lb><=@M~7|BW#AA;n}1R-=24*xxpR9jEGQVSFNvv6mE~{AT;7Zu_F)S$9GB=Gd&&71qIDbD=gjzTV6Naju^Llb zhCDuh(R11`Pp5)1A^MQ%Ixxt}rO#0VOCIyp%rI{NjOX`9z7E!oE|$(Q)E(s6Y^d>h zP4*W%SC3|NF2uxIM0T4yOQ_^=Mv*a*=geP8&5NEQg969POY}*a0)MwZwwNi8`|H6Y zs>gptH}!1hd0(W8^o225oybLQIOQrOC$NMgXHs@YgzB&;rj=yqlUu;Y(z2S<4u`() zDPgO>KMZ!SQpb${YC+`DPXZyc^Dei>lNoc#?G@z~KBAyE8<~<`A84LD-`;-iMfm)h zLzA(_HJq=;K>xz}{laNY(esa;C!WxlWx~Uij~0T=*T+91^=5w`e!|rK5e3k{=rcbdTf+5(Mf>ADzjob{gf(ljc@4cO-V;taWFaxu`1ei=;^~?m?;!tt zWakxjS=EW|6>Vejp5sbaN6e?FP0*KOq+$9kkrBWDLS1@I?eCH|BEgxsh|!v&1ztUQ zx{okI?atyJISWcel|ba7c2A69QRmBnA1-e7IYN2KxO^nS!N<$B4%(NW0~RrhH0SEt z^{Qrr1_A_~uD?KDm(;B0LO#ElQl!!BfzK%F>9^n;kE(xxvIr%gH#*0oawx?TtpvEc+}+rTHQSoa(&~yb5dR93Y1ij_vWbHU86u* zyYr$8kigm_-o&UA`9O-@-<;weF?qbXO}Cfv_!N$(n*=!F_uORKJ*oA4BQV&J_dJho zDYr95Ciz6#`%M^YgkY^yr$!le=m*odQpITZB|Q0U+~1Bb-vIgg%6g0agRIP)3VBR$ zs6Q5tE5yiL(vLo5eY3N+-<*6w7!@2>Gt9LY!ArbE{db)7`RV|qXz0P$PIx-5Ve;QB z<@2e^K$hl>#xKAHzE?l<3qpJ*Cnpq49V({`LcWERseA1%N?9;j(cHmIi6*Gd@}6_f zy@cED4|IM>n~FC))rzc&v5~qk?R%r z2I@5|6uf~MPK0`n#>BR`;RGmE*dDkXI~*6~0jq{6mSco7I1`P&17$|b0?t9BuCP1s z33fLPiU~#n3XQA7>!w7J!h%7aF>8bYqN6$>iD+wdmd(-UAhS4Yf&iS+9Z-Ri=Z_e^ zSUW+?ZhVvyj7V`3`&N3iyOdF2iWd`@+nTZ_GPE4zS-ItHeQJm^2{qrUY5tzmrkikV z0zqfu?$9UfFQrBV_Jii*s@kV-9xHr4*^pEKde}vk0lVL4T@f8ntOeBR>T_dF1|w7<>%?6d~Dg!B(?6|jTt#z2nu7@ z;xi&p0}-dcD?xxj=Z&!7x`@QOz@oUo&%Ncxx=^AB#2mjDj|nGFwn!Bb$P?ll3zOC3Qw z-j_enmjSm<5P>M#+v+)nyhA*rD3pK|R=+{e6Cg^|5uygWnfQnj4Md>+EtY13>%+D?#C5?5*p;TZ2*`zm%fy7^C5Kau-*d-=b0&u~j`yVwSnD}%B#A&?*l*}K zZls7nbnRb)gniYD(3&IE5tm#SG=SaD=<-;(-N^%enee_RE)UrQeHHLX43~$Lfi-PM z`B;%>=$uh(!q1e8`Z%xQLf;IOR59}Vh_cj#k!iFM{V>~i*AhH53OYHIx zH*g;fFHIGB)Uc0IcQk#6Ksz^61M$vaw;vy&r;d1)d&?bj3ry~&b$KWmxG#lUr-(c% z+ed*N%cDj5*@XI8g!yxC?SeVn*j#0XQKbXKS%tg?yATjoYdri&sVI&B!OZ4L=aNrR zsH}l#=L)2av3TKF9wU-SS-8WtyUZ1chZP7&4woNi(6Bd!71C593;?_C6c-}7-K;U) zl*!@j<7-6&49bqSsUo4wLZR%!zKTV?F6TmJL+pctOH)o7g2E32RhdK`R4_sektNc_{@)|wywCRDDS1ca!g{qx8UK9&+|GmC>3zfNqEqq7@8_PC<4(L zbVc}eRXGs3nm2fK0Yulpb4^sD43!>TPemDOJi-`U&CxuuD8mPjE(TGCdXF$!*RFR} zNP3Z^e7x4=JcTB5FY#|M$#)ZI93d;6&mC&h6=cv*LW0uBd!%Akwf@>s&b$c zU9+2Oq8BZ#^5~)yCHA6g_)1*uMR#Qn#dD`?7$SCarz?*IGJW(2<8ejTC73%EL!5$i z2Iqta5tF49l{KC_JuF0`{q%Ey*v*5kJOMblASR1e`_3bb)HSTD3fWzV zwALB)b%d&+H6{X?(C(6VmDHO%#X|UfsX}%N4SMPf5(y9Dpmhurdx?<)k(T*KQNobG(S@r78t&dK|RBj3Cui(S=l05@FryFY^n z(OJ48^7_>7=JDs9!haFFT<)|ZH%bf)yUzt@*iS$Ou<}%#0=w-Gijej)yf8{NO6Yal zK&-#JhPo1k62a%f4Qx!Oq_0cSKKNvymdGV6ivVY!(CyrRwOeg9)X{VU%|1%BG`o1X z?!DAQh2QXf@A++WyzW!7j4t515#C7VnAR2uuZ^)~gny6OkcyFy`NGrWmElggUqHG4 zj25F2cNc&w)d<0g14E;Uae%lY3~W!F0i)_L1JFD0aC90D5Kn{&jZsu!8lW6-RrC?A z2$eJ4=m{FhxJIMm5CCqBA{-HV=O-{Fm=q`woT9iJ^E56u8i8kl(L(nA>3ib$49?`E zjxafJel#DB1#Sz?XaI}~#0$Q{C5SbSj#uOXd&3|mAQR9$$N@GF@=|00JqH=UXw~`A zz{npa4Fjmljas5%$|0CeQ5+p;J6Avl*{<-UFi?uHI7L!iDF8|zHmFF7CxwLuT<;V! zaHVij=CExnY~#%vhP@t1Oq2>NM^P773I}Bjn^V-qlfp)6!&((5ai#E3*02l3NeEsy z1{&U^Dhl9s15k#r?}`F=-B>71Sgm3MZZ|H<5_YKAfY*(QdI2j@e2Ke^A3!u(4??rp z-Hd1mB?CUe>ZV7-s)+ya)iV?(3=hnN6;6vHhpB;?u)`Tp1Tao;IaW9w3J7!i51}!k za9}iGTde;R(1h4xhclu`U=rXBtZ;f1M89sf)>7ejmMp%>3lm_-xIR^MDb7d7DvYMgC{o6iRm z;>o}K%Gg)TB$h4T{#Mi}N-4|KW-{JqpwWryqPe!v3Mz8r{N$8(5qD;vUe>ftTJLjS zYvEV~AvGbd^&Tx@N*|{9sv=2U=8?#ffzwxN4R|(@3V3G{p6ZAkAB!{G;7a2-;-UXF zlw#>v3LL2UZr?Y~9U(nN0e<3A?xuVhA$a>#0beWkFvY#GF?~-bb0m&rPMNv4p<&>5 z-KF_OSbIC%F;sOdb9L-n1Q&wq_i#SfJXQ5P1XK0OQf8}#Yw&ZCrDIL6C3n!vLq8#k z4f_!}V}v=YuU76pVV?WPcKRoLfwtXzWA@k3{KCe;MRw29Pj!J&I=Rw02zKpQ>r`%~B2AYNgL%&+kkm!Iiwu=^=p@X<6m3 zAw}PX!>_XO!nzoO3Y>~7*{@J~FZigN<7VDA%~j*DGU<-HW4oDMBHKik>oZ-IwVt+K zX8rCv*C&dzzO!(|yj#DBOV$sLVl%hf>+q-hH8iVJQEbPU7ST_;B>#Lpzng+CGZ`Qk zeAL6sJTX0i!F79(EqOCyhNFB%O^b0r2GM>jJ_?`Byq>N-_-nSZN|Df`l*jRlcf3qs z*##I9>@@U;OV`MXK7*|mfo-w)?!8P;kC)@jxDZ3uPA|vA0!74Gfe)W$LDFJksYTv3 zZ%AKdFFW;lx)q}6R`t;5iO-#oUU@#3BayJ^E~di3hmsP4ZwT|xqDGe+EiIJs+7Ks+ z&)#4ipSR2j>SIoH%Hj#wI$Y;*UA`(OCGL)gdF5fTq ze^qG}QgyKAE!&l2C*?Yub7ePC29Ye8 zg={-}csCN7Y5Bq}GEwLtAapI+*OkS;&hZMn+Gs zRgXFiEK#1ZMuys?8boN~L+mc2(prpGj);_QJ_5ws9Iv;oyaR%;)qxu zR_+Vk>q+K!@J?nIICQD}Jf5+tyLea`FkEQfYhfrrx)8>V*ZY3$$Sql_VN>AiKkIN| zt!Odt5wx!#n0<)G((qJqtxztb3W_DeDrgI#1NJrM*|f8 zu1Y^H;wqni<%z=ywn?HBcA@^3U9TOeq()8sZI-ymQk^tzZ)EWKWSvWW!G{PNeo)oR z*jb`umDg+E)#FJtt0jAYL-|lIPu7ma;S|Q9DoGKi)~ZakT9yzeJ?|eW`@^mbUnj5v zJXn~-fo07^qea6nV*@{2wwFWBrIt3WQ!7i7%?^6}Sd4ARbl~(Y&(Ad5g94|-qU1}i zwNqF{pZng2DT^61W~vU-%T6c;8wIW{PJpWGq>o(6au`u!ciqXZxl%(m1rzQs(7MgIfi^Q}!zxL4`)&WL@OEUH-7B7?ouQ=444n~GsgpWRy z7SW4abVmR2YY39?_EL~IMs5A_gKOQF`EXhh7tyM;)TIt)jq3}Y?A#qXk`zj-~24xAB$;^dx%D25=$ap1yPJFkp(o3*Y zpoV00cWMQW>jeh4!n>zQmvt+*ZAYY!DBP-qMc2H&&*S``@IyX&$+$X9Nu?uA92S4t zbT%z|?|8br@wdz$x-m_8SE3t8;4J0bI_E7M)Y@d>+Nj57)bm;I-*SS^kJX89uG=6v zBm>Ij{fK~f)oM?ll$BazoL2K@{9Ea-CtI%1YtFuhDCUDRDj z?-JrItsHe#ecTniutE(3mhMNIIXlT#VTaM4X0aNS^@ps+CsuZ4ARW3IOVXVWyxiTK zhxwCgYd%ie^h#Gx+*~Xty@{bK+q0e$_T1(mAd){s+_XbfyQ)mPFv@?n<4stv^u3S^QA@w&}&LEpQuGqZf1Z z=K*+8?BDA%1e?!xuOX$)^>zDX#;HCDJ%{v+?%gR~k+7(nOuKn@>aRLrlcOFO1iwW&RqMGNfs~wq}_uA}3MG z_rrE&5|Bq)vM8gTGpYBXg|wY6_vJE>_OEyi=~M4husx1}0ZN7iXW!zt^0Gnt6z7+}kJ!RIs~6-X?a9SkhH2leG^0v~yEA z0SR@?|K|U(?8%zClyjV>Hhud?^f0LWxH_IiX9_ZUqW>%HOI-5bE}vw-UAN~)6PerP zK5EBdl0W|3A9HgvmE^oO+|c9z=me+0jOc1J6OSw$!uCTdUeKMX|3>OGmmtBT?*P=NOl^oZv8Ps_V2lTW&v5*sd;NgW9*s&CILm+5!~I@V^o?A z#sR+Uahj%FK*N?kq7>$@EY5`7OiXB>q{oG!8|>S9TeqJ&`Un~e(5_gMX=F+sRRxFSq&TyC6Y zQWP!B!4GZ*s`%FU8vHkA4G@4mYI?c|*)+i%1%sGj4InEkN4lRF?!LBKK^nfse8S(n zY8{iy|5}r1wGm0r?XCdkuK@5P1e=du~K zZFWt;(F+u;a*dn4O+Oj#I^h@vwaNLkNAeSi{ZHqpPuo>re%2rV$y(gpauv%~z+9R| zsL(WLE8>AIPIEc;>MLZK!YRFKJ)d@qxq6u5pS8=MQxdfo`-%M=C4ro6E|cclop8xk zkJ>8+`#A%xqZ5f~-(-h!5u=+!HvWvaKB?2}q*{MM3%rIUFu0|h@AG~XvV4$R1ZsS| zw}}=U@~CAb2s}%F=_;mYb+NzFoUg=ZdCtkqZkO~MZrLK&Zbk3|DQ1A0=R8D%O zBzIZv{c+f3Nr|kz=#{O>qngO3%58=hOfneC9hO{&sxGv%(tHJ**!tO zUBp}-Xxq=d5%9-nuTyrfdgtC-=0@CM9o2`Q6w2UJ5ZPK0wm7pk{3Pi*J28~(cj}W; zy{}&>6SN;7^%t8Zssk%*sDE!KIA*R^#7e$$i0Zn5s|jo5og^#}QHJg7vjpd`QF z>PRcBK3Qg4Sr_<`?qNEZWBQp+Va}K(?6T-a_V)T}i|Fh_AYdsJU(z?!f5TlRG6A&0 znq{xRx7HR*aN&L5Xu}g|9J$^|I z_>O9TW`*SaVdjn(WHQW2aT;)O21hGEvuLbjsY=iu*(!5VIsTSAMYCMu5+?X47L>tB zE++}kz<)~z*cg})U*F;k&TtVs5c96rzH2uh@l2jPN}4mIHRq{09&u?m?)PEsX< zBW)~NAfA<>;K&wB8w)yNCx0gicLxYR18w#w00WMTSl2Db>G3H4nGG20cGTW9nsXuA#5jkMlWvqD|sGNmdA}}c( zpCuMl&Pm?sPG(ajlVnvw=2RMoJT3jI4BZg)6i;^l+hgfTZLdq|-0DCx(xmkc$uTbE z>JAB`cQN;J50i1}%B(~(<~poRpX!b`O-`Q*j0-uqhe^1Y`?`lcap_u^KD8b9E2~7l z&PBdb9=zio#8n=|;~FG^LZ28y@95~{Re%pu)29yOehSKiYFvZ=NJyT2Abuhw7MUg@ zJDpSMN31$~>OX!88l;d11DU+tZ`fSIk|32xqg-Sq6sl(gO$5@(D+8Hcy5I1*gvD1P z19OpCQ0SBqR1HY?MG?s4<9@^95|&np)XGIRL!p93&=Isi3CQH@e#7Gu7F&t*%0(ta zp^ZjRPP70FEJqvRa0yGPL|Ww{YoJhHBWN{RpbRWW+YoRGgQ7nvj>tt8L7~5mpl(3A zC`Dj7+6c2tSVkpMEf?7hg+4Qa?x6)rz;d(^ZkMo_N~BvZG64#$FoM#c1z?~p+6cQ# zSaK!OEEo9!3biwW7N7;nKwGpCewVO>N@Qp*G7k#tO4BcabJRp^o>k6p@-90 z=^!(HDzB`p3f%B@UxJj2L=H?hVY}SCsdON9xq($WsEwaGC=XhXpOPyN)^iQ2k&wt3 zKr?}KAyvfBB*c!CfbtIROL-!Zv(ruVE;qTA$c0?w92B~$51pc=d#MGK_i|q<6N#Lh z_Cp&AR~|g(9;6{A34KFsCnk0T27W=U>$g2QTDqrYUP>b7eGKl?>gz*^pN+pDk4_}8 z;LgBS0X0$TW69vX;((l-L;ibw;UgOB;741~aR0#;vi9G*#XyYHCJrba{rB{3$o=mUD6k}*e^8~!|6WKK zF8TE_z_GizeND1vO^8IeYgl(_LqwVQW9iJxq?lmcA0jHMIb}@?AGR3tS3N`En|U)j zy7092l7{0)rasB(!;T!NnX5m%ka;NWqJo>Rp54ZW4{UWF_4T&67HTT>x}sDUo~-4^Y>H;wV;!WQtkzNe z=2W7THYSHM9Twz`E53x-j-0hhmFwD_-+jyb7*09KfQ~;bzaNIYov88}=AR0v{0i+@ zvLTq$>egQz%#|J8ipVgg@@~mtGAQsU)mPSbdsiMz%UJOpi zZ>Zn+%7VhnEYr&5u*cQchs}{a=kip>pkOdn2fMmuUm0)Lq;Eia@!KcO9~Y^5&PnX- z4DztWF(t^I>T?U3I@-!|D{Bg6KECs&n2_gPzFlz{sa&i&$zv4e-1(%wr;3^|{ccU4c|FW^= z_(|lJLVzNr;22^WH&(MHg1O^)@UHVFC@=+Y6c=Jae9!)pz0Y|*rI2#jw%{TC%_OgM zCNnh+#BcHrUyv>>+xmUWwEAP$`ujsQTk-a2TQ+>O6_2GS zlG_?g+>C<$zXanL!xu6gRrvrJZvA6+UzucwwK1caT?}3HwjmNWDt78 zbMgk$MA|9NfR~ZLP@E*6zP=FmJO6k&#QfmBv}68X@rF{!s2;osGMed_DSEgqXWIyw zloTzA7M(=o?^;)wcmGvk+hwc&_};>0(JhK}=(6Y;nf@Zr&y>q#V}_p@uHTG83AHqJ zs%gu#oTOd{aK!YGw#awe)2UWi3vmef8r#|QzH$tKPkv68;0Tc<*JkY=HQVPjm4%74 z0-on(nEo~FHWlG+G&RYxcv>rvptRHpxxrmcQN47_8}yLuyzwJ;bH!~`CN}QJa~2g% zxZrYiCB(z=K8VK9Gl<*P6d(-gV%}}}-cm8n{AMF9NGo!@`h4waDVm%gWxa5!o>XT| z+D#LSeOub=;M6zb54@&YUKdhG+~O>&Ixocqdh&rl;QBia`tZV7X(pwq-j8EsbnD; zm#>fSMoOaQaUglAZXllcg3S<7Np29+mu0a{Vp_dpDP)<`cKyxJ5bSG35%W2_cQWn! z^myKywyYbwgpuTC&Ec*ZS(~y&vk>1VWBht`ec)Oba8>5DkffGhxaHJaFht19%5C_mR`Zt+Fchj1_S?*F4J|@$q}&`w7JFLU#;`|ZkqjC=T{)# zJIQ}Gw2{&E_1v(*d$VpWqcA6?l~K4_^6sn9zizCtGNoJl!W>A>4iE4oUO;v z^p(m;Pv|Io2rg?5JWBol(bRN^`Go>l&+E>KL{y{f1MKa zR!h9mTr$(q7SilT7U8$C;`7}UksEh`_N8ArH)2C!ny`JPrWFE0n}C3mXl_f%#yQHusk^6j<7Y+JSyH3^pU~wQtunk@iNo?de0|i;$i%ukKe7a zzemBB$oJ9=a`m2{*=|lh>WZx-`eHf9+hdZE6Mq>}?iVti)*_>8OE|>H*(mE)O(Guk zb3`xjMO(J0;Hn3!&PezZqvq0TONNp}O34qh^M*xF_1cYTtMLX~_aM1u0qvu&njX$l znCc)7SH~Vsos2oh-o_i{E$HOz)o3HJ@(UjC7*k(pn=K@@;QYI1NI?^f$vU&Ol6z?Y1jq+g2Jn~;DGUvdX(l3#o4nxtuTO*i*ZobC%?%pn@5J} z-;xd0bvfQ=x>@>XVsDZJ9>kvaPLj&>Naz_w4Zqbjijs6w(0*j_(Fjg(zH@M1e#+`- z!L_%$su1-$Gf#g(CFCNn%4jX>ee+Rzt`CIZk?QfJx;0BAHvvta8X{EQ;ye#B*$$Xg zapWQoWD$Nk6i%k~^RtdwK#o%)FBAN4-cBS7Zo{+QIgV9>tK>rMk6V<&MFID>h(BU! z!!HU-iR*3=-u_oS=C$qL2d8#Exjp9A+T#TJn|?+A6-N?F?rl1P zZgqwH6Sl2d3bYaWddqVe0TTkH&{kKP42P*F)n-gTJa_K>&=((?7=skPRE2naakhBS z%4YrZuki)WgTgxpe%ouTFdW%Oi=|CO^@t zjaaxU;Dv54GIbh2Raro6K+61(oydLo`U;@9V((pC7bw2CyGwD00*e-RiWezT+!wc^%VNc0f#SuA7njA|TCBKJoMMmP z|Goc{c{68ka&vdiy_1|IXHJsu)6HY~PsSEf&YGqFUYj~y4F%4q?fxxqn-{9K2PzG- zA!jR}OC6JetL4E67zLE!oRaWQ(6LR>Zio#xTUI4Yxg2~`0v?#mNy~J3#dxVzAHre; zfH1*qz=e6+7*NhXAV(Q@A~vHc7Nal-gCE2=xr&xa^_p>>wR{sqE>j-|r7U4Fih>mT zLEh3j&@+u*Gd8gr^`r`hZyRcBm$4YdLj3b!IE*JSn57|AW%jgjDkr>)16M4o1W>{72_{0f-Mj?BD@3!W~^ZW z74&a{xY6OnFqo32JHLu)-Zp!(sk#cpp8$`EE$?;Hj;WH0_ddwG$c9wY9a-6hk*U)k zqVxVjG;iB3`L~>k#(Zi{6lC&}u{nGjSNj505>Be+E~e=&tb9tx^l=|Fp#abDg-Fu2 z=0gLGG~G#5CU!y8C~$e$HYHdRZt(s>FYk4SkA#ZK#H*rc$fX~IMdpH$?fz@t_7Q7q z2#X&%<76@f`7PV1Khh6aAnbjMMt*#Su* zz@uT?Vv=yY_ZRYcug4t&1ECKom(!AhTG2a9Uh1$G6)6=~82z`uX5yfXT0l}U8A&XiUXqp6wASm?l^_eiV z1D@&`-p|bBdH`Begs=NSM3f0&+cf?VpZ6Esnt#F=K`LvrsgHzAFMmMZVK$^}V80KV z7lH&u+5OS?U|e-t0J|K8W;w7xnTSly8TJ}LRu1D#(E#mB1+1* zr$r!d4+4M*4~UB6Sy~YoNg)tKe@G}RS%0c20HUf4w~z#hszjYLW`u6LYxC=B@&lM2 z&KV8Dw%N7$O*Q$Em|nZNlML9Mi>-VrHC_(>Qv!ZX+ZqauUr3FYg&XE=GbjI6Q@NQ< zjhBZ%OTe9JTXUiDi>Ycda6}2X8EtDel=2&kC;(#2Rt-zJ0vwRH&6X?yR#&k*1lbkZ2x(q$ zD(5l0(hM_tXlW0mb|64VLGVp~h#za#WNHThVxSC1l7!1aDSJ{o&>)K-IK3p?3d*?& zT0?=Gz_yho;o4B$OUAR1Z8L4{Vir*>rcqzWt?UINo2ap7Jtb3<1YC*sJ`-9sl{!~w z!=!n^rYyz4WPR-qL4#IVfkx0`dTfzFa6W&CBD8836cu7)Zy8%R$m*@sTvwWp;^Rrt zLA7ejAj1#&MA%8Sigvm$JHz;VGG2az{5M;6RewjnCjg-A- zS8*7gQC>nnJg!V83h*`xB<54SM65sJ~nzj?E z=R)CrhK=m9<_07vuhLWdMCS6dBV}o~y`$e*X$kYRCDyEu&vaCyYDuoj|LAj63_%&n zI`Krjr8swAKpl364LD}LWt((tH$g73@JM|`VM4c1kh5K)J$099z(_u7YPNUWr1hQ4 zWszH?I-MY^+?OAQ-#vQm?5}RpxBi9MF=f`HPPY2xyVGil|G8@99Eq6AfhZ8zF0wMF z!(x;hb2WaMABcD{d`x3mBbsKM_YaljSk~7U>A$Zp5_DdoKLRt`8h^6nkI1O5&m|U! zQi#9Pem9h1IR6*H39!grTChc4bELc>7MefR<@76%$5y1q z^QT6EPWp~m&A6(0UT*0dYQ=Lsoi`tpVBxOk%0t!?bci4ACI2dzH8Z&9RpQuqZOas7 z8_w26zSXX^2L1zUb}D{?J|GD<6JS&Pg0dg(5cZ3*OB?vBe>{|xtYhlv7+GRl=c;?w zeQPjOf+U=m&O1j&oZ(ysNGu#y9`#^h_~|uY9>8j%=WLvGUAYAD4yYPYona?Z{$$9U z8_j#c3oNR;w7ak*`sLZ}C&Zz$E$K0h7_iD$&D>=qM9d1_%+_dS)g{VK4@&xY=}B%) zTH$Z%y$>_Y&c5L7O#eO>ZXL*?tG#QlLtv$(K~xtNmPns>*g{9KUwYh~M@Smg>U0vL z5JxKPp7S-)^@8)=_o4S6B$gct=%cjLn{>GO_B~43j%`B46FE=M=AnUL^M?s{0fRRh zwI4;yOMV=KSE5?qKD$O;G`@62Q*RIac-qTn_AC6ZcA~_CRpGO4G9VxQY}F|vJYR!z zQ9L~^SBppf%ORs6Ynn2iCge%s3%TbMP`lT~v_$Kc=$u>3!S3Q()_CSF;488q9^klm z_e~Svphq4B7%T%Nk&XI*Khht4Qz$9^Pe8-ii=ap!EZdl(I;Fl8D|Pi==}Jq!A73Zg z3^ogzY>$zvMmg`_wE(~SF*fHk03Ut8EJU)a@M;sw7( z*u3+oACkICEubJ?;OeEK`=vDi8*ixD@VUDy+i=N?7EhQfNM^_U7L~2Q;gWii+Z_Fc zs;}-1c$^OMm(<==T1Lm;ZR1S}xkSOSu)t%CpK+tFEl{jx+OR-!!{DI8)X$b28}|pg zax@ss;E90_xlSkGHujWc0C|cf=^>bVZhTJf4miDxovMp+#lbbN;2oy($Oza2kVoCSyxV$qyOEfdyl(g)mCq%Hd`-18u>blnv@6=Y$82@e5@GI-yPH&D+9PfNib1|%rpI@=DH1LDsbbJsvNyKAdSgag*@e+Wo7`7gPZIDn171JtEd#H+Y*FlRx4p7ns zp-Ycl25{@v5rm4-;qYNT3=yiDwWil6n&4y^)-D+g-;pL2B;)#1*%AzRiTk7kQDhve z+RUjcrfdMR$8?F7m*mxiL_g_=NgmS?W6gfGU!sonTrwINgtUPHTdZK#sb@txzi2@4 z&c0mE04gbFRm`XwcTK#U*gno_>x@`3Jtup%pMs2H7#Xy$$ifj zix2qgB9o-b(K+t^MsMmqaG(^CS<-FKqzEqgRlO%13`$w`#ld3$#e>|qu_Qg3q2p^10?!$12Ry1ntb|gk2@DVZ7B=vT)GxxLTLM=25FBxyi1^v zW?xx9hDY6eOE$%G-*4|C2Q%Btu!uf>bu?FP21dR2e1_3NMR)d6_}XSlzZcJZ8Q%Yl z3vl_}>ZbERD_;eu_qAp()6npM#jj@1P@73r0K}Ci*~xT&SY+qUZ_d5AdG$?)K zt+!roWx#U1FsI?}&x+N^*!cbw@b1C0FEj^JEshF|7+1uJY?Q@{bmjQHUE-Y-ze=&6~mK7n|==zsdb>fh?BtSO(DV=PM@XOJ_yL@f{- zJHuuX zH>XYT1SJ{Sgg!382dh1e!fkzAEtT9%Yq2iQ#gY`E2YkXhS57YPEqB?u^6Axt(L@ZKlDZgt&Gc0^V*+?$`m|q4PK3GPo=~zJdm+FsAf*j;w)QbNcVWru6L<%a839c z?D%~#$Vza!?JQ;EIFm42e}6F^cOKKdLHRT@8oSOZFYRlQaro)iGKOxK)mlT%B=xzr zGxqQ8AskU+Ty8#ynk$zq3#FxS<{KD-cf(+9mJMCOyis@#N|8+Q{TNU;*09g144XR`kvtYQD`=rnrO8Blh3K>XH1b z_{mfM{C4Ecax&J7sgzxFd_p<~dc#VQ4!WoQz#~gimb@wd>$vo+Do&~4 z>6nv3W}DAh-8HDE`uzq@#-!1c-fv?WBcep|Dd;ALrR;cK`v~hPZ#z|o%H-Kac)4&R z>tXEMCFa6HbLEf=TFvklpTxr98rZHaJ5+vPsr+j91};@M;nS!Q9FnTv?s)8CqkTTO z;8l_1?!(X^c8mj_QFm|OSUbmiwT)vj-X_=gR~sAo$A=sTrGIy-xHR3@CcGUQ7oHbI zR*oIOB6}x;K}%{ujGk@Ke+3bB-nW zho3k?e(WX-VlaPHKGIz|FqnKJ7Z@zI(ZCxhwBf<~2dKW{*grs$hQd^80}~d55uKV0CBL{i?4Lu?wxQ z7WGjK&_#Vt!OMw|!FP;YV_}G7KIBI1hSP_2t_5&Kz~wbXrvzIWBD+}Jk#wW=;co!@ z)Vs5RQfPM~Q6?dp7Iz6D>k*s6$idiA>sWWrz@NnD&cI;t4IhiU+>rIiO&{c7yr^~T zyC7h&^ah^AU3iFe#3ml{Ge(p&)}1#13^*U+d&KO{?>{d?0F(FSBR(1d))DVC0PCoC zE`W99J97XSjC;Pv_lVkkYk3#k{i@?jNLR!rI^wG$9^_}Ns4lEKCtxt}oB*e~t z_6wN3-5AHmL_n~Y$*800qs@5JR`y>$6KRGhbtw+G+6+B#PKdPm>=lp=h+$9w)hqbK z3b#dP4LBq44t?F^j$!i|WJuLm((cK#AHpqG7$9r1UjY5#+3fkB1CZ+h_0^^t_0|3B zXTj|McbuR+0>aOlF2nEQ{IY1?*bUj0(1ia#Ysv;#Kq!` zod@8R)DtRBO3RT36*_9#W4| zF5J{S)71R;FndKD*d57h?yDI<6OKo(@|EmKqzINxWaAJux3@xyKfueT?36gSxFQS; zq|h?X)M}X`D5q(p;k&~`Rvztc{LuJ;?+%QEtn3u&0H!6DJ>)q#i*Zi|$r?Kq$YE(a zCu2o~;g@ig@Sa$}lvx3Y``C!EroP6j_X0NG@z@w7=W?`tuitd65R~62H}zUo^R6Hk zqemJmK@*w1+!PLMw4)WE6U_5;MU*ORRrTD=sCH+L+5vnB);k|9k6~SAM*X*& znT6<3148VQfR$S6ZR=poVkNWVg2$Ed#ucnd8RD%v-p7#IG3Z6inZnTMy>#uRP=Hhs z(~*V63?mk)aqplEtdX>&Mdx&OMErQ~*r|;vwW6|!bm!buEKA~f*{0lKppyXvU_5_u zw}qf~8mn_WNKXk`$Bg<`AW=KhRYJRIsl|~`46&FaWqo9d9YA}jAb?W?){t}L8p%~F zpZbh%8<&OFTlSS`J3DF)WM7&p$720mO41XH{Ft%BpV3?rr#6p7OtMH#xcH+Y)GAd> zylAX|$SyB-uGN0eLw@fa)X44%3FG|mQ@nYES1>+(rhKulCAW4)k#R;8_ZQa7vHhKc zLXJ0sC7C;{YVBC%_sY()U`Isl#fX}L4KWN}XS!17cZc>c7llJ0%msH9LfuAuzZ&nr zr}itc^cQXo0+O;xghR767xX<=?OI|kY_0=gAt9TT_R! zS|hYY^i3VLlh61IuHN`ZB|vBT-fTpw0|)33k(7&(dv-Fxb_E3-tdR}|^z#G_Q}}<_ zgZ+bX|vxs1;@hbUY4$YZFjTt6vk%=F(v(WB; zSjTcwPPz(!Un`HY8=+<`(Lr>02RAjWQ9NY?ofM_#4F>NCw;IQsWlrla7}`5%0BfY} z*;}?@9~y1>y5sl93AeMX=DrB!_!~lWA-HwnuNA5RQ)DQZ1_r&MI4b_PWY^Oog&Y1? zAwRk1XWT+IM)kY=m{#guxm2yIKIlxDBGe4p%b5!18+C~%Db}MdBr-23o-PLFmP{tH zCTU^ujP+tCS$k3|?j0z-gGvg<%b(wP_ZO`6A3hXe9pMCKxBJjZ?ZnA)0j@6dD0 z*dmSod}E*r&g*F`@%8Eg$*wdgb15B)!q~s#NNciv>Ld2uM2**HxTe>}{6viz|1)CR zSoa!io4WF)2NAGw$dS2#Iy7vcj&-;b0t(Ft9EWua|I}cklwId#+qfx6gQG_m$)&5;SNXR&b22oEtYF1%u*l{Z@j8@nLYwq$lzD zlPugX138B*kkR(FuRVBUianl4%RQQc@WDHT4WDO0)C$t`)UmAj4xUq?`+LAAq;Q_M zVqcb`FIiXv*tB_Q-)8;b9eYeWxVzcB@}`*hZTi#-6|0>Ft62VclUU=EnR;?Pc)qT-UP>#h${Xyk zS~O-`msWRZSj3z+96vv2SHoG!R#~lLGf~0Lk!w5Cr)oXl^tYc@&*4|{!B@xZzXi;n zDJ87$3h26p6dJyb^sjM$BGF5$fm50r8R=0}a#dDP67#SnF|mr;6WEP&Ch2j*bK2~U zI$+*!zA9FGF3v^L849NxhAD1~^f7^Ds@cg>x0+NdRmx;j;zah5?9@59O|;1>t5ri} z(S)^#HxibTJ}LZ#f3EU&4FKHqY3nK8h1nduT}c21dU?@%_|oH>2z0<0&2KFZMl3YtdFuA#`A5bYYN?d*c%PwIAD5 zepbei9pJ%XremU&E!u%r)HEO?hH$osfm=b~94|wbTpIWG?FNNu)e#zhS~&Xf-0=*p z5>#)H!09nW?GG(7KU+Jhd%Ou*i#C33RW+Pa%UrKM5Ju(^LhdX`qsM07;f8(leo|3h zwN-HD=LMkq;jLUwq+5=Ut*#z8ZOA$;b;N@AOImwlSPrwBc3M#>Lb5QAuQYhq762O? zbvMC?_H`5{U?nZSN#U+#&${U4^zD;;OHNkFWh7QFp>IIwBeT@S$7xaJ1XVsb=ov1l zi|`@5&Y_0Yr({vX(o-CA?0POTk8B33KbP{J+vl*gmawEY4$t-9sZ4=gK36e5gEQ6I z>Y!O_ZD|=t!AnVK{Yqni0-6-}YS6ovz0D@JDcb^FRPlr0%{n6yU>Gg7f zSVemvKBA@P^<`vh4LNs@ifK}LHxa_aBuPkNre)SXIH^{Z7doa^CDp9<02@iD;bg0= zh|OrroUabLkdRnm`OqCEw%ovxSW{J5u*#=zbaX<5l|3?H{d@>E)*oaMKwA@QxwoOC zz{}_4w6@GUS#8rd$jC^8&NH|6|4rklRAHsaP?YMGwoWn;0&%C87TXvy{dxQL)X`Q5 zf<0D2&SB^uL!(2&!*kuGkvXDh7o*9=(BLimi;io575(=DcYmP7>m?F)hBKtgq&TFK z-X;i`4Cu2V;RoMF!SA_pY6wZ&ld%;K{#5YGh}B-HSwC7y3*b~Xj;ZyHuuGn(8T&j* ztBF&!z+W$MBfh*V97D5p<&08Zbzh|2E-mP}sj1a;75sZ}Tro2Gne+uDNPnZ`*pU22 z8L;VYNSne;HaFJ$^YhIS+FEQXx^J1)46d{GC#?<%bMWC%AyY&0XM6a)?Vw00gVd5& z^Y>ps7Mm@;LCjI*q|ww0_KZgwl6~#v;rP*VTUdUWdLmQ$5aD$a&yxfy;RVDGi8Q?r;SRK*$lE#_DmExQdTK_U`XuNwf+e7t^8L8u89yf*0YM`!p_DxLY8L*1pC#~XIX|0l zPC8?8WWD9m61_KK(v7V(Dls#6)OYxpzDy@kQXwc+UNuqJu;a(Vj!)R1V*^t3p+UvknOv~DHy}>-j{c0^^HXU)JzflCY5ra?;7j#&f zvk~y3sGk>$J+~?yjElgIwnhgp4PSi|6DpX0wu~*5MM>B#_;PIjxP~WW58+gsXk{5W z_g&~zZl&dYZ5ekoTlNFU*VvW_7fn?46M3En3l){Rr7XvM)mHG=LHHdzDBBmYcmmri zMaWATD@FJT9TSTaJlSeN?i;^K|cU1IhR^?n56C%3%!1CvCvOwq(pJfnygRR+0H>;ZmLq54W%IIGt&+8 zOv(b9woPSvdo8kiq%UJ@f}-48^@SAra&M(x;y)?dQ}6ovPQ|)|1xm3cX^xaI zfUFyfTx?NL;EDZCjQAvfrnk>Q%X6>uJ+1UFqIm~s;#Gp(>4e~yi4gMD_Yp5YNzao= z{(=I(#9VOEk2J@yuG1GK_?Z5l4ZwH&=~&#s603L*ijTKcd0)`3!OMOqf#IWD z6sFX!RT684ejRlezScVzgCjc$X`>Vz8Ln=v68}u8gSeBVGL-U1izj!c_s;h{e6K_$ z{!vl~;U-B%E9LhU@12zv{m&Aiq`WSkn2TFft>>S#BkQCJ4SrXT+Y(>Lizj!dKVI(N zi++OU_bI+6M0?*8UNKiuqC%IU-CeTn!RBYG!kq!>E3xrl)8dZoGaa_%-sUBB&%_oTi=^C@!}Xwx zZcYC0Vz*3eu*euH1(;j*gfTLAg+g0v}k@`d_yu^J#$F3 z6A2?AC=O);?LG(RLX=|LLuh#KQ}WOLQ`l+|6qt~iyug$nYnJzfKEtuk*2z1!(~M(~Q)l<}-u2{*-(w9LX)%x% z=G+crEGZqJl?;C0^TEShavx`lcG3_v^%&Xws)M`u#l6KYxz8(eU0_DfmgTNZMjw-2P$$@FXiDX|s=a)E@JbVqa;)7rLKB z_HXMSb&+&v)ve5md6Bfk{==17)H4y+gXe4DBEImftSE1MDnESoQUTmE^#KOr>G{h) z{ekbw;94>&I3(QZ!j4*d=UQKRZp-y)RUe&UW)(Tv?Zd`FqcL`jbIo#94JQo+fz+OJ>ckOo(JP9j5Qff zYphMr5Z)N3gOV7I;ozJs)ad&Q;Qn29WtubECiw>KK;|Hk43;V@HY*Wrm(1;UsG=+! zPN~?2yvh)M#Rwy%>%^Hs2gv`k0#D&JF+5?4QfeRrAfPWFZIi#r*0cS}0YIFRCBEk6 z%VKTlVkqHLB4d)Fl=Zk#$_~Hzjz^|4%o~HtVuO;SNWhP!QH)7uom{6oCn7gUVS{8V zJWZR*%14&S=BCDE^Hnwx<}fRu%$H-=%}1DMFL1P&A-c~k#J zLy6EGKu+*(V8c*B88b%(hoH=q^kXuUn=zIW8QmzLp0fJA20KQ1L?gRg1x|gKy9N*z zm0tc=q#66;jNA3HAxo`6zP*=zIW=SFOm_kDlIXEfmh@Yn82VxETdxtoQMFPq$P49lz^KlSM0ta=k^5D))7N9 zcOoK#splvnV0Fe#kXzU(O`cq@&Zb~OL{h}8r$`(KCsMvdygxlw3(bu4D&pBH^Y;Y=mai ztiK-Id9K9;=NGSXnZ_I4opZ&{+G!ZJS_UTid7{+KE7J<3A`|(!VSa-U-|E({2F2`> z0qsv_5t5gxc=-fUdU`7uyM94-CFpihnwNJ+;ahp=lKR>NwP>lFpE*uHnNJHq@D9 z_Srm5#N*`ET|UGO**M~3DZ7L1m$Fw!U3UX4bFkJI^apTSh4Am&-5*0UKQ1!@rOc0h z$BDc7zpTm|#{Ui3;(ijydx>hK4x?dC!C7|g-k_9W_7K*8DYDkXME>?St>o{#c6EKv zmTj%RQ9fBuZY8@B{|4j(m7P%E^v;!Roc zeI9H))-S-29x}B(w(?Z67I@h8Z2RK|^ml+Hv>;X0^Y6B%yJcNM#f-^K zY+HpOdh9VGZ_^QT7AY5twAG+ohP?GTcqa3qmzbnO4ypR7lWkV&%C_F{N`>rf#sW^R zYKAH`P#ph+$Tlm6^RR2Dcfirr)Lmslxvf{yRXM4=d|-iF@JX}4z~Pk1k6Xw&lhkYF z&j~LsG2#yia_yS(3ef2;>0)M$C*4E*GCZOf*qrq=ApJ*pGi?DvTGt|KhpPJ{Yr zq+F;uV6N^#K1!&OrbKE@=BJM@crL3?KIOZuQN?;Le`??}8y-pLsMm@!_y+z7#%34Q z4pk0^7y2n7sh!=N#}=`ea*6UD*6%Pyfa~zOM#jb}{c?iZA)A@(b^GF}q(L zm>2)40R?;A>ECu#?wM2)zUud`wzs&A<-b}}7N4kJ(mj_kg5T%~YBgc$f(Ix>9_%&{ z$<~wGN@%c8yDeDI@G4ZKYqeMoDBc@x(*daU)2OL;#*zd;IGS*Zfetk1bW+RXi@Yg! z8na&a_RgK}nzWYBN~YsB6OE}-?`$*=IL0f$x_TGcKQOzG5phgUto3VUJ|=8Qmr5q~ zPy_PZPHc)MZ!+_Un|m{|zA~mCm^+Ij_Q+IaKb+ank+q!!u0xCVDk{E$TAHjT>%{wdK3$FH@K{xj%3| zv7@1Puq1%i1NqFD&E|^oGhEXnFoe?r*8Ih~GT|jb?P&^B<~nJ4;5D(#yJ}lNiw64n z;PQ*&ZY23fzds; zz{ilDB;aF2&*a+e>CGM~?*q@;Jj=i1P*E-!LhYBA$}v*hdvIsB;g#^2$}7nSV*0<; zcAblSTwYhtC{GxMBwwNFO#SgUk2G~3>jb(OnpsjYC9WDi= z@V!{B31}Xv5A5oEgIyaquAK7UfS#m*{Ny_Nn05yA*eJm%M>iCsDa$H{{&w36?8SDTht;AK1R2D-_B)RSj8d&ZLE?bUtQ@> z0C!V#-{=PrXXY2#Jf{q&^AUrwyd>FBpA2hPOYp#BWDPdk?_cl7Paz#5NosLb%i{mE z#GPr;8bxt$f)#~gPlcK|HZTBD-&B6gMf~XbqENT}9uNg;;W#?U%M23nJ>mb+3fsK& z4Vc9gw5u1?7hw8HE(ZGUlkaz@tx4|Syr;RwyWwc)@|IFI-Ys`Pj62wRI%U_9?Ezi# z+7MhUu^^E1(v(!9)b5X;l%Y%?&IgS5@=7^9b8g&4yduXP)-C@GjCVy5IvtPQEpA(W zPh_OtZBcYI6FNGIU3bp7I8V~Nh-!5J2de!w7j(K?lj0QA8)2>3j6(a9z|kmwRPO zx8lVMFXqim>OlgKSh)$J4OzVDvq-4`+yvfjUU+kDYlR_FjoWi^4qC+CN@NDC6Q`Rv z-Y|0z)4W(XlA(>7qIW=`REjlOI*ZL6229#z&*qgoY!CaU=!WR%(PBKeEjnt!@4)E0 zWj;>Cz^Sk0y#*^2&LhaOoK0acrufFMje1eun&;;7?c%Q>Agjb3%TuQS7okS+uyyj4 zlT2@lQs<#YXW;LmRY!Yahh%RCMc3{?law~<@}uN7l5i*97V>Z|V*&YJuZ&Va)AD)p z6=G$x#2#jVkd+%5S_T@8P@^hu3m6#wCF~dAM6TZl(Mpu2E+_haVxW>D?2LS6In$e@ zG`BF2OrXN;`eRX zN3_40C9!ZLQrx3^OR74C`D}0BP`AXXmL1yz;M9-r@dPCHH#*o)lq;+EjHRZ0CF)q1 zVy1tK82%R+-)F&zX3Yys=wSsY(pTaG0rDvFe9keYz!iK9YhLn?Z^%E=l9yp5=){C! z@qUm(Yc)50cQ>9YQ$^`EZ!|5$NEd zeOKUP-1LX!e`MwPGV2?7?<;%G_)aLcFWzc@*qrA{c^&X4Ws^2O0t4enrFt5Z3Q59f z=&o@y1@45jT`kX<(OfNlBKIuDZ&U(3_>PZoG?9 zg3AD>@FwaNNl&%!Cb@l;tS4&EZP*#b$|g{uZVRB~DD~P++%(REfQLt~ka@35XX!)L zAThNzYqwd<@OknUx|(lEDT2yVEP8rewa7#E;Hl{9D~-42#q1BM!kQ+JV+Ri{hPG^X z`=@q2+X>CP?h~|SVdZC6XGXo+F(%VIl`F6jiv0HLU%k#PhfZL%YL zU^ji_x^8;b=;PD(Vdpwf{HIeLq@ahh{^6iFw7NHgp5luCZn`uvkyE1J2j1=i@nk?J z^Q00<5}ki+T+n9~r5(4DXnq;E7C)jt$-v?O)c#MgE~o%XPl+FcPQrm0*IG^R-JQyM zCk{QmyQxH`3>AqV7puv!b`!YYzS%accShrM(PqblAzm4BbmE+i~C3f=c#F$}P* z^1)gl5xle!(F|qge~W3&5>-cN0j??rihl-*^Tp@>=BiQy2ihuxdWPms!K%4{9O%tt!1;Jb$@pc>G)+QvN4bfa4v6i@T6H#bGEqhq5 zN{ep6FXWoFU=Mi^HPQLb5bS&>5_j#3xbTU>Dp7r#enEn60cc@{;)!Vi=Je|K50kDs zVqGBQsv;&?NDtwpNg;;Os+M(R$X#-(%FRLO95G`wieil2V~qI~xK`ifs^M3YdgjY1 z=-T+?hXN@WkEMv+Y9dZ`c9w!P{w@Y-lmIme4V`(5#N_Oo$Yu17?3-qvj7|V?`)Z-{ zQM5&c-qO@jb(?aP)lrvV^6x9gN|m`gla3#C;wey`tRhya6jwBYiT+S>9h0)ibQz*w z#fJQ4918xN*cJSld%!;r;RqNZLK5>?IUd~#$tst%-=Ez=5@&xFaf>X`aPl_#8Y%8t zPSzkE2RCn2qv|TrR~-EK!Zx@B5Emk}Za7~06hB^P z?ZGEBnMf5`cklfvR8r402CnoAK4ig}ZWZ!VL|UI4S^iT*UJK@*jK0TntjrcuOqm*O zl5VJdYdz|}gL%*(*l0Aqfh4{mmi!~v$DF1y5vSF757D<1#9^RkdXp4_2y@4FsK_A6 zuR126i6e(mRGn=v==u8ns7YbEYluT%0xwNF=I@#D#MDQQC-sZkA{FN!(6&Wwtbo7n z3WhFQ)!l|A)vCmU6(>tr@l3}#Z-JG>jz6d>&V;`G{8jkx6dZEcPFQhP!#F<3KRy^{ zXY$R?TJ*p2Z4TaV=a0!%8`xDF^h3Vm;@9XxsYWV7AS+Ls!HTWYm^vI$<-`_k=~j*d zmW~6wP40c3R0E!!kq1`TIv=_lSG=#BK3P?(Q+{zvBGg!=i735z<2xOlhC9Mtl2k8_ z>H7h#g9ib;t`d5?6LM?Y{m_Qk6^hg~jr5#~+JQSo|9Nlb%_L{{Y-Y0e=I-9zoO{msboHxu0dcK-ika5c zP-GrinO;emUPXkuB);6f;^Mulq*uH`gN%S6Jo6DebL1EaRebXi=B`BMu4%Qurn-MO zQg)XNV+dhq+p&+u1TF%&y>rhmE{2yscsn5tdB-4feg14z23uT6qWfHtp%XznQRW4k zusPF0p1Fq-DV{GXMqI%V(Ke3c1^^ZTW4afW)Vn z3uy`Jq1^E5zlvpZ$J+}r`RcYpo5+FNm-5>(F?X~fcR^BsZq#Z)q$ZPNU$IGyb%fHo}KN3CBeee^`%-d|=4_eSO*4&2=?tgS2+_MiplS>3wu+X3x zs2gDzjeN!c%cQXCdc|Rj5DXb)xWQD1-fLpWo5SXa0%1ScVW8(V$A36_ct@P3EYp_A zP=+Oep^e!F>Ptw0%38p@R;of5(emeNb zF3KFSa>4-!MV?2y-=0Q+Oa(x8*#yI=64-(qU{qP^MoxfLRf4l-;C$_B!t=uW7qdGz zD#S1DCE0Nr3k&n5C!PwiZP>c2@ID-={n=yq(;Ky67ePOHK5t|d9q^SL@M+#iR2=ZB zPuQzY*mF1_9?KWyvDh)MMDYyku`RhU`=w=ZIx#Q7J)Y(jn_#kASL&#sAOmDOfrsPxr24q+P;}KYU`xM(XcMiTZAjXVnI? zXD7=)!lSMyelb!Z8Wx?H<%SZ zS?{7B9-oF{&XsdR>eHp?r-J<+WQrxw-p^a<=HG};f`Z%l3LU}6G7NJ{{-gaV zY|j!R%s-c`^Mi}$VQm8xn<+GtK%RUtiExSs;&uJNj}Q3fLL2(A>$lk>U?I>A` zJhCk&M@?O@XhEk(P@mt!rZyc}F?fEH_$Zb$l9~a7pLG#H_&^CMjDKea{bFwmZk#do zg55b)dbAbz0z>da4rg6DvGt!sT5zl?!(z3&KfFu8{L7sNziXo|bZ0Muf#1IcRx={K zXp23gAVw`jx%~LC5Hw%ATNuQDrzPQBL)9!N`T65V_+*NZygititu2_ZLI|Rg)6HkY zuO}!1i(XN8vebHTS^dg%i6x#WMIzqSsz6iLSj!)%Bs?y{ni?&nDE}4M{QHt1;j(}3gvey;iG_xD zL4}-dc?ewQo;T8+G!=(*86lc;5E0keM}f;7yBn!@C-JmC5uh~8B~F+RGgc~f#}8@W zZ^0Jk!An!vn^?fB2yNefybD*v6NZ%Hn15NGAp)s~X!9g6Lf-l2XIy{W9sU~9irYi@aP=eVgn@K#f~b8kej}#d+1p8E z$OTs*JSiB6w@r!h{v}SEi0D)ZM&n8lMx)4IbvM_({P(GJXTP_-&#Lna$IB3gk6_sY z@{9&NG{iq#HDbm&hKDNg)jSz-swouwO>7QTJ^!c_)d+}s(V}_T$o`|9eI6-{y_l$O z5=Ldp(}{WRwKI_@to@t1p(fLhi=pK1(ko(Ii(Xv0b_)Mgp>B(}1?UUm|V>yKf z{M;y`Qzmdv9c^LLK7Uso?T$HrCl&66$8LPAhn3SOOK6~BW@GdW!I={Z9WxLRGnIK^4i+rS3 zcp-(R>bSBb=%}WG5&YnTq|2!$92oiBfLc>Sj#UdR8)~IoMlAz`){`fRz(V6 zVlTNRWG{azJCBUOKw;-T{I*5e-wj)`-#K@K`04_tBMk0x683U3*heq~NhQRk1pZx5 znvUonZWi*KEUX%y3V2W#Ob;j1ZL`(a9Ul=SV|R4dbA`usTOJ=_b}}_>jkn3u>vW_h zdzS*-=yjuvd5$L!Sc-^$(VTw>pWH=vBd`r^6hh1RyTV1fx-CR%bm1zXtNytR>$VdU zYa>$ND8Xs^H>Mo^g$zm-Qr;9&fH_Par{`I~&-Z6Dd;}AAm{(?+mvO|`R*Xk9)pu>= zM{SruVwg?jU_oIxvmH#gP`DawnD^0$M}BGG>yZ3A`%o7yTo>xHD`Jl^%+*4Cu;UwS zO<}M;>Zgqdfo)2x-Gn}MA2F_VR4iAwGtbIbueJreO_C6?uR1Z$jm|^nPIcXu*RIk5 zn{XK0dNA!6XRRAEIgW2DHwLJWLcKIwmr-Y!Gc@Mg>XP26do){r-wB@7^P(0}4myEA znu2a8+;`{9E6M^yn9Fys@=ve-=~}Up5Hgujt7_)bE=oiA3h(y?PDwMHVMoV7ne^rZ?1w z2-V>IONc_>6WFe>iFU2rh;w_+*Gk=9?$db~u3C9$ufiLsu8JE(uYNW#Ts6-DRlcWc z?(yAq7x$`^f8}V5yXmmbY6S-WPHpZY>B(k>4X{QhJ^=8AhGW2GP zsXxQpI5t;-+xk#InTP#~{9~KZ4qk%w`-g5OT)1u)54djnW6{)OQ9{p6MX#K(|5IO5 zJ59D9OzQ6VKAtp5HQt4y^Ok8jW(|KV}=yJS+G+CPNPPlCFCfD+qX@8OU;U_AJg z^;NB=b{u)zF{f$?d7?#^>g@%tD}u7&F2wLoQ(Bd zs{O@nf&4`3a_OKHAQsQM)X4p|GY$1NYtQXd6z|^7Ws~e z`T}{>rKVJ|!*R#D*1WPv!n(VH>V9Y_CdX8OR3`~P;F5yG3j12v*7ZynWzxcaFs2&C zPyFjpOzH#(s^3s#;_&x?FzJX=R6pec^=BbuKWRO%m^j}GD=Xj^Cbh-$(y*L zn)l=MKC_|P#Z5kBt|4RnSO#nh2zR=n1^}-N^DF=HejZ`RIdFjfB*KPjEzi^YeumV> zfyjP9sYR2_Z)vA;hH3)PR(eA^|h~8a0>fqjjsrC`x92b>1 ziDh3EMa|3y>pG(9yJ&yp_duORlhQ}7CF2HZy(g^ema0U2@vsiuz$F}>EgZ|>#O#nH z&wPf@+Fl^K?@ByrbRXz`@+AVelr9mr2)%(Xi!RawCxKY6(^A<90OywR$O-Y3P9^4> zui)$GDh7ISz9-!l1&-?(S_!b}OO%q`ZqxnW)~ZCSK;$Rs7WMdREk^TE)bt&h5&Z^y z^RvR;?vw>U45nHaN)T(+<9)d_gEI2dq}0emLq^=+d=j5S zVom(VYV^9%>6GNS(CdxHm{BHh9#Y$oLAE0U-U9G5-{wOu8>Ab)AwS71nrKlTJnMKr zaf}&9?Okt}HyoUt_L~65P>(NUMkE@fKfPdG*H#f;Flqf&H+z(L?aq}PS=OZ{@8Czt zqJf&r=dd#zJu4FLajH)Pk*K9sJ^}6LZa?*6!b4E(k7X1U?`^um!>}SV{a%lfvKZ{e z`KTMD;l#tjtO+B3mT-RDV=OG<)9Qp8KO8|d{J46r;pNirw~Mm8WMO=%o~$R7YCf!w zz3jr&-GbksZ18(fCGI6s&!iWKdWCp_@|)+7UPDIUo(wpu3hUCgaZ>st2#9|jf=OL% zZM^g%Zlq6YsMeAD;gjR6p1XT#*UBw~Jcvc(MBMC~jC550H_@PEjY*SQ=%uD^IPhPI zY+W78IHjjNIH7W^vHg}-S?DCOa#@(`399~Iud{}WCIQf~rD>>^bCs_|Xs8w_3Ntii zKZ>#fJy*e%B&`EjVBOq^Z(0?@!{c;OyVKy-dEsurh=Y43rkek#L&HWSLnqx*yKZ{v z_{USz#~A}*HJAH*CCZggt(ywjw?7y5jVLp2!3+B=(89;Jj$i)vi%Mt1F=oqEW1Ti; z3kfoI<=*2LGzkMXK~b{{E8p>C{060h`|L1)FqCL%G3W%m)#BEIbf#83xI|!P-J9)3 z7XKl+krOBJh_6cY_=XHwxDJyZDn?z|Hhl?kB@5dhb8v6NR6_-XXYI=<=2umU&O}zS zf!0?lYaE{^&0YiB*3|}3#9e3*m0T$G5?r6}Enew5=D~h{KMfoV97^gFKYEY0k!4lz>Ui3kbix=jNGAt_Hh^p8!&z!$=HfQrc$Bdq^hG zb4VBzFgow8wxv@t@iQBX^2|zFRHH?mM*L)-DYEqhe#fNwXF}^q;7Y3lE2YN*LW6+H z1JI%|yg{0eQaawdEG@b(2IaXd%?iNEa8zh%*-)cxQyUGgG@)aaz1z7}p>s6<8&nwL zah|H&rYv{x15v$(hvRq zyyG5%oI`JjfLTts_y3(BuDF>9bQyE6z?w?Musek_CJW1As*Fy6Dvb7wXyK|#`0kMd z^1F8*rPXKD@ln$=SoXb9)Zn1%oH`+DdJ2oI&C<9#61A! zEIV=F0DV}5dW8_g5+q>jl!C8)EHgp?iS$wqA3&cvw%Ax`$Y6smQv40luV*&D_4Gyp zDWz+`_&jrwiKo^}g#a__ohFLr&w99&uIbY*i3@;+grEE?J|`@DfzTX63^_jdrO<;& z{c2j*{2iER++-XsZBvAr!(GwGV%=ObAiL1On+Qy5 z^RD%#6x+&e(eBj{E3=SldfT_NJ0#qP$%$2qS!qo< zOc~CPt+Eo_v5Y-@8hbz-d*CP(pBHZ^(`eFQKjHPhQyIEsO}QsmdC4h$8!y`;zGEzW zpLuUC`*+rqILgG1*T9rrT+Cg8P{>1sZ=sv1X&mb?Ty`IKLUaPq%65JU|JZzvb7Hwh z51jw`_jGdf9{sMNY?IBLGNl%H-6;UtsxRs)Wt$w#9!E?r+mk86hc+ujS(3?fJmP6Bf-}sl^kvK>P9G69rzD zp&Aa$|EjUXq4aFkamDOb_J86k0M$h?#noT%ZmRsrWx7Gd)t3C78HUb3&ZTafTehYX znmap!$oAYtWxU|_d}!MJaViVJ#Hn{x1I$$e_EiJKEw&3&0R5@Csb6JiL|)YW?$|2r zXSj|6u=1wuk248lmDY3j_1>Gi)k%VmW{6wiPs;+`8WvGHZO8tMprB40iTn zJSKfKXZty;W4T&BKK-?(OabS3R5^cx@S*`6_J1^qt?EAyo*sQt+BVC|VXDLEJ=&R0>yaM~0Nv67Yx=Z`a&tRV+`Ruf$ zBR&(>o5p_!nzc*H$E&k;<4W@WY_)n8!TU6-%uKMH;tU z!$N=9{7O>yEiY~p2y#1k?+Q5^8`ChJGXwr=B5+TLvE3?*^-HljT@AGl&2rqCPnG9& zmB)$Lz%^WIUWxNl;Z2o`T#jzg{0$}EfLnFtgtzsnW}CU$OO{Rtj4_rJGjfjm21#dZ z?v^7`y?5eDmHiUw_YB!siJG-3zH)$t^V{?$K80NpN90DT?AKzISLN**N^>4I;pGiuy=6QXOse}#^&A_otm7cba z*4eH)J%4YEtL*Ipb=%=nqc9*>u0Eq!A!2{*od8{&XUs|PBpW?KlNUWXXhY2Ih~MOi zo#mVYe$K58sh4PSA{|4OsBbdv=m4EAaXl+!_H2?aqRJ!FS*YEG*5)E~vWSVkl$SZ? z(9>0vXb_(sf_^@Fv^m{M2ize2lsLyELpx_nf0Znf=c6lMNH$JopZtALSf*2ebAx_5 zI>H}H0M+Ewk2hBl@?Ia!im+tIR_w2!hvV)NX6fD`7x~kAoOZ}HBrUg9`58ve*g z6X@P}*Jc%vk}ZHR@wW=(E}2@`^!-_Phls3@gdFyo%Z4xOI}h3b4$a;>rFr(N>36kdO1FiUIc+YZ*@F zd9^zF9J0%`|J?wH8c50;3oQAOrCXD(9Ie5sZAk!e@-aYek2beRkN*8EYQcq38jU&R zcEE8ZJ|OwTOO?@%JVl${j*MxUfT1ts0>(bYUniQax3EB+T&}C@xWw}|K@5eL_x@co zVUue8z?aef*`Fkcue5ZB(Aq}??ZDJW>KAxq=-3-4KZ^uC7dUF;lxca;<|6fts-m~A zLD8YE4(mS5*hX^MipPex2-k%=T?i^H$O2s$Jo!5)eJppQ4X|@Y>3X635>$2v&vX>t z8tr`il5JhP@IS)NCKqJ9W81r|Yz}+UbBe3Kr-{7V$-K^TOu3{8Rr~EzzjL2`t|RE* zuxxw!qw@1Jux{EU>vP?-%Jm_v1rXJ_hRh_uvgIz{~6 zRA{9`AH&?_|18T|@9j?%+3Bj&f#OD^neI>ejcDyFs>Jtqg)1>z`_7Qus`nUv4Al6+ z$as9E=z)Iwhu;F(if5tzoM{m^Fo;&mVu@^V^~WoI@W(L$zP$wUi3@C zLB0_&0Vi59k(>cB8O9T`#19sVIM7C%-t^gC+=0)X$ig9xkc#3f;2D&gl zIo0d?lkVfXxqJ__zi+9*C`t8}11HTooBr2F8*0qUh~5yc-2>gY6H?kj0QR{~igj|F zll9J7bE&{ovyhe0@v6>Onn|d@3n-K`2DWMZ4%cd%p~($ygc>e0#BQcrCax_z)mjek zQ$=nx(?WS~G!1gzZmqxT=5&RkXO-6G36)+<4Bf8Pn=RE>llQffX>E|^C}=-KAk`0B zo_D6$L8Lzsj177WSwgP_!n(Imr85iK?ygmvg4ivrtOjlS4KdK^3?j_eYqNz$n^x+)a*9t0}fzC=x)Z^A#q*lFosy zeK%rT7_1(L2iR7P!^3+>ni%H~!La#toZ+p?XDHsCrJE&OT_+S&ivtwLDK`5fDO#y7 zteNJ~F2MLgmRkQ!&9j~0Fmb(R5H@Qtst8wuaa^|u!Tb+k#u7eTrGZEa$^F^sd!b<3 za4GweDt}+9flW$toOmW%VG)oD?a;Ft=`dIXQ{4DiIJ#{S6b3RV({ znij*Ga?6b$=^=oJF$tW35&;tJWRjRN0clLAe{S)ShHFoGosZL_o@4qvL8GQbW1E{R z7PgxZ&qdu9AH)VXsE}S(Ip^x)-9a~9p;Bv`H_M7@oHrvId@?3_jH_~qZHjp(U?609 zGEOrQo^(=bxpDj*Do!I}!eh)+#s-A2i3pZY^RkWf81ak&32j}~?F4@XJU%pCGk-lk z2!q}aCQ$N2&UVJN(mT6Z`qKm9Cfyj!GdjP~i16V-SsL{bZ3>hdFlx38VKcs1eFNuVsO6_)WsAAK5_GV zsl?DX4+33L;<2u~KVrOU$b5EIU;UBJS~dR9#1rQ47S6=vK56-9hxQ-yLv{f+U8=!) z)kPl&4(6J z<6YHfyd!IA8xgj>@H#HIkFsa3Ds0tpcX^HlED(X!LZA6dGSc3Pb6IXS44gS%J8OQ- z-7m6mz4`i1q>!Aal0;sff7nVW3&z6OoNoHIV;Bo}mC*=JZ+y!(b4tFG!6_I3k%%7tAINvCP>Q zN+c=*L}vh)l^uL>aOpOR0O=V;1oS|K>;EB0*z}?K{)=)Lze>(3D3i?7{a~`+RT51s zQi7oJLzI)Nc9ou`8onppsqF>1G*E198(E@ zPj=D-H{};)GYX^8*@8hI`IQ)z1+M81L-$3Y?^t6v&|F0J74&mdn|< zOf->J?kZvsCZHew`#&OsWtmc&CX_-_0}uIJL|4PWtu;FVHu(T@R8mUFC?cdM&~O)1 zbfKcpT%a@71Z^w1z(FR8=*k)DwRW%QM5NqFnU8hAWC=K_jIAH&d_bV&i~$)XXwRf{ z4~d{^2N2MiX=M_;js$v9QtHkCASri^gGG@+k%|!gc{;|tecAtu98uQ>2jbJ4?T1^k$?JpQDj0~ew)?M)eTwAQ z5JtlfASPzuQ(?xwS@QZY6eI!=V{SE9yJk#&O=moYQDS8FlT^E=Ql{8dibsSnXkQcZ zL(H|Vxis9_6ys^>6Uvk*Tu zXXb~@G5JL>DuoQt(oa<=<;XxJ{6Oba$Bgt-l|UskNl2_H1cgdCDY>JF;fYY$>_AB! z5yD)wkIxUOWb*sLD2zc@3I+iymCO_%P_9fmm2hlwM>&HZ8vQ>gMh6zsTD0%X4-sMV zOJx+Mq$5lOJAC=!HJ${m-PxP}3W1aT3C zR8y@eDa)5BRcJPdXt;|gUQp4~F3=TfHXv!Z6DnRX&=)SyS!p&fYPfSMUO@333v>bb z05Xkh7)1&wNTyP0$m$ypwJr}G6VQ){E+LVB?Y&qf=3eXc<*Ei^Mdg>(!SGUH3VzeX z2~vxp(+J&X*47^4XHEvxLPA6#jZ}W|$z;%JN<@$A2O^ZZ#$ir}YVh=t*L1a^`~2EG zhH5+r^g4bZL8)s3W?@w|9t`?9Kah{qH3f6I-v0nh`!b1vvdT8VawVHWx;}6qDria( zvf}^}W=bCe>FV0`vqmI>{2V|}OolyR-B5s_wtH9xfLfX0FCDEEPfRkK9+*uEqMZZK zNQ|SW=XU^EGnM~Q8u|{P)OIh*00=9e_=4V~++mo@^}&33MM;e5$RMSnA|tj&Lk43xA_QH#L0%0f+#JyDIJ2~S+V=0me@26?W*FfYOcHx}8**A_7=FbJC=J90+e=3i zJrGP_>l1kfnwV_hMUzFSEGG2Fc4kHXyf(|yG^khQ1aH(NxMl=ArJM%#Q$E{m@$#-X zxulJN8Eq#653?=AHDXlDpPWrk3k`c0MJY6+WPHq1tQrF!x43w!7W7H+XoF4TVIBT~&WtNDz5|ijk zpd5M3$K-shhbtW%MX8s@nA(-&4uC{bLLTcWePaF)1<~wT=fB5kddZJZ#;h1pn*H6$ z;_@-05~JQL#c|Ni04A{ku5IL}l#b5SPOR#a;?g-7EF9n9E?jCwOlZUI%69!{z3 zYXbBRshZg%Cy*H_uYp9(E!OzK7#jxC(+Q#y1B#KjeceWbX*$mdgNsM9wfIh#VaWi- zyU$(#cj89ysF4e%pIt4yhKUCD5@=IZ{ggAFzNs%SV?-MVc(ed^@UAr)iSki6;+`Y^ zgR$TqmrqD7`N9g)lYn=~`6_2>E@d8h}UX0J`4+|U&MD;yGC69;O@ zbdZ!3kg@FViZMF1ImJpX-f#+kdkZ7JY%cR5B1ju(B1X{86@2 z(-(!`lw+kd0a+sdZqIIzv@6vwO~yCt&z*_N0BoYNA32RkK|N_b^X1~E5Y3oO%Sh4( zo2WFF)5%2=zMJc~nLc`b00KDR`=wAa2~0y!-@`I-7CEE7A(#)tA}AFR=_uTL%7uva zkVPSm5#D_WU3^eF9gnlQK1SWF?_V+OoOE8^_m;%Xn1c<`5T1Ho>Z`Q~XPE*_qZm$;gJp#z0 zNXuKj0C0!GUf35M@BF>l@2EEB&^)_roKDn+6wu{sYZ3@;~PP1_+e9fB;H)kxwv=3~|c7!5*~(gjeDEIabxfeF*arTj7H4 z7@s-N!?&Q1+>B#0HDyM0RvpJy9qaK;byk0UT5Tsk@4T8N&5P$4=}$U>52V-CD6idh z(M;DQZ}Lg`yhI)Eyy#D^<+6ujQM4*oAM8xJdOZ`B>(1pFX%_f<|IRzpR#bXMTqQb zkjk~1-r;g#{^Nt7kble0DE$_1)ftyu8CHBaLsVZ1>o0`ohcu>aAWpaIi-CbNSy-Y? z(5l}5J3^k2rbtH8!+3fThy!zlJS?VK0bA8a#p})aL0tBCzwEUv!dVbf3p6Tw;PLt) zH44?_Uq2%8yEWeJo(0k~0|j=_n1$3ZIq$Kep+9~=Y@t5cmh&7lu`E-aDb03C*U^N! zPiATFTp+At0Y*;1Y6r&V!_}Xgvd$3v{*a%zc0vD&6xtqFfaC?wzyk0^YF$OHeciLD zcau@W7Zk@9-waW~wT_FHiiirtO9a_WQH;--zeZ-F@_0!M9K|vKr#p6^4CUVbrLR*r zI36KhklEBMsD0VMD_yHk-eV$38gz)G9`HktG~7eb%jtE?1k{fFqzx2_DRo1ivLGvE z68T|!#S_2xIjipR7)WRQBW|2FE+Lgsk4JuOgwT(Tsprv12<}}<^^CU4?ou8%tM-ZPiFwas_kM!m0OEk z^owld&3C;#cC>#pJyK)h>+(gMhUSo~oC4%DFy`Y7etZW?E%4BNU#8_J&LS_-=~nR4 zH{okofm;+`txA@QPm%H#oDTT1v1o@>0UUjMT_zvF8#3lp>7`$h%mC@#x-&6tqqp8W zN@ehKabAj=2MvnV;rcb;s*bI?W|J-rqpq9NMd}N!(!k6!BMh(kTC=2gDRSXX=T(2~ zCxUC;ru#daDgOHz?Ri#zsiEr@)~d3~d*P1+~R;E~jN^s?wl$FSsQPg}aFd zOuatc|5}2PzZ${hGejR)zK!R?^Hn9ET&I_Zt)#IJ7&bBB+>-RUE{3eo zktfvY4*~5d&oj}1_3ao@BDPHxl~tmJ)(}=dD9$2+lt-PngVri6pVmrui1^+hg_|Lt zriai_af(3)PV^Xwv;~G=k8M?*&oyPt+ptG*odv&d#l*U~jm(VqGJ~{4r-l6ew{}Bc z>WMG4dBftIO-rUQkeDz}_4I~Wj6~^l4(|22xlBAao*oyj<0eTL5Z_mFdn+A7AS<&J zP2$f&5RGP6C9$3rUqtIklsYkRDWJ*U}(fuWd^Fouz1It#Nw) zJ%HX;PLgU;op>^H&}q3$sMRt>oxzJ!ei!W%ae~>Fu}fDw(57qDftTQHr4UV{sY$xo zCHgSNyTHhxCA+CLs}w)_MSYWii}dyCRxBWvAS#uOx7+TMFu}l&edY`VIOoZlsuaBg zwMe@`ZzlFF*_yOURaCpRKgjhtat+m02Z~zIc)0~>pA9XYY|R}HIbMxam;DC0Mr|)U z4Rjt>`vo>e;BSt<^bK4rCC%ctF25N;t|G5Zf=Q7)|hff zE7kZU7hnm$zR~ul$urGa=Je=J*$lvjYjQ=r_0+zB(aV+&>6Zf*@qR=6!(~2j$$41{e5rO=@y+*0@jo1Wo|zh80^;Hdaqbx7Z|&sAaJS$93KF8Z zaKEdfb90Xm*fYqd34J$%ow!Viu$dW6jbZEDo?K-}U2>|Fra$^urfNszb58<%iMw3< zcbQ}P`gXOZAK>(GwV=#l{*jYQslY!l(KITK+11uj63ni}DvkG;;txP*a;sYLDE(eAb87&n=6fLKfbn8prV(S#khXY5l)o^3NLNr|uSrzlARYr`j{-N$X zwanSna7#^275=Px_n_#J%c1hPaP6r=95@0-XPPk(4`*fm!GD;Kl;&sBm{Fd7#6t~v z#-*F$^&QByH(pPY_f#m7aVdh53o)Z~ZWkrp+nEwjI>Wvh+r>O|iF2xZdx=ZwyDnV` zYXI9136YZxZW6AV0|Y2z`x=4o75Ua4B4(t&I-|a&4Pp-*DRXE$4*0zaTz6oyr2T28Lf4$)iSO2Bam@?_kVGyvHP638fXh0&acjs0e=t)g5eC}dd@XRhjvjzWsjphAe-aWdTDbcpd^&p) z6DcfGu)v?-?yY*`;hoi}!5_~1v(cqGsS!6TdtP_asHsFEDwZEUF0M418|qHgO(baK+9j` zhOppJB8U>{L)Q6<^9ADTqwC8t@JQRIi!9iyiw9?G8rln{lh;Wz95d1EW&B;0*5;k5 ze}tnsD|g?@1d?yNW3vTIX2&7@6MT&;^UOV%+w)|dU)h# z1s_WLh5DylBmb&qt#|j_o9%CK{=MR{dg4&2z3O9iIwR}O*<13k2uu*{CK+;k4HSzL z1avU(v7=OjZAUZUt>?M;9Lvg9TWsd4Xl*Eo$1;jlfo49aKhwvR?vjo4*o_;*(s&!w zKU{d!+1VU2ECdp+o&2P-RqLNYSCIbajK0q&;&^PWAowGr{+nRQh;C(m3i3z>_hwSL zkUzJFVpX}E(GS%lKN&9;f^xb*-RJez0*8HG-1uVBr_G?D!?LIEeJ+9Jp<$Z2E=TI! zVKW08SwLVp+s-#$d+k9DcLn%DLV6WPUo>Xz}=5oI{Go)u#OyU0Dez(oL!v zjYHu>^o3S~oxOLlA}da382Q|tB05J!aeCJ3AL-MRBq$+*+M(ywj~;vSD9o_FVYP0O z4QM)-+@IZ{)?4`46-UYBONxXi8pp}9932+`q&Wq;AS@Tf*KS>$@~aIh!+?| ziF=&c$?}L&g8zyqp>yRCH})7FYQC$F>VJiR&^;t~-)!6$kI${vt1zNy@N0Yr{}r*j zxZj&aDE=!BBJxU}{ihbIa_e6l=Pg)4guwpc+sAL{H>mHy5-g9n9L&GtZcsm3n)EV0 zHip*jM1?Y|>O^FI5$*5v#|(JU?W^!CT?%|~IxI(^acKi*9_3{2?v|MM^|RKpOJR*# z1~MDTu1JcTxZlCT@b@M zcH6`J-eTlrQcXxDsUIpZSYQ(2y?UPB3Gi8qEAe*tp)LFyRSGV0w89mcp zJRjb0N4c>cq%`+D-W;IjURlG7%q%|&pmb72XYXd)<3z35bw%w8VWe|v%`YV_9T#Tj zWiS$LX7Yl%Z;H7=fINx}I*#)lvRI@1a|t^jc57dYa@dc_*!bh{Yyw0ab9Q=< zZ@ZCO`cwVj&1p)m9Xp7!F~h{SMDNsDc%$fhwdlXB8mBTl?9XcSctBGg?n?Hz=oI}n zgngfLCgFk?gr8BE8MWCh?V3BoD>;?4kFN-kYht5HRAtZOPdAcvgU#2)zee(9N;i}B z#l|*LXOxi3i#hVDs*o<<%>lCLCEWP0!C9t4^k6#qTx7zAYH=Hso(bL2x!VdZXa$`5 zaKj#zL?cS;C>f^}jIucp&!i-%=)_~`iYTNvq*o=$X8$Q7kJzOqfgmhglHJIZsgV;z3#hYeNdHg5MCniW?j?L?O|du%|SJ@hUVd1{YPw7pcjr;Q&Fg12@0NZisrR zB198(kU{WHtr7QDxnCyuJ;~Zbn;|TVgO`ONmaR20cVYY5y68~x-A3WXj@GkwKRl$4egT({e6HSs z0`0P|EE7L0){&&jR)8b+=I}_TnVcX2B&Tk|!+PD=~$Bij1)u=9niV&~ODY zcep|VR6CUZ_2#Jp!|C7au0!wZ^4s?Lz9wY zMjIk)BdYU`?M|fG0yx2`CG0H?>JMh&aZAYOr@k<*nn|5X;#&@RcW&8>{b_j($%?g^ zP*y4{7lM=@e{WYROO;w32U8M_LbfCxPM)IXnJsM?fb@@XzRtDs1{w8yx2wwe;&H^h!lXTQqOPyFpy61_vp)RQWr7G z4I*Bt<^RL;j_UtKCHLc#SRKVu*`Ig((`ZwU(8i({Hbbm{_y0q+4zDG6^hAPzxl84i z$0bj}$tL-q)!00?gaP;xFto9zc~fsweTQUM~<`6@e$lausK;B@`zI z7uT9wx4>N z%oHaIX)3~U>fmnb;DG+X)dEu&16~(Lglp7J=J_K5$Jk>_SeeU-+=e>~PFsU*vxiaJ z36aewN8PL-6lY+eeD7?QgJCLH7r>t?voZEKbVpU6an7=$=qIcH%D0KNR!_6q{ZV-c zw-f8P5wKV@70Lbh{UyHM`p@CpoA@wWoE&1EM$}`iQYVA(_pX2j*$?b8-Z>PWHW(@r z+U)8lf2>xEl$6*U5BWS)SxI--2wQ|Wzy`F~5o2{M@ixFeWi1b8hH~hvwYjNO)&*JpP+poRkZF}0qoGcWZeGfFme@&BRf z9oRB)zo^m4wvEYlO}1^@w(F@T+fTM_o0B=YCS$T)r}_QQd+-hJ>stHXd+oIq&8=;J zSf_r|--&oS-IPr51t3R8)^UQ!MbI1OW5COUK*DX$c^g&y~WAoQ8Jzj;Z^vViTW3P3Zm!4{d zt!ii#`B6}&i+GtDpr#_-)l9E$Eml6~w~IbBIl#xsu)LUC@E45v&EWJmlqI`v+ets7aoYJ;6R`Ha${^L z)w97QnjWxFYr8=Pm1{j-TB8}gOq}LuWhoC+UxnevYcQj~VKj(4CN%!RNi6i|!UZCBLIK!YiAseB#l>UaEH73MqOHu;42qN(CtIZ5 z8g_dh$ym}$e5~{u7qk|!T366Kvgi7Kpk&jmi#gyaRJ|Y==BqVlbf`I&gnXYONPahw z9m-o(8l0lbMPt5G#SC1GLxDkJx5Agxh5=iyZ=+2lS^r2X8H>f>)eW^>*hh78Kn5UC z$&y1fwzbQ~;i75u>r{H!M#Jd0XX%sn^G&o?8ph>TXfqfnx6=GBShg%ZyQxbxd1@t7 zSH*xV1XN`PLPQ??;Dp{nQJmky?o@!2(g8D_cXRFKFL>uu8&@)IlR)q zD0K?e=!LKeb(_waThMx3H2gkS(gesd0eWdRV`24}zQurytv$##lL<{}rs})z6|wq$ z!oHmDdC{NbnIFh?H%#fQ{J|bMz>JJKe9gR*t?6p1b#j+vol+W{do_F08+iDfAcE

      3DZPa*?|UY8+PXU`D4!5UGjHj%_gJoQ8^JQiZmXL)%c&JWQEuU;9l_yf>(BEDa4 zFUI0ow*QnwsJ_;i&CK}8n-I+iZ4*9SPz`Cuo1zFW?zwS!$jzv;=P<$-|Sjqb7_9*f>;j|dfPMgmMhkJ zMSu3PG?6<^+)IU1L((bVpsk?p_~tQ{vSSLfXFDXsGYWnl(1(=S8|Jbh96;shk$pT701or7-T$UBzM}DMM;%J z_diG2Ju`-Ob_wo8oFglR`Sq#1!0?n?>zISDPjBUYJQdI`iLY50^y6AbM$sJf+Y!NS zi;p{0XGE>Hvf)Fz$N*j`lU6gnoenQxB>EzMbDBCNR|AG0yrRyNiS+wsI_wGhm54Z} z80)!69lvNWKFko=?sxBfajL!U(YSk{-L z#r`h5KN&(4%cMi6Am*(gmi||lY?>z90Xk`@N&QABMK+D7Q`mez7SBrUJbCUlk#@=c zKy5%hLwbLFbFK19Dtj%I;T(xa&a|8IBZpM>RbYBKs5lBb_?tf!89cK0K;1e>0pq{- z%FMm3=6(D2?Kf~PW{3nBpA!WEG}tTtzlDS^eu4(ARuc;WX7!R{cnyP8~wXYs) zh^5CclUIc=98^8622jy9ltGu|Lqi&EP=ReqSAlKZRcoAf9T-WqCxXE|QmZ-qH91uZ4IB3;3!}Z(B1fskY|Y+CVZ@POFSN>)z{*?jSnupx{osIG)X>MxCnxQYf2_aprGR10a_p$9Z;s2=lYbyzD z!Br?aTsHx;=|IS=l=ohuu-#)z({pXzG05h<5n!Auri>LDir^Xkp0wCk9n5JkM{DmhS*s21Z|9o%z2 zo=N&lMEC;&FFvR6fZg|Xh-`!S1Z&1V{vF#s5s<5N&1{9TW~doUly}d*?}xHi_D)IG zT!K-JH#|~`uQ5_zxg1CaQ7J;m=HMU)UNRX0TQ|K z0Qmmaee;2qdv_}U;K*~*<4+KdQY;-=1W3g+@(;I6)`dppgU;Tf7Ik z!p#>#JIlx4RuFdw-GyYhV}YL{u_Hi%173+2n-+xw|3tjvzQH8p9WO>zBek$)gegmOqf5#~*4WmUXO}I^LQaODs6B=y#W}^B;C&wq_0+3`~ zA0g|Zw8`bHKyOY-z?+~I0rFxxd6hgG{PRmoNsT-P;NQOWebti`Wx&AEzd=I-H?BcY zfyng#pX}*B?}P%dQTgYVI9d^$+ObhZkz)!_6Air`=&=gJF(I0qm5S7Xrcwo&n{BI9 z(&gP>7m{^)pZcd4`xZ|QlCn>TECI5m=RZ1S0@}`-{+b?kXFclXxNIHqtr~p3eMo$B z*f}Mh4tB&uBc=G6hUygSaU^oJJ4noMWzHRrlVjoabxUT4lp(|s`L?T@&X^>a!xue> zNF&4Yo*7BQtBpb!F&|9B^J}5_g!YdX6;DlLP8p&7=PG2;grifT4dnbtDwwOO4Qg7@ zA}2YOXeG6;ZF`a5=8|t!oFfni(3TH$oV8P$eZAM%BDMYFqh%+KpG4Iei*Lmm74>8r zwY4~CB8>p_F5Vp3Dl}S!njBFbsr)7rBkav()U3`Q#G~XI#_G$mVyqD0K=^L9Lb?TK z{tw^9k58hr{Sr%AHEHya`nbP82DZ3`xJoLD#fH-ou+(T(_-HF#8kF|Czu%=}<{et8 zOmC$nPsFy_DKo=)Uv$|jCddxwB|?NoYR}=LC^`Z_KIcQ6%SZ7GY0;_gW@XxrXn)a` zOa;w7!KpsC(;_7F&c*1&#LHkoI>}}lf~d4I^5tz*jnfpPZEE+qL@lRO{a68L1>`xD z7P^?G2$_Ro>`V9e=s9!&vUqW&i!0_M1T*u>*XLlioAlWm#>+_!%$k^EzT*o8Sdf1g zPRaum(rx#dFFL8I-86V_{L)BQGMUgCrU?reG?_31E!sCOA*@VmFdDH}Au;izP4D^6 zEYGs!Q8q7eW;H1^Acu|G3_Gr`nPTWXxmA6EPJhIuv-wv>7=x00W55n&0`+3MCK$ta zAW;qEviC`kC9T!#NmZC=7xg6}K3-I}uVw^r%Bw_Q@gwBw&!7dWyout#(Ub51bgUHi zuoQ@1%!NkQ2g}B&x&bPYGV=xXVAs2JU##ln3EZG+?VQHd4FtZAl(|D^D|bqjPmL~F zE5gvGXNl-WU!r|-TE2uHI;QTgiw9%fY!xJERQ9YV5Vg6RF3Sp4ELy~Y*r%tq%E5QQ z#eG?ZSaV{|K|+?zP*YS#!gu%12UDzGb)wck4`-DpdoylnmK%KJ-Vdq?0lEw-O5pHs zl)n)DaDH$ye88d4_Eg(x2`jIl5xsN1g0zm@$Gxm50Ji;SMM{xCka}5Ow6Cs28V`$_ z9SRI!!I}hwJO7XjNZcxu(k*Vc$4!?4uBOBMdWg1jA1O+fQ8a%(sgUAVlkId1T4H^vVMQr*D7$WOpJeVj=`clT_0G5PhlsR1j9bJAM7%yeR}|HNH&C2F z)$)5Tm`b+BPDx{g9nl+@HMDZdCOpre<5u-_Y<;K{lr)kltst&2%ol&_(PDZ>QctK$ z(53OvpWOKRtB%;BjX-ok31X6;UPuyFrc72DtFyUJhzX{=8mKEDB62{90(tCxG(${DGDgeSHUuKl&>j9|Snh zNl1;}S5y`*d6>IxUitV*6BMTC_!ZK(Kt9qn&>(aevtR^n^D5sH#!2b}?sO)jk+bBC zbD9eyRS~<_4!Epv`q;(U!Cf1?n=<-1?!U{S9h|q&I{4jkS$Y)noB07A^lt?2Oi%!x ze1bvhpn)by8@jb#^I`ST!5#11Ts_4Po5iaeIr50m#_|ML8Z+jjs;>od1?ey6*rmKexmZ zpoIJ(@1Qg8Tz^0s4ox+?35p>qWRIjSt16g?it4xCLV3RH-fG_(I&|DSSITc$K%OA# zH$OyFJpF?{1k-mmEc=Ir`84P4RC=QT!0!Xp5CsqAPEaLJV*BS(ATsIzOQ9i05N#S7 zY5BG}IKk{d8kVX6;!mbT-2(a|==g z@YbcXUOGrkIf~=mBAa=s8i{jpfrAqT$3-MoB=kEWdV9B1`tU0lkTM$`Cs^H9GZFm{ex zqqI-xK`r*n<$a^&t5RR3H`-MGGBrpC+)&dMRvp%>Vxs$W z82wU7(jxKFOtEbphPorI4%%b@dX{{5($PaNO_6F`r!nU};H)6>h|4{kKOn@Iz`f)MB)m=iU zXms~H#5WrSH_si)zxKE=O>+L7FOMjY+&}LYyQfs*3h)~(7x_t$PyjL*kUJfC1)3&^ zy$s`&IIUo$_(BHCU;-Uan-F1?wv_zN3Gs>^jPCubFPth+37l$|MqDbAJFzI;@q`G) zQvohl7B5j;uSDq-B!*2^R`ll(-n{>OMviBgVP3{ltbKQ=VNg#i^h;%g1GF97KF*7^ zVuhT(k}+As0#azeQF#G`S-Nc%;>vyz$|H+Pi`PIw?;^zRZ2&I|N^Ag1HVcaAANC6jc4r;*?$s)s*gcw15lBAB+~ekA*hOk( z$@Q)44~hCxNzN|c&n%wFp0<&$B*v!Y+-RaOTl(aBZnKjvc^)_RU*l^3e8b=C6Yq?a zP&@mv(r1FFV9RT^!j(|J$QSx>yZ!xh=v{W=7oc^KCBkd*JQ`>G-IM}=-2#deWz>=e zeIKYmYP><5eq%YA!gj6DP<6y&#)VKaHh@%|V}bSunz3Cv4zBq1%ILqd~Vxs!=mUFAmGx5dL9@a?D{3gfA{J1L!%R3ZZwa zU{W0mY;u(S#PB5esM86Y#K>qP#x$Y<0j$_GL zwWGaBz%~BGWHGbhGn3B4^Lo4dNF?ei7{axgS^U~~M=Zs>7PFwAbrU_$a2cs`a34H> zL@9iWR!fdA9!D!zYtveM0l33^@cBr1Y`Y0*=!8DWK=vUkAEHuEtyv68Mz!hV!eo>NeiT}iEa#k>h;TdWa#d~MKkDGS_yYN0U(pgc%FGytJKW; z)1yD6m5sGbxETmlu+;c1Sf%G^jOK{{`mtfRK8pDGE>uvG;<|2<=Dmq73&BV5x3qYU zR(#^STfONPi_6gWd+e!u&s#8uC~M@zj}g$N3Qidi8U2!qiKJ{$cZgL+ zm^UHlGE+sQ>ic+F2K}Ozgr8%E>1(SSATZLdiZ7c@%#KuO^th1wHAJIjCe>8EmT;Aa4-Xz#Bl5 z3+dVV^X&384ey=tYyyARjUaNFaN~i+z?cx2pnVUk_iIjAmuyGN>+Jn+dqHoVU#AV| zw{OUh|I#C13#%YL@T$iO0*G8zA_k~d*|bIz!sbho%fz+;EK&SkQm^EU8K}v_GL{z7 zfgPa0B+b9GPn1ncSj}eQq1~_VLhZT&@uj+6H_cB$j0wl;{1-5fdOdr2(r2j74fy~kI6Z~tjjLXn zQnxvSFZ70431^8kJzO61G30sZH4<519<1hz+WQ&=nDL}i51tInZ;?l|@IG2a>E4OL zqjN$ys@Z*?qB?ry#UKC(*O>L3j02wl6k=*v5q^$WNLc1xgKci26sJuDr#mpHs9%g4LC*tjMJ-jD^pfesIoyp{@23Ics&bVGHZxeRVFUCxlW^ zE+^a4+{7ouK>dE$9G0xNIGMgHbEBhQ^Y2!pUe!lwyJJ+m>bwBCS};8uQx<1pEUYQQ zhk8)}mm;JHgj%HK-LN+8Qs*$N^#GrzX7O>>3c0pMZtqpP!42QcYv_%JFmKgdCkKxm z>L>XUwe{rcN&wPi!Rrdy)QfBihUCuz`bZ$QT>#Ww@>P7_xmMFH-aj|=3bh+~1oG`$ z{#UyEU#bk$t|-y|Y6mKV03^jw$f-2z#Jt~}PBqohHX+T28;a%El?Y2y^~iCEu$c9x zrDNPSzNlXPb4N5=QpqJ#sR0T;hm-9`Iqj@IudgqVeG+G?R~?a@YF*VvD0mpQ>UG1j z@lpo5*_CW)I~G<3qVPmPOfm0)Y=d1#pW8s*J!!auQL+d?^-wOgHFFg?FD8V2 z6ckIsVZ4zaXPvpfz3Dz+Dq0qeusK8T3v4NzRIv1Lcf!Zumk}QnX8ZV1-oMV|=Px;Q znfZ(GxrZgZ%8_xg1B#Y@&MD<5bqLui(=)nJ9Ly?K8c{5XAD6_1XC#wA(D(igQ`Q)r zutn35)WIgeGzLI!9$GBScRt}~aHg(OWuB#f+^JcZ{%KJ=>~MM0=*rWdD&EtvZ48f{ zwWpx{&)AF$=g?I$I0xgM_xh_}1C5w&i*-|VpDQxO7Cg0!f6Jo}In;hL_@lXF!^5UUMVVvqXy)a@Qw8P+(U5cuzcL<2E9@xc$shBaryh6SU35=uB%X3j zGbRI2_qJCxtvoV=AL~TRn3YU$X#24F!enw7p_fOuQnkpN#61J&1~6BNPept13pG6c zVNBOe894TZF*>lHo}J)-8c1Dp2^=s$d=?%^C_ak@$X3y@K@&pfPb!kbHDR=o>t0-X zG1Xq7U!+ul#YGRcqbmYGStlb%Ojw0uZ5)28^`*J{hdFBRDtNRh`E1yx%VFlF?-2`Y zum7KSvI5S#3h5b}CY?eoH|^qXnsbd4@@f5_eXbxeVD0@tV;GTUjh#|Nn5)HqaVx5`3NCKI`V^=G@%cjGm zSj>&$mn-_;x9@Cnq0)a`zIO;7{@rA#Kz#!MWcn>F4t#008EfrGoL=FjIO_2!m$7tR zzA8qUHhe!K+o#x+L&VU!3>Y{cycx&t6n&FxV%|R$COj&lW20^zO~622cH405FbsX- zuS;1z3~-28dXlVW!MF|Y9zMdN@OtQ0u0xo^v!ecDZp~1ac=Ez>N8+&}-BqPtmwmHs z@36i<2~fYHi5MR$lV^!MCnuH8?WIMAth`-QP|U3=6? z?-*wVrtdOdBDY35&KE~0JbE00HT)#&Ya)W5L|R$#mAE93P9v^+!enkgh%@gjctX>b<-` zw~fjje*`3OM9I_11eNp_3yMssy~EP^IV+CTh`w9TMa02N{rq?~^cjD2w@ETjis+>|KPY+jl3?DNS$Us%RnytQiDJeh zn`|1)o~`IuK=jS4OvB%jao8?hock1Jwo6$gK|lS|$_NS|9s>q2=IW32b35mYmc95* z%#9uXhncRO1MO8&7qXTHi;aIbi*p>`8eH51V;qMM+gxA1;E_O%+V)AsI)K-`_O4LZ z5#~f{QSR58S;1xWd=l#6TNisD%F>eu7!7h+{&cv(l{17grzZhOMl}DGRmgITM4SkU z`T#LBf8k3+`ZrG4VgWm5|4;;R9yoT6dI#axg-`fTjsB~=9YSS0}uLEq@J>><`=@wl?|$7o6~(Fen4HM z%6e(D+BC#sf5uRl1mbCNQXJ^&jTcJIRx~r-uCCcB+UjB3xZxDZMTzo1zQ67Z8WB`x z&uxrM<9-c@FIPqhLjYcdeU4x~JOG-eF%wemzQj$$YStI7#kC{lbs^^E zZ50up>Jx4~zh_|i5*Khv<;B_+CN?PM{6{uNLXyqb2 zcB_nCn663Fv}Xim)Ph?qu8J4l#PK20zrVe<{7Nwb6lyFn0<3>w8o59*(cs@kv})1W z!%n|4o7!E3-Z5afZEi+wbSEdpE-{=CO^0>U_`3V; z3ix>W0PBN!pz+iiuB6dlu8ZcxI8&{gs9RVbRHe;7yQjj?5HB5AnJcb)Q~nbfyu(E* zhAqSM%V&oG(0fG9na;EmPbNYMb0kY28p^?vT9LPPQ?5FnlVB>~d@!&vPWG0pU5=rk zJ;fmM98?5fnV?#bjpQ?+d#f)TO?1Mq(6J%enwx0G6OS`EHjs5Ra+T0|U^{zGR~mfj zMX@$CxxYatE%74oU9s6JIu7DxAte0}w{^N~4A%|{@bVCeC$DUD?5)7fqP}q$sx2m# z^xCU$ztJ2!Eoa~xe}NnGObtUr0}^vu*3Pc$KNW(-B6)$ur@KE|Z*lNfHB#iIa1R;h|3S6I~JXi=hd# z{XBtH>)2NDEJJ${F8yL>h=_iNK;N0$p8Pk#=r9YD;xBT>-v^t29)Vk_2{vL$!2f%L zSeIzoeUc)den2LgV|qV`E!>x1oYDWkiQxcSafg3_8|;5ByG}d@_n)`^8Xev$1qXal z^caema$t4L$<#!q(h7uKE~zjrbO<{}OYrWxDFH{J4-9K#kU*t^FwqOxo6@`ks!VGe z@|D$$$6?kbkIU+7m_aXy?~pv0L#F5Q&?_e9b$;L!WD7R;oTljV5lt?%nf=TcL3=Ki z#76u{rSPtq;lzAX`-G6|SR8Vr0!S=U-xXlK$LT1a%@{2x*x5~(Ec#)-vVveM(96Vf z-76P8$(nQLBNF-oBZZ?5njRsP5F7k5EdldI(Ij|roXPFpC6}f&twR-De)=z|X3iFs z;5Qe-MLvbtFcX)cyLQtMo_x+Y@;qnm*@S#p+LuxOd>v&oO&NFc_nO9_1e7Z_^rtz-F=4&^S4v7BqTx)r(vDyeI7uEt(!zAV>) zM1B8cfu*)kDJI^tEmn`|b^}(I_tPT`6oT0(3O=j31x!Ah1(tI*t5&HQ9J@+gOZyc5 z--xRdXhzQw+*s6w%h#e)1)^(K%&|Q;a5*k^!GKuvyh(iW4wApDYfZY81KzuCjGo%i zGb1VXTXi*bjx#{Xd-lZPx69Exc4(2_05)xtpNrRXg92U6Wq1*< z5&+4D*aOwcqQJ}5b=r?&W_Fl=UaOuwS3CmpRRVcUL)uoj?vy9;2SHF z0s1&h#_Cu+$e}JqPa4?5*xW{87juL)+XRSL0;;i$d8%4s>{t3d?TiOns05`OX%!}x z&6B8cM`u->1$^2AGT$rE3MrZc9F5`D^;I>6GYOb3z`j@*WM{`GjiC^I+48AC*>!hx zT_m7$<2@kPXwzt9F`YruKpt6_Xlu5PYw$}XU0%n$MBg>Y;Z>FG%K zv!%A=(<@cD4L@Y-yQ>%HF=`UZC`j^0?WB4&VYwt@rbH{Bo| zv@mg+xN`!BPIr>uh!wXP(%-UF^JNG+j$Iltzwl`T`rO_V^Tj34V zuA5)+ zZiG9GUD;v$i6{VxQ{DE)PhABRvhbGdb}CI`eI1V8qvcNETED(km0&YL7Nb5muk$QNoz~`^)T0&msBKQuLt&Gi-jt(VMLcisUhG!MX+dRq z{bRm~JK-e4BVFCY!9usC(VM|xf0s}60%iZnna=?}so4|8$tFphwD<@Ry}za#Iq(Wv8Y8 znHB^~&9{l+Ab;}AyMu|jknuOJAT6hL*BDYKN-$&FH8`wub3FZo;X=*yerVVmIA=~2 zk@0Mnttzdc37dSsaj^urJxVV(6`mo-2+o*nvZ7a-RX;lFMU9bxNL5~{&2?c=vn^?W z9jWD55Z7@~C`~w>}ED{M7LUokP(i-0OEo}A z7LO3Pmvg&oQo#c-E5(Wz=Ta)AL2K{Ti*L9SX4aY*lImfx5OIJ^6vJFwefkUSW0IO7 zc{A{gp3|6fXax~Rghr`t7sAi^d6=kGvLsn>b95f)eCjw>-s%kjW^*EpS}v z;MOa1W9c?%4lAg=$qvt`ohe=yMH*0X)!NG{7CIU<@hxP^VAINZ=~ASS{pQ`7pA9vb zClaAqAxs3|78y~eT3M#x|H8vleO$R>SW#$_0IRecj5bm$jR*z<^9{Oshl^n{$T{slKQynXZd%W@_3 z9G77fvP5m+L`IdjbjQn9@j56J>pC&C3Evy1mMRV4;i}R=wg!{(C>jtdupNi{5q$33 z7^PR(AK%#>xy<&ah5j;8cA=WcjH{0&!WYwP{gk==MgV_-^PQ)Ay9KbF3tJN7tK5Gr zl7aQN$qaF(YDYqux===eUWP2%cgv-yhfPC!K67>ZmwQ-_iP=q7&HcVBBg6ytMM>~r zZ(28iobwkb5KhL( zz`VgxeA@=*zyCrTUemnuosXZ_OXpinzP-r;Y!jIUWya-xF9eP0^}DOGst;M0Pt_`9 zfodiY=+YvYkM8(Uc-73ta^gBN54WXxypZfo)#1a&KO~lBaz@eTMVZ0cZM;!;0y%i) z?#v|ltMrE5fwe{ZrgHQ{GE6s;-yGm!?7e$>Jwz@v&%L4ykiOgf%<5^8Nl-4f7NlZf?^*1w|E5cRcfUhs)<0Ng99 z0Yb(@zXgKsTWmz}ruZq7)v_WGg+ii)ys+XuNjMyJZBA9qiE`b)rLetwM#dl-3jb!t z=Zd>x4XEJbIEqIlXhDS#TEHhq_d4;CR@~Da(~n2CX1)y}Jj@%^RXl$$s&~2qfkFRC z76+S1On(B0N(XsDh%$5q0fX_=6d(bZ1n9nSlVJ3 zb;zny7*l(5&aKH~Vdz}_=`YrMQWnFgs$xY$+M?(3A@`Dp;&`Ru8dGuCB=tjaNh60J7A11juZ%Qmw#v+2p%Q)^IS6xYKH z+hy^aacVBHVV9-cGjxZqMPyql%Ll@kL5S{yFI_o(OVN4;mB<5F*m<#A_}mTa6K=0X z+g8w)34Wt#%`-TeY{8+@L$;4Wi5iU``livkV=@2vJF)S1q6&lc&(1`aN4f^rWFnA8 z$lh(Gk_%c{lBv3k=q;i3Nv?Rk8 zS&jEJW9=G+3^pvkB?5J6Mz1aTkb*R%&Vwmd2@Ad`eIO@m zx{u)P*XZZc@;E((#l?v2X$I)|RUXeeY~fc% zK$i@bMiJuNp+aKTJ=!c&?Dr^P2^^%0kMk0pyz?x=A7?{l^f1HFyL&R$%f0G8#$foQ zMg)X#CA=YR2OEb|@*!g|45d5??tm!g7=wySt;>YtfTgXjIXX%`7YMo;{B2q(#Sh#V+ zz)uoAh#+jRn5n~N`$1Vp_h)S-byxv3?-Qs|HnS+#8 zkGxVWQ!VKv3I^};x(xi?a-{6}b|hf8n)6Y}eVUt%J7VhJ@87U-Rjj0QNF z&s+nnF^F}sG=-QnhT0j0(O-CHTO0G}Ulwj^1Y3*OU4d8#UAD$3>uy~Yd+dYWbUhiYDdxiIC*@3UY~9GrgX@mT@d(>Gtw!P!4Z2)R*3clrz>h!7CFz2 zb9iiPN-{G|L^D$FXH%+03;yVc>jBrHJrIrgizCyi=wfrOw$>1nbVqhSKz6w^nq9U^ z#Hel*A#<_tvhG2`#|&=CsvQ9l!OP%l)C&*5=`lR9YSukVKg(%YiU$4uv5c|sUn!wt zmc1kFpyAg3VL>-$2+C@G#Wi}YbqAaK0$ev!Fuse;Fj8yFHfb&w=bfieLHrM{j%PFh zcQDdZ;O9<*cRu@6+5X=jNPnWEyig%1nU_0c?_v_A_6?_Jc)-pK121qCAw&oegzt1m z4{cm}g4S#kc46`viz;S2np!WJYj@Que_xjQ(UQ{5b!z#Z$Gam<1h28OtJlGz{~A<@ zY!`1+8)}*4&ga;H=%8t`omJ_lNYH`se)unaK^a0tp8m>LiT*pD3{Yk>oSGJn``x#WAC-faJPeMJgj?W&)n+x0?Wl&0GLH6nvoiw#SFBlXoJ z&~x8=D|1n-4Y_qxoa!|6)7@q={&JKR(64xJMiy$th4Pm+7kr4zpZB0Yjn?W+hou&a z#pr2UVQ)55rdyIS2SwjG1^OUF_%{9yv=(b-1>xr|U@C_aq` zNrbObDDuz6u66s#zKXc-(RIrQ{lL#Ot#Zp7qae2An6`;|qvFV%U%*EzT6{S8-?wdvv9c(*d*4t`HjTHMj?5dam{6 zqI)na%S3C5aUXzck}qmubzrx{PAz{OtY|_I!@{hY4_i^B^<7ur3hxkyB~+J=X?e`&!)Q%SDT)b24meqC0t&Qee=e6NOQ?nC>A`kz6Y_^ZS-A@|Z%}7o48#FI-c{+y3Ceu*H>Q zXc8Q&BHWr*P5S(Z9ees|OS+f9*6}qSl4)O3-S<)b8-I9ppVT>`GPTjlCDoIx8aJ`r zwN*)j;Jz2=_@kF*&o1U;`yt~)c0<54k)6R}^|>6tmZ)sDvL#(qTJG9zR3WrE{cccW z+{vSqni=6;7{$?If1#`>indZ6$5;(Vf3UnhVNB~8)?#P`S7QfaCuDSL3^4<)|Ngr3 z9zxyG(Sxy2_pnCardhIZ#g)3G9`Oq&TizzEv2hEUv2Mr!64_VV5(sTu0fyue&L3~* z*wZTdIFIE&_{e(+mytW>d3>`;-TUB(<%8dMC_H6>K{bcFgtI_-ky;OT$Ug^pjmijD z3WblL?d4DI{e<>UV9JJ+G3o&3Z+DRZ9gj=MfDF>Jgn(+*|Mi?K*yqn$>(Di=%p(ct z)Y(S+F$rg^;Qs45VgG$+r^&(8ahAB+AN;xFaJ5N^M)U^qLA95@s!mN;P7(_5^KjPv znB`+(@lP%O8U9e7T=dm(Vwg%;LM_B2wI-*WFvtD)F6cxKD!`i{w471_IHU2$XVZ(D z10-djxt^sep6d^O^a)%u0P|_j5rw(AhX|!An50!h7#BebQ?fJU8+@caA2Msycl6C3 zqZ8bMHO1lBcRKI&OLxXwyLJM{7D2;&EOcT007BXo^uppZHEu50Y_E*EqkHpBY?d@w z4~BQ~VfF-*f^id0geZXDlD$4whiJwC-`qXu@O;ArD1z92D5TcgK$_E^1ZZS8;zUTl(FJ`o5~+O ziwFzb89exJQgt{IcCp zcl)G}St`~c6jvYativ4y-F#^-e5($&~4vF^;-k{TAm!dP$7L@aJ~2H*A_|K z-z$)%az|)+PW{@0G=_GDcJEgEh{_kZu9uwutgw%@lh^92;{@}69Vg<`C3^o)0qQ^3 z62mn9i0zOp1ry%wc4mYoDXEpNs+!-u`Q=&mM-ujA*JpOE<_Vub-l&G;U<(4o$m0*5 zUiLR!1Z)A%-uF0t3@vzV%R}!JgiUpkVF8xYUR4PWPv*A^NB4x-RblWM+HV^ZPR!-&2CCwauoCs+ z2rePq-N#-4ggemdb@OFQhkKN*IO$1IC5I6d%tDR(nwXMulO)G5gb0h+lWn$&&e4w^ zylrF&O58@OYs<3*EwT<1Qphplg;E@}>3O~4!`+Es#tSt2N9HKEq847;SO&@Zxpb$f zeSP!T1FQkHzWr@gJ*~jNc*pC1O>ADk1mRm77~-A z?$w0D#Z$<^5-68g?_Su{Ya>yX<3mM^?!sDO`2_Hx@5*qCVkfMW{GT}S*71Ce)s^458v_*0 zKcUDJ=QsGn^vAlE?X3i!YWcDoox7Q5i}-%zSHR zF9q}#awB}8vP{!~N&9EP@b#*=_5cSG)x9)Zb1pT-W|vPO?Vk(vG*fdjf%2}H`_az* zgE{b)iaizU_vC}e^@-usD~k25^r_BPFWXyZ9XvQs%DUIfut%(t*~FBD=!p{lgXT=9 zjNN)b5w+ZesAWv#D8}T8l}7+l+FmaN@*CSM9dcVaCO#d@%ZP2v(a}0jjj*Fl%^ufs znE~@&-qfY~b#s)(${~oWxwU_404Tjlh)GBEy4YEkmRZw?XDlO}0;A{R%J`8+UX0Ga z|0$lE^4bQBpZ^*>>=prH!rdrQ!9qj(U$5T(gi7Kdi^P?cChyPNvFjjMpF6i_=S z|MelJGvv=hz`xY_T;{YtX7N~9JRa3v3WQt!ys)q|3s8r$q?fVMo>3$bVJJK?*G#%B zQk<)S)e$}^B*=f3*F@tllrUqo?Qko{JFft|<`CUrY9uJyqmj$0>^`tz;2eN$p~Kj+ z9*;!IFKMd|pxr2zZSGYB7eH((?u>3fQ+}-=ga1iZ;N`c7+Ib{ZEW;A-oix{6+_0Lm zzBKP)pe25R1$@N$p+jZHrkomB)|9E1uYX&CM5ckrcX8=LKIH<>-9hqQJQHiJdDsu| zr->IWCk`gYu+=3=39pg=AffErNroq>mHgu85BLWHq&t@U9@iaLzJX!6@aWxolqGq5 zGgmW(C9s-xSmm!>MU16p(Y0hfiHL`{c^CH2ypbJ&eAT9k3WA7;@J7?#-s1|RSt#Nr zd|jF>rORDMg#6+^=`Z}Y-IVIdwQ%?V<>J~-3arLZn)X-6F?TkE8tmeDrDHOc7HtFH z&oe-(Hw`{=bAdS9moZZpA$A85So8R8A-D4G{Y*^Wo-Lm2RRrXI_|YS1b3YU@xK%^Y zDnQF%L#@L@Paq5DdwpZ02@Q^a6eVg~1-@Lzk?TgYum!;Xk;QLx!jIll#IIcgtc2O5 ziBpLc{@N;7C#9|Yk$O5&jDLjp!yvH868^DDPfzF)Y@8%B`gPPQ=$E;d;nNHWk? zg;}GRY3!8!oL!n(1JAE{_r*Osy2&*q9(<3$^!(EK0GMxqv4Wy`#B4+k`-Ix5wk`jw zq42=wUkmx~**i0qJf;xF(~7MjE7UK)M@gZn`@qrMtVNL%Kogy};+$dw<_?@E>%o zYpprwILBDiruEGK|%NJa5nr^i$i5PcD}MQCrj$_6F3t zY{B{0!cgo_8PJreA=B9Pyv;~RD&TgC+Wlh({b$ZDGvB}#zFZdK2FlDb+qVFc>G^KM zZHe=nT)Ez5Y>E2ctsNcuIQ#hs(+nmIFDoY&M#IsuB`89Jh;}puUqK{i($(n=1Y}nN zq7;!2P1@_OVwFNo|N)s~o- zM0mQb{1D6>KD$V+W`be=A*v}0(Nw=6lJxH+iIa%?dtPO4_$1upQzWO4QrARDLHBJ5KJlOI!_Nwh=l^< zvNA=U6jBryFF@z|p2MI7?7=7rbj^_G-f5G03M{G+1w4wRF%$X`uCD8(4z){VGU4a@ z`F`>p!MT=>SKZ!R&02#l3Q8|=Qdr!skRZNN1QyaIgM;0^<|E;*k zbCDrksTZMK6bMSrCD6Q+cxLG~c_7@P6$aIRoJs8+akNy*I|5PTE%TzpGTws8f|xmr zveiD%9|P3jp_S;=LT^^Nx*chsHLg$zFgUza!sgeB~uHP5zLrUUa zQGn%CgY}6THm$fY2aL3Tj1P@REoBkQl$79>qoY8qsj%@ z`gv`=DaSh-bUmZmDoO&A)P8y8+Kbn@QT8kjPdm_jJ|)@LM3N*Kyz_%jihj%|NGg>X zCrbKwmH!TaPi@1`tgLd%R8L1#=7DG8^3VbTvEi+>B;YodWC>$w;#N#u)D|;msD1@K z`8*X)@`PLqtG~thvJ1=*(mZxYhsX5Q1>UrDMn*;8b6B~l_3>uh&!3+O89XUa3=+Xv zANJ_)`DJ&~zV{j~mBN@jQq#{`lpM?JkSaxAV4ws+S@2H@vSM`aM>}PPJ6yAC))^-t zw1fohljGCyFv7%OjP`F$ieOk+bh>l@2_NVlloI~CGB=!7x!KLN2szTypZiU^>5%23 zkE~KpjjZokzrW!y{|5@iSrCev3zhwSa9n9Mm)w{@3<+{VAZOFKa*n^X;U`s{+4jC| z2iXeH&15Iyw#RmTm6v{nPyr2Uq8WHuEVk=wL(14Wa!nWdx(w+99a^=>9y$JL6~pP@ zsvugshw;e+Q$8ydmOpWfTMPlV`$*~bDY1&v6Y;yx=&WVvJBOt+eT+M|6piwyr;6W$ zpv4Np>3Esimr+C%;CRQHMXq>QiT*rP$hR^u)33h?3s0#rXZ!IB6R029)$us<7b7)| zF+XNtSig~XQ>h%?nxe6Mf_bSQeyM8vC4CGkApJkNt* z-ii7qAWGSCnNL)v$JFbwg-n&+*%&tR(AUUhRPYETo2SBGoKyN==Lci`uO~4~k7wzy zI9Fr{a1zIyNdPA?r@_>y6QfKSJCKRyeK` zn=u=$A%m{&Ol^fl|Jrz1)T5s$W7C`bDx=S$x2tC4up>VG^BW}!$1b7&Of{oM0Ba`e zdX=G4gK|o=i1uTx7}XU1)_FB&Cqn7jSBSTn*o&rbk6-2oxL%}-Yn~^2c}zkNfxtoR z%GQo{Hoo1g?0vM(82QO(1v+(%QbA0+aV(90(>8gD1O?ZIRd3T~y|!y2D;`!u4CVQC zPNWxK@cp$kBuVNZgM0fwMgf8(Z`pBLV3Z*HbxIJ`iy-Lb!c|tvq9Ez;^)Vs)1rbvW ztEF1Jm7ky_TG$}lLLT;zcZDC5*#j2>CE)WR;D;Ayu}YE>iz{WLD3 zS{Q%q5IFZQQK9C{jUUf#R1f`$XoE-T`%X0XdANmc$~d&-#*-YrlL1nwC<(Qe4SKY3 zBUiLAJG_n$PqKBa@^PAVaYbgRgHN_LoQ%kc2P*I!B9Fz|jRn1xo)F%7GzfyE9w*A} zZ526Im=} zGMCBMkgQwHF!a~&+)RkxdQvM@lt<+ZvZ3EyN|5o{&&DpzV#ot{C`kWV0)k@!N>t{`F~MU-~@=TimG(> z#O7cN@rx(+b=$}FBgvK2iKRr$i=)E9Y_kWl>t*N>PHYr+m^b&%TK8PB{Qzb5Xozkj)SEcT?;& z1slm{VFboD+|JX;4HCntA>TmVyyzG3Ram74N$Vq^_iSAUqWAJW0pmg=HiueYL5GN8 zO`%^xDj>ab_7ydvFD|a%@MvTwA*%dR5KbrMUUsmK-yCsxJL8RjtVZ)!HIc{%_EmPl7a& z9&pR@YoFnn4|}U{#A8Ulek-rmb*69iWtiEIDZ7oCt9lph5N3UqY;?*)9$FZ@^}5V z_Nq&NT#*O1t6U@I-)~!ND)P68QM<)O-yZp$S!gJCQ6$$8j+crA@jK(kRW$7q~*1T`T39 zj*Tbs+$mD<4Ln^_mivCm2KhKU7St(NU4tsRiw;GyUiHdXxY)4EfBTzV$lgi9J%3wL zkJS$Ktut@#dvxvG*U)jnMP|gVNMuZgzey;9hS_{Nf8P0q1pyM62dPXENDX<@Tp}d3 z-f|>4V+)@-2+<9n_Tl)Fcn7+e*AV6>Jm)6Rl<~?*lZCJcia)!L;9l?MrKOV9qvbK7 z3Yvv~Lifk+kChOWN*m_gvL27(jchn$Q>GI#vwG)J~ECPIi3^5GaK+?tIb_47l#L?(21Mdu#e zhNobuA_ON8gJ~aj&b~-&^41)q!Qvgh4O%F)QlHHhRFPqX&AG)y0B(~7i8j>|@e=tG zx0Okd((&89N_B0AfIrDwq*4l0I7IV80Nw@Ja7?^67!gOA+v1 zqCR0)5*uk(DU{V?Ex}g7nPsC;M)L=Aq$pSm3CsLW1d1Qm29vMy+h%tr8{Y*wKA5KQ zG1BA{F!u&6B|o|V#+NU<$9-d8e?#zg8KN~)941ui1A{rt3F-|JVVm6E3)ZqPLaBFv zNU0Jb+HqRDTQZ(1!73}Z3W9x#8EcFTxE6wkvk7*kC>p607C&#r$}uIrqPnF9(jnAN5D7}%qoXz+NRLSRHj zxQGCpxKQSWqM$@wfhQ4SQ=&_zFEnccbJsya#9pyouh$gCwis2LBIs}4Db%E;G?Qxq z5moMA=qS<5Xo@3k#vaV)X8J#Zlt&R{Z8b`}37tpAwAGSJMfm#HiR*s_axD-PBsL$neNjy zhCl_zJ+mSrj;Xsuhk|}8-;YA*8$d)+>T#~ww;&>hCr)(x>gccqnXlnLq5*do8pXN! zTNdrn!-!!u76i*a?(=!#llP|E{pAAu#nqPODPz0s*{1=~yc`w`1qHH$ZhqQZGdL54 z8ywN@+J$Il=?_waHZeBm#~P}a-=dqO<&k;bu1dGwx4+ajFz+hMA8_uHL5kV#X~Qz@c8y zc{;VFL>-9Z9WA0qJwpD$BlAu@!yz5+NE9Rz0w2nWGi^MdTcQIe-S#~mR^N?!HB``k zBtpgrp~R+K$uO?Qlit`uuCPx*vUIqhvYyFz<6pw7Vsp+hpl{^#rhc!;Ftr0V z@8ARB*V zN|EGGQkAIFM&|EKyMu;AcBwfIHAGww%QE^U7L@~!=D^a}xoX90jvJwy#WRP@@rxp+ z^Y2W_x%YFKE^$`X{oM?C*NXeVv+L9sE%j@sH{GrU_2Apo({==%x z3F>5L&kS3%O*A{o$j>GgrU)V0pn`alxWr92w^4Sg;_>M%E%iuJTV>gz&X&6srX&LQ zI)VasVt%Q)-ecXG^K{DZnVA6u1n;t+1uVITpiQF4ABy}zbn9{cC*+oHK3;)2_e8Y1 z2d3airf~3lQ=!~(8L;5uIay_m%ol=lmUs~k(SX|#?kSFLzIJ*(iPC z96mEq>`j6OboIg4Rrg^!w;rQ2Dk%Y$0O!BzH7k_%D3zb}yaszIi6D}9*O@JBWAuk= z-=F)paNp5g2KHM|sdp$t5+pZV;JoysTSS=2vq>w5`IbQOxnxPejLLV;UA6gBwt6IQ zPKOx99=_SPR-S{VNE%#e55-8iC98*^{aFvMjAL!=k1`3$qmQ@BzWIt$lJ&=0daa1a zFQaLAlD|RA-cYCb9$36(8=6>SRvNuw@Oo-M@wqVfeLr9V!|?DDFg2FL3NfdNR1pOU zTZn54w19RvJv(J-Wj;|RRXM_)yk*Br)MkmfjyJsj=eZrUA zoA>gfLD5Z0oT0g~&%fRC<9?^`W8XGl!?(mWev<-_B6F_E?+BC9<(&#;bh=zJjU$M8 zp`nYnUz>DJtaQ_pH9Vus!@ol_AP};5rEZw;)`6S3Z`d*xU4Qo?qrtFtuAvwT`umcV z8bdcDeto{^z|%s&Yg9TG3G3ns;B*V5$w2I?->~3DaVm=$sC)w$880iNDBNA&F&+`fjpv5y{E{ zGV~v>9e8W8!T!$~;kl1OWFx^J@{A{itBW#Pe#|8@Ep9Z9~8_;j$xCXG93ih|TG>wXDb=Jj7L6m_ywp^+z zGcC>AwA`zqQ_GRt;;Qjg+6#qQ^9pN~+|Z_s!#~=lO?EXTR3>(W3CB?_v`s;$8zVpS?q(*(BVdZd-T7L!$qMl<$Bh)N5 zkv?BO;Qp2u?zCv2NaQfyO~6_4EabXLwpXskLCQDO@Z?NI6|r=Pp}A3`$i7OLET0ce zOCKKbtGlh?H>{1!q>z?-zh3IN@t4vV61-~#b#!2Ov3p{?b{`_{yIYUDglkj~P(j?w zc-{7z$$;Q~i~kHnX=WxF)|PPo`}gW7j$vG_u`_x+bCuct2DwuC zml{?@iJNj4%c@$X?k}FetMcQhu?Qkb<36*=P}Y?s<}UB~DYy^RJj2Zo1-BGpohFl~ z{^X#LxKr4C>@GF=0x#19IRq)j55+1AWPu}5;F5mF5~C-Ztu0bpb{@oSj98Y^K-z>O z-hHVHT_3@F4Crw%B7fS?c^<7J;VRS)?fCQulCxHKr)pY;ac>Sn%AhbyDwxQ;-p}?Lljx7X_qc^j z$ZW!jJpYAs+wQj{>SxN{u9}d^bPl)^qk!>Vl?c^R2#iZY{u$5Djr>JNKVZPl|MBu! zqu)9B>8-rZ(NrlA>$`!i{pTNV^%_L@x~oyI@=0H+PdE_1kbsPY1wvUP8tnp?9jR&z zHLA%DqZmHOLu22lWFNM5{0+NBNLN(R$jgaJR<#iNxkU6%1!Yp1rV_nG z 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∓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 z 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 diff --git a/java/lib/checker-qual.jar b/java/lib/checker-qual.jar index 0d2c0970b76fd3cbac5f828bf0d83b827fea2f87..50521227bd028410c725847a194a65c3348538b5 100644 GIT binary patch delta 9082 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 CR;mjC delta 8973 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 Q)#YqI8QG8cmsqL)1KrSCW&i*H From b0fcae354a1c5efdd8fce214da3bbe69d37274d6 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 28 Nov 2025 16:58:13 -0800 Subject: [PATCH 141/211] Use Checker Framework with plume-util 1.12.3 --- java/lib/checker-framework/checker.jar | Bin 13862360 -> 13863657 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/java/lib/checker-framework/checker.jar b/java/lib/checker-framework/checker.jar index aa6759528c8e3b512a592c208002fe366768d3e4..a0de448c8c56be511676706ca5ba73677fafaa6b 100644 GIT binary patch delta 324571 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 RN$$6fdO7{wYj<*T`WHclX!-yE delta 323556 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 z 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�rcIae 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 Date: Fri, 28 Nov 2025 17:31:03 -0800 Subject: [PATCH 142/211] Typo fix --- java/daikon/dcomp/DCInstrument24.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index bcaaac853d..b8f5b2dfec 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -3153,7 +3153,7 @@ private List load_store_field( il.add(dcr_call("discard_tag", CD_void, integer_arg)); } - // Perform the origital field command. + // Perform the original field command. il.add(fi); return il; } From b9ebfcbb7697514ba7587816615a518541585c4f Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 28 Nov 2025 17:57:43 -0800 Subject: [PATCH 143/211] Remove warning suppression --- java/daikon/chicory/Instrument24.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 37e30a2be3..6accefe4ef 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -365,7 +365,6 @@ private void instrumentClass( ClassBuilder classBuilder, ClassModel classModel, ClassInfo classInfo) { debugInstrument.log("Class Name:%n"); - @SuppressWarnings("signature:assignment") // type conversion @InternalForm String temp = classModel.thisClass().asInternalName(); debugInstrument.log(" %s%n", Signatures.internalFormToBinaryName(temp)); From b2bd7e915542925eb419546ff3838aaaedcdc665 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Fri, 28 Nov 2025 18:56:02 -0800 Subject: [PATCH 144/211] Update CF --- java/lib/checker-framework/checker.jar | Bin 13863657 -> 13863793 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/java/lib/checker-framework/checker.jar b/java/lib/checker-framework/checker.jar index a0de448c8c56be511676706ca5ba73677fafaa6b..60864ac1bbed88c60e40396ce244a961c7f77173 100644 GIT binary patch delta 150108 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%0A7%5Xap^9h|5 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

        lEUM$8(<6bQmt<@$(TQ-@| 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

        The DCInstrument class is responsible for modifying bytecodes. Specifically, its main task is - * to add calls into the DynComp Runtime to calculate comparability values. These added calls are - * sometimes referred to as "hooks". + *

        This class is responsible for modifying bytecodes. Specifically, its main task is to add calls + * into the DynComp Runtime to calculate comparability values. These added calls are sometimes + * referred to as "hooks". */ @SuppressWarnings("nullness") public class DCInstrument extends InstructionListUtils { @@ -118,11 +118,14 @@ public class DCInstrument extends InstructionListUtils { @Option("Halt if an instrumentation error occurs") public static boolean quit_if_error = true; + /** The loader that loaded the Class to instrument. */ + protected @Nullable ClassLoader loader; + /** Unmodified version of input class. */ protected JavaClass orig_class; /** ClassGen for the current class. */ - protected ClassGen gen; + protected ClassGen classGen; /** MethodGen for the current method. */ protected MethodGen mgen; @@ -133,50 +136,60 @@ public class DCInstrument extends InstructionListUtils { /** The BCEL InstructionFactory for generating byte code instructions. */ protected InstructionFactory ifact; - /** The loader that loaded the Class to instrument. */ - protected @Nullable ClassLoader loader; - /** Has an {@code } method completed initialization? */ protected boolean constructor_is_initialized; /** Local that stores the tag frame for the current method. */ - protected LocalVariableGen tag_frame_local; + protected LocalVariableGen tagFrameLocal; - // Argument descriptors - - /** Type array with two objects. */ - protected static Type[] two_objects = new Type[] {Type.OBJECT, Type.OBJECT}; - - /** Type array with an object and an int. */ - protected static Type[] object_int = new Type[] {Type.OBJECT, Type.INT}; + // Type descriptors - /** Type array with a string. */ - protected static Type[] string_arg = new Type[] {Type.STRING}; + /** "java.lang.Object". */ + protected static ObjectType javalangObject = new ObjectType("java.lang.Object"); - /** Type array with an int. */ - protected static Type[] integer_arg = new Type[] {Type.INT}; + /** "java.lang.Object[]". */ + protected static Type object_arr = new ArrayType(Type.OBJECT, 1); - /** Type array with an object. */ - protected static Type[] object_arg = new Type[] {Type.OBJECT}; + /** ObjectType for "java.lang.Throwable". */ + protected static ObjectType throwable = new ObjectType("java.lang.Throwable"); /** ObjectType for "java.lang.Class". */ protected static Type javalangClass = new ObjectType("java.lang.Class"); - // Type descriptors + /** The special DCompMarker type. */ + protected ObjectType dcomp_marker; - /** Array type for "java.lang.Object[]". */ - protected static Type object_arr = new ArrayType(Type.OBJECT, 1); + // Signature descriptors - // private Type int_arr = new ArrayType (Type.INT, 1); + // No arguments - /** ObjectType for "java.lang.Throwable". */ - protected static ObjectType throwable = new ObjectType("java.lang.Throwable"); + /** Type array with no arguments. */ + protected static final Type[] noArgsSig = new Type[0]; - /** ObjectType for DCompMarker . */ - protected ObjectType dcomp_marker; + // One argument - /** ObjectType for "java.lang.Object". */ - protected static ObjectType javalangObject = new ObjectType("java.lang.Object"); + /** Type array with an int. */ + protected static Type[] intSig = new Type[] {Type.INT}; + + /** Type array with a long. */ + protected static Type[] longSig = new Type[] {Type.LONG}; + + /** Type array with a string. */ + protected static Type[] string_arg = new Type[] {Type.STRING}; + + /** Type array with an object. */ + protected static Type[] object_arg = new Type[] {Type.OBJECT}; + + // Two arguments + + /** Type array with a long and an int. */ + protected static Type[] longIntSig = new Type[] {Type.LONG, Type.INT}; + + /** Type array with an object and an int. */ + protected static Type[] objectIntSig = new Type[] {Type.OBJECT, Type.INT}; + + /** Type array with two objects. */ + protected static Type[] objectObjectSig = new Type[] {Type.OBJECT, Type.OBJECT}; // Debug loggers @@ -273,15 +286,15 @@ protected enum JunitState { * {@link #handleInvoke} routine. */ protected static MethodDef[] obj_methods = { - new MethodDef("finalize", new Type[0]), - new MethodDef("getClass", new Type[0]), - new MethodDef("hashCode", new Type[0]), - new MethodDef("notify", new Type[0]), - new MethodDef("notifyall", new Type[0]), - new MethodDef("toString", new Type[0]), - new MethodDef("wait", new Type[0]), - new MethodDef("wait", new Type[] {Type.LONG}), - new MethodDef("wait", new Type[] {Type.LONG, Type.INT}), + new MethodDef("finalize", noArgsSig), + new MethodDef("getClass", noArgsSig), + new MethodDef("hashCode", noArgsSig), + new MethodDef("notify", noArgsSig), + new MethodDef("notifyall", noArgsSig), + new MethodDef("toString", noArgsSig), + new MethodDef("wait", noArgsSig), + new MethodDef("wait", longSig), + new MethodDef("wait", longIntSig), }; /** Catch block for our handler. */ @@ -359,9 +372,9 @@ public DCInstrument(JavaClass orig_class, boolean in_jdk, @Nullable ClassLoader this.orig_class = orig_class; this.in_jdk = in_jdk; this.loader = loader; - gen = new ClassGen(orig_class); - pool = gen.getConstantPool(); - ifact = new InstructionFactory(gen); + classGen = new ClassGen(orig_class); + pool = classGen.getConstantPool(); + ifact = new InstructionFactory(classGen); constructor_is_initialized = false; if (Premain.jdk_instrumented) { dcomp_prefix = "java.lang"; @@ -374,7 +387,6 @@ public DCInstrument(JavaClass orig_class, boolean in_jdk, @Nullable ClassLoader } DCRuntime.instrumentation_interface = Signatures.addPackage(dcomp_prefix, "DCompInstrumented"); - // System.out.printf("DCInstrument %s%n", orig_class.getClassName()); // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; debug_native.enabled = DynComp.debug; @@ -389,16 +401,16 @@ public DCInstrument(JavaClass orig_class, boolean in_jdk, @Nullable ClassLoader */ public JavaClass instrument() { - @BinaryName String classname = gen.getClassName(); + @BinaryName String classname = classGen.getClassName(); // Don't know where I got this idea. They are executed. Don't remember why // adding dcomp marker causes problems. // Don't instrument annotations. They aren't executed and adding // the marker argument causes subtle errors - if ((gen.getModifiers() & Const.ACC_ANNOTATION) != 0) { + if ((classGen.getModifiers() & Const.ACC_ANNOTATION) != 0) { debug_transform.log("Not instrumenting annotation %s%n", classname); // WHY NOT RETURN NULL? - return gen.getJavaClass().copy(); + return classGen.getJavaClass().copy(); } // If a class has an EvoSuite annotation it may be instrumented by Evosuite; @@ -409,197 +421,201 @@ public JavaClass instrument() { if (item.toString().startsWith("@Lorg/evosuite/runtime")) { debug_transform.log("Not instrumenting possible Evosuite target: %s%n", classname); // WHY NOT RETURN NULL? - return gen.getJavaClass().copy(); + return classGen.getJavaClass().copy(); } } } } - debug_transform.log("Instrumenting class %s%n", classname); - debug_transform.indent(); - // Create the ClassInfo for this class and its list of methods - ClassInfo class_info = new ClassInfo(classname, loader); - boolean track_class = false; + ClassInfo classInfo = new ClassInfo(classname, loader); + boolean trackClass = false; - // Handle object methods for this class - add_clone_and_tostring_interfaces(gen); + debug_transform.log( + "%nInstrumenting class%s: %s%n", in_jdk ? " (in JDK)" : "", classInfo.class_name); + debug_transform.indent(); + + // Handle object methods for this class. + add_clone_and_tostring_interfaces(classGen); // Have all top-level classes implement the DCompInstrumented interface. - if (gen.getSuperclassName().equals("java.lang.Object")) { + if (classGen.getSuperclassName().equals("java.lang.Object")) { // Add equals method if it doesn't already exist. This ensures // that an instrumented version, equals(Object, DCompMarker), // will be created in this class. - Method eq = gen.containsMethod("equals", "(Ljava/lang/Object;)Z"); + Method eq = classGen.containsMethod("equals", "(Ljava/lang/Object;)Z"); if (eq == null) { debugInstrument.log("Added equals method%n"); - add_equals_method(gen); + add_equals_method(classGen); } // Add DCompInstrumented interface and the required // equals_dcomp_instrumented method. - add_dcomp_interface(gen); + add_dcomp_interface(classGen); } boolean junit_test_class = false; - // A very tricky special case: If JUnit is running and the current - // class has been passed to JUnit on the command line, then this - // is a JUnit test class and our normal instrumentation will - // cause JUnit to complain about multiple constructors and - // methods that should have no arguments. To work around these - // restrictions, we replace rather than duplicate each method - // we instrument and we do not add the dcomp marker argument. - // We must also remember the class name so if we see a subsequent - // call to one of its methods we do not add the dcomp argument. - - debugInstrument.log("junit_state: %s%n", junit_state); - - StackTraceElement[] stack_trace; + if (!in_jdk) { + // A very tricky special case: If JUnit is running and the current + // class has been passed to JUnit on the command line, then this + // is a JUnit test class and our normal instrumentation will + // cause JUnit to complain about multiple constructors and + // methods that should have no arguments. To work around these + // restrictions, we replace rather than duplicate each method + // we instrument and we do not add the dcomp marker argument. + // We must also remember the class name so if we see a subsequent + // call to one of its methods we do not add the dcomp argument. + + debugInstrument.log("junit_state: %s%n", junit_state); + + StackTraceElement[] stack_trace; + + switch (junit_state) { + case NOT_SEEN: + if (classname.startsWith("org.junit")) { + junit_state = JunitState.STARTING; + } + break; - switch (junit_state) { - case NOT_SEEN: - if (classname.startsWith("org.junit")) { - junit_state = JunitState.STARTING; - } - break; + case STARTING: + // Now check to see if JUnit is looking for test class(es). + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + if (debugJunitAnalysis) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + junit_parse_seen = true; + junit_state = JunitState.TEST_DISCOVERY; + break; + } + } + break; - case STARTING: - // Now check to see if JUnit is looking for test class(es). - stack_trace = Thread.currentThread().getStackTrace(); - // [0] is getStackTrace - for (int i = 1; i < stack_trace.length; i++) { - if (debugJunitAnalysis) { - System.out.printf( - "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + case TEST_DISCOVERY: + // Now check to see if JUnit is done looking for test class(es). + boolean local_junit_parse_seen = false; + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + if (debugJunitAnalysis) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } + if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + local_junit_parse_seen = true; + break; + } } - if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { + if (junit_parse_seen && !local_junit_parse_seen) { + junit_parse_seen = false; + junit_state = JunitState.RUNNING; + } else if (!junit_parse_seen && local_junit_parse_seen) { junit_parse_seen = true; - junit_state = JunitState.TEST_DISCOVERY; - break; } - } - break; + break; - case TEST_DISCOVERY: - // Now check to see if JUnit is done looking for test class(es). - boolean local_junit_parse_seen = false; - stack_trace = Thread.currentThread().getStackTrace(); - // [0] is getStackTrace - for (int i = 1; i < stack_trace.length; i++) { + case RUNNING: if (debugJunitAnalysis) { - System.out.printf( - "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + stack_trace = Thread.currentThread().getStackTrace(); + // [0] is getStackTrace + for (int i = 1; i < stack_trace.length; i++) { + System.out.printf( + "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + } } - if (isJunitTrigger(stack_trace[i].getClassName(), stack_trace[i].getMethodName())) { - local_junit_parse_seen = true; + // nothing to do + break; + + default: + throw new DynCompError("invalid junit_state"); + } + + debugInstrument.log("junit_state: %s%n", junit_state); + + if (junit_state == JunitState.TEST_DISCOVERY) { + // We have a possible JUnit test class. We need to verify by + // one of two methods. Either the class is a subclass of + // junit.framework.TestCase or one of its methods has a + // RuntimeVisibleAnnotation of org/junit/Test. + Deque classnameStack = new ArrayDeque<>(); + String super_class; + String this_class = classname; + while (true) { + super_class = getSuperclassName(this_class); + if (super_class == null) { + // something has gone wrong break; } - } - if (junit_parse_seen && !local_junit_parse_seen) { - junit_parse_seen = false; - junit_state = JunitState.RUNNING; - } else if (!junit_parse_seen && local_junit_parse_seen) { - junit_parse_seen = true; - } - break; - - case RUNNING: - if (debugJunitAnalysis) { - stack_trace = Thread.currentThread().getStackTrace(); - // [0] is getStackTrace - for (int i = 1; i < stack_trace.length; i++) { - System.out.printf( - "%s : %s%n", stack_trace[i].getClassName(), stack_trace[i].getMethodName()); + if (debugJunitAnalysis) { + System.out.printf("this_class: %s%n", this_class); + System.out.printf("super_class: %s%n", super_class); } - } - // nothing to do - break; - - default: - throw new Error("invalid junit_state"); - } - - debugInstrument.log("junit_state: %s%n", junit_state); - - if (junit_state == JunitState.TEST_DISCOVERY) { - // We have a possible JUnit test class. We need to verify by - // one of two methods. Either the class is a subclass of - // junit.framework.TestCase or one of its methods has a - // RuntimeVisibleAnnotation of org/junit/Test. - Deque classnameStack = new ArrayDeque<>(); - String super_class; - String this_class = classname; - while (true) { - super_class = getSuperclassName(this_class); - if (super_class == null) { - // something has gone wrong - break; - } - if (debugJunitAnalysis) { - System.out.printf("this_class: %s%n", this_class); - System.out.printf("super_class: %s%n", super_class); - } - if (super_class.equals("junit.framework.TestCase")) { - // This is a JUnit test class and so are the - // elements of classnameStack. - junit_test_class = true; - junitTestClasses.add(this_class); - while (!classnameStack.isEmpty()) { - junitTestClasses.add(classnameStack.pop()); + if (super_class.equals("junit.framework.TestCase")) { + // This is a JUnit test class and so are the + // elements of classnameStack. + junit_test_class = true; + junitTestClasses.add(this_class); + while (!classnameStack.isEmpty()) { + junitTestClasses.add(classnameStack.pop()); + } + break; + } else if (super_class.equals("java.lang.Object")) { + // We're done; not a JUnit test class. + // Ignore items on classnameStack. + break; } - break; - } else if (super_class.equals("java.lang.Object")) { - // We're done; not a JUnit test class. - // Ignore items on classnameStack. - break; + // Recurse and check the super_class. + classnameStack.push(this_class); + this_class = super_class; } - // Recurse and check the super_class. - classnameStack.push(this_class); - this_class = super_class; } - } - // Even if we have not detected that JUnit is active, any class that - // contains a method with a RuntimeVisibleAnnotation of org/junit/Test - // needs to be marked as a JUnit test class. (Daikon issue #536) + // Even if we have not detected that JUnit is active, any class that + // contains a method with a RuntimeVisibleAnnotation of org/junit/Test + // needs to be marked as a JUnit test class. (Daikon issue #536) - if (!junit_test_class) { - // need to check for JUnit Test annotation on a method - searchloop: - for (Method m : gen.getMethods()) { - for (final Attribute attribute : m.getAttributes()) { - if (attribute instanceof RuntimeVisibleAnnotations) { - if (debugJunitAnalysis) { - System.out.printf("attribute: %s%n", attribute.toString()); - } - for (final AnnotationEntry item : ((Annotations) attribute).getAnnotationEntries()) { + if (!junit_test_class) { + // need to check for JUnit Test annotation on a method + searchloop: + for (Method m : classGen.getMethods()) { + for (final Attribute attribute : m.getAttributes()) { + if (attribute instanceof RuntimeVisibleAnnotations) { if (debugJunitAnalysis) { - System.out.printf("item: %s%n", item.toString()); + System.out.printf("attribute: %s%n", attribute.toString()); } - if (item.toString().endsWith("org/junit/Test;") // JUnit 4 - || item.toString().endsWith("org/junit/jupiter/api/Test;") // JUnit 5 - ) { - junit_test_class = true; - junitTestClasses.add(classname); - break searchloop; + for (final AnnotationEntry item : ((Annotations) attribute).getAnnotationEntries()) { + String description = item.toString(); + if (debugJunitAnalysis) { + System.out.printf("item: %s%n", description); + } + if (description.endsWith("org/junit/Test;") // JUnit 4 + || description.endsWith("org/junit/jupiter/api/Test;") // JUnit 5 + ) { + junit_test_class = true; + junitTestClasses.add(classname); + break searchloop; + } } } } } } - } - if (junit_test_class) { - debugInstrument.log("JUnit test class: %s%n", classname); - } else { - debugInstrument.log("Not a JUnit test class: %s%n", classname); + if (junit_test_class) { + debugInstrument.log("JUnit test class: %s%n", classname); + } else { + debugInstrument.log("Not a JUnit test class: %s%n", classname); + } } - // Process each method - for (Method m : gen.getMethods()) { + // Process each method in the class. + for (Method m : classGen.getMethods()) { - tag_frame_local = null; + tagFrameLocal = null; try { // Note whether we want to track the daikon variables in this method boolean track = should_track(classname, m.getName(), methodEntryName(classname, m)); @@ -612,14 +628,14 @@ public JavaClass instrument() { // If any one method is tracked, then the class is tracked. if (track) { - track_class = true; + trackClass = true; } // If we are tracking variables, make sure the class is public - if (track && !gen.isPublic()) { - gen.isPrivate(false); - gen.isProtected(false); - gen.isPublic(true); + if (track && !classGen.isPublic()) { + classGen.isPrivate(false); + classGen.isProtected(false); + classGen.isPublic(true); } debug_transform.log(" Processing method %s, track=%b%n", simplify_method_name(m), track); @@ -631,7 +647,7 @@ public JavaClass instrument() { InstructionList il = mgen.getInstructionList(); boolean has_code = (il != null); if (has_code) { - setCurrentStackMapTable(mgen, gen.getMajor()); + setCurrentStackMapTable(mgen, classGen.getMajor()); buildUninitializedNewMap(il); } @@ -641,9 +657,9 @@ public JavaClass instrument() { if (mgen.isNative()) { // Create Java code that cleans up the tag stack and calls the real native method. - fix_native(gen, mgen); + fix_native(classGen, mgen); has_code = true; - setCurrentStackMapTable(mgen, gen.getMajor()); + setCurrentStackMapTable(mgen, classGen.getMajor()); // Add the DCompMarker argument to distinguish our version add_dcomp_arg(mgen); @@ -660,17 +676,17 @@ public JavaClass instrument() { // and add it to the list for this class. MethodInfo mi = null; if (track && has_code) { - mi = create_method_info(class_info, mgen); - class_info.method_infos.add(mi); + mi = create_method_info(classInfo, mgen); + classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); } // Instrument the method if (has_code) { // Create the local to store the tag frame for this method - tag_frame_local = create_tag_frame_local(mgen); + tagFrameLocal = create_tagFrameLocal(mgen); build_exception_handler(mgen); - instrument_method(mgen); + instrumentMethod(mgen); if (track) { add_enter(mgen, mi, DCRuntime.methods.size() - 1); add_exit(mgen, mi, DCRuntime.methods.size() - 1); @@ -719,12 +735,12 @@ public JavaClass instrument() { } } if (replacingMethod) { - gen.replaceMethod(m, mgen.getMethod()); + classGen.replaceMethod(m, mgen.getMethod()); if (BcelUtil.isMain(mgen)) { - gen.addMethod(create_dcomp_stub(mgen).getMethod()); + classGen.addMethod(create_dcomp_stub(mgen).getMethod()); } } else { - gen.addMethod(mgen.getMethod()); + classGen.addMethod(mgen.getMethod()); } } catch (Exception e) { String s = e.getMessage(); @@ -742,18 +758,18 @@ public JavaClass instrument() { // first, restore unmodified method mgen = new MethodGen(m, classname, pool); // restore StackMapTable - setCurrentStackMapTable(mgen, gen.getMajor()); + setCurrentStackMapTable(mgen, classGen.getMajor()); // Add the DCompMarker argument add_dcomp_arg(mgen); remove_local_variable_type_table(mgen); // try again if (replacingMethod) { - gen.replaceMethod(m, mgen.getMethod()); + classGen.replaceMethod(m, mgen.getMethod()); if (BcelUtil.isMain(mgen)) { - gen.addMethod(create_dcomp_stub(mgen).getMethod()); + classGen.addMethod(create_dcomp_stub(mgen).getMethod()); } } else { - gen.addMethod(mgen.getMethod()); + classGen.addMethod(mgen.getMethod()); } } else { throw e; @@ -771,31 +787,31 @@ public JavaClass instrument() { } // Add tag accessor methods for each primitive in the class. - create_tag_accessors(gen); + create_tag_accessors(classGen); // Keep track of when the class is initialized (so we don't look // for fields in uninitialized classes). - track_class_init(); + trackClass_init(); debug_transform.exdent(); // The code that builds the list of daikon variables for each ppt // needs to know what classes are instrumented. Its looks in the // Chicory runtime for this information. - if (track_class) { - debug_transform.log("DCInstrument adding %s to all class list%n", class_info); + if (trackClass) { + debug_transform.log("DCInstrument adding %s to all class list%n", classInfo); synchronized (daikon.chicory.SharedData.all_classes) { - daikon.chicory.SharedData.all_classes.add(class_info); + daikon.chicory.SharedData.all_classes.add(classInfo); } } debug_transform.log("Instrumentation complete: %s%n", classname); - return gen.getJavaClass().copy(); + return classGen.getJavaClass().copy(); } /** * Returns true if the specified classname.method_name is the root of JUnit startup code. * - * @param classname class to be checked + * @param classname class containing the given method * @param method_name method to be checked * @return true if the given method is a JUnit trigger */ @@ -850,16 +866,17 @@ boolean isJunitTrigger(String classname, @Identifier String method_name) { */ public JavaClass instrument_jdk_class() { - String classname = gen.getClassName(); + String classname = classGen.getClassName(); // Don't know where I got this idea. They are executed. Don't remember why // adding dcomp marker causes problems. // Don't instrument annotations. They aren't executed and adding // the marker argument causes subtle errors - if ((gen.getModifiers() & Const.ACC_ANNOTATION) != 0) { + if ((classGen.getModifiers() & Const.ACC_ANNOTATION) != 0) { debug_transform.log("Not instrumenting annotation %s%n", classname); + // Return classfile unmodified. // MUST NOT RETURN NULL - return gen.getJavaClass().copy(); + return classGen.getJavaClass().copy(); } int i = classname.lastIndexOf('.'); @@ -869,7 +886,8 @@ public JavaClass instrument_jdk_class() { String packageName = classname.substring(0, i); if (Premain.problem_packages.contains(packageName)) { debug_transform.log("Skipping problem package %s%n", packageName); - return gen.getJavaClass().copy(); + // Return classfile unmodified. + return classGen.getJavaClass().copy(); } } @@ -878,7 +896,8 @@ public JavaClass instrument_jdk_class() { // See Premain.java for a list and explanations. if (Premain.problem_classes.contains(classname)) { debug_transform.log("Skipping problem class %s%n", classname); - return gen.getJavaClass().copy(); + // Return classfile unmodified. + return classGen.getJavaClass().copy(); } dcompRuntimeClassName = "java.lang.DCRuntime"; } @@ -887,27 +906,27 @@ public JavaClass instrument_jdk_class() { debug_transform.indent(); // Handle object methods for this class - add_clone_and_tostring_interfaces(gen); + add_clone_and_tostring_interfaces(classGen); // Have all top-level classes implement our interface - if (gen.getSuperclassName().equals("java.lang.Object")) { + if (classGen.getSuperclassName().equals("java.lang.Object")) { // Add equals method if it doesn't already exist. This ensures // that an instrumented version, equals(Object, DCompMarker), // will be created in this class. - Method eq = gen.containsMethod("equals", "(Ljava/lang/Object;)Z"); + Method eq = classGen.containsMethod("equals", "(Ljava/lang/Object;)Z"); if (eq == null) { debugInstrument.log("Added equals method%n"); - add_equals_method(gen); + add_equals_method(classGen); } // Add DCompInstrumented interface and the required // equals_dcomp_instrumented method. - add_dcomp_interface(gen); + add_dcomp_interface(classGen); } // Process each method - for (Method m : gen.getMethods()) { + for (Method m : classGen.getMethods()) { - tag_frame_local = null; + tagFrameLocal = null; try { // Don't modify class initialization methods. They can't affect // user comparability and there isn't any way to get a second @@ -925,7 +944,7 @@ public JavaClass instrument_jdk_class() { InstructionList il = mgen.getInstructionList(); boolean has_code = (il != null); if (has_code) { - setCurrentStackMapTable(mgen, gen.getMajor()); + setCurrentStackMapTable(mgen, classGen.getMajor()); buildUninitializedNewMap(il); } @@ -935,9 +954,9 @@ public JavaClass instrument_jdk_class() { if (mgen.isNative()) { // Create Java code that cleans up the tag stack and calls the real native method. - fix_native(gen, mgen); + fix_native(classGen, mgen); has_code = true; - setCurrentStackMapTable(mgen, gen.getMajor()); + setCurrentStackMapTable(mgen, classGen.getMajor()); // Add the DCompMarker argument to distinguish our version add_dcomp_arg(mgen); @@ -950,9 +969,9 @@ public JavaClass instrument_jdk_class() { // Instrument the method if (has_code) { // Create the local to store the tag frame for this method - tag_frame_local = create_tag_frame_local(mgen); + tagFrameLocal = create_tagFrameLocal(mgen); build_exception_handler(mgen); - instrument_method(mgen); + instrumentMethod(mgen); install_exception_handler(mgen); } } @@ -993,7 +1012,7 @@ public JavaClass instrument_jdk_class() { "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); } } - gen.addMethod(mgen.getMethod()); + classGen.addMethod(mgen.getMethod()); } catch (Exception e) { String s = e.getMessage(); if (s == null) { @@ -1010,12 +1029,12 @@ public JavaClass instrument_jdk_class() { // first, restore unmodified method mgen = new MethodGen(m, classname, pool); // restore StackMapTable - setCurrentStackMapTable(mgen, gen.getMajor()); + setCurrentStackMapTable(mgen, classGen.getMajor()); // Add the DCompMarker argument add_dcomp_arg(mgen); remove_local_variable_type_table(mgen); // try again - gen.addMethod(mgen.getMethod()); + classGen.addMethod(mgen.getMethod()); } else { throw e; } @@ -1037,17 +1056,17 @@ public JavaClass instrument_jdk_class() { } // Add tag accessor methods for each primitive in the class. - create_tag_accessors(gen); + create_tag_accessors(classGen); // We don't need to track class initialization in the JDK because // that is only used when printing comparability which is only done // for client classes. - // track_class_init(); + // trackClass_init(); debug_transform.exdent(); debug_transform.log("Instrumentation complete: %s%n", classname); - return gen.getJavaClass().copy(); + return classGen.getJavaClass().copy(); } /** @@ -1055,9 +1074,9 @@ public JavaClass instrument_jdk_class() { * * @param mgen MethodGen for the method to be instrumented */ - public void instrument_method(MethodGen mgen) { + public void instrumentMethod(MethodGen mgen) { - // Because the tag_frame_local is active for the entire method + // Because the tagFrameLocal is active for the entire method // and its creation will change the state of the locals layout, // we need to insert the code to initialize it now so that the // stack anaylsis we are about to do is correct for potential @@ -1140,10 +1159,10 @@ public void instrument_method(MethodGen mgen) { * Adds the method name and containing class name to {@code skip_methods}, the list of * uninstrumented methods. * - * @param mgen method to add to skipped_methods list + * @param m method to add to skipped_methods list */ - void skip_method(MethodGen mgen) { - skipped_methods.add(mgen.getClassName() + "." + mgen.getName()); + void skip_method(MethodGen m) { + skipped_methods.add(m.getClassName() + "." + m.getName()); } /** @@ -1269,7 +1288,7 @@ public void install_exception_handler(MethodGen mgen) { */ public void add_create_tag_frame(MethodGen mgen) { - InstructionList nl = create_tag_frame(mgen, tag_frame_local); + InstructionList nl = create_tag_frame(mgen, tagFrameLocal); // We add a temporary NOP at the end of the create_tag_frame // code that we will replace with runtime initization code @@ -1355,18 +1374,18 @@ public void add_enter(MethodGen mgen, MethodInfo mi, int method_info_index) { * @param mgen method to modify * @return LocalVariableGen for the tag_frame local */ - LocalVariableGen create_tag_frame_local(MethodGen mgen) { + LocalVariableGen create_tagFrameLocal(MethodGen mgen) { return create_method_scope_local(mgen, "dcomp_tag_frame$5a", object_arr); } /** - * Creates code to create the tag frame for this method and store it in tag_frame_local. + * Creates code to create the tag frame for this method and store it in tagFrameLocal. * * @param mgen method to modify - * @param tag_frame_local LocalVariableGen for the tag_frame local + * @param tagFrameLocal LocalVariableGen for the tag_frame local * @return InstructionList for tag_frame setup code */ - InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tag_frame_local) { + InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) { Type arg_types[] = mgen.getArgumentTypes(); @@ -1397,14 +1416,14 @@ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tag_frame_loca // Character.forDigit (paramList.get(ii), Character.MAX_RADIX); } - // Create code to create/init the tag frame and store in tag_frame_local. + // Create code to create/init the tag frame and store in tagFrameLocal. InstructionList il = new InstructionList(); il.append(ifact.createConstant(params)); il.append( ifact.createInvoke( dcompRuntimeClassName, "create_tag_frame", object_arr, string_arg, Const.INVOKESTATIC)); - il.append(InstructionFactory.createStore(object_arr, tag_frame_local.getIndex())); - debugInstrument.log("Store Tag frame local at index %d%n", tag_frame_local.getIndex()); + il.append(InstructionFactory.createStore(object_arr, tagFrameLocal.getIndex())); + debugInstrument.log("Store Tag frame local at index %d%n", tagFrameLocal.getIndex()); return il; } @@ -1427,7 +1446,7 @@ InstructionList callEnterOrExit( Type[] arg_types = mgen.getArgumentTypes(); // Push the tag frame - il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); + il.append(InstructionFactory.createLoad(object_arr, tagFrameLocal.getIndex())); // Push the object. Null if this is a static method or a constructor if (mgen.isStatic() || (enterOrExit.equals("enter") && BcelUtil.isConstructor(mgen))) { @@ -1635,7 +1654,7 @@ InstructionList callEnterOrExit( case Const.LLOAD_2: case Const.LLOAD_3: { - return load_store_local((LoadInstruction) inst, tag_frame_local, "push_local_tag"); + return load_store_local((LoadInstruction) inst, tagFrameLocal, "push_local_tag"); } case Const.DSTORE: @@ -1659,7 +1678,7 @@ InstructionList callEnterOrExit( case Const.LSTORE_2: case Const.LSTORE_3: { - return load_store_local((StoreInstruction) inst, tag_frame_local, "pop_local_tag"); + return load_store_local((StoreInstruction) inst, tagFrameLocal, "pop_local_tag"); } case Const.LDC: @@ -2035,7 +2054,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { if (debugHandleInvoke) { System.out.printf("handleInvoke(%s)%n", invoke); - System.out.printf(" invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); + System.out.printf(" invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); System.out.printf(" invoke targ: %s%n", classname + "." + methodName); System.out.printf(" callee_instrumented: %s%n", callee_instrumented); } @@ -2133,7 +2152,7 @@ private boolean isTargetInstrumented( if (debugHandleInvoke) { System.out.printf("isClassnameInstrumented: %s%n", targetInstrumented); - System.out.printf("invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); + System.out.printf("invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); System.out.printf("invoke targ: %s%n", classname + "." + methodName); } @@ -2207,7 +2226,7 @@ private boolean isTargetInstrumented( if (debugHandleInvoke) { System.out.println("method: " + methodName); System.out.println("paramTypes: " + Arrays.toString(paramTypes)); - System.out.printf("invoke host: %s%n", gen.getClassName() + "." + mgen.getName()); + System.out.printf("invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); } @ClassGetName String targetClassname = classname; @@ -2292,7 +2311,7 @@ private boolean isTargetInstrumented( } if (invoke instanceof INVOKESPECIAL) { - if (classname.equals(gen.getSuperclassName()) && methodName.equals("")) { + if (classname.equals(classGen.getSuperclassName()) && methodName.equals("")) { this.constructor_is_initialized = true; } } @@ -2402,7 +2421,7 @@ private boolean isClassnameInstrumented( // We have decided not to use the instrumented version of Random as // the method generates values based on an initial seed value. - // (Typical of random() algorithms.) Instrumentation would have the undesirable side + // (Typical of random() algorithms.) Instrumentation would have the undesirable side // effect of putting all the generated values in the same comparison // set when they should be distinct. // Note: If we find other classes that should not use the instrumented @@ -2553,7 +2572,11 @@ InstructionList object_comparison( InstructionList il = new InstructionList(); il.append( ifact.createInvoke( - dcompRuntimeClassName, compare_method, Type.BOOLEAN, two_objects, Const.INVOKESTATIC)); + dcompRuntimeClassName, + compare_method, + Type.BOOLEAN, + objectObjectSig, + Const.INVOKESTATIC)); assert branch.getTarget() != null; il.append(InstructionFactory.createBranchInstruction(boolean_if, branch.getTarget())); return il; @@ -2580,7 +2603,7 @@ InstructionList load_store_field(MethodGen mgen, FieldInstruction fi) { il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); } else { il.append(ifact.createConstant(1)); - il.append(dcr_call("discard_tag", Type.VOID, integer_arg)); + il.append(dcr_call("discard_tag", Type.VOID, intSig)); } // Perform the orginal field command. @@ -2652,7 +2675,7 @@ InstructionList load_store_field(MethodGen mgen, FieldInstruction fi) { * method in DCRuntime and passing that method the tag frame and the offset of local/parameter. */ InstructionList load_store_local( - LocalVariableInstruction lvi, LocalVariableGen tag_frame_local, @Identifier String method) { + LocalVariableInstruction lvi, LocalVariableGen tagFrameLocal, @Identifier String method) { // Don't need tags for objects assert !(lvi instanceof ALOAD) && !(lvi instanceof ASTORE) : "lvi " + lvi; @@ -2660,8 +2683,8 @@ InstructionList load_store_local( InstructionList il = new InstructionList(); // Push the tag frame and the index of this local - il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); - debugInstrument.log("CreateLoad %s %d%n", object_arr, tag_frame_local.getIndex()); + il.append(InstructionFactory.createLoad(object_arr, tagFrameLocal.getIndex())); + debugInstrument.log("CreateLoad %s %d%n", object_arr, tagFrameLocal.getIndex()); il.append(ifact.createConstant(lvi.getIndex())); // Call the runtime method to handle loading/storing the local/parameter @@ -2771,11 +2794,11 @@ LocalVariableGen get_return_local(MethodGen mgen, @Nullable Type return_type) { * Creates a MethodInfo corresponding to the specified method. The exit locations are filled in, * but the reflection information is not generated. Returns null if there are no instructions. * - * @param class_info class containing the method + * @param classInfo class containing the method * @param mgen method to inspect * @return a new MethodInfo for the method, or null if the method should not be instrumented */ - @Nullable MethodInfo create_method_info(ClassInfo class_info, MethodGen mgen) { + @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen mgen) { // if (mgen.getName().equals("")) { // // This case DOES occur at run time. -MDE 1/22/2010 @@ -2860,18 +2883,18 @@ LocalVariableGen get_return_local(MethodGen mgen, @Nullable Type return_type) { } return new MethodInfo( - class_info, mgen.getName(), paramNames, param_type_strings, exit_line_numbers, isIncluded); + classInfo, mgen.getName(), paramNames, param_type_strings, exit_line_numbers, isIncluded); } /** * Adds a call to DCRuntime.set_class_initialized (String classname) to the class initializer for * this class. Creates a class initializer if one is not currently present. */ - void track_class_init() { + void trackClass_init() { // Look for the class init method. If not found, create an empty one. Method cinit = null; - for (Method m : gen.getMethods()) { + for (Method m : classGen.getMethods()) { if (m.getName().equals("")) { cinit = m; break; @@ -2880,30 +2903,30 @@ void track_class_init() { if (cinit == null) { InstructionList il = new InstructionList(); il.append(InstructionFactory.createReturn(Type.VOID)); - MethodGen cinit_gen = + MethodGen cinit_classGen = new MethodGen( Const.ACC_STATIC, Type.VOID, Type.NO_ARGS, new String[0], "", - gen.getClassName(), + classGen.getClassName(), il, pool); - cinit_gen.setMaxLocals(); - cinit_gen.setMaxStack(); - cinit_gen.update(); - cinit = cinit_gen.getMethod(); - gen.addMethod(cinit); + cinit_classGen.setMaxLocals(); + cinit_classGen.setMaxStack(); + cinit_classGen.update(); + cinit = cinit_classGen.getMethod(); + classGen.addMethod(cinit); } try { - MethodGen cinit_gen = new MethodGen(cinit, gen.getClassName(), pool); - setCurrentStackMapTable(cinit_gen, gen.getMajor()); + MethodGen cinit_classGen = new MethodGen(cinit, classGen.getClassName(), pool); + setCurrentStackMapTable(cinit_classGen, classGen.getMajor()); // Add a call to DCRuntime.set_class_initialized to the beginning of the method InstructionList il = new InstructionList(); - il.append(ifact.createConstant(gen.getClassName())); + il.append(ifact.createConstant(classGen.getClassName())); il.append( ifact.createInvoke( dcompRuntimeClassName, @@ -2912,16 +2935,16 @@ void track_class_init() { string_arg, Const.INVOKESTATIC)); - insertAtMethodStart(cinit_gen, il); - createNewStackMapAttribute(cinit_gen); - cinit_gen.setMaxLocals(); - cinit_gen.setMaxStack(); - gen.replaceMethod(cinit, cinit_gen.getMethod()); + insertAtMethodStart(cinit_classGen, il); + createNewStackMapAttribute(cinit_classGen); + cinit_classGen.setMaxLocals(); + cinit_classGen.setMaxStack(); + classGen.replaceMethod(cinit, cinit_classGen.getMethod()); } catch (Throwable t) { if (debugInstrument.enabled) { t.printStackTrace(); } - throw new Error("Error processing " + gen.getClassName() + "." + cinit.getName(), t); + throw new Error("Error processing " + classGen.getClassName() + "." + cinit.getName(), t); } } @@ -2945,7 +2968,7 @@ InstructionList array_load(Instruction inst) { String method = "primitive_array_load"; if (inst instanceof AALOAD) { method = "ref_array_load"; - } else if (is_class_initialized_by_jvm(gen.getClassName())) { + } else if (is_class_initialized_by_jvm(classGen.getClassName())) { method = "primitive_array_load_null_ok"; } @@ -3139,7 +3162,7 @@ InvokeInstruction dcr_call(@Identifier String methodName, Type returnType, Type[ InstructionList discard_tag_code(Instruction inst, int tag_count) { InstructionList il = new InstructionList(); il.append(ifact.createConstant(tag_count)); - il.append(dcr_call("discard_tag", Type.VOID, integer_arg)); + il.append(dcr_call("discard_tag", Type.VOID, intSig)); append_inst(il, inst); return il; } @@ -3418,7 +3441,7 @@ InstructionList return_tag(MethodGen mgen, Instruction inst) { InstructionList il = new InstructionList(); // Push the tag frame - il.append(InstructionFactory.createLoad(object_arr, tag_frame_local.getIndex())); + il.append(InstructionFactory.createLoad(object_arr, tagFrameLocal.getIndex())); if ((type instanceof BasicType) && (type != Type.VOID)) { il.append(dcr_call("normal_exit_primitive", Type.VOID, new Type[] {object_arr})); @@ -3500,10 +3523,10 @@ static Class type_to_class(Type t, ClassLoader loader) { * *

        TODO: add a way to provide a synopsis for native methods that affect comparability. * - * @param gen current class + * @param classGen current class * @param mgen the interface method. Must be native. */ - void fix_native(ClassGen gen, MethodGen mgen) { + void fix_native(ClassGen classGen, MethodGen mgen) { InstructionList il = new InstructionList(); Type[] paramTypes = mgen.getArgumentTypes(); @@ -3539,7 +3562,7 @@ void fix_native(ClassGen gen, MethodGen mgen) { // If the method is not static, push the instance on the stack if (!mgen.isStatic()) { - il.append(InstructionFactory.createLoad(new ObjectType(gen.getClassName()), 0)); + il.append(InstructionFactory.createLoad(new ObjectType(classGen.getClassName()), 0)); } // System.out.printf("%s: atc = %d, anc = %d%n", mgen.getName(), paramTypes.length, @@ -3548,14 +3571,14 @@ void fix_native(ClassGen gen, MethodGen mgen) { // if call is sun.reflect.Reflection.getCallerClass (realFramesToSkip) if (mgen.getName().equals("getCallerClass") && (paramTypes.length == 1) - && gen.getClassName().equals("sun.reflect.Reflection")) { + && classGen.getClassName().equals("sun.reflect.Reflection")) { // The call returns the class realFramesToSkip up on the stack. Since we // have added this call in between, we need to increment that number by 1. il.append(InstructionFactory.createLoad(Type.INT, 0)); il.append(ifact.createConstant(1)); il.append(new IADD()); - // System.out.printf("adding 1 in %s.%s%n", gen.getClassName(), + // System.out.printf("adding 1 in %s.%s%n", classGen.getClassName(), // mgen.getName()); } else { // normal call @@ -3574,7 +3597,7 @@ void fix_native(ClassGen gen, MethodGen mgen) { // Call the method il.append( ifact.createInvoke( - gen.getClassName(), + classGen.getClassName(), mgen.getName(), mgen.getReturnType(), paramTypes, @@ -3606,8 +3629,8 @@ void fix_native(ClassGen gen, MethodGen mgen) { boolean tag_fields_ok(MethodGen mgen, @ClassGetName String classname) { // Prior to Java 8 an interface could not contain any implementations. - if (gen.isInterface()) { - if (gen.getMajor() < Const.MAJOR_1_8) { + if (classGen.isInterface()) { + if (classGen.getMajor() < Const.MAJOR_1_8) { return false; } } @@ -3656,10 +3679,10 @@ static String stack_contents(OperandStack stack, int max_items) { } /** - * Creates tag get and set accessor methods for each field in gen. An accessor is created for each - * field (including final, static, and private fields). The accessors share the modifiers of their - * field (except that all are final). Accessors are named {@code ___$get_tag} and - * {@code ___$set_tag}. The class name must be included because field names can + * Creates tag get and set accessor methods for each field in classGen. An accessor is created for + * each field (including final, static, and private fields). The accessors share the modifiers of + * their field (except that all are final). Accessors are named {@code ___$get_tag} + * and {@code ___$set_tag}. The class name must be included because field names can * shadow one another. * *

        If tag_fields_ok is true for the class, then tag fields are created and the accessor uses @@ -3671,20 +3694,20 @@ static String stack_contents(OperandStack stack, int max_items) { * *

        Any accessors created are added to the class. * - * @param gen class to check for fields + * @param classGen class to check for fields */ - void create_tag_accessors(ClassGen gen) { + void create_tag_accessors(ClassGen classGen) { - String classname = gen.getClassName(); + String classname = classGen.getClassName(); // If this class doesn't support tag fields, don't create them if (!tag_fields_ok(mgen, classname)) return; Set field_set = new HashSet<>(); - Map field_to_offset_map = build_field_to_offset_map(gen.getJavaClass()); + Map field_to_offset_map = build_field_to_offset_map(classGen.getJavaClass()); // Build accessors for all fields declared in this class - for (Field f : gen.getFields()) { + for (Field f : classGen.getFields()) { assert !field_set.contains(f.getName()) : f.getName() + "-" + classname; field_set.add(f.getName()); @@ -3698,21 +3721,21 @@ void create_tag_accessors(ClassGen gen) { MethodGen set_method; if (f.isStatic()) { String full_name = full_name(orig_class, f); - get_method = create_get_tag(gen, f, static_field_id.get(full_name)); - set_method = create_set_tag(gen, f, static_field_id.get(full_name)); + get_method = create_get_tag(classGen, f, static_field_id.get(full_name)); + set_method = create_set_tag(classGen, f, static_field_id.get(full_name)); } else { - get_method = create_get_tag(gen, f, field_to_offset_map.get(f)); - set_method = create_set_tag(gen, f, field_to_offset_map.get(f)); + get_method = create_get_tag(classGen, f, field_to_offset_map.get(f)); + set_method = create_set_tag(classGen, f, field_to_offset_map.get(f)); } - gen.addMethod(get_method.getMethod()); - gen.addMethod(set_method.getMethod()); + classGen.addMethod(get_method.getMethod()); + classGen.addMethod(set_method.getMethod()); } // Build accessors for each field declared in a superclass that is // is not shadowed in a subclass JavaClass[] super_classes; try { - super_classes = gen.getJavaClass().getSuperClasses(); + super_classes = classGen.getJavaClass().getSuperClasses(); } catch (Exception e) { throw new Error(e); } @@ -3733,14 +3756,14 @@ void create_tag_accessors(ClassGen gen) { MethodGen set_method; if (f.isStatic()) { String full_name = full_name(super_class, f); - get_method = create_get_tag(gen, f, static_field_id.get(full_name)); - set_method = create_set_tag(gen, f, static_field_id.get(full_name)); + get_method = create_get_tag(classGen, f, static_field_id.get(full_name)); + set_method = create_set_tag(classGen, f, static_field_id.get(full_name)); } else { - get_method = create_get_tag(gen, f, field_to_offset_map.get(f)); - set_method = create_set_tag(gen, f, field_to_offset_map.get(f)); + get_method = create_get_tag(classGen, f, field_to_offset_map.get(f)); + set_method = create_set_tag(classGen, f, field_to_offset_map.get(f)); } - gen.addMethod(get_method.getMethod()); - gen.addMethod(set_method.getMethod()); + classGen.addMethod(get_method.getMethod()); + classGen.addMethod(set_method.getMethod()); } } } @@ -3815,13 +3838,13 @@ Map build_field_to_offset_map(JavaClass jc) { * } * } * - * @param gen class whose accessors are being built. Not necessarily the class declaring f (if f - * is inherited). + * @param classGen class whose accessors are being built. Not necessarily the class declaring f + * (if f is inherited). * @param f field to build an accessor for * @param tag_offset offset of f in the tag storage for this field * @return the get tag method */ - MethodGen create_get_tag(ClassGen gen, Field f, int tag_offset) { + MethodGen create_get_tag(ClassGen classGen, Field f, int tag_offset) { // Determine the method to call in DCRuntime. Instance fields and static // fields are handled separately. Also instance fields in special @@ -3831,16 +3854,16 @@ MethodGen create_get_tag(ClassGen gen, Field f, int tag_offset) { Type[] params; if (f.isStatic()) { methodname = "push_static_tag"; - params = integer_arg; - } else if (is_class_initialized_by_jvm(gen.getClassName())) { + params = intSig; + } else if (is_class_initialized_by_jvm(classGen.getClassName())) { methodname = "push_field_tag_null_ok"; - params = object_int; + params = objectIntSig; } else { methodname = "push_field_tag"; - params = object_int; + params = objectIntSig; } - String classname = gen.getClassName(); + String classname = classGen.getClassName(); String accessor_name = Premain.tag_method_name(Premain.GET_TAG, classname, f.getName()); InstructionList il = new InstructionList(); @@ -3853,10 +3876,10 @@ MethodGen create_get_tag(ClassGen gen, Field f, int tag_offset) { il.append(InstructionFactory.createReturn(Type.VOID)); int access_flags = f.getAccessFlags(); - if (gen.isInterface()) { + if (classGen.isInterface()) { // method in interface cannot be final access_flags &= ~Const.ACC_FINAL; - if (gen.getMajor() < Const.MAJOR_1_8) { + if (classGen.getMajor() < Const.MAJOR_1_8) { // If class file version is prior to 8 then a method in an interface // cannot be static (it's implicit) and must be abstract. access_flags &= ~Const.ACC_STATIC; @@ -3900,22 +3923,22 @@ MethodGen create_get_tag(ClassGen gen, Field f, int tag_offset) { * } * } * - * @param gen class whose accessors are being built. Not necessarily the class declaring f (if f - * is inherited). + * @param classGen class whose accessors are being built. Not necessarily the class declaring f + * (if f is inherited). * @param f field to build an accessor for * @param tag_offset offset of f in the tag storage for this field * @return the set tag method */ - MethodGen create_set_tag(ClassGen gen, Field f, int tag_offset) { + MethodGen create_set_tag(ClassGen classGen, Field f, int tag_offset) { String methodname = "pop_field_tag"; - Type[] params = object_int; + Type[] params = objectIntSig; if (f.isStatic()) { methodname = "pop_static_tag"; - params = integer_arg; + params = intSig; } - String classname = gen.getClassName(); + String classname = classGen.getClassName(); String setter_name = Premain.tag_method_name(Premain.SET_TAG, classname, f.getName()); InstructionList il = new InstructionList(); @@ -3928,10 +3951,10 @@ MethodGen create_set_tag(ClassGen gen, Field f, int tag_offset) { il.append(InstructionFactory.createReturn(Type.VOID)); int access_flags = f.getAccessFlags(); - if (gen.isInterface()) { + if (classGen.isInterface()) { // method in interface cannot be final access_flags &= ~Const.ACC_FINAL; - if (gen.getMajor() < Const.MAJOR_1_8) { + if (classGen.getMajor() < Const.MAJOR_1_8) { // If class file version is prior to 8 then a method in an interface // cannot be static (it's implicit) and must be abstract. access_flags &= ~Const.ACC_STATIC; @@ -3972,15 +3995,15 @@ MethodGen create_set_tag(ClassGen gen, Field f, int tag_offset) { * The method does nothing except call the instrumented equals method {@code boolean * equals(Object, DCompMarker)}. * - * @param gen class to add interface to + * @param classGen class to add interface to */ - void add_dcomp_interface(ClassGen gen) { - gen.addInterface(DCRuntime.instrumentation_interface); + void add_dcomp_interface(ClassGen classGen) { + classGen.addInterface(DCRuntime.instrumentation_interface); debugInstrument.log("Added interface DCompInstrumented%n"); InstructionList il = new InstructionList(); int access_flags = Const.ACC_PUBLIC; - if (gen.isInterface()) { + if (classGen.isInterface()) { access_flags |= Const.ACC_ABSTRACT; } MethodGen method = @@ -3990,7 +4013,7 @@ void add_dcomp_interface(ClassGen gen) { new Type[] {Type.OBJECT}, new String[] {"obj"}, "equals_dcomp_instrumented", - gen.getClassName(), + classGen.getClassName(), il, pool); @@ -3999,7 +4022,7 @@ void add_dcomp_interface(ClassGen gen) { il.append(new ACONST_NULL()); // use null for marker il.append( ifact.createInvoke( - gen.getClassName(), + classGen.getClassName(), "equals", Type.BOOLEAN, new Type[] {Type.OBJECT, dcomp_marker}, @@ -4007,7 +4030,7 @@ void add_dcomp_interface(ClassGen gen) { il.append(InstructionFactory.createReturn(Type.BOOLEAN)); method.setMaxStack(); method.setMaxLocals(); - gen.addMethod(method.getMethod()); + classGen.addMethod(method.getMethod()); il.dispose(); } @@ -4022,12 +4045,12 @@ void add_dcomp_interface(ClassGen gen) { * * Throws a ClassFormatError if the equals method is already defined in the class. * - * @param gen class to add method to + * @param classGen class to add method to */ - void add_equals_method(ClassGen gen) { + void add_equals_method(ClassGen classGen) { InstructionList il = new InstructionList(); int access_flags = Const.ACC_PUBLIC; - if (gen.isInterface()) { + if (classGen.isInterface()) { access_flags |= Const.ACC_ABSTRACT; } MethodGen method = @@ -4037,7 +4060,7 @@ void add_equals_method(ClassGen gen) { new Type[] {Type.OBJECT}, new String[] {"obj"}, "equals", - gen.getClassName(), + classGen.getClassName(), il, pool); @@ -4045,7 +4068,7 @@ void add_equals_method(ClassGen gen) { il.append(InstructionFactory.createLoad(Type.OBJECT, 1)); // load obj il.append( ifact.createInvoke( - gen.getSuperclassName(), + classGen.getSuperclassName(), "equals", Type.BOOLEAN, new Type[] {Type.OBJECT}, @@ -4053,7 +4076,7 @@ void add_equals_method(ClassGen gen) { il.append(InstructionFactory.createReturn(Type.BOOLEAN)); method.setMaxStack(); method.setMaxLocals(); - gen.addMethod(method.getMethod()); + classGen.addMethod(method.getMethod()); il.dispose(); } @@ -4062,17 +4085,17 @@ void add_equals_method(ClassGen gen) { * class overrides. Callers will call the instrumented version of the method if it exists, * otherwise they will call the uninstrumented version. * - * @param gen class to check + * @param classGen class to check */ - void add_clone_and_tostring_interfaces(ClassGen gen) { - Method cl = gen.containsMethod("clone", "()Ljava/lang/Object;"); + void add_clone_and_tostring_interfaces(ClassGen classGen) { + Method cl = classGen.containsMethod("clone", "()Ljava/lang/Object;"); if (cl != null) { - gen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompClone")); + classGen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompClone")); } - Method ts = gen.containsMethod("toString", "()Ljava/lang/String;"); + Method ts = classGen.containsMethod("toString", "()Ljava/lang/String;"); if (ts != null) { - gen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompToString")); + classGen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompToString")); } } diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 67e8dc1f0c..030c7df9de 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -121,9 +121,9 @@ /** * Instruments a class file to perform Dynamic Comparability. * - *

        The DCInstrument24 class is responsible for modifying another class's bytecodes. Specifically, - * its main task is to add calls into the DynComp Runtime to calculate comparability values. These - * added calls are sometimes referred to as "hooks". + *

        This class is responsible for modifying bytecodes. Specifically, its main task is to add calls + * into the DynComp Runtime to calculate comparability values. These added calls are sometimes + * referred to as "hooks". * *

        Instrument24 and DCInstrument24 use Java's ({@code java.lang.classfile}) APIs for reading and * modifying .class files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more @@ -194,10 +194,10 @@ public int compare(WorkItem w1, WorkItem w2) { // Variables used for the entire class. - /** The current ClassFile. */ + /** The current classfile. */ protected ClassFile classFile; - /** The current ClassModel. */ + /** The current class. */ protected ClassModel classModel; /** ConstantPool builder for current class. */ @@ -221,28 +221,42 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} /** Local that stores the tag frame for the current method. */ protected LocalVariable tagFrameLocal; - // Argument descriptors + // Type descriptors - /** Type array with two objects. */ - protected static ClassDesc[] two_objects_arg = {CD_Object, CD_Object}; + /** "java.lang.Object[]". */ + protected static final ClassDesc objectArrayCD = CD_Object.arrayType(1); + + /** The special DCompMarker type. */ + protected final ClassDesc dcomp_marker; + + // Signature descriptors + + // No arguments + + /** Type array with no arguments. */ + protected static final ClassDesc[] noArgsSig = new ClassDesc[0]; + + // One argument /** Type array with an int. */ - protected static ClassDesc[] integer_arg = {CD_int}; + protected static ClassDesc[] intSig = {CD_int}; + + /** Type array with a long. */ + protected static ClassDesc[] longSig = {CD_long}; /** Type array with an object. */ protected static ClassDesc[] object_arg = {CD_Object}; - /** ClassDesc for the special dcomp_marker argument. */ - protected final ClassDesc dcomp_marker; - - /** ClassDesc for an Object array. */ - protected static final ClassDesc objectArrayCD = CD_Object.arrayType(1); - /** Type array with an Object array. */ protected static final ClassDesc[] objectArrayCD_arg = {objectArrayCD}; - /** Type array with no arguments. */ - protected static final ClassDesc[] noArgsCD = new ClassDesc[0]; + // Two arguments + + /** Type array with a long and an int. */ + protected static ClassDesc[] longIntSig = {CD_long, CD_int}; + + /** Type array with two objects. */ + protected static ClassDesc[] objectObjectSig = {CD_Object, CD_Object}; // Debug loggers @@ -280,7 +294,7 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} protected @DotSeparatedIdentifiers String dcomp_prefix; /** Either "daikon.dcomp.DCRuntime" or "java.lang.DCRuntime". */ - private @BinaryName String dcompRuntimeClassname; + private @BinaryName String dcompRuntimeClassName; /** The ClassDesc for the DynComp runtime support class. */ private ClassDesc runtimeCD; @@ -345,15 +359,15 @@ protected enum JunitState { * {@link #handleInvoke} routine. */ protected static MethodDef[] obj_methods = { - new MethodDef("finalize", new ClassDesc[0]), - new MethodDef("getClass", new ClassDesc[0]), - new MethodDef("hashCode", new ClassDesc[0]), - new MethodDef("notify", new ClassDesc[0]), - new MethodDef("notifyall", new ClassDesc[0]), - new MethodDef("toString", new ClassDesc[0]), - new MethodDef("wait", new ClassDesc[0]), - new MethodDef("wait", new ClassDesc[] {CD_long}), - new MethodDef("wait", new ClassDesc[] {CD_long, CD_int}), + new MethodDef("finalize", noArgsSig), + new MethodDef("getClass", noArgsSig), + new MethodDef("hashCode", noArgsSig), + new MethodDef("notify", noArgsSig), + new MethodDef("notifyall", noArgsSig), + new MethodDef("toString", noArgsSig), + new MethodDef("wait", noArgsSig), + new MethodDef("wait", longSig), + new MethodDef("wait", longIntSig), }; /** Represents a method (by its name and argument types). */ @@ -435,7 +449,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk if (BcelUtil.javaVersion == 8) { dcomp_prefix = "daikon.dcomp"; } - dcompRuntimeClassname = Signatures.addPackage(dcomp_prefix, "DCRuntime"); + dcompRuntimeClassName = Signatures.addPackage(dcomp_prefix, "DCRuntime"); DCRuntime.instrumentation_interface = Signatures.addPackage(dcomp_prefix, "DCompInstrumented"); // Turn on some of the logging based on debug option. @@ -480,7 +494,7 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk // If a class has an EvoSuite annotation it may be instrumented by Evosuite; // thus, we should not instrument it before Evosuite does. - for (Attribute attribute : classModel.attributes()) { + for (final Attribute attribute : classModel.attributes()) { if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { for (final Annotation item : rvaa.annotations()) { if (item.className().stringValue().startsWith("Lorg/evosuite/runtime")) { @@ -520,7 +534,7 @@ private void instrumentClass( @BinaryName String classname = classInfo.class_name; classGen = new ClassGen24(classModel, classname, classBuilder); - runtimeCD = ClassDesc.of(dcompRuntimeClassname); + runtimeCD = ClassDesc.of(dcompRuntimeClassName); poolBuilder = classBuilder.constantPool(); debug_transform.log( @@ -537,10 +551,11 @@ private void instrumentClass( debugInstrument.log(" %s%n", ce.asInternalName()); } - // Handle object methods for this class + trackClass = false; + + // Handle object methods for this class. add_clone_and_tostring_interfaces(classGen); - trackClass = false; boolean junit_test_class = false; if (!in_jdk) { @@ -669,7 +684,7 @@ private void instrumentClass( // need to check for JUnit Test annotation on a method searchloop: for (MethodModel mm : classModel.methods()) { - for (Attribute attribute : mm.attributes()) { + for (final Attribute attribute : mm.attributes()) { if (attribute instanceof RuntimeVisibleAnnotationsAttribute rvaa) { if (debugJunitAnalysis) { System.out.printf("attribute: %s%n", attribute); @@ -854,7 +869,7 @@ private void instrumentAllMethods( // throw new DynCompError("Classfile out of date"); } - // Process each method in the class + // Process each method in the class. for (MethodModel mm : classModel.methods()) { try { @@ -1067,7 +1082,7 @@ private void copyCode( } /** - * Instrument the given method using {@link #instrumentCode}. + * Instrument the specified method for dynamic comparability. * * @param methodBuilder for the given method * @param methodModel for the given method @@ -1437,7 +1452,7 @@ boolean isJunitTrigger(String classname, @Identifier String method_name) { // Return classfile unmodified. return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); } - dcompRuntimeClassname = "java.lang.DCRuntime"; + dcompRuntimeClassName = "java.lang.DCRuntime"; } try { @@ -1699,10 +1714,10 @@ protected static void verifyOperandStackMatches( * Adds the method name and containing class name to {@code skip_methods}, the list of * uninstrumented methods. * - * @param method method to add to skipped_methods list + * @param m method to add to skipped_methods list */ - void skip_method(String method) { - skipped_methods.add(method); + void skip_method(String m) { + skipped_methods.add(m); } /** @@ -1963,7 +1978,7 @@ private List callEnterOrExit( // the object on top of stack is of the specified type. We push a // tag for a constant, since nothing is made comparable by this. case Opcode.INSTANCEOF: - return build_il(dcr_call("push_const", CD_void, noArgsCD), inst); + return build_il(dcr_call("push_const", CD_void, noArgsSig), inst); // Duplicates the item on the top of stack. If the value on the // top of the stack is a primitive, we need to do the same on the @@ -2023,7 +2038,7 @@ private List callEnterOrExit( case Opcode.IF_ICMPLT: case Opcode.IF_ICMPNE: { - return build_il(dcr_call("cmp_op", CD_void, noArgsCD), inst); + return build_il(dcr_call("cmp_op", CD_void, noArgsSig), inst); } case Opcode.GETFIELD: @@ -2091,7 +2106,7 @@ private List callEnterOrExit( if (((ConstantInstruction) inst).typeKind().equals(TypeKind.REFERENCE)) { return null; } - return build_il(dcr_call("push_const", CD_void, noArgsCD), inst); + return build_il(dcr_call("push_const", CD_void, noArgsSig), inst); } // Push the tag for the array onto the tag stack. This causes @@ -2119,7 +2134,7 @@ private List callEnterOrExit( case Opcode.LCONST_0: case Opcode.LCONST_1: { - return build_il(dcr_call("push_const", CD_void, noArgsCD), inst); + return build_il(dcr_call("push_const", CD_void, noArgsSig), inst); } // Primitive Binary operators. Each is augmented with a call to @@ -2162,7 +2177,7 @@ private List callEnterOrExit( case Opcode.LSUB: case Opcode.LUSHR: case Opcode.LXOR: - return build_il(dcr_call("binary_tag_op", CD_void, noArgsCD), inst); + return build_il(dcr_call("binary_tag_op", CD_void, noArgsSig), inst); // Computed jump based on the int on the top of stack. Since that int // is not made comparable to anything, we just discard its tag. One @@ -2212,7 +2227,7 @@ private List callEnterOrExit( // Throws an exception. This clears the operand stack of the current // frame. We need to clear the tag stack as well. case Opcode.ATHROW: - return build_il(dcr_call("throw_op", CD_void, noArgsCD), inst); + return build_il(dcr_call("throw_op", CD_void, noArgsSig), inst); // Opcodes that don't need any modifications. Here for reference case Opcode.ACONST_NULL: @@ -2585,7 +2600,7 @@ private List cleanInvokeTagStack( if (debugHandleInvoke) { System.out.printf("push tag for return type of %s%n", returnType); } - il.add(dcr_call("push_const", CD_void, noArgsCD)); + il.add(dcr_call("push_const", CD_void, noArgsSig)); } il.add(invoke); return il; @@ -2878,8 +2893,7 @@ private boolean isClassnameInstrumented( } // When a class contains an existing , it will be instrumented. Thus, we need to mark - // our - // added call to 'DCRuntime.set_class_initialized' as not instrumented. + // our added call to 'DCRuntime.set_class_initialized' as not instrumented. if (classname.endsWith("DCRuntime") && methodName.equals("set_class_initialized")) { return false; } @@ -3108,7 +3122,7 @@ private List object_comparison( MethodRefEntry mre = poolBuilder.methodRefEntry( - runtimeCD, compare_method, MethodTypeDesc.of(CD_boolean, two_objects_arg)); + runtimeCD, compare_method, MethodTypeDesc.of(CD_boolean, objectObjectSig)); il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); il.add(BranchInstruction.of(boolean_if, branch.target())); return il; @@ -3143,10 +3157,10 @@ private List load_store_field( // If this class doesn't support tag fields, don't load/store them. if (!tag_fields_ok(mgen, owner)) { if (op.equals(Opcode.GETFIELD) || op.equals(Opcode.GETSTATIC)) { - il.add(dcr_call("push_const", CD_void, noArgsCD)); + il.add(dcr_call("push_const", CD_void, noArgsSig)); } else { il.add(loadIntegerConstant(1)); - il.add(dcr_call("discard_tag", CD_void, integer_arg)); + il.add(dcr_call("discard_tag", CD_void, intSig)); } // Perform the original field command. @@ -3159,14 +3173,14 @@ private List load_store_field( poolBuilder.methodRefEntry( ownerCD, Premain.tag_method_name(Premain.GET_TAG, owner, fieldName), - MethodTypeDesc.of(CD_void, noArgsCD)); + MethodTypeDesc.of(CD_void, noArgsSig)); il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); } else if (op.equals(Opcode.PUTSTATIC)) { MethodRefEntry mre = poolBuilder.methodRefEntry( ownerCD, Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), - MethodTypeDesc.of(CD_void, noArgsCD)); + MethodTypeDesc.of(CD_void, noArgsSig)); il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); } else if (op.equals(Opcode.GETFIELD)) { il.add(StackInstruction.of(Opcode.DUP)); // dup 'this' @@ -3174,7 +3188,7 @@ private List load_store_field( poolBuilder.methodRefEntry( ownerCD, Premain.tag_method_name(Premain.GET_TAG, owner, fieldName), - MethodTypeDesc.of(CD_void, noArgsCD)); + MethodTypeDesc.of(CD_void, noArgsSig)); il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); } else { // must be Opcode.PUTFIELD if (field_size == 2) { @@ -3185,7 +3199,7 @@ private List load_store_field( poolBuilder.methodRefEntry( ownerCD, Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), - MethodTypeDesc.of(CD_void, noArgsCD)); + MethodTypeDesc.of(CD_void, noArgsSig)); il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); il.add(LoadInstruction.of(TypeKind.from(field_type), lv.slot())); } else { @@ -3195,7 +3209,7 @@ private List load_store_field( poolBuilder.methodRefEntry( ownerCD, Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), - MethodTypeDesc.of(CD_void, noArgsCD)); + MethodTypeDesc.of(CD_void, noArgsSig)); il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); il.add(StackInstruction.of(Opcode.SWAP)); // swap 'value' and 'this' back } @@ -3497,7 +3511,7 @@ private List new_array(Instruction inst) { // Make the array and the count comparable. Also, pop the tags for // the array and the count off the tag stack. - il.add(dcr_call("cmp_op", CD_void, noArgsCD)); + il.add(dcr_call("cmp_op", CD_void, noArgsSig)); return il; } @@ -3606,7 +3620,7 @@ InvokeInstruction dcr_call( List discard_tag_code(CodeElement inst, int tag_count) { List il = new ArrayList<>(); il.add(loadIntegerConstant(tag_count)); - il.add(dcr_call("discard_tag", CD_void, integer_arg)); + il.add(dcr_call("discard_tag", CD_void, intSig)); if (inst != null) { il.add(inst); } @@ -3623,7 +3637,7 @@ List dup_tag(CodeElement inst, OperandStack24 stack) { debug_dup.log("DUP -> %s [... %s]%n", "dup", stack_contents(stack, 2)); } if (top.isPrimitive()) { - return build_il(dcr_call("dup", CD_void, noArgsCD), inst); + return build_il(dcr_call("dup", CD_void, noArgsSig), inst); } return null; } @@ -3647,7 +3661,7 @@ List dup_x1_tag(CodeElement inst, OperandStack24 stack) { if (debug_dup.enabled) { debug_dup.log("DUP_X1 -> %s [... %s]%n", op, stack_contents(stack, 2)); } - return build_il(dcr_call(op, CD_void, noArgsCD), inst); + return build_il(dcr_call(op, CD_void, noArgsSig), inst); } /** @@ -3676,7 +3690,7 @@ List dup_x2_tag(CodeElement inst, OperandStack24 stack) { if (debug_dup.enabled) { debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - return build_il(dcr_call(op, CD_void, noArgsCD), inst); + return build_il(dcr_call(op, CD_void, noArgsSig), inst); } /** @@ -3699,7 +3713,7 @@ List dup2_tag(CodeElement inst, OperandStack24 stack) { if (debug_dup.enabled) { debug_dup.log("DUP2 -> %s [... %s]%n", op, stack_contents(stack, 2)); } - return build_il(dcr_call(op, CD_void, noArgsCD), inst); + return build_il(dcr_call(op, CD_void, noArgsSig), inst); } /** @@ -3742,7 +3756,7 @@ List dup2_x1_tag(CodeElement inst, OperandStack24 stack) { if (debug_dup.enabled) { debug_dup.log("DUP2_X1 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - return build_il(dcr_call(op, CD_void, noArgsCD), inst); + return build_il(dcr_call(op, CD_void, noArgsSig), inst); } /** @@ -3827,7 +3841,7 @@ List dup2_x2_tag(CodeElement inst, OperandStack24 stack) { if (debug_dup.enabled) { debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - return build_il(dcr_call(op, CD_void, noArgsCD), inst); + return build_il(dcr_call(op, CD_void, noArgsSig), inst); } /** @@ -3882,7 +3896,7 @@ List swap_tag(CodeElement inst, OperandStack24 stack) { debug_dup.log("SWAP -> %s [... %s]%n", "swap", stack_contents(stack, 2)); } if (type1.isPrimitive() && type2.isPrimitive()) { - return build_il(dcr_call("swap", CD_void, noArgsCD), inst); + return build_il(dcr_call("swap", CD_void, noArgsSig), inst); } return null; } @@ -3971,7 +3985,7 @@ void fix_native(MethodGen24 mgen) { // push a tag if there is a primitive return value ClassDesc returnType = mgen.getReturnType(); if (is_primitive(returnType)) { - il.add(dcr_call("push_const", CD_void, noArgsCD)); + il.add(dcr_call("push_const", CD_void, noArgsSig)); } // If the method is not static, push the instance on the stack diff --git a/java/daikon/dcomp/Instrument.java b/java/daikon/dcomp/Instrument.java index d7a5c06d5a..aab43d8c51 100644 --- a/java/daikon/dcomp/Instrument.java +++ b/java/daikon/dcomp/Instrument.java @@ -17,12 +17,12 @@ import org.checkerframework.dataflow.qual.Pure; /** - * This class is responsible for modifying another class's bytecodes. Specifically, its main task is - * to add calls into the DynComp Runtime for instrumentation purposes. These added calls are - * sometimes referred to as "hooks". + * This class is responsible for modifying bytecodes. Specifically, its main task is to add calls + * into the DynComp Runtime for instrumentation purposes. These added calls are sometimes referred + * to as "hooks". * - *

        This class is loaded by Premain at startup. It is a ClassFileTransformer which means that its - * {@code transform} method gets called each time the JVM loads a class. + *

        This class is loaded by Premain at startup. It is a {@link ClassFileTransformer} which means + * that its {@link #transform} method gets called each time the JVM loads a class. */ public class Instrument implements ClassFileTransformer { @@ -238,11 +238,11 @@ private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName Strin writeDebugClassFiles(c, debug_uninstrumented_dir, binaryClassName); } - // Instrument the classfile, die on any errors - JavaClass njc; + // Instrument the classfile, die on any errors. + JavaClass newJavaClass; try { DCInstrument dci = new DCInstrument(c, in_jdk, loader); - njc = dci.instrument(); + newJavaClass = dci.instrument(); } catch (Throwable t) { System.err.printf("Error %s in transform of %s%n", t, binaryClassName); if (debug_transform.enabled) { @@ -252,11 +252,11 @@ private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName Strin return null; } - if (njc != null) { + if (newJavaClass != null) { if (DynComp.dump) { - writeDebugClassFiles(njc, debug_instrumented_dir, binaryClassName); + writeDebugClassFiles(newJavaClass, debug_instrumented_dir, binaryClassName); } - return njc.getBytes(); + return newJavaClass.getBytes(); } else { debug_transform.log("Didn't instrument %s%n", binaryClassName); // No changes to the bytecodes. From 21c7b9dce735b156a754b1b156a03fa42fc05912 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Tue, 2 Dec 2025 09:14:07 -0800 Subject: [PATCH 153/211] Reduce diffs --- java/Makefile | 11 +++------ java/daikon/chicory/Instrument.java | 34 ++++++++++++++------------- java/daikon/chicory/Instrument24.java | 11 +++++---- java/daikon/dcomp/BuildJDK.java | 18 +++++++------- java/daikon/dcomp/BuildJDK24.java | 16 ++++++------- 5 files changed, 44 insertions(+), 46 deletions(-) diff --git a/java/Makefile b/java/Makefile index 7aea4baed7..20627a5c26 100644 --- a/java/Makefile +++ b/java/Makefile @@ -2130,20 +2130,15 @@ endif ### Diffs ### -# TODO: does this correspond to any other file? ./java/daikon/dcomp/CalcStack24.java - +# Don't diff BcelUtils24.java, ClassGen24.java, MethodGen24.java, or +# OperandStack24.java, because there are too many differences between the +# upstream version (in BCEL or in bcel-util) and the version in Daikon. diff24: -diff -u daikon/dcomp/Instrument.java daikon/dcomp/Instrument24.java -diff -u daikon/dcomp/DCInstrument.java daikon/dcomp/DCInstrument24.java -diff -u daikon/dcomp/BuildJDK.java daikon/dcomp/BuildJDK24.java -diff -u daikon/chicory/Instrument.java daikon/chicory/Instrument24.java - -diff -u ~/java/plume-lib/bcel-util/src/main/java/org/plumelib/bcelutil/BcelUtil.java daikon/dcomp/BcelUtils24.java - - -diff -u ${CHECKERFRAMEWORK}/../commons-bcel/src/main/java/org/apache/bcel/generic/ClassGen.java daikon/dcomp/ClassGen24.java - -diff -u ${CHECKERFRAMEWORK}/../commons-bcel/src/main/java/org/apache/bcel/generic/MethodGen.java daikon/chicory/MethodGen24.java - -diff -u ${CHECKERFRAMEWORK}/../commons-bcel/src/main/java/org/apache/bcel/verifier/structurals/OperandStack.java daikon/dcomp/OperandStack24.java - ########################################################################### ### Delete-on-error diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 424c45cd6a..0e9b93fa3d 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -325,25 +325,27 @@ private void instrumentClass(ClassGen cg, ClassInfo classInfo) { // Modify each non-void method to save its result in a local variable before returning. instrument_all_methods(cg, classInfo); - // Store constant static fields in `classInfo`. This ought to be a method of ClassInfo, + // Store constant static fields in `classInfo`. + // This ought to be a method of ClassInfo, // but that wouldn't work with both Instrument.java and Instrument24.java. Field[] fields = cg.getFields(); for (Field field : fields) { if (field.isFinal() && field.isStatic() && (field.getType() instanceof BasicType)) { - ConstantValue value = field.getConstantValue(); - String valString; - - if (value == null) { - // System.out.println("WARNING FROM " + field.getName()); - // valString = "WARNING!!!"; - valString = null; + ConstantValue constantValue = field.getConstantValue(); + String valueString; + + String name = field.getName(); + if (constantValue == null) { + // System.out.println("WARNING FROM " + name); + // valueString = "WARNING!!!"; + valueString = null; } else { - valString = value.toString(); - // System.out.println("GOOD FROM " + field.getName() + - // " --- " + valString); + valueString = constantValue.toString(); + // System.out.println("GOOD FROM " + name + + // " --- " + valueString); } - if (valString != null) { - classInfo.staticMap.put(field.getName(), valString); + if (valueString != null) { + classInfo.staticMap.put(name, valueString); } } } @@ -513,8 +515,8 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { try { for (Method m : methods) { - // The class data in StackMapUtils is not thread safe, - // allow only one method at a time to be instrumented. + // The class data in StackMapUtils is not thread safe. + // Allow only one method at a time to be instrumented. // DynComp does this by creating a new instrumentation object // for each class - probably a cleaner solution. synchronized (this) { @@ -682,7 +684,7 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { } } } catch (Exception e) { - System.err.printf("Unexpected exception encountered: %s", e); + System.err.printf("Exception encountered: %s", e); e.printStackTrace(); } diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index e2c345d241..b3d3ad9c4b 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -423,16 +423,17 @@ private void instrumentClass( debug_transform.log("Trace info not added to class %s%n", classInfo); } - // Store constant static fields in `classInfo`. This ought to be a method of ClassInfo, + // Store constant static fields in `classInfo`. + // This ought to be a method of ClassInfo, // but that wouldn't work with both Instrument.java and Instrument24.java. List fields = classModel.fields(); for (FieldModel fm : fields) { Optional cva = fm.findAttribute(Attributes.constantValue()); if (cva.isPresent()) { String name = fm.fieldName().stringValue(); - String value = formatConstantDesc(cva.get().constant().constantValue()); - debugInstrument.log(" Constant field: %s, value: %s%n", name, value); - classInfo.staticMap.put(name, value); + String valueString = formatConstantDesc(cva.get().constant().constantValue()); + debugInstrument.log(" Constant field: %s, valueString: %s%n", name, valueString); + classInfo.staticMap.put(name, valueString); } } @@ -901,7 +902,7 @@ private void addInstrumentationAtEntry( li.add(ce); } } catch (Exception e) { - System.err.printf("Unexpected exception encountered: %s", e); + System.err.printf("Exception encountered: %s", e); e.printStackTrace(); } } diff --git a/java/daikon/dcomp/BuildJDK.java b/java/daikon/dcomp/BuildJDK.java index b20ca47cfb..1e1cc1db15 100644 --- a/java/daikon/dcomp/BuildJDK.java +++ b/java/daikon/dcomp/BuildJDK.java @@ -40,21 +40,21 @@ import org.checkerframework.checker.signature.qual.BinaryName; /** - * BuildJDK uses {@link DCInstrument} to add comparability instrumentation to Java class files, then - * stores the modified files into a directory identified by a (required) command line argument. + * Add comparability instrumentation to Java class files, then stores the modified files into a + * directory identified by a (required) command line argument. * - *

        DCInstrument duplicates each method of a class file. The new methods are distinguished by the - * addition of a final parameter of type DCompMarker and are instrumented to track comparability. - * Based on its invocation arguments, DynComp will decide whether to call the instrumented or - * uninstrumented version of a method. + *

        Duplicates each method of a class file. The new methods are distinguished by the addition of a + * final parameter of type DCompMarker and are instrumented to track comparability. Based on its + * invocation arguments, DynComp will decide whether to call the instrumented or uninstrumented + * version of a method. */ @SuppressWarnings({ "mustcall:type.argument", "mustcall:type.arguments.not.inferred" }) // assignments into owning collection -public class BuildJDK { +public final class BuildJDK { - /** Creates a new BuildJDK. */ + /** Do not instantiate from external code; only instantiate in {@link #main}. */ private BuildJDK() {} /** @@ -470,7 +470,7 @@ private void createDCompClass( * * @param jc JavaClass to be instrumented * @param outputDir output directory for instrumented class - * @param classFileName name of class to be instrumented + * @param classFileName name of class to be instrumented (in internal form) * @param classTotal total number of classes to be processed; used for progress display * @throws IOException if unable to write out instrumented class */ diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 75c14c8d35..399fed8358 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -44,13 +44,13 @@ import org.checkerframework.checker.signature.qual.BinaryName; /** - * BuildJDK24 uses {@link DCInstrument24} to add comparability instrumentation to Java class files, - * then stores the modified files into a directory identified by a (required) command line argument. + * Add comparability instrumentation to Java class files, then stores the modified files into a + * directory identified by a (required) command line argument. * - *

        DCInstrument24 duplicates each method of a class file. The new methods are distinguished by - * the addition of a final parameter of type DCompMarker and are instrumented to track - * comparability. Based on its invocation arguments, DynComp will decide whether to call the - * instrumented or uninstrumented version of a method. + *

        Duplicates each method of a class file. The new methods are distinguished by the addition of a + * final parameter of type DCompMarker and are instrumented to track comparability. Based on its + * invocation arguments, DynComp will decide whether to call the instrumented or uninstrumented + * version of a method. */ @SuppressWarnings({ "mustcall:type.argument", @@ -137,7 +137,7 @@ public static void main(String[] args) throws IOException { //

        We want to share code to read and instrument the Java class file members of a jar file // (JDK 8) or a module file (JDK 9+). However, jar files and module files are located in two // completely different file systems. So we open an InputStream for each class file we wish to - // instrument and save it in the class_stream_map with the file pathname as the key. From that + // instrument and save it in the class_stream_map with the file name as the key. From that // point the code to instrument a class file can be shared. Map class_stream_map; @@ -406,7 +406,7 @@ void instrument_classes(File dest_dir, Map class_stream_map throw new Error("Failed to parse classfile " + classFileName, e); } - @SuppressWarnings("signature:assignment") // type conversion + @SuppressWarnings("signature:assignment") // string manipulation @BinaryName String classname = classFileName.replace(".class", "").replace('/', '.'); if (DynComp.dump) { inst24.writeDebugClassFiles(buffer, inst24.debug_uninstrumented_dir, classname); From d7e769ae6877f2dd9a68b9f0c4d55ecc1c1fea08 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Tue, 2 Dec 2025 10:20:25 -0800 Subject: [PATCH 154/211] Fix variable name --- java/daikon/dcomp/DCInstrument24.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 030c7df9de..35e9b45b89 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1791,8 +1791,8 @@ LocalVariable createTagFrameLocal(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { } /** - * Generates the code to create the tag frame for this method and store it in tag_frame_local. - * This needs to be before the call to DCRuntime.enter (since it passed to that method). + * Generates the code to create the tag frame for this method and store it in tagFrameLocal. This + * needs to be before the call to DCRuntime.enter (since it passed to that method). * * @param mgen describes the given method * @return instruction list for tag_frame setup code From 0607b724c4976dc4ff37eb15b95f7523e57430d0 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Tue, 2 Dec 2025 11:58:32 -0800 Subject: [PATCH 155/211] Address CodeRabbit comment --- java/daikon/dcomp/DCInstrument.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index d4867db787..af2f45f4cd 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -4222,7 +4222,7 @@ MethodGen create_dcomp_stub(MethodGen mgen) { */ static void save_static_field_id(File file) throws IOException { - PrintStream ps = new PrintStream(file, "UTF-8"); // in Java 9+, use: StandardCharsets.UTF_8 + PrintStream ps = new PrintStream(file, "UTF-8"); // in Java 10+, use: StandardCharsets.UTF_8 for (Map.Entry<@KeyFor("static_field_id") String, Integer> entry : static_field_id.entrySet()) { ps.printf("%s %d%n", entry.getKey(), entry.getValue()); } From 20c9412c3caddab6c3c8c562933edfe63edb83c6 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Tue, 2 Dec 2025 11:59:30 -0800 Subject: [PATCH 156/211] Mark target as phony --- java/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/java/Makefile b/java/Makefile index 20627a5c26..52695b7515 100644 --- a/java/Makefile +++ b/java/Makefile @@ -2133,6 +2133,7 @@ endif # Don't diff BcelUtils24.java, ClassGen24.java, MethodGen24.java, or # OperandStack24.java, because there are too many differences between the # upstream version (in BCEL or in bcel-util) and the version in Daikon. +.PHONY: diff24 diff24: -diff -u daikon/dcomp/Instrument.java daikon/dcomp/Instrument24.java -diff -u daikon/dcomp/DCInstrument.java daikon/dcomp/DCInstrument24.java From f34000813f8cafae1cba2ae7557fda3ad500cf2a Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 2 Dec 2025 13:00:58 -0800 Subject: [PATCH 157/211] rename BcelUtils24 and improve comments --- java/Makefile | 2 +- java/daikon/dcomp/DCInstrument24.java | 7 +-- ...{BcelUtils24.java => StackMapUtils24.java} | 47 ++++++++++--------- 3 files changed, 31 insertions(+), 25 deletions(-) rename java/daikon/dcomp/{BcelUtils24.java => StackMapUtils24.java} (78%) diff --git a/java/Makefile b/java/Makefile index 52695b7515..d5a39d69bd 100644 --- a/java/Makefile +++ b/java/Makefile @@ -2130,7 +2130,7 @@ endif ### Diffs ### -# Don't diff BcelUtils24.java, ClassGen24.java, MethodGen24.java, or +# Don't diff StackMapUtils24.java, ClassGen24.java, MethodGen24.java, or # OperandStack24.java, because there are too many differences between the # upstream version (in BCEL or in bcel-util) and the version in Daikon. .PHONY: diff24 diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 35e9b45b89..508dbb680f 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -138,7 +138,7 @@ public class DCInstrument24 { /** A log to which to print debugging information about program instrumentation. */ protected SimpleLog debugInstrument = new SimpleLog(false); - /** Debug flag for BcelUtils24. */ + /** Debug flag for StackMapUtils24. */ public static boolean bcelDebug; /** @@ -1787,7 +1787,8 @@ private void add_enter( * @return LocalVariable for the tag_frame local */ LocalVariable createTagFrameLocal(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { - return BcelUtils24.addNewSpecialLocal(mgen, minfo, "dcomp_tag_frame$5a", objectArrayCD, false); + return StackMapUtils24.addNewSpecialLocal( + mgen, minfo, "dcomp_tag_frame$5a", objectArrayCD, false); } /** @@ -4632,7 +4633,7 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { // Add the dcomp marker argument to indicate this is the // instrumented version of the method. - BcelUtils24.addNewSpecialLocal(mgen, minfo, "marker", dcomp_marker, true); + StackMapUtils24.addNewSpecialLocal(mgen, minfo, "marker", dcomp_marker, true); } /** diff --git a/java/daikon/dcomp/BcelUtils24.java b/java/daikon/dcomp/StackMapUtils24.java similarity index 78% rename from java/daikon/dcomp/BcelUtils24.java rename to java/daikon/dcomp/StackMapUtils24.java index d2ffe2b27a..43944f5cce 100644 --- a/java/daikon/dcomp/BcelUtils24.java +++ b/java/daikon/dcomp/StackMapUtils24.java @@ -17,12 +17,20 @@ /** * This class provides static utility methods for manipulating bytecode structures, including - * operations on local variables, parameter types, and instruction adjustments. + * operations on local variables, parameter types, and instruction adjustments. It is loosely based + * on StackMapUtils.java located in the plume-lib/bcel-util repository. It implements a very small + * subset of the methods in StackMapUtils and does no manipulation of StackMaps at all. Its primary + * method is addNewSpecialLocal which is a replacement for the two methods addNewParameter and + * create_method_scope_local in the original StackMapUtils. + * + *

        StackMapUtils24 uses Java's {@code java.lang.classfile} APIs for reading and modifying .class + * files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more complete and robust + * and are always up to date with any .class file changes (since they are part of the JDK). */ -public final class BcelUtils24 { +public final class StackMapUtils24 { /** Do not instantiate. */ - private BcelUtils24() { + private StackMapUtils24() { throw new Error("Do not instantiate"); } @@ -45,16 +53,17 @@ private BcelUtils24() { /** * Add {@code size} (1 or 2) to the slot number of each Instruction that references a local that - * is equal or higher in the local map than {@code offsetFirstMovedLocal}. Size should be the size - * of the new local that was just inserted at {@code offsetFirstMovedLocal}. + * is equal or higher in the local map than {@code offsetFirstLocalToBeMoved}. Size should be the + * size of the new local that was just inserted at {@code offsetFirstLocalToBeMoved}. * * @param mgen MethodGen to be modified - * @param offsetFirstMovedLocal original offset of first local moved "up" + * @param offsetFirstLocalToBeMoved original offset of first local moved "up" * @param size size of new local added (1 or 2) */ - static void adjust_code_for_locals_change(MethodGen24 mgen, int offsetFirstMovedLocal, int size) { + static void adjust_code_for_locals_change( + MethodGen24 mgen, int offsetFirstLocalToBeMoved, int size) { - debugInstrument.log("adjust_code_for_locals_change: %d %d%n", offsetFirstMovedLocal, size); + debugInstrument.log("adjust_code_for_locals_change: %d %d%n", offsetFirstLocalToBeMoved, size); try { List il = mgen.getInstructionList(); ListIterator iter = il.listIterator(); @@ -63,22 +72,22 @@ static void adjust_code_for_locals_change(MethodGen24 mgen, int offsetFirstMoved CodeElement inst = iter.next(); switch (inst) { case DiscontinuedInstruction.RetInstruction ret -> { - if (ret.slot() >= offsetFirstMovedLocal) { + if (ret.slot() >= offsetFirstLocalToBeMoved) { iter.set(DiscontinuedInstruction.RetInstruction.of(ret.slot() + size)); } } case IncrementInstruction inc -> { - if (inc.slot() >= offsetFirstMovedLocal) { + if (inc.slot() >= offsetFirstLocalToBeMoved) { iter.set(IncrementInstruction.of(inc.slot() + size, inc.constant())); } } case LoadInstruction load -> { - if (load.slot() >= offsetFirstMovedLocal) { + if (load.slot() >= offsetFirstLocalToBeMoved) { iter.set(LoadInstruction.of(load.typeKind(), load.slot() + size)); } } case StoreInstruction store -> { - if (store.slot() >= offsetFirstMovedLocal) { + if (store.slot() >= offsetFirstLocalToBeMoved) { iter.set(StoreInstruction.of(store.typeKind(), store.slot() + size)); } } @@ -95,10 +104,10 @@ static void adjust_code_for_locals_change(MethodGen24 mgen, int offsetFirstMoved } /** - * Add a new local variable to the method. This will be inserted after last current parameter and - * before the first local variable. This might have the side effect of causing us to rewrite the - * method byte codes to adjust the slot numbers for the existing local variables - see below for - * details. + * Add a new local variable to the method. This will be inserted after any parameters and before + * any existing local variables. If there are existing local variables this will have the side + * effect of rewritting the method byte codes to adjust the slot numbers for the existing local + * variables - see below for details. * *

        DCInstrument24 uses this routine for two special variables: * @@ -113,7 +122,7 @@ static void adjust_code_for_locals_change(MethodGen24 mgen, int offsetFirstMoved * @param minfo for the given method's code * @param varName name of new parameter * @param varType type of new parameter - * @param isParam if true, the new local is a new parameter + * @param isParam if true, the new local is a new parameter (the DCompMarker) * @return a LocalVariable for the new variable */ public static LocalVariable addNewSpecialLocal( @@ -125,10 +134,6 @@ public static LocalVariable addNewSpecialLocal( debugInstrument.enabled = daikon.dcomp.DCInstrument24.bcelDebug; - // We add a new local variable, after any parameters and before any - // existing local variables. We then make a pass over the - // byte codes to update the slot number of any locals we just shifted up. - LocalVariable varNew; // get a copy of the locals before modification List locals = mgen.localsTable; From 801de1b85b15db9030cb2c2e95a9804f71773948 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 04:10:45 -0800 Subject: [PATCH 158/211] Refactor to avoid duplication --- java/daikon/dcomp/DCInstrument24.java | 30 +++++++++++++-------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 508dbb680f..7697070afd 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -4148,14 +4148,13 @@ void create_tag_accessors(ClassGen24 classGen) { continue; } - if (fm.flags().has(AccessFlag.STATIC)) { - String full_name = full_name(classModel, fm); - create_get_tag(classGen, fm, static_field_id.get(full_name)); - create_set_tag(classGen, fm, static_field_id.get(full_name)); - } else { - create_get_tag(classGen, fm, field_to_offset_map.get(fm)); - create_set_tag(classGen, fm, field_to_offset_map.get(fm)); - } + @SuppressWarnings("nullness:unboxing.of.nullable") + int tagOffset = + fm.flags().has(AccessFlag.STATIC) + ? static_field_id.get(full_name(classModel, fm)) + : field_to_offset_map.get(fm); + create_get_tag(classGen, fm, tagOffset); + create_set_tag(classGen, fm, tagOffset); } // Build accessors for each field declared in a superclass that is @@ -4178,14 +4177,13 @@ void create_tag_accessors(ClassGen24 classGen) { } field_set.add(fm.fieldName().stringValue()); - if (fm.flags().has(AccessFlag.STATIC)) { - String full_name = full_name(scm, fm); - create_get_tag(classGen, fm, static_field_id.get(full_name)); - create_set_tag(classGen, fm, static_field_id.get(full_name)); - } else { - create_get_tag(classGen, fm, field_to_offset_map.get(fm)); - create_set_tag(classGen, fm, field_to_offset_map.get(fm)); - } + @SuppressWarnings("nullness:unboxing.of.nullable") + int tagOffset = + fm.flags().has(AccessFlag.STATIC) + ? static_field_id.get(full_name(scm, fm)) + : field_to_offset_map.get(fm); + create_get_tag(classGen, fm, tagOffset); + create_set_tag(classGen, fm, tagOffset); } } } From 94f88f37af0aaf9d963aa2aeefc4de8987b4828e Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 04:11:13 -0800 Subject: [PATCH 159/211] Fix variable name --- java/daikon/dcomp/BuildJDK24.java | 2 +- java/daikon/dcomp/DCInstrument24.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 399fed8358..3d16334d58 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -77,7 +77,7 @@ private BuildJDK24() {} private static String static_field_id_filename = "dcomp_jdk_static_field_id"; /** Allow BuildJDK24 to access outputDebugFiles. */ - @SuppressWarnings("nullness") + @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO private static daikon.dcomp.Instrument24 inst24; /** diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 7697070afd..3e70867dd4 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1831,7 +1831,7 @@ private List createTagFrame(MethodGen24 mgen) { // Character.forDigit (paramList.get(ii), Character.MAX_RADIX); } - // Create code to create and init the tag_frame and store the result in tag_frame_local. + // Create code to create and init the tag_frame and store the result in tagFrameLocal. List instructions = new ArrayList<>(); MethodRefEntry mre = From ec1e1acf5c1ae25c8fa4c4cc80062b97d2f691bc Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 04:12:09 -0800 Subject: [PATCH 160/211] Assert that `return_type != null` --- java/daikon/dcomp/DCInstrument.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index af2f45f4cd..3ce8d8fa71 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -2778,12 +2778,13 @@ LocalVariableGen get_return_local(MethodGen mgen, @Nullable Type return_type) { if (return_local == null) { assert (return_type != null) : " return__$trace2_val doesn't exist"; } else { - assert return_type.equals(return_local.getType()) + assert return_type != null && return_type.equals(return_local.getType()) : " return_type = " + return_type + "; current type = " + return_local.getType(); } if (return_local == null) { // log ("Adding return local of type %s%n", return_type); + assert return_type != null : "@AssumeAssertion(nullness)"; return_local = mgen.addLocalVariable("return__$trace2_val", return_type, null, null); } From 7d30d4d9524c68fc4962ad4b1e3a9a26b8affa4a Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 04:12:29 -0800 Subject: [PATCH 161/211] Reduce code duplication --- java/daikon/dcomp/DCInstrument.java | 34 +++++++++-------------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 3ce8d8fa71..1cb970cc79 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -3718,18 +3718,10 @@ void create_tag_accessors(ClassGen classGen) { continue; } - MethodGen get_method; - MethodGen set_method; - if (f.isStatic()) { - String full_name = full_name(orig_class, f); - get_method = create_get_tag(classGen, f, static_field_id.get(full_name)); - set_method = create_set_tag(classGen, f, static_field_id.get(full_name)); - } else { - get_method = create_get_tag(classGen, f, field_to_offset_map.get(f)); - set_method = create_set_tag(classGen, f, field_to_offset_map.get(f)); - } - classGen.addMethod(get_method.getMethod()); - classGen.addMethod(set_method.getMethod()); + int tagOffset = + f.isStatic() ? static_field_id.get(full_name(orig_class, f)) : field_to_offset_map.get(f); + classGen.addMethod(create_get_tag(classGen, f, tagOffset).getMethod()); + classGen.addMethod(create_set_tag(classGen, f, tagOffset).getMethod()); } // Build accessors for each field declared in a superclass that is @@ -3753,18 +3745,12 @@ void create_tag_accessors(ClassGen classGen) { } field_set.add(f.getName()); - MethodGen get_method; - MethodGen set_method; - if (f.isStatic()) { - String full_name = full_name(super_class, f); - get_method = create_get_tag(classGen, f, static_field_id.get(full_name)); - set_method = create_set_tag(classGen, f, static_field_id.get(full_name)); - } else { - get_method = create_get_tag(classGen, f, field_to_offset_map.get(f)); - set_method = create_set_tag(classGen, f, field_to_offset_map.get(f)); - } - classGen.addMethod(get_method.getMethod()); - classGen.addMethod(set_method.getMethod()); + int tagOffset = + f.isStatic() + ? static_field_id.get(full_name(super_class, f)) + : field_to_offset_map.get(f); + classGen.addMethod(create_get_tag(classGen, f, tagOffset).getMethod()); + classGen.addMethod(create_set_tag(classGen, f, tagOffset).getMethod()); } } } From 202cc4b62ff7dbc0405ad4589ee6eed2ef755ca6 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 07:51:08 -0800 Subject: [PATCH 162/211] Renamings and refactoring --- java/daikon/chicory/Instrument.java | 15 +- java/daikon/chicory/Instrument24.java | 11 +- java/daikon/dcomp/DCInstrument.java | 307 ++++++++++++++------------ java/daikon/dcomp/DCInstrument24.java | 93 ++++---- 4 files changed, 226 insertions(+), 200 deletions(-) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 0e9b93fa3d..a8d3d57451 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -20,6 +20,7 @@ import org.apache.bcel.Const; import org.apache.bcel.classfile.Attribute; import org.apache.bcel.classfile.ClassParser; +import org.apache.bcel.classfile.Code; import org.apache.bcel.classfile.Constant; import org.apache.bcel.classfile.ConstantUtf8; import org.apache.bcel.classfile.ConstantValue; @@ -578,9 +579,9 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { // Create a MethodInfo that describes this method's arguments and exit line numbers // (information not available via reflection) and add it to the list for this class. - MethodInfo curMethodInfo = create_method_info(classInfo, mgen); + MethodInfo curMethodInfo = create_method_info_if_instrumented(classInfo, mgen); - printStackMapTable("After create_method_info"); + printStackMapTable("After create_method_info_if_instrumented"); if (curMethodInfo == null) { // method filtered out! // We are not going to instrument this method. @@ -1149,7 +1150,8 @@ private boolean isConstructor(MethodGen mgen) { * @return a new MethodInfo for the method, or null if the method should not be instrumented */ @SuppressWarnings("unchecked") - private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen mgen) { + private @Nullable MethodInfo create_method_info_if_instrumented( + ClassInfo classInfo, MethodGen mgen) { // Get the parameter names for this method. String[] paramNames = mgen.getArgumentNames(); @@ -1160,7 +1162,7 @@ private boolean isConstructor(MethodGen mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info for: %s%n", classInfo.class_name); + debugInstrument.log("create_method_info_if_instrumented for: %s%n", classInfo.class_name); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); @@ -1197,7 +1199,7 @@ private boolean isConstructor(MethodGen mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info part 2%n"); + debugInstrument.log("create_method_info_if_instrumented part 2%n"); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); @@ -1308,7 +1310,8 @@ private boolean isConstructor(MethodGen mgen) { public void dump_code_attributes(MethodGen mgen) { // mgen.getMethod().getCode().getAttributes() forces attributes // to be instantiated; mgen.getCodeAttributes() does not. - for (Attribute a : mgen.getMethod().getCode().getAttributes()) { + Code code = mgen.getMethod().getCode(); + for (Attribute a : code.getAttributes()) { int con_index = a.getNameIndex(); Constant c = pool.getConstant(con_index); String att_name = ((ConstantUtf8) c).getBytes(); diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index b3d3ad9c4b..a35a8e9b91 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -617,7 +617,7 @@ private void instrument_all_methods( // Create a MethodInfo that describes this method's arguments and exit line numbers // (information not available via reflection) and add it to the list for this class. - MethodInfo curMethodInfo = create_method_info(classInfo, mgen); + MethodInfo curMethodInfo = create_method_info_if_instrumented(classInfo, mgen); if (curMethodInfo == null) { // method filtered out! // We are not going to instrument this method. @@ -1381,7 +1381,8 @@ private boolean isConstructor(MethodGen24 mgen) { * @param mgen method to inspect * @return a new MethodInfo for the method, or null if the method should not be instrumented */ - private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen24 mgen) { + private @Nullable MethodInfo create_method_info_if_instrumented( + ClassInfo classInfo, MethodGen24 mgen) { // Get the parameter names for this method. String[] paramNames = mgen.getParameterNames(); @@ -1392,7 +1393,7 @@ private boolean isConstructor(MethodGen24 mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info for: %s%n", classInfo.class_name); + debugInstrument.log("create_method_info_if_instrumented for: %s%n", classInfo.class_name); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); @@ -1430,7 +1431,7 @@ private boolean isConstructor(MethodGen24 mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info part 2%n"); + debugInstrument.log("create_method_info_if_instrumented part 2%n"); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); @@ -1459,7 +1460,7 @@ private boolean isConstructor(MethodGen24 mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info part 3%n"); + debugInstrument.log("create_method_info_if_instrumented part 3%n"); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (int ii = 0; ii < paramTypes.length; ii++) { debugInstrument.log("param type: %s%n", param_type_strings[ii]); diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 1cb970cc79..c9a85c453f 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -161,12 +161,12 @@ public class DCInstrument extends InstructionListUtils { // Signature descriptors - // No arguments + // No parameters - /** Type array with no arguments. */ + /** Type array with no parameters. */ protected static final Type[] noArgsSig = new Type[0]; - // One argument + // One parameter /** Type array with an int. */ protected static Type[] intSig = new Type[] {Type.INT}; @@ -180,7 +180,7 @@ public class DCInstrument extends InstructionListUtils { /** Type array with an object. */ protected static Type[] object_arg = new Type[] {Type.OBJECT}; - // Two arguments + // Two parameters /** Type array with a long and an int. */ protected static Type[] longIntSig = new Type[] {Type.LONG, Type.INT}; @@ -224,7 +224,7 @@ public class DCInstrument extends InstructionListUtils { protected @DotSeparatedIdentifiers String dcomp_prefix; /** Either "daikon.dcomp.DCRuntime" or "java.lang.DCRuntime". */ - protected @DotSeparatedIdentifiers String dcompRuntimeClassName = "daikon.dcomp.DCRuntime"; + protected @BinaryName String dcompRuntimeClassName = "daikon.dcomp.DCRuntime"; /** Set of JUnit test classes. */ protected static Set junitTestClasses = new HashSet<>(); @@ -306,12 +306,12 @@ protected enum JunitState { /** Temporary location of runtime initialization code. */ private InstructionHandle insertion_placeholder; - /** Represents a method (by its name and argument types). */ + /** Represents a method (by its name and parameter types). */ static class MethodDef { /** Name of this method. */ String name; - /** Argument types for this method. */ + /** Parameter types for this method. */ Type[] arg_types; /** @@ -463,7 +463,7 @@ public JavaClass instrument() { // cause JUnit to complain about multiple constructors and // methods that should have no arguments. To work around these // restrictions, we replace rather than duplicate each method - // we instrument and we do not add the dcomp marker argument. + // we instrument and we do not add the dcomp marker parameter. // We must also remember the class name so if we see a subsequent // call to one of its methods we do not add the dcomp argument. @@ -545,8 +545,9 @@ public JavaClass instrument() { String super_class; String this_class = classname; while (true) { - super_class = getSuperclassName(this_class); - if (super_class == null) { + try { + super_class = getSuperclassName(this_class); + } catch (SuperclassNameError e) { // something has gone wrong break; } @@ -661,28 +662,28 @@ public JavaClass instrument() { has_code = true; setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); } else { // normal method if (!junit_test_class) { - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); } - // Create a MethodInfo that describes this method's arguments + // Create a MethodInfo that describes this method's parameters // and exit line numbers (information not available via reflection) // and add it to the list for this class. MethodInfo mi = null; - if (track && has_code) { - mi = create_method_info(classInfo, mgen); - classInfo.method_infos.add(mi); - DCRuntime.methods.add(mi); - } - - // Instrument the method if (has_code) { + if (track) { + mi = create_method_info_if_instrumented(classInfo, mgen); + classInfo.method_infos.add(mi); + DCRuntime.methods.add(mi); + } + + // Instrument the method // Create the local to store the tag frame for this method tagFrameLocal = create_tagFrameLocal(mgen); build_exception_handler(mgen); @@ -693,76 +694,46 @@ public JavaClass instrument() { } install_exception_handler(mgen); } - } - - if (has_code) { - updateUninitializedNewOffsets(mgen.getInstructionList()); - createNewStackMapAttribute(mgen); - mgen.setMaxLocals(); - mgen.setMaxStack(); - } else { - mgen.removeCodeAttributes(); - mgen.removeLocalVariables(); - } - - remove_local_variable_type_table(mgen); - // We do not want to copy the @HotSpotIntrinsicCandidate annotations from - // the original method to our instrumented method as the signature will - // not match anything in the JVM's list. This won't cause an execution - // problem but will produce a number of warnings. - // JDK 11: @HotSpotIntrinsicCandidate - // JDK 17: @IntrinsicCandidate - AnnotationEntryGen[] aes = mgen.getAnnotationEntries(); - for (AnnotationEntryGen item : aes) { - String type = item.getTypeName(); - if (type.endsWith("IntrinsicCandidate;")) { - mgen.removeAnnotationEntry(item); + if (has_code) { + updateUninitializedNewOffsets(mgen.getInstructionList()); + createNewStackMapAttribute(mgen); + mgen.setMaxLocals(); + mgen.setMaxStack(); + } else { + mgen.removeCodeAttributes(); + mgen.removeLocalVariables(); } - } - // Can't duplicate "main" or "clinit" or a JUnit test. - boolean replacingMethod = - BcelUtil.isMain(mgen) || BcelUtil.isClinit(mgen) || junit_test_class; - try { - if (has_code) { - il = mgen.getInstructionList(); - InstructionHandle end = il.getEnd(); - int length = end.getPosition() + end.getInstruction().getLength(); - if (length >= Const.MAX_CODE_SIZE) { - throw new ClassGenException( - "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); + remove_local_variable_type_table(mgen); + + // We do not want to copy the @HotSpotIntrinsicCandidate annotations from + // the original method to our instrumented method as the signature will + // not match anything in the JVM's list. This won't cause an execution + // problem but will produce a number of warnings. + // JDK 11: @HotSpotIntrinsicCandidate + // JDK 17: @IntrinsicCandidate + AnnotationEntryGen[] aes = mgen.getAnnotationEntries(); + for (AnnotationEntryGen item : aes) { + String type = item.getTypeName(); + if (type.endsWith("IntrinsicCandidate;")) { + mgen.removeAnnotationEntry(item); } } - if (replacingMethod) { - classGen.replaceMethod(m, mgen.getMethod()); - if (BcelUtil.isMain(mgen)) { - classGen.addMethod(create_dcomp_stub(mgen).getMethod()); + + // Can't duplicate "main" or "clinit" or a JUnit test. + boolean replacingMethod = + BcelUtil.isMain(mgen) || BcelUtil.isClinit(mgen) || junit_test_class; + try { + if (has_code) { + il = mgen.getInstructionList(); + InstructionHandle end = il.getEnd(); + int length = end.getPosition() + end.getInstruction().getLength(); + if (length >= Const.MAX_CODE_SIZE) { + throw new ClassGenException( + "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); + } } - } else { - classGen.addMethod(mgen.getMethod()); - } - } catch (Exception e) { - String s = e.getMessage(); - if (s == null) { - throw e; - } - if (s.startsWith("Branch target offset too large") - || s.startsWith("Code array too big")) { - System.err.printf( - "DynComp warning: ClassFile: %s - method %s is too large to instrument and is" - + " being skipped.%n", - classname, mgen.getName()); - // Build a dummy instrumented method that has DCompMarker - // argument and no instrumentation. - // first, restore unmodified method - mgen = new MethodGen(m, classname, pool); - // restore StackMapTable - setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument - add_dcomp_arg(mgen); - remove_local_variable_type_table(mgen); - // try again if (replacingMethod) { classGen.replaceMethod(m, mgen.getMethod()); if (BcelUtil.isMain(mgen)) { @@ -771,11 +742,41 @@ public JavaClass instrument() { } else { classGen.addMethod(mgen.getMethod()); } - } else { - throw e; + } catch (Exception e) { + String s = e.getMessage(); + if (s == null) { + throw e; + } + if (s.startsWith("Branch target offset too large") + || s.startsWith("Code array too big")) { + System.err.printf( + "DynComp warning: ClassFile: %s - method %s is too large to instrument and is" + + " being skipped.%n", + classname, mgen.getName()); + // Build a dummy instrumented method that has DCompMarker + // parameter and no instrumentation. + // first, restore unmodified method + mgen = new MethodGen(m, classname, pool); + // restore StackMapTable + setCurrentStackMapTable(mgen, classGen.getMajor()); + // Add the DCompMarker parameter + add_dcomp_param(mgen); + remove_local_variable_type_table(mgen); + // try again + if (replacingMethod) { + classGen.replaceMethod(m, mgen.getMethod()); + if (BcelUtil.isMain(mgen)) { + classGen.addMethod(create_dcomp_stub(mgen).getMethod()); + } + } else { + classGen.addMethod(mgen.getMethod()); + } + } else { + throw e; + } } + debug_transform.exdent(); } - debug_transform.exdent(); } catch (Throwable t) { // debug code // t.printStackTrace(); @@ -958,13 +959,13 @@ public JavaClass instrument_jdk_class() { has_code = true; setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); } else { // normal method - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); // Instrument the method if (has_code) { @@ -1025,13 +1026,13 @@ public JavaClass instrument_jdk_class() { + " being skipped.%n", classname, mgen.getName()); // Build a dummy instrumented method that has DCompMarker - // argument and no instrumentation. + // parameter and no instrumentation. // first, restore unmodified method mgen = new MethodGen(m, classname, pool); // restore StackMapTable setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument - add_dcomp_arg(mgen); + // Add the DCompMarker parameter + add_dcomp_param(mgen); remove_local_variable_type_table(mgen); // try again classGen.addMethod(mgen.getMethod()); @@ -1252,7 +1253,7 @@ public void install_exception_handler(MethodGen mgen) { updateStackMapOffset(exc_offset, 0); int map_offset = exc_offset - runningOffset - 1; - // Get the argument types for this method + // Get the parameter types for this method Type[] arg_types = mgen.getArgumentTypes(); int arg_index = (mgen.isStatic() ? 0 : 1); @@ -1383,11 +1384,11 @@ LocalVariableGen create_tagFrameLocal(MethodGen mgen) { * * @param mgen method to modify * @param tagFrameLocal LocalVariableGen for the tag_frame local - * @return InstructionList for tag_frame setup code + * @return instruction list for tag_frame setup code */ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) { - Type arg_types[] = mgen.getArgumentTypes(); + Type param_types[] = mgen.getArgumentTypes(); // Determine the offset of the first argument in the frame int offset = 1; @@ -1404,7 +1405,7 @@ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) String params = Character.toString((char) (frame_size + '0')); // Character.forDigit (frame_size, Character.MAX_RADIX); List paramList = new ArrayList<>(); - for (Type paramType : arg_types) { + for (Type paramType : param_types) { if (paramType instanceof BasicType) { paramList.add(offset); } @@ -1443,7 +1444,7 @@ InstructionList callEnterOrExit( MethodGen mgen, int method_info_index, String enterOrExit, int line) { InstructionList il = new InstructionList(); - Type[] arg_types = mgen.getArgumentTypes(); + Type[] param_types = mgen.getArgumentTypes(); // Push the tag frame il.append(InstructionFactory.createLoad(object_arr, tagFrameLocal.getIndex())); @@ -1465,15 +1466,15 @@ InstructionList callEnterOrExit( il.append(ifact.createConstant(method_info_index)); // Create an array of objects with elements for each parameter - il.append(ifact.createConstant(arg_types.length)); + il.append(ifact.createConstant(param_types.length)); il.append(ifact.createNewArray(Type.OBJECT, (short) 1)); // Put each argument into the array int param_index = param_offset; - for (int ii = 0; ii < arg_types.length; ii++) { + for (int ii = 0; ii < param_types.length; ii++) { il.append(InstructionFactory.createDup(object_arr.getSize())); il.append(ifact.createConstant(ii)); - Type at = arg_types[ii]; + Type at = param_types[ii]; if (at instanceof BasicType) { il.append(new ACONST_NULL()); // il.append (createPrimitiveWrapper (c, at, param_index)); @@ -1916,7 +1917,7 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { // Iterator over all of the exit line numbers for this method, in order. // We will read one element from it each time that we encounter a // return instruction. - Iterator exit_iter = mi.exit_locations.iterator(); + Iterator exitLocationIter = mi.exit_locations.iterator(); // Loop through each instruction, looking for return instructions. InstructionList il = mgen.getInstructionList(); @@ -1936,7 +1937,8 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { new_il.append(InstructionFactory.createDup(type.getSize())); new_il.append(InstructionFactory.createStore(type, return_loc.getIndex())); } - new_il.append(callEnterOrExit(mgen, method_info_index, "exit", exit_iter.next())); + int exitLoc = exitLocationIter.next(); + new_il.append(callEnterOrExit(mgen, method_info_index, "exit", exitLoc)); new_il.append(inst); replaceInstructions(mgen, il, ih, new_il); } @@ -1951,7 +1953,7 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { * * @param startClass the JavaClass whose interfaces are to be searched * @param methodName the target method to search for - * @param paramTypes the target method's argument types + * @param paramTypes the target method's parameter types * @return the name of the interface class containing target method, or null if not found */ private @Nullable @ClassGetName String getDefiningInterface( @@ -1968,7 +1970,10 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { try { ji = getJavaClass(interfaceName); } catch (Throwable e) { - throw new Error(String.format("Unable to load class: %s", interfaceName), e); + throw new Error("Unable to load class: " + interfaceName, e); + } + if (ji == null) { + throw new Error("Unable to load class: " + interfaceName); } for (Method jm : ji.getMethods()) { if (debugGetDefiningInterface) { @@ -1999,8 +2004,8 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { *

      1. otherwise, determine whether the target of the invoke is instrumented or not (this is the * {@code callee_instrumented} variable) *
          - *
        • If the target method is instrumented, add a DCompMarker argument to the end of the - * argument list. + *
        • If the target method is instrumented, add a DCompMarker parameter to the end of the + * parameter list. *
        • If the target method is not instrumented, we must account for the fact that the * instrumentation code generated up to this point has assumed that the target method * is instrumented. Hence, generate code to discard a primitive tag from the @@ -2028,7 +2033,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { // Replace calls to Object's equals method with calls to our // replacement, a static method in DCRuntime. - Type[] new_arg_types = new Type[] {javalangObject, javalangObject}; + Type[] new_param_types = new Type[] {javalangObject, javalangObject}; InstructionList il = new InstructionList(); il.append( @@ -2036,7 +2041,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { dcompRuntimeClassName, (invoke.getOpcode() == Const.INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", returnType, - new_arg_types, + new_param_types, Const.INVOKESTATIC)); return il; } @@ -2046,8 +2051,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { // Replace calls to Object's clone method with calls to our // replacement, a static method in DCRuntime. - InstructionList il = instrument_clone_call(invoke); - return il; + return instrument_clone_call(invoke); } boolean callee_instrumented = isTargetInstrumented(invoke, classname, methodName, paramTypes); @@ -2062,16 +2066,16 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { if (callee_instrumented) { InstructionList il = new InstructionList(); - // Add the DCompMarker argument so that it calls the instrumented version. + // Push the DCompMarker argument as we are calling the instrumented version. il.append(new ACONST_NULL()); - Type[] new_arg_types = ArraysPlume.append(paramTypes, dcomp_marker); + Type[] new_param_types = ArraysPlume.append(paramTypes, dcomp_marker); Constant methodref = pool.getConstant(invoke.getIndex()); il.append( ifact.createInvoke( classname, methodName, returnType, - new_arg_types, + new_param_types, invoke.getOpcode(), methodref instanceof ConstantInterfaceMethodref)); return il; @@ -2080,7 +2084,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { InstructionList il = new InstructionList(); // JUnit test classes are a bit strange. They are marked as not being callee_instrumented - // because they do not have the dcomp_marker added to the argument list, but + // because they do not have the dcomp_marker added to the parameter list, but // they actually contain instrumentation code. So we do not want to discard // the primitive tags prior to the call. if (!junitTestClasses.contains(classname)) { @@ -2101,9 +2105,9 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { /** * Returns instructions that will discard any primitive tags corresponding to the specified - * arguments. Returns an empty instruction list if there are no primitive arguments to discard. + * parameters. Returns an empty instruction list if there are no primitive arguments to discard. * - * @param paramTypes argument types of target method + * @param paramTypes parameter types of target method * @return an instruction list that discards primitive tags from DCRuntime's per-thread * comparability data stack */ @@ -2127,7 +2131,7 @@ private InstructionList discard_primitive_tags(Type[] paramTypes) { * @param invoke instruction whose target is to be checked * @param classname target class of the invoke * @param methodName target method of the invoke - * @param paramTypes argument types of target method + * @param paramTypes parameter types of target method * @return true if the target is instrumented */ private boolean isTargetInstrumented( @@ -2239,6 +2243,7 @@ private boolean isTargetInstrumented( try { targetClass = getJavaClass(targetClassname); } catch (Throwable e) { + System.out.printf("Problem while getting class: %s%n%s%n%n", targetClassname, e); targetClass = null; } if (targetClass == null) { @@ -2443,14 +2448,27 @@ private boolean isClassnameInstrumented( * {@code java.lang.Object} is {@code java.lang.Object} rather than saying there is no superclass. * * @param classname the fully-qualified name of the class in binary form. E.g., "java.util.List" - * @return name of superclass, or null if there is an error + * @return name of superclass */ private @ClassGetName String getSuperclassName(String classname) { JavaClass jc = getJavaClass(classname); - if (jc != null) { - return jc.getSuperclassName(); - } else { - return null; + if (jc == null) { + throw new SuperclassNameError(classname); + } + return jc.getSuperclassName(); + } + + /** Unchecked exception thrown if {@link #getSuperclassName} cannot find a superclass name. */ + private class SuperclassNameError extends Error { + static final long serialVersionUID = 20251203; + + /** + * Creates a SuperclassNameError. + * + * @param classname the name of the class whose parent cannot be found + */ + SuperclassNameError(String classname) { + super(classname); } } @@ -2497,7 +2515,7 @@ private boolean isClassnameInstrumented( * * @param methodName method to check * @param returnType return type of method - * @param args array of argument types to method + * @param args array of parameter types to method * @return true if method is Object.equals() */ @Pure @@ -2513,7 +2531,7 @@ boolean is_object_equals(@Identifier String methodName, Type returnType, Type[] * * @param methodName method to check * @param returnType return type of method - * @param args array of argument types to method + * @param args array of parameter types to method * @return true if method is Object.clone() */ @Pure @@ -2716,7 +2734,7 @@ int get_field_num(String name, ObjectType obj_type) { throw new Error("Can't find " + name + " in " + obj_type); } - // Look up the class using this classes class loader. This may + // Look up the class using this class's class loader. This may // not be the best way to accomplish this. Class obj_class; try { @@ -2799,7 +2817,7 @@ LocalVariableGen get_return_local(MethodGen mgen, @Nullable Type return_type) { * @param mgen method to inspect * @return a new MethodInfo for the method, or null if the method should not be instrumented */ - @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen mgen) { + @Nullable MethodInfo create_method_info_if_instrumented(ClassInfo classInfo, MethodGen mgen) { // if (mgen.getName().equals("")) { // // This case DOES occur at run time. -MDE 1/22/2010 @@ -2818,7 +2836,7 @@ LocalVariableGen get_return_local(MethodGen mgen, @Nullable Type return_type) { } } - // Get the argument types for this method + // Get the parameter types for this method Type[] paramTypes = mgen.getArgumentTypes(); @ClassGetName String[] param_type_strings = new @ClassGetName String[paramTypes.length]; for (int ii = 0; ii < paramTypes.length; ii++) { @@ -3144,7 +3162,7 @@ static String methodEntryName(String fullClassName, Method m) { * * @param methodName method to call * @param returnType type of method return - * @param paramTypes array of method argument types + * @param paramTypes array of method parameter types * @return InvokeInstruction for the call */ InvokeInstruction dcr_call(@Identifier String methodName, Type returnType, Type[] paramTypes) { @@ -3765,18 +3783,19 @@ void create_tag_accessors(ClassGen classGen) { */ Map build_field_to_offset_map(JavaClass jc) { - // Object doesn't have any primitive fields - if (jc.getClassName().equals("java.lang.Object")) { - return new LinkedHashMap<>(); - } - - // Get the offsets for each field in the superclasses. JavaClass super_jc; try { super_jc = jc.getSuperClass(); } catch (Exception e) { throw new Error("can't get superclass for " + jc, e); } + + if (super_jc == null) { + // Object doesn't have any primitive fields + return new LinkedHashMap<>(); + } + + // Get the offsets for each field in the superclasses. Map field_to_offset_map = build_field_to_offset_map(super_jc); int offset = field_to_offset_map.size(); @@ -4087,11 +4106,11 @@ void add_clone_and_tostring_interfaces(ClassGen classGen) { } /** - * Add a dcomp marker argument to indicate this is the instrumented version of the method. + * Add a dcomp marker parameter to indicate this is the instrumented version of the method. * - * @param mgen method to ard dcomp marker to + * @param mgen method to add dcomp marker to */ - void add_dcomp_arg(MethodGen mgen) { + void add_dcomp_param(MethodGen mgen) { // Don't modify main or the JVM won't be able to find it. if (BcelUtil.isMain(mgen)) { @@ -4103,7 +4122,7 @@ void add_dcomp_arg(MethodGen mgen) { return; } - // Add the dcomp marker argument to indicate this is the + // Add the dcomp marker parameter to indicate this is the // instrumented version of the method. addNewParameter(mgen, "marker", dcomp_marker); } @@ -4112,7 +4131,7 @@ void add_dcomp_arg(MethodGen mgen) { * Returns true if the method is defined in Object. * * @param methodName method to check - * @param paramTypes array of argument types to method + * @param paramTypes array of parameter types to method * @return true if method is member of Object */ @Pure @@ -4145,7 +4164,7 @@ boolean is_class_initialized_by_jvm(String classname) { } /** - * Creates a method with a DcompMarker argument that does nothing but call the corresponding + * Creates a method with a DcompMarker parameter that does nothing but call the corresponding * method without the DCompMarker argument. (Currently, only used for ? va main.) * * @param mgen MethodGen of method to create stub for diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 3e70867dd4..b1905144a6 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -231,12 +231,12 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} // Signature descriptors - // No arguments + // No parameters - /** Type array with no arguments. */ + /** Type array with no parameters. */ protected static final ClassDesc[] noArgsSig = new ClassDesc[0]; - // One argument + // One parameter /** Type array with an int. */ protected static ClassDesc[] intSig = {CD_int}; @@ -250,7 +250,7 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} /** Type array with an Object array. */ protected static final ClassDesc[] objectArrayCD_arg = {objectArrayCD}; - // Two arguments + // Two parameters /** Type array with a long and an int. */ protected static ClassDesc[] longIntSig = {CD_long, CD_int}; @@ -370,12 +370,12 @@ protected enum JunitState { new MethodDef("wait", longIntSig), }; - /** Represents a method (by its name and argument types). */ + /** Represents a method (by its name and parameter types). */ static class MethodDef { /** Name of this method. */ String name; - /** Argument types for this method. */ + /** Parameter types for this method. */ ClassDesc[] arg_types; /** @@ -565,7 +565,7 @@ private void instrumentClass( // cause JUnit to complain about multiple constructors and // methods that should have no arguments. To work around these // restrictions, we replace rather than duplicate each method - // we instrument and we do not add the dcomp marker argument. + // we instrument and we do not add the dcomp marker parameter. // We must also remember the class name so if we see a subsequent // call to one of its methods we do not add the dcomp argument. @@ -720,7 +720,7 @@ private void instrumentClass( // Have all top-level classes implement the DCompInstrumented interface. if (classGen.getSuperclassName().equals("java.lang.Object")) { - @SuppressWarnings("signature:assignment") + @SuppressWarnings("signature:assignment") // CF needs regex for @MethodDescriptor @MethodDescriptor String objectToBoolean = "(Ljava/lang/Object;)Z"; // Add equals method if it doesn't already exist. This ensures // that an instrumented version, equals(Object, DCompMarker), @@ -956,7 +956,7 @@ private void instrumentAllMethods( // main methods, methods and all methods in a JUnit test class // need special treatment. They are not duplicated and they do not have - // a DCompMarker added to their argument list. + // a DCompMarker added to their parameter list. boolean addingDcompArg = true; if (mgen.isClinit()) { @@ -1220,8 +1220,8 @@ private void instrumentCode( // Create Java code that cleans up the tag stack and calls the real native method. fix_native(mgen); - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen, minfo); + // Add the DCompMarker parameter to distinguish our version. + add_dcomp_param(mgen, minfo); // Copy the modified local variable table to the output class. debugInstrument.log("LocalVariableTable:%n"); @@ -1242,8 +1242,8 @@ private void instrumentCode( } else { // normal method if (!classInfo.isJunitTestClass) { - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen, minfo); + // Add the DCompMarker parameter to distinguish our version. + add_dcomp_param(mgen, minfo); } if (debugInstrument.enabled) { @@ -1260,12 +1260,12 @@ private void instrumentCode( int paramCount = (mgen.isStatic() ? 0 : 1) + mgen.getParameterTypes().length; debugInstrument.log("paramCount: %d%n", paramCount); - // Create a MethodInfo that describes this method's arguments + // Create a MethodInfo that describes this method's parameters // and exit line numbers (information not available via reflection) // and add it to the list for this class. MethodInfo mi = null; if (trackMethod && !in_jdk) { - mi = create_method_info(classInfo, mgen); + mi = create_method_info_if_instrumented(classInfo, mgen); classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); } @@ -1666,7 +1666,8 @@ protected static void addLabelToWorklist(Label target, OperandStack24 stack) { "push to worklist: " + target + ", " + labelIndexMap.get(target) + ", stack: " + stack); } worklistHistory.put(target, stack.getClone()); - worklist.add(new WorkItem(labelIndexMap.get(target), stack.getClone())); + int indexInCodeList = labelIndexMap.get(target); + worklist.add(new WorkItem(indexInCodeList, stack.getClone())); } else { // will throw if stacks don't match verifyOperandStackMatches(target, existing, stack); @@ -1848,13 +1849,13 @@ private List createTagFrame(MethodGen24 mgen) { /** * Pushes the object, method info index, parameters, and return value on the stack and calls the - * specified Method (normally enter or exit) in DCRuntime. The parameters are passed as an array - * of objects. + * specified method (normally {@code enter()} or {@code exit}) in DCRuntime. The parameters are + * passed as an array of objects. * * @param mgen method to modify * @param minfo for the given method's code * @param method_info_index index for MethodInfo - * @param methodToCall "enter" or "exit" + * @param enterOrExit "enter" or "exit" * @param line source line number if type is exit * @return instruction list for the enter or exit code */ @@ -1862,7 +1863,7 @@ private List callEnterOrExit( MethodGen24 mgen, MethodGen24.MInfo24 minfo, int method_info_index, - String methodToCall, + String enterOrExit, int line) { List instructions = new ArrayList<>(); @@ -1872,7 +1873,7 @@ private List callEnterOrExit( instructions.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); // Push the object. Push null if this is a static method or a constructor. - if (mgen.isStatic() || (methodToCall.equals("enter") && mgen.isConstructor())) { + if (mgen.isStatic() || (enterOrExit.equals("enter") && mgen.isConstructor())) { instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); } else { // must be an instance method instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); @@ -1888,7 +1889,7 @@ private List callEnterOrExit( instructions.add(loadIntegerConstant(paramTypes.length)); instructions.add(NewReferenceArrayInstruction.of(poolBuilder.classEntry(CD_Object))); - // Put each parameter into the array. + // Put each argument into the array. int param_index = param_offset; for (int ii = 0; ii < paramTypes.length; ii++) { instructions.add(StackInstruction.of(Opcode.DUP)); @@ -1906,7 +1907,7 @@ private List callEnterOrExit( // If this is an exit, push the return value and line number. // The return value is stored in the local "return__$trace2_val". // If the return value is a primitive, push a null. - if (methodToCall.equals("exit")) { + if (enterOrExit.equals("exit")) { ClassDesc returnType = mgen.getReturnType(); if (returnType.equals(CD_void)) { instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); @@ -1924,21 +1925,21 @@ private List callEnterOrExit( MethodTypeDesc methodArgs; // Call the specified method. - if (methodToCall.equals("exit")) { + if (enterOrExit.equals("exit")) { methodArgs = MethodTypeDesc.of( CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD, CD_Object, CD_int); } else { methodArgs = MethodTypeDesc.of(CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD); } - MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, methodToCall, methodArgs); + MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, enterOrExit, methodArgs); instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); return instructions; } /** - * Transforms on instruction to track comparability. Returns a list of instructions that replaces + * Transforms one instruction to track comparability. Returns a list of instructions that replaces * the specified instruction. Returns null if the instruction should not be replaced. * * @param mgen method to modify @@ -2412,8 +2413,8 @@ private void add_exit( } /** - * Return the interface class containing the implementation of the given method. The interfaces of - * {@code startClass} are recursively searched. + * Returns the interface class containing the implementation of the given method. The interfaces + * of {@code startClass} are recursively searched. * * @param startClass the ClassModel whose interfaces are to be searched * @param methodName the target method to search for @@ -2491,8 +2492,8 @@ private List handleInvokeDynamic(InvokeDynamicInstruction invoke) { *
        • otherwise, determine whether the target of the invoke is instrumented or not (this is the * {@code callee_instrumented} variable) *
            - *
          • If the target method is instrumented, add a DCompMarker argument to the end of the - * argument list. + *
          • If the target method is instrumented, add a DCompMarker parameter to the end of the + * parameter list. *
          • If the target method is not instrumented, we must account for the fact that the * instrumentation code generated up to this point has assumed that the target method * is instrumented. Hence, generate code to discard a primitive tag from the @@ -2560,12 +2561,12 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge // Push the DCompMarker argument as we are calling the instrumented version. il.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); - // Add the DCompMarker to the arg types list. - List new_arg_types = new ArrayList<>(Arrays.asList(paramTypes)); - new_arg_types.add(dcomp_marker); + // Add the DCompMarker type to the parameter types list. + List new_param_types = new ArrayList<>(Arrays.asList(paramTypes)); + new_param_types.add(dcomp_marker); NameAndTypeEntry nte = - poolBuilder.nameAndTypeEntry(methodName, MethodTypeDesc.of(returnType, new_arg_types)); + poolBuilder.nameAndTypeEntry(methodName, MethodTypeDesc.of(returnType, new_param_types)); il.add(InvokeInstruction.of(invoke.opcode(), invoke.owner(), nte, invoke.isInterface())); return il; @@ -2589,7 +2590,7 @@ private List cleanInvokeTagStack( List il = new ArrayList<>(); // JUnit test classes are a bit strange. They are marked as not being callee_instrumented - // because they do not have the dcomp_marker added to the argument list, but + // because they do not have the dcomp_marker added to the parameter list, but // they actually contain instrumentation code. So we do not want to discard // the primitive tags prior to the call. if (!junitTestClasses.contains(classname)) { @@ -2609,7 +2610,7 @@ private List cleanInvokeTagStack( /** * Returns instructions that will discard any primitive tags corresponding to the specified - * parameters. Returns an empty instruction list if there are no primitive parameters to discard. + * parameters. Returns an empty instruction list if there are no primitive arguments to discard. * * @param paramTypes parameter types of target method * @return an instruction list that discards primitive tags from DCRuntime's per-thread @@ -2808,6 +2809,7 @@ private boolean isTargetInstrumented( targetInstrumented = false; break; } + // Recurse looking in the superclass. targetClassname = getSuperclassName(targetClassname); } @@ -2962,9 +2964,9 @@ private boolean isClassnameInstrumented( } /** - * Return a list of the superclasses of this class. This class itself is not in the list. The is - * in ascending order; that is, java.lang.Object is always the last element, unless the argument - * is java.lang.Object. + * Return a list of the superclasses of this class. This class itself is not in the list. The + * returned list is in ascending order; that is, java.lang.Object is always the last element, + * unless the argument is java.lang.Object. * * @return list of super classes */ @@ -3351,13 +3353,14 @@ private LocalVariable getReturnLocal( * @param mgen method to inspect * @return MethodInfo for the method */ - private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen24 mgen) { + private @Nullable MethodInfo create_method_info_if_instrumented( + ClassInfo classInfo, MethodGen24 mgen) { // Get the parameter names for this method String[] paramNames = mgen.getParameterNames(); if (debugInstrument.enabled) { - debugInstrument.log("create_method_info: %s%n", paramNames.length); + debugInstrument.log("create_method_info_if_instrumented: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); } @@ -4612,12 +4615,12 @@ void add_clone_and_tostring_interfaces(ClassGen24 classGen) { } /** - * Add a dcomp marker argument to indicate this is the instrumented version of the method. + * Add a dcomp marker parameter to indicate this is the instrumented version of the method. * * @param mgen method to add dcomp marker to * @param minfo for the given method's code */ - void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { + void add_dcomp_param(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { // Don't modify main or the JVM won't be able to find it. if (mgen.isMain()) { @@ -4629,7 +4632,7 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { return; } - // Add the dcomp marker argument to indicate this is the + // Add the dcomp marker parameter to indicate this is the // instrumented version of the method. StackMapUtils24.addNewSpecialLocal(mgen, minfo, "marker", dcomp_marker, true); } @@ -4673,7 +4676,7 @@ boolean is_class_initialized_by_jvm(String classname) { } /** - * Creates a pseudo "main" method with a DcompMarker argument that does nothing but call the + * Creates a pseudo "main" method with a DcompMarker parameter that does nothing but call the * original "main" method without the DCompMarker argument. * * @param mgen describes the "main" method From b101c05cf72ccd1222b6f11dcb743c43c9f41037 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 08:11:08 -0800 Subject: [PATCH 163/211] Tweaks --- java/daikon/dcomp/DCInstrument.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index c9a85c453f..5750b16916 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -675,15 +675,13 @@ public JavaClass instrument() { // Create a MethodInfo that describes this method's parameters // and exit line numbers (information not available via reflection) // and add it to the list for this class. - MethodInfo mi = null; if (has_code) { + MethodInfo mi = null; if (track) { mi = create_method_info_if_instrumented(classInfo, mgen); classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); } - - // Instrument the method // Create the local to store the tag frame for this method tagFrameLocal = create_tagFrameLocal(mgen); build_exception_handler(mgen); @@ -1842,7 +1840,9 @@ InstructionList callEnterOrExit( case Const.INVOKESPECIAL: case Const.INVOKEINTERFACE: case Const.INVOKEDYNAMIC: - return handleInvoke((InvokeInstruction) inst); + { + return handleInvoke((InvokeInstruction) inst); + } // Throws an exception. This clears the operand stack of the current // frame. We need to clear the tag stack as well. From 11118a30fe112c43189ebaf13860550d7d70b19f Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 08:36:42 -0800 Subject: [PATCH 164/211] Make nested class static --- java/daikon/dcomp/DCInstrument.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 5750b16916..c10e372b3d 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -2459,7 +2459,7 @@ private boolean isClassnameInstrumented( } /** Unchecked exception thrown if {@link #getSuperclassName} cannot find a superclass name. */ - private class SuperclassNameError extends Error { + private static class SuperclassNameError extends Error { static final long serialVersionUID = 20251203; /** From e319d715425b8276dcb66d453ce8511e12a7b69d Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 15:06:22 -0800 Subject: [PATCH 165/211] Renaming --- java/daikon/chicory/Instrument.java | 11 +-- java/daikon/chicory/Instrument24.java | 11 +-- java/daikon/dcomp/DCInstrument.java | 113 +++++++++++++------------- java/daikon/dcomp/DCInstrument24.java | 89 ++++++++++---------- 4 files changed, 113 insertions(+), 111 deletions(-) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 0e9b93fa3d..f70132160d 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -578,9 +578,9 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { // Create a MethodInfo that describes this method's arguments and exit line numbers // (information not available via reflection) and add it to the list for this class. - MethodInfo curMethodInfo = create_method_info(classInfo, mgen); + MethodInfo curMethodInfo = create_method_info_if_instrumented(classInfo, mgen); - printStackMapTable("After create_method_info"); + printStackMapTable("After create_method_info_if_instrumented"); if (curMethodInfo == null) { // method filtered out! // We are not going to instrument this method. @@ -1149,7 +1149,8 @@ private boolean isConstructor(MethodGen mgen) { * @return a new MethodInfo for the method, or null if the method should not be instrumented */ @SuppressWarnings("unchecked") - private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen mgen) { + private @Nullable MethodInfo create_method_info_if_instrumented( + ClassInfo classInfo, MethodGen mgen) { // Get the parameter names for this method. String[] paramNames = mgen.getArgumentNames(); @@ -1160,7 +1161,7 @@ private boolean isConstructor(MethodGen mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info for: %s%n", classInfo.class_name); + debugInstrument.log("create_method_info_if_instrumented for: %s%n", classInfo.class_name); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); @@ -1197,7 +1198,7 @@ private boolean isConstructor(MethodGen mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info part 2%n"); + debugInstrument.log("create_method_info_if_instrumented part 2%n"); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index b3d3ad9c4b..a35a8e9b91 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -617,7 +617,7 @@ private void instrument_all_methods( // Create a MethodInfo that describes this method's arguments and exit line numbers // (information not available via reflection) and add it to the list for this class. - MethodInfo curMethodInfo = create_method_info(classInfo, mgen); + MethodInfo curMethodInfo = create_method_info_if_instrumented(classInfo, mgen); if (curMethodInfo == null) { // method filtered out! // We are not going to instrument this method. @@ -1381,7 +1381,8 @@ private boolean isConstructor(MethodGen24 mgen) { * @param mgen method to inspect * @return a new MethodInfo for the method, or null if the method should not be instrumented */ - private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen24 mgen) { + private @Nullable MethodInfo create_method_info_if_instrumented( + ClassInfo classInfo, MethodGen24 mgen) { // Get the parameter names for this method. String[] paramNames = mgen.getParameterNames(); @@ -1392,7 +1393,7 @@ private boolean isConstructor(MethodGen24 mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info for: %s%n", classInfo.class_name); + debugInstrument.log("create_method_info_if_instrumented for: %s%n", classInfo.class_name); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); @@ -1430,7 +1431,7 @@ private boolean isConstructor(MethodGen24 mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info part 2%n"); + debugInstrument.log("create_method_info_if_instrumented part 2%n"); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); @@ -1459,7 +1460,7 @@ private boolean isConstructor(MethodGen24 mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info part 3%n"); + debugInstrument.log("create_method_info_if_instrumented part 3%n"); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (int ii = 0; ii < paramTypes.length; ii++) { debugInstrument.log("param type: %s%n", param_type_strings[ii]); diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 1cb970cc79..020c6810bf 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -161,12 +161,12 @@ public class DCInstrument extends InstructionListUtils { // Signature descriptors - // No arguments + // No parameters - /** Type array with no arguments. */ + /** Type array with no parameters. */ protected static final Type[] noArgsSig = new Type[0]; - // One argument + // One parameter /** Type array with an int. */ protected static Type[] intSig = new Type[] {Type.INT}; @@ -180,7 +180,7 @@ public class DCInstrument extends InstructionListUtils { /** Type array with an object. */ protected static Type[] object_arg = new Type[] {Type.OBJECT}; - // Two arguments + // Two parameters /** Type array with a long and an int. */ protected static Type[] longIntSig = new Type[] {Type.LONG, Type.INT}; @@ -306,12 +306,12 @@ protected enum JunitState { /** Temporary location of runtime initialization code. */ private InstructionHandle insertion_placeholder; - /** Represents a method (by its name and argument types). */ + /** Represents a method (by its name and parameter types). */ static class MethodDef { /** Name of this method. */ String name; - /** Argument types for this method. */ + /** Parameter types for this method. */ Type[] arg_types; /** @@ -463,7 +463,7 @@ public JavaClass instrument() { // cause JUnit to complain about multiple constructors and // methods that should have no arguments. To work around these // restrictions, we replace rather than duplicate each method - // we instrument and we do not add the dcomp marker argument. + // we instrument and we do not add the dcomp marker parameter. // We must also remember the class name so if we see a subsequent // call to one of its methods we do not add the dcomp argument. @@ -661,17 +661,17 @@ public JavaClass instrument() { has_code = true; setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); } else { // normal method if (!junit_test_class) { - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); } - // Create a MethodInfo that describes this method's arguments + // Create a MethodInfo that describes this method's parameters // and exit line numbers (information not available via reflection) // and add it to the list for this class. MethodInfo mi = null; @@ -754,13 +754,13 @@ public JavaClass instrument() { + " being skipped.%n", classname, mgen.getName()); // Build a dummy instrumented method that has DCompMarker - // argument and no instrumentation. + // parameter and no instrumentation. // first, restore unmodified method mgen = new MethodGen(m, classname, pool); // restore StackMapTable setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument - add_dcomp_arg(mgen); + // Add the DCompMarker parameter + add_dcomp_param(mgen); remove_local_variable_type_table(mgen); // try again if (replacingMethod) { @@ -958,13 +958,13 @@ public JavaClass instrument_jdk_class() { has_code = true; setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); } else { // normal method - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); // Instrument the method if (has_code) { @@ -1025,13 +1025,13 @@ public JavaClass instrument_jdk_class() { + " being skipped.%n", classname, mgen.getName()); // Build a dummy instrumented method that has DCompMarker - // argument and no instrumentation. + // parameter and no instrumentation. // first, restore unmodified method mgen = new MethodGen(m, classname, pool); // restore StackMapTable setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument - add_dcomp_arg(mgen); + // Add the DCompMarker parameter + add_dcomp_param(mgen); remove_local_variable_type_table(mgen); // try again classGen.addMethod(mgen.getMethod()); @@ -1252,7 +1252,7 @@ public void install_exception_handler(MethodGen mgen) { updateStackMapOffset(exc_offset, 0); int map_offset = exc_offset - runningOffset - 1; - // Get the argument types for this method + // Get the parameter types for this method Type[] arg_types = mgen.getArgumentTypes(); int arg_index = (mgen.isStatic() ? 0 : 1); @@ -1383,11 +1383,11 @@ LocalVariableGen create_tagFrameLocal(MethodGen mgen) { * * @param mgen method to modify * @param tagFrameLocal LocalVariableGen for the tag_frame local - * @return InstructionList for tag_frame setup code + * @return instruction list for tag_frame setup code */ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) { - Type arg_types[] = mgen.getArgumentTypes(); + Type param_types[] = mgen.getArgumentTypes(); // Determine the offset of the first argument in the frame int offset = 1; @@ -1404,7 +1404,7 @@ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) String params = Character.toString((char) (frame_size + '0')); // Character.forDigit (frame_size, Character.MAX_RADIX); List paramList = new ArrayList<>(); - for (Type paramType : arg_types) { + for (Type paramType : param_types) { if (paramType instanceof BasicType) { paramList.add(offset); } @@ -1443,7 +1443,7 @@ InstructionList callEnterOrExit( MethodGen mgen, int method_info_index, String enterOrExit, int line) { InstructionList il = new InstructionList(); - Type[] arg_types = mgen.getArgumentTypes(); + Type[] param_types = mgen.getArgumentTypes(); // Push the tag frame il.append(InstructionFactory.createLoad(object_arr, tagFrameLocal.getIndex())); @@ -1465,15 +1465,15 @@ InstructionList callEnterOrExit( il.append(ifact.createConstant(method_info_index)); // Create an array of objects with elements for each parameter - il.append(ifact.createConstant(arg_types.length)); + il.append(ifact.createConstant(param_types.length)); il.append(ifact.createNewArray(Type.OBJECT, (short) 1)); // Put each argument into the array int param_index = param_offset; - for (int ii = 0; ii < arg_types.length; ii++) { + for (int ii = 0; ii < param_types.length; ii++) { il.append(InstructionFactory.createDup(object_arr.getSize())); il.append(ifact.createConstant(ii)); - Type at = arg_types[ii]; + Type at = param_types[ii]; if (at instanceof BasicType) { il.append(new ACONST_NULL()); // il.append (createPrimitiveWrapper (c, at, param_index)); @@ -1916,7 +1916,7 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { // Iterator over all of the exit line numbers for this method, in order. // We will read one element from it each time that we encounter a // return instruction. - Iterator exit_iter = mi.exit_locations.iterator(); + Iterator exitLocationIter = mi.exit_locations.iterator(); // Loop through each instruction, looking for return instructions. InstructionList il = mgen.getInstructionList(); @@ -1951,7 +1951,7 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { * * @param startClass the JavaClass whose interfaces are to be searched * @param methodName the target method to search for - * @param paramTypes the target method's argument types + * @param paramTypes the target method's parameter types * @return the name of the interface class containing target method, or null if not found */ private @Nullable @ClassGetName String getDefiningInterface( @@ -1999,8 +1999,8 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { *
          • otherwise, determine whether the target of the invoke is instrumented or not (this is the * {@code callee_instrumented} variable) *
              - *
            • If the target method is instrumented, add a DCompMarker argument to the end of the - * argument list. + *
            • If the target method is instrumented, add a DCompMarker parameter to the end of the + * parameter list. *
            • If the target method is not instrumented, we must account for the fact that the * instrumentation code generated up to this point has assumed that the target method * is instrumented. Hence, generate code to discard a primitive tag from the @@ -2028,7 +2028,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { // Replace calls to Object's equals method with calls to our // replacement, a static method in DCRuntime. - Type[] new_arg_types = new Type[] {javalangObject, javalangObject}; + Type[] new_param_types = new Type[] {javalangObject, javalangObject}; InstructionList il = new InstructionList(); il.append( @@ -2036,7 +2036,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { dcompRuntimeClassName, (invoke.getOpcode() == Const.INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", returnType, - new_arg_types, + new_param_types, Const.INVOKESTATIC)); return il; } @@ -2046,8 +2046,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { // Replace calls to Object's clone method with calls to our // replacement, a static method in DCRuntime. - InstructionList il = instrument_clone_call(invoke); - return il; + return instrument_clone_call(invoke); } boolean callee_instrumented = isTargetInstrumented(invoke, classname, methodName, paramTypes); @@ -2062,16 +2061,16 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { if (callee_instrumented) { InstructionList il = new InstructionList(); - // Add the DCompMarker argument so that it calls the instrumented version. + // Push the DCompMarker argument as we are calling the instrumented version. il.append(new ACONST_NULL()); - Type[] new_arg_types = ArraysPlume.append(paramTypes, dcomp_marker); + Type[] new_param_types = ArraysPlume.append(paramTypes, dcomp_marker); Constant methodref = pool.getConstant(invoke.getIndex()); il.append( ifact.createInvoke( classname, methodName, returnType, - new_arg_types, + new_param_types, invoke.getOpcode(), methodref instanceof ConstantInterfaceMethodref)); return il; @@ -2080,7 +2079,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { InstructionList il = new InstructionList(); // JUnit test classes are a bit strange. They are marked as not being callee_instrumented - // because they do not have the dcomp_marker added to the argument list, but + // because they do not have the dcomp_marker added to the parameter list, but // they actually contain instrumentation code. So we do not want to discard // the primitive tags prior to the call. if (!junitTestClasses.contains(classname)) { @@ -2101,9 +2100,9 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { /** * Returns instructions that will discard any primitive tags corresponding to the specified - * arguments. Returns an empty instruction list if there are no primitive arguments to discard. + * parameters. Returns an empty instruction list if there are no primitive arguments to discard. * - * @param paramTypes argument types of target method + * @param paramTypes parameter types of target method * @return an instruction list that discards primitive tags from DCRuntime's per-thread * comparability data stack */ @@ -2127,7 +2126,7 @@ private InstructionList discard_primitive_tags(Type[] paramTypes) { * @param invoke instruction whose target is to be checked * @param classname target class of the invoke * @param methodName target method of the invoke - * @param paramTypes argument types of target method + * @param paramTypes parameter types of target method * @return true if the target is instrumented */ private boolean isTargetInstrumented( @@ -2497,7 +2496,7 @@ private boolean isClassnameInstrumented( * * @param methodName method to check * @param returnType return type of method - * @param args array of argument types to method + * @param args array of parameter types to method * @return true if method is Object.equals() */ @Pure @@ -2513,7 +2512,7 @@ boolean is_object_equals(@Identifier String methodName, Type returnType, Type[] * * @param methodName method to check * @param returnType return type of method - * @param args array of argument types to method + * @param args array of parameter types to method * @return true if method is Object.clone() */ @Pure @@ -2716,7 +2715,7 @@ int get_field_num(String name, ObjectType obj_type) { throw new Error("Can't find " + name + " in " + obj_type); } - // Look up the class using this classes class loader. This may + // Look up the class using this class's class loader. This may // not be the best way to accomplish this. Class obj_class; try { @@ -2799,7 +2798,7 @@ LocalVariableGen get_return_local(MethodGen mgen, @Nullable Type return_type) { * @param mgen method to inspect * @return a new MethodInfo for the method, or null if the method should not be instrumented */ - @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen mgen) { + @Nullable MethodInfo create_method_info_if_instrumented(ClassInfo classInfo, MethodGen mgen) { // if (mgen.getName().equals("")) { // // This case DOES occur at run time. -MDE 1/22/2010 @@ -2818,7 +2817,7 @@ LocalVariableGen get_return_local(MethodGen mgen, @Nullable Type return_type) { } } - // Get the argument types for this method + // Get the parameter types for this method Type[] paramTypes = mgen.getArgumentTypes(); @ClassGetName String[] param_type_strings = new @ClassGetName String[paramTypes.length]; for (int ii = 0; ii < paramTypes.length; ii++) { @@ -3144,7 +3143,7 @@ static String methodEntryName(String fullClassName, Method m) { * * @param methodName method to call * @param returnType type of method return - * @param paramTypes array of method argument types + * @param paramTypes array of method parameter types * @return InvokeInstruction for the call */ InvokeInstruction dcr_call(@Identifier String methodName, Type returnType, Type[] paramTypes) { @@ -4087,11 +4086,11 @@ void add_clone_and_tostring_interfaces(ClassGen classGen) { } /** - * Add a dcomp marker argument to indicate this is the instrumented version of the method. + * Add a dcomp marker parameter to indicate this is the instrumented version of the method. * - * @param mgen method to ard dcomp marker to + * @param mgen method to add dcomp marker to */ - void add_dcomp_arg(MethodGen mgen) { + void add_dcomp_param(MethodGen mgen) { // Don't modify main or the JVM won't be able to find it. if (BcelUtil.isMain(mgen)) { @@ -4103,7 +4102,7 @@ void add_dcomp_arg(MethodGen mgen) { return; } - // Add the dcomp marker argument to indicate this is the + // Add the dcomp marker parameter to indicate this is the // instrumented version of the method. addNewParameter(mgen, "marker", dcomp_marker); } @@ -4112,7 +4111,7 @@ void add_dcomp_arg(MethodGen mgen) { * Returns true if the method is defined in Object. * * @param methodName method to check - * @param paramTypes array of argument types to method + * @param paramTypes array of parameter types to method * @return true if method is member of Object */ @Pure @@ -4145,7 +4144,7 @@ boolean is_class_initialized_by_jvm(String classname) { } /** - * Creates a method with a DcompMarker argument that does nothing but call the corresponding + * Creates a method with a DcompMarker parameter that does nothing but call the corresponding * method without the DCompMarker argument. (Currently, only used for ? va main.) * * @param mgen MethodGen of method to create stub for diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 3e70867dd4..31939ef452 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -231,12 +231,12 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} // Signature descriptors - // No arguments + // No parameters - /** Type array with no arguments. */ + /** Type array with no parameters. */ protected static final ClassDesc[] noArgsSig = new ClassDesc[0]; - // One argument + // One parameter /** Type array with an int. */ protected static ClassDesc[] intSig = {CD_int}; @@ -250,7 +250,7 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} /** Type array with an Object array. */ protected static final ClassDesc[] objectArrayCD_arg = {objectArrayCD}; - // Two arguments + // Two parameters /** Type array with a long and an int. */ protected static ClassDesc[] longIntSig = {CD_long, CD_int}; @@ -370,12 +370,12 @@ protected enum JunitState { new MethodDef("wait", longIntSig), }; - /** Represents a method (by its name and argument types). */ + /** Represents a method (by its name and parameter types). */ static class MethodDef { /** Name of this method. */ String name; - /** Argument types for this method. */ + /** Parameter types for this method. */ ClassDesc[] arg_types; /** @@ -565,7 +565,7 @@ private void instrumentClass( // cause JUnit to complain about multiple constructors and // methods that should have no arguments. To work around these // restrictions, we replace rather than duplicate each method - // we instrument and we do not add the dcomp marker argument. + // we instrument and we do not add the dcomp marker parameter. // We must also remember the class name so if we see a subsequent // call to one of its methods we do not add the dcomp argument. @@ -720,7 +720,7 @@ private void instrumentClass( // Have all top-level classes implement the DCompInstrumented interface. if (classGen.getSuperclassName().equals("java.lang.Object")) { - @SuppressWarnings("signature:assignment") + @SuppressWarnings("signature:assignment") // CF needs regex for @MethodDescriptor @MethodDescriptor String objectToBoolean = "(Ljava/lang/Object;)Z"; // Add equals method if it doesn't already exist. This ensures // that an instrumented version, equals(Object, DCompMarker), @@ -956,7 +956,7 @@ private void instrumentAllMethods( // main methods, methods and all methods in a JUnit test class // need special treatment. They are not duplicated and they do not have - // a DCompMarker added to their argument list. + // a DCompMarker added to their parameter list. boolean addingDcompArg = true; if (mgen.isClinit()) { @@ -1220,8 +1220,8 @@ private void instrumentCode( // Create Java code that cleans up the tag stack and calls the real native method. fix_native(mgen); - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen, minfo); + // Add the DCompMarker parameter to distinguish our version. + add_dcomp_param(mgen, minfo); // Copy the modified local variable table to the output class. debugInstrument.log("LocalVariableTable:%n"); @@ -1242,8 +1242,8 @@ private void instrumentCode( } else { // normal method if (!classInfo.isJunitTestClass) { - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen, minfo); + // Add the DCompMarker parameter to distinguish our version. + add_dcomp_param(mgen, minfo); } if (debugInstrument.enabled) { @@ -1260,12 +1260,12 @@ private void instrumentCode( int paramCount = (mgen.isStatic() ? 0 : 1) + mgen.getParameterTypes().length; debugInstrument.log("paramCount: %d%n", paramCount); - // Create a MethodInfo that describes this method's arguments + // Create a MethodInfo that describes this method's parameters // and exit line numbers (information not available via reflection) // and add it to the list for this class. MethodInfo mi = null; if (trackMethod && !in_jdk) { - mi = create_method_info(classInfo, mgen); + mi = create_method_info_if_instrumented(classInfo, mgen); classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); } @@ -1848,13 +1848,13 @@ private List createTagFrame(MethodGen24 mgen) { /** * Pushes the object, method info index, parameters, and return value on the stack and calls the - * specified Method (normally enter or exit) in DCRuntime. The parameters are passed as an array - * of objects. + * specified method (normally {@code enter()} or {@code exit}) in DCRuntime. The parameters are + * passed as an array of objects. * * @param mgen method to modify * @param minfo for the given method's code * @param method_info_index index for MethodInfo - * @param methodToCall "enter" or "exit" + * @param enterOrExit "enter" or "exit" * @param line source line number if type is exit * @return instruction list for the enter or exit code */ @@ -1862,7 +1862,7 @@ private List callEnterOrExit( MethodGen24 mgen, MethodGen24.MInfo24 minfo, int method_info_index, - String methodToCall, + String enterOrExit, int line) { List instructions = new ArrayList<>(); @@ -1872,7 +1872,7 @@ private List callEnterOrExit( instructions.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); // Push the object. Push null if this is a static method or a constructor. - if (mgen.isStatic() || (methodToCall.equals("enter") && mgen.isConstructor())) { + if (mgen.isStatic() || (enterOrExit.equals("enter") && mgen.isConstructor())) { instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); } else { // must be an instance method instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); @@ -1888,7 +1888,7 @@ private List callEnterOrExit( instructions.add(loadIntegerConstant(paramTypes.length)); instructions.add(NewReferenceArrayInstruction.of(poolBuilder.classEntry(CD_Object))); - // Put each parameter into the array. + // Put each argument into the array. int param_index = param_offset; for (int ii = 0; ii < paramTypes.length; ii++) { instructions.add(StackInstruction.of(Opcode.DUP)); @@ -1906,7 +1906,7 @@ private List callEnterOrExit( // If this is an exit, push the return value and line number. // The return value is stored in the local "return__$trace2_val". // If the return value is a primitive, push a null. - if (methodToCall.equals("exit")) { + if (enterOrExit.equals("exit")) { ClassDesc returnType = mgen.getReturnType(); if (returnType.equals(CD_void)) { instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); @@ -1924,21 +1924,21 @@ private List callEnterOrExit( MethodTypeDesc methodArgs; // Call the specified method. - if (methodToCall.equals("exit")) { + if (enterOrExit.equals("exit")) { methodArgs = MethodTypeDesc.of( CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD, CD_Object, CD_int); } else { methodArgs = MethodTypeDesc.of(CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD); } - MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, methodToCall, methodArgs); + MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, enterOrExit, methodArgs); instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); return instructions; } /** - * Transforms on instruction to track comparability. Returns a list of instructions that replaces + * Transforms one instruction to track comparability. Returns a list of instructions that replaces * the specified instruction. Returns null if the instruction should not be replaced. * * @param mgen method to modify @@ -2412,8 +2412,8 @@ private void add_exit( } /** - * Return the interface class containing the implementation of the given method. The interfaces of - * {@code startClass} are recursively searched. + * Returns the interface class containing the implementation of the given method. The interfaces + * of {@code startClass} are recursively searched. * * @param startClass the ClassModel whose interfaces are to be searched * @param methodName the target method to search for @@ -2491,8 +2491,8 @@ private List handleInvokeDynamic(InvokeDynamicInstruction invoke) { *
            • otherwise, determine whether the target of the invoke is instrumented or not (this is the * {@code callee_instrumented} variable) *
                - *
              • If the target method is instrumented, add a DCompMarker argument to the end of the - * argument list. + *
              • If the target method is instrumented, add a DCompMarker parameter to the end of the + * parameter list. *
              • If the target method is not instrumented, we must account for the fact that the * instrumentation code generated up to this point has assumed that the target method * is instrumented. Hence, generate code to discard a primitive tag from the @@ -2560,12 +2560,12 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge // Push the DCompMarker argument as we are calling the instrumented version. il.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); - // Add the DCompMarker to the arg types list. - List new_arg_types = new ArrayList<>(Arrays.asList(paramTypes)); - new_arg_types.add(dcomp_marker); + // Add the DCompMarker type to the parameter types list. + List new_param_types = new ArrayList<>(Arrays.asList(paramTypes)); + new_param_types.add(dcomp_marker); NameAndTypeEntry nte = - poolBuilder.nameAndTypeEntry(methodName, MethodTypeDesc.of(returnType, new_arg_types)); + poolBuilder.nameAndTypeEntry(methodName, MethodTypeDesc.of(returnType, new_param_types)); il.add(InvokeInstruction.of(invoke.opcode(), invoke.owner(), nte, invoke.isInterface())); return il; @@ -2589,7 +2589,7 @@ private List cleanInvokeTagStack( List il = new ArrayList<>(); // JUnit test classes are a bit strange. They are marked as not being callee_instrumented - // because they do not have the dcomp_marker added to the argument list, but + // because they do not have the dcomp_marker added to the parameter list, but // they actually contain instrumentation code. So we do not want to discard // the primitive tags prior to the call. if (!junitTestClasses.contains(classname)) { @@ -2609,7 +2609,7 @@ private List cleanInvokeTagStack( /** * Returns instructions that will discard any primitive tags corresponding to the specified - * parameters. Returns an empty instruction list if there are no primitive parameters to discard. + * parameters. Returns an empty instruction list if there are no primitive arguments to discard. * * @param paramTypes parameter types of target method * @return an instruction list that discards primitive tags from DCRuntime's per-thread @@ -2962,9 +2962,9 @@ private boolean isClassnameInstrumented( } /** - * Return a list of the superclasses of this class. This class itself is not in the list. The is - * in ascending order; that is, java.lang.Object is always the last element, unless the argument - * is java.lang.Object. + * Return a list of the superclasses of this class. This class itself is not in the list. The + * returned list is in ascending order; that is, java.lang.Object is always the last element, + * unless the argument is java.lang.Object. * * @return list of super classes */ @@ -3351,13 +3351,14 @@ private LocalVariable getReturnLocal( * @param mgen method to inspect * @return MethodInfo for the method */ - private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen24 mgen) { + private @Nullable MethodInfo create_method_info_if_instrumented( + ClassInfo classInfo, MethodGen24 mgen) { // Get the parameter names for this method String[] paramNames = mgen.getParameterNames(); if (debugInstrument.enabled) { - debugInstrument.log("create_method_info: %s%n", paramNames.length); + debugInstrument.log("create_method_info_if_instrumented: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); } @@ -4612,12 +4613,12 @@ void add_clone_and_tostring_interfaces(ClassGen24 classGen) { } /** - * Add a dcomp marker argument to indicate this is the instrumented version of the method. + * Add a dcomp marker parameter to indicate this is the instrumented version of the method. * * @param mgen method to add dcomp marker to * @param minfo for the given method's code */ - void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { + void add_dcomp_param(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { // Don't modify main or the JVM won't be able to find it. if (mgen.isMain()) { @@ -4629,7 +4630,7 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { return; } - // Add the dcomp marker argument to indicate this is the + // Add the dcomp marker parameter to indicate this is the // instrumented version of the method. StackMapUtils24.addNewSpecialLocal(mgen, minfo, "marker", dcomp_marker, true); } @@ -4673,7 +4674,7 @@ boolean is_class_initialized_by_jvm(String classname) { } /** - * Creates a pseudo "main" method with a DcompMarker argument that does nothing but call the + * Creates a pseudo "main" method with a DcompMarker parameter that does nothing but call the * original "main" method without the DCompMarker argument. * * @param mgen describes the "main" method From c2262e7336772a96b4c487112c737866b91130c7 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 15:12:05 -0800 Subject: [PATCH 166/211] Trivial refactoring --- java/daikon/dcomp/DCInstrument.java | 10 ++++++---- java/daikon/dcomp/DCInstrument24.java | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 1cb970cc79..c0bb835281 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -1841,7 +1841,9 @@ InstructionList callEnterOrExit( case Const.INVOKESPECIAL: case Const.INVOKEINTERFACE: case Const.INVOKEDYNAMIC: - return handleInvoke((InvokeInstruction) inst); + { + return handleInvoke((InvokeInstruction) inst); + } // Throws an exception. This clears the operand stack of the current // frame. We need to clear the tag stack as well. @@ -1936,7 +1938,8 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { new_il.append(InstructionFactory.createDup(type.getSize())); new_il.append(InstructionFactory.createStore(type, return_loc.getIndex())); } - new_il.append(callEnterOrExit(mgen, method_info_index, "exit", exit_iter.next())); + int exitLoc = exitLocationIter.next(); + new_il.append(callEnterOrExit(mgen, method_info_index, "exit", exitLoc)); new_il.append(inst); replaceInstructions(mgen, il, ih, new_il); } @@ -2046,8 +2049,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { // Replace calls to Object's clone method with calls to our // replacement, a static method in DCRuntime. - InstructionList il = instrument_clone_call(invoke); - return il; + return instrument_clone_call(invoke); } boolean callee_instrumented = isTargetInstrumented(invoke, classname, methodName, paramTypes); diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 3e70867dd4..58666abcd4 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1666,7 +1666,8 @@ protected static void addLabelToWorklist(Label target, OperandStack24 stack) { "push to worklist: " + target + ", " + labelIndexMap.get(target) + ", stack: " + stack); } worklistHistory.put(target, stack.getClone()); - worklist.add(new WorkItem(labelIndexMap.get(target), stack.getClone())); + int indexInCodeList = labelIndexMap.get(target); + worklist.add(new WorkItem(indexInCodeList, stack.getClone())); } else { // will throw if stacks don't match verifyOperandStackMatches(target, existing, stack); From 8afe9c2f6c8c8e0676371e3732163936b570efcd Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 15:14:29 -0800 Subject: [PATCH 167/211] Undo a change --- java/daikon/dcomp/DCInstrument.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index c10e372b3d..9dc83715fc 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -3783,19 +3783,18 @@ void create_tag_accessors(ClassGen classGen) { */ Map build_field_to_offset_map(JavaClass jc) { + // Object doesn't have any primitive fields + if (jc.getClassName().equals("java.lang.Object")) { + return new LinkedHashMap<>(); + } + + // Get the offsets for each field in the superclasses. JavaClass super_jc; try { super_jc = jc.getSuperClass(); } catch (Exception e) { throw new Error("can't get superclass for " + jc, e); } - - if (super_jc == null) { - // Object doesn't have any primitive fields - return new LinkedHashMap<>(); - } - - // Get the offsets for each field in the superclasses. Map field_to_offset_map = build_field_to_offset_map(super_jc); int offset = field_to_offset_map.size(); From 1e69a6b7c2242efb4d75459fdb23b97e2b2b5049 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 15:19:47 -0800 Subject: [PATCH 168/211] Rename --- java/daikon/dcomp/DCInstrument.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index c0bb835281..32a6b43f76 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -1918,7 +1918,7 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { // Iterator over all of the exit line numbers for this method, in order. // We will read one element from it each time that we encounter a // return instruction. - Iterator exit_iter = mi.exit_locations.iterator(); + Iterator exitLocationIter = mi.exit_locations.iterator(); // Loop through each instruction, looking for return instructions. InstructionList il = mgen.getInstructionList(); From b30daf7e35b2a4dc4bd43848c8ce7870a6ab13e7 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 15:31:45 -0800 Subject: [PATCH 169/211] Another minor refactoring --- java/daikon/chicory/Instrument.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 0e9b93fa3d..f245b17d82 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -1308,7 +1308,8 @@ private boolean isConstructor(MethodGen mgen) { public void dump_code_attributes(MethodGen mgen) { // mgen.getMethod().getCode().getAttributes() forces attributes // to be instantiated; mgen.getCodeAttributes() does not. - for (Attribute a : mgen.getMethod().getCode().getAttributes()) { + Code code = mgen.getMethod().getCode(); + for (Attribute a : code.getAttributes()) { int con_index = a.getNameIndex(); Constant c = pool.getConstant(con_index); String att_name = ((ConstantUtf8) c).getBytes(); From d152572217227a34af14d7e56bdfb4378b70ecaa Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 15:36:47 -0800 Subject: [PATCH 170/211] Reduce number of tests, reduce scope --- java/daikon/dcomp/DCInstrument.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 1cb970cc79..550f3eba20 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -674,15 +674,14 @@ public JavaClass instrument() { // Create a MethodInfo that describes this method's arguments // and exit line numbers (information not available via reflection) // and add it to the list for this class. - MethodInfo mi = null; - if (track && has_code) { - mi = create_method_info(classInfo, mgen); - classInfo.method_infos.add(mi); - DCRuntime.methods.add(mi); - } - - // Instrument the method if (has_code) { + MethodInfo mi = null; + if (track) { + mi = create_method_info(classInfo, mgen); + classInfo.method_infos.add(mi); + DCRuntime.methods.add(mi); + } + // Create the local to store the tag frame for this method tagFrameLocal = create_tagFrameLocal(mgen); build_exception_handler(mgen); From a3522ed65c40f8087757027c5007c9ef31d145f9 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 15:39:29 -0800 Subject: [PATCH 171/211] Fix renaming errors --- java/daikon/dcomp/DCInstrument.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 020c6810bf..ec8199ee22 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -676,7 +676,7 @@ public JavaClass instrument() { // and add it to the list for this class. MethodInfo mi = null; if (track && has_code) { - mi = create_method_info(classInfo, mgen); + mi = create_method_info_if_instrumented(classInfo, mgen); classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); } @@ -1936,7 +1936,7 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { new_il.append(InstructionFactory.createDup(type.getSize())); new_il.append(InstructionFactory.createStore(type, return_loc.getIndex())); } - new_il.append(callEnterOrExit(mgen, method_info_index, "exit", exit_iter.next())); + new_il.append(callEnterOrExit(mgen, method_info_index, "exit", exitLocationIter.next())); new_il.append(inst); replaceInstructions(mgen, il, ih, new_il); } From b5c145bf02a161774973dc0249d16ce5731244f6 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 15:40:47 -0800 Subject: [PATCH 172/211] Fix? --- java/daikon/dcomp/DCInstrument.java | 134 ++++++++++++++-------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 9dc83715fc..40067c4422 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -692,46 +692,76 @@ public JavaClass instrument() { } install_exception_handler(mgen); } + } - if (has_code) { - updateUninitializedNewOffsets(mgen.getInstructionList()); - createNewStackMapAttribute(mgen); - mgen.setMaxLocals(); - mgen.setMaxStack(); - } else { - mgen.removeCodeAttributes(); - mgen.removeLocalVariables(); + if (has_code) { + updateUninitializedNewOffsets(mgen.getInstructionList()); + createNewStackMapAttribute(mgen); + mgen.setMaxLocals(); + mgen.setMaxStack(); + } else { + mgen.removeCodeAttributes(); + mgen.removeLocalVariables(); + } + + remove_local_variable_type_table(mgen); + + // We do not want to copy the @HotSpotIntrinsicCandidate annotations from + // the original method to our instrumented method as the signature will + // not match anything in the JVM's list. This won't cause an execution + // problem but will produce a number of warnings. + // JDK 11: @HotSpotIntrinsicCandidate + // JDK 17: @IntrinsicCandidate + AnnotationEntryGen[] aes = mgen.getAnnotationEntries(); + for (AnnotationEntryGen item : aes) { + String type = item.getTypeName(); + if (type.endsWith("IntrinsicCandidate;")) { + mgen.removeAnnotationEntry(item); } + } - remove_local_variable_type_table(mgen); - - // We do not want to copy the @HotSpotIntrinsicCandidate annotations from - // the original method to our instrumented method as the signature will - // not match anything in the JVM's list. This won't cause an execution - // problem but will produce a number of warnings. - // JDK 11: @HotSpotIntrinsicCandidate - // JDK 17: @IntrinsicCandidate - AnnotationEntryGen[] aes = mgen.getAnnotationEntries(); - for (AnnotationEntryGen item : aes) { - String type = item.getTypeName(); - if (type.endsWith("IntrinsicCandidate;")) { - mgen.removeAnnotationEntry(item); + // Can't duplicate "main" or "clinit" or a JUnit test. + boolean replacingMethod = + BcelUtil.isMain(mgen) || BcelUtil.isClinit(mgen) || junit_test_class; + try { + if (has_code) { + il = mgen.getInstructionList(); + InstructionHandle end = il.getEnd(); + int length = end.getPosition() + end.getInstruction().getLength(); + if (length >= Const.MAX_CODE_SIZE) { + throw new ClassGenException( + "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); } } - - // Can't duplicate "main" or "clinit" or a JUnit test. - boolean replacingMethod = - BcelUtil.isMain(mgen) || BcelUtil.isClinit(mgen) || junit_test_class; - try { - if (has_code) { - il = mgen.getInstructionList(); - InstructionHandle end = il.getEnd(); - int length = end.getPosition() + end.getInstruction().getLength(); - if (length >= Const.MAX_CODE_SIZE) { - throw new ClassGenException( - "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); - } + if (replacingMethod) { + classGen.replaceMethod(m, mgen.getMethod()); + if (BcelUtil.isMain(mgen)) { + classGen.addMethod(create_dcomp_stub(mgen).getMethod()); } + } else { + classGen.addMethod(mgen.getMethod()); + } + } catch (Exception e) { + String s = e.getMessage(); + if (s == null) { + throw e; + } + if (s.startsWith("Branch target offset too large") + || s.startsWith("Code array too big")) { + System.err.printf( + "DynComp warning: ClassFile: %s - method %s is too large to instrument and is" + + " being skipped.%n", + classname, mgen.getName()); + // Build a dummy instrumented method that has DCompMarker + // parameter and no instrumentation. + // first, restore unmodified method + mgen = new MethodGen(m, classname, pool); + // restore StackMapTable + setCurrentStackMapTable(mgen, classGen.getMajor()); + // Add the DCompMarker parameter + add_dcomp_param(mgen); + remove_local_variable_type_table(mgen); + // try again if (replacingMethod) { classGen.replaceMethod(m, mgen.getMethod()); if (BcelUtil.isMain(mgen)) { @@ -740,41 +770,11 @@ public JavaClass instrument() { } else { classGen.addMethod(mgen.getMethod()); } - } catch (Exception e) { - String s = e.getMessage(); - if (s == null) { - throw e; - } - if (s.startsWith("Branch target offset too large") - || s.startsWith("Code array too big")) { - System.err.printf( - "DynComp warning: ClassFile: %s - method %s is too large to instrument and is" - + " being skipped.%n", - classname, mgen.getName()); - // Build a dummy instrumented method that has DCompMarker - // parameter and no instrumentation. - // first, restore unmodified method - mgen = new MethodGen(m, classname, pool); - // restore StackMapTable - setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker parameter - add_dcomp_param(mgen); - remove_local_variable_type_table(mgen); - // try again - if (replacingMethod) { - classGen.replaceMethod(m, mgen.getMethod()); - if (BcelUtil.isMain(mgen)) { - classGen.addMethod(create_dcomp_stub(mgen).getMethod()); - } - } else { - classGen.addMethod(mgen.getMethod()); - } - } else { - throw e; - } + } else { + throw e; } - debug_transform.exdent(); } + debug_transform.exdent(); } catch (Throwable t) { // debug code // t.printStackTrace(); From 44f40422453fbe7ada872aee624f54d605632589 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 15:41:48 -0800 Subject: [PATCH 173/211] Add `import` statement --- java/daikon/chicory/Instrument.java | 1 + 1 file changed, 1 insertion(+) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index f245b17d82..4f05e60c2d 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -20,6 +20,7 @@ import org.apache.bcel.Const; import org.apache.bcel.classfile.Attribute; import org.apache.bcel.classfile.ClassParser; +import org.apache.bcel.classfile.Code; import org.apache.bcel.classfile.Constant; import org.apache.bcel.classfile.ConstantUtf8; import org.apache.bcel.classfile.ConstantValue; From 96cc8ebc8cb9e1a4ca47a1dd37eacaebf8d05326 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 16:05:45 -0800 Subject: [PATCH 174/211] Annotations in `Instrument.java` and `Instrument24.java` --- java/daikon/chicory/Instrument.java | 7 ++++--- java/daikon/chicory/Instrument24.java | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 0e9b93fa3d..6434321142 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -20,6 +20,7 @@ import org.apache.bcel.Const; import org.apache.bcel.classfile.Attribute; import org.apache.bcel.classfile.ClassParser; +import org.apache.bcel.classfile.Code; import org.apache.bcel.classfile.Constant; import org.apache.bcel.classfile.ConstantUtf8; import org.apache.bcel.classfile.ConstantValue; @@ -1148,7 +1149,6 @@ private boolean isConstructor(MethodGen mgen) { * @param mgen method to inspect * @return a new MethodInfo for the method, or null if the method should not be instrumented */ - @SuppressWarnings("unchecked") private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen mgen) { // Get the parameter names for this method. @@ -1304,11 +1304,12 @@ private boolean isConstructor(MethodGen mgen) { * * @param mgen describes the given method */ - @SuppressWarnings("nullness:dereference.of.nullable") public void dump_code_attributes(MethodGen mgen) { // mgen.getMethod().getCode().getAttributes() forces attributes // to be instantiated; mgen.getCodeAttributes() does not. - for (Attribute a : mgen.getMethod().getCode().getAttributes()) { + @SuppressWarnings("nullness:assignment") + @NonNull Code code = mgen.getMethod().getCode(); + for (Attribute a : code.getAttributes()) { int con_index = a.getNameIndex(); Constant c = pool.getConstant(con_index); String att_name = ((ConstantUtf8) c).getBytes(); diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index b3d3ad9c4b..6e80ad7266 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -844,6 +844,7 @@ private void instrumentCode( * @param curMethodInfo provides additional information about the method * @param minfo for the given method's code */ + @EnsuresNonNull("#4.nonceLocal") private void instrumentInstructionList( List instructions, MethodGen24 mgen, From beebc82effe268e9dc1f6e0661af1987240bd317 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 21:29:01 -0800 Subject: [PATCH 175/211] Reduce number of tests, reduce scope --- java/daikon/dcomp/DCInstrument.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 1cb970cc79..550f3eba20 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -674,15 +674,14 @@ public JavaClass instrument() { // Create a MethodInfo that describes this method's arguments // and exit line numbers (information not available via reflection) // and add it to the list for this class. - MethodInfo mi = null; - if (track && has_code) { - mi = create_method_info(classInfo, mgen); - classInfo.method_infos.add(mi); - DCRuntime.methods.add(mi); - } - - // Instrument the method if (has_code) { + MethodInfo mi = null; + if (track) { + mi = create_method_info(classInfo, mgen); + classInfo.method_infos.add(mi); + DCRuntime.methods.add(mi); + } + // Create the local to store the tag frame for this method tagFrameLocal = create_tagFrameLocal(mgen); build_exception_handler(mgen); From ac870bc61987b79e0950cdfaaeb5cac6ddb885f5 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 22:10:17 -0800 Subject: [PATCH 176/211] Update method name --- java/daikon/dcomp/DCInstrument.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index bdbb8c0c1f..a3a6040622 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -677,7 +677,7 @@ public JavaClass instrument() { if (has_code) { MethodInfo mi = null; if (track) { - mi = create_method_info(classInfo, mgen); + mi = create_method_info_if_instrumented(classInfo, mgen); classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); } From 60e054f67f73b9413e736fb26043cb076cbb29a8 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 3 Dec 2025 22:13:03 -0800 Subject: [PATCH 177/211] Trivial refactoring --- java/daikon/dcomp/DCInstrument.java | 12 +++++++----- java/daikon/dcomp/DCInstrument24.java | 3 ++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 550f3eba20..b2a61c2bee 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -1840,7 +1840,9 @@ InstructionList callEnterOrExit( case Const.INVOKESPECIAL: case Const.INVOKEINTERFACE: case Const.INVOKEDYNAMIC: - return handleInvoke((InvokeInstruction) inst); + { + return handleInvoke((InvokeInstruction) inst); + } // Throws an exception. This clears the operand stack of the current // frame. We need to clear the tag stack as well. @@ -1915,7 +1917,7 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { // Iterator over all of the exit line numbers for this method, in order. // We will read one element from it each time that we encounter a // return instruction. - Iterator exit_iter = mi.exit_locations.iterator(); + Iterator exitLocationIter = mi.exit_locations.iterator(); // Loop through each instruction, looking for return instructions. InstructionList il = mgen.getInstructionList(); @@ -1935,7 +1937,8 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { new_il.append(InstructionFactory.createDup(type.getSize())); new_il.append(InstructionFactory.createStore(type, return_loc.getIndex())); } - new_il.append(callEnterOrExit(mgen, method_info_index, "exit", exit_iter.next())); + int exitLoc = exitLocationIter.next(); + new_il.append(callEnterOrExit(mgen, method_info_index, "exit", exitLoc)); new_il.append(inst); replaceInstructions(mgen, il, ih, new_il); } @@ -2045,8 +2048,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { // Replace calls to Object's clone method with calls to our // replacement, a static method in DCRuntime. - InstructionList il = instrument_clone_call(invoke); - return il; + return instrument_clone_call(invoke); } boolean callee_instrumented = isTargetInstrumented(invoke, classname, methodName, paramTypes); diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 3e70867dd4..58666abcd4 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1666,7 +1666,8 @@ protected static void addLabelToWorklist(Label target, OperandStack24 stack) { "push to worklist: " + target + ", " + labelIndexMap.get(target) + ", stack: " + stack); } worklistHistory.put(target, stack.getClone()); - worklist.add(new WorkItem(labelIndexMap.get(target), stack.getClone())); + int indexInCodeList = labelIndexMap.get(target); + worklist.add(new WorkItem(indexInCodeList, stack.getClone())); } else { // will throw if stacks don't match verifyOperandStackMatches(target, existing, stack); From 5faea30234043f42282e173b9db84888da1e6c96 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 4 Dec 2025 08:57:35 -0800 Subject: [PATCH 178/211] Renaming --- java/daikon/chicory/Instrument.java | 11 +-- java/daikon/chicory/Instrument24.java | 11 +-- java/daikon/dcomp/DCInstrument.java | 110 +++++++++++++------------- java/daikon/dcomp/DCInstrument24.java | 89 ++++++++++----------- 4 files changed, 112 insertions(+), 109 deletions(-) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 6434321142..d8d08788ef 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -579,9 +579,9 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { // Create a MethodInfo that describes this method's arguments and exit line numbers // (information not available via reflection) and add it to the list for this class. - MethodInfo curMethodInfo = create_method_info(classInfo, mgen); + MethodInfo curMethodInfo = create_method_info_if_instrumented(classInfo, mgen); - printStackMapTable("After create_method_info"); + printStackMapTable("After create_method_info_if_instrumented"); if (curMethodInfo == null) { // method filtered out! // We are not going to instrument this method. @@ -1149,7 +1149,8 @@ private boolean isConstructor(MethodGen mgen) { * @param mgen method to inspect * @return a new MethodInfo for the method, or null if the method should not be instrumented */ - private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen mgen) { + private @Nullable MethodInfo create_method_info_if_instrumented( + ClassInfo classInfo, MethodGen mgen) { // Get the parameter names for this method. String[] paramNames = mgen.getArgumentNames(); @@ -1160,7 +1161,7 @@ private boolean isConstructor(MethodGen mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info for: %s%n", classInfo.class_name); + debugInstrument.log("create_method_info_if_instrumented for: %s%n", classInfo.class_name); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); @@ -1197,7 +1198,7 @@ private boolean isConstructor(MethodGen mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info part 2%n"); + debugInstrument.log("create_method_info_if_instrumented part 2%n"); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 6e80ad7266..ec63a4fbea 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -617,7 +617,7 @@ private void instrument_all_methods( // Create a MethodInfo that describes this method's arguments and exit line numbers // (information not available via reflection) and add it to the list for this class. - MethodInfo curMethodInfo = create_method_info(classInfo, mgen); + MethodInfo curMethodInfo = create_method_info_if_instrumented(classInfo, mgen); if (curMethodInfo == null) { // method filtered out! // We are not going to instrument this method. @@ -1382,7 +1382,8 @@ private boolean isConstructor(MethodGen24 mgen) { * @param mgen method to inspect * @return a new MethodInfo for the method, or null if the method should not be instrumented */ - private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen24 mgen) { + private @Nullable MethodInfo create_method_info_if_instrumented( + ClassInfo classInfo, MethodGen24 mgen) { // Get the parameter names for this method. String[] paramNames = mgen.getParameterNames(); @@ -1393,7 +1394,7 @@ private boolean isConstructor(MethodGen24 mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info for: %s%n", classInfo.class_name); + debugInstrument.log("create_method_info_if_instrumented for: %s%n", classInfo.class_name); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); @@ -1431,7 +1432,7 @@ private boolean isConstructor(MethodGen24 mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info part 2%n"); + debugInstrument.log("create_method_info_if_instrumented part 2%n"); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); @@ -1460,7 +1461,7 @@ private boolean isConstructor(MethodGen24 mgen) { } if (debugInstrument.enabled) { - debugInstrument.log("create_method_info part 3%n"); + debugInstrument.log("create_method_info_if_instrumented part 3%n"); debugInstrument.log("number of parameters: %s%n", paramNames.length); for (int ii = 0; ii < paramTypes.length; ii++) { debugInstrument.log("param type: %s%n", param_type_strings[ii]); diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index b2a61c2bee..0a2f7a44dd 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -161,12 +161,12 @@ public class DCInstrument extends InstructionListUtils { // Signature descriptors - // No arguments + // No parameters - /** Type array with no arguments. */ + /** Type array with no parameters. */ protected static final Type[] noArgsSig = new Type[0]; - // One argument + // One parameter /** Type array with an int. */ protected static Type[] intSig = new Type[] {Type.INT}; @@ -180,7 +180,7 @@ public class DCInstrument extends InstructionListUtils { /** Type array with an object. */ protected static Type[] object_arg = new Type[] {Type.OBJECT}; - // Two arguments + // Two parameters /** Type array with a long and an int. */ protected static Type[] longIntSig = new Type[] {Type.LONG, Type.INT}; @@ -306,12 +306,12 @@ protected enum JunitState { /** Temporary location of runtime initialization code. */ private InstructionHandle insertion_placeholder; - /** Represents a method (by its name and argument types). */ + /** Represents a method (by its name and parameter types). */ static class MethodDef { /** Name of this method. */ String name; - /** Argument types for this method. */ + /** Parameter types for this method. */ Type[] arg_types; /** @@ -463,7 +463,7 @@ public JavaClass instrument() { // cause JUnit to complain about multiple constructors and // methods that should have no arguments. To work around these // restrictions, we replace rather than duplicate each method - // we instrument and we do not add the dcomp marker argument. + // we instrument and we do not add the dcomp marker parameter. // We must also remember the class name so if we see a subsequent // call to one of its methods we do not add the dcomp argument. @@ -661,23 +661,23 @@ public JavaClass instrument() { has_code = true; setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); } else { // normal method if (!junit_test_class) { - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); } - // Create a MethodInfo that describes this method's arguments + // Create a MethodInfo that describes this method's parameters // and exit line numbers (information not available via reflection) // and add it to the list for this class. if (has_code) { MethodInfo mi = null; if (track) { - mi = create_method_info(classInfo, mgen); + mi = create_method_info_if_instrumented(classInfo, mgen); classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); } @@ -753,13 +753,13 @@ public JavaClass instrument() { + " being skipped.%n", classname, mgen.getName()); // Build a dummy instrumented method that has DCompMarker - // argument and no instrumentation. + // parameter and no instrumentation. // first, restore unmodified method mgen = new MethodGen(m, classname, pool); // restore StackMapTable setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument - add_dcomp_arg(mgen); + // Add the DCompMarker parameter + add_dcomp_param(mgen); remove_local_variable_type_table(mgen); // try again if (replacingMethod) { @@ -957,13 +957,13 @@ public JavaClass instrument_jdk_class() { has_code = true; setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); } else { // normal method - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen); + // Add the DCompMarker parameter to distinguish our version + add_dcomp_param(mgen); // Instrument the method if (has_code) { @@ -1024,13 +1024,13 @@ public JavaClass instrument_jdk_class() { + " being skipped.%n", classname, mgen.getName()); // Build a dummy instrumented method that has DCompMarker - // argument and no instrumentation. + // parameter and no instrumentation. // first, restore unmodified method mgen = new MethodGen(m, classname, pool); // restore StackMapTable setCurrentStackMapTable(mgen, classGen.getMajor()); - // Add the DCompMarker argument - add_dcomp_arg(mgen); + // Add the DCompMarker parameter + add_dcomp_param(mgen); remove_local_variable_type_table(mgen); // try again classGen.addMethod(mgen.getMethod()); @@ -1251,7 +1251,7 @@ public void install_exception_handler(MethodGen mgen) { updateStackMapOffset(exc_offset, 0); int map_offset = exc_offset - runningOffset - 1; - // Get the argument types for this method + // Get the parameter types for this method Type[] arg_types = mgen.getArgumentTypes(); int arg_index = (mgen.isStatic() ? 0 : 1); @@ -1382,11 +1382,11 @@ LocalVariableGen create_tagFrameLocal(MethodGen mgen) { * * @param mgen method to modify * @param tagFrameLocal LocalVariableGen for the tag_frame local - * @return InstructionList for tag_frame setup code + * @return instruction list for tag_frame setup code */ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) { - Type arg_types[] = mgen.getArgumentTypes(); + Type param_types[] = mgen.getArgumentTypes(); // Determine the offset of the first argument in the frame int offset = 1; @@ -1403,7 +1403,7 @@ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) String params = Character.toString((char) (frame_size + '0')); // Character.forDigit (frame_size, Character.MAX_RADIX); List paramList = new ArrayList<>(); - for (Type paramType : arg_types) { + for (Type paramType : param_types) { if (paramType instanceof BasicType) { paramList.add(offset); } @@ -1442,7 +1442,7 @@ InstructionList callEnterOrExit( MethodGen mgen, int method_info_index, String enterOrExit, int line) { InstructionList il = new InstructionList(); - Type[] arg_types = mgen.getArgumentTypes(); + Type[] param_types = mgen.getArgumentTypes(); // Push the tag frame il.append(InstructionFactory.createLoad(object_arr, tagFrameLocal.getIndex())); @@ -1464,15 +1464,15 @@ InstructionList callEnterOrExit( il.append(ifact.createConstant(method_info_index)); // Create an array of objects with elements for each parameter - il.append(ifact.createConstant(arg_types.length)); + il.append(ifact.createConstant(param_types.length)); il.append(ifact.createNewArray(Type.OBJECT, (short) 1)); // Put each argument into the array int param_index = param_offset; - for (int ii = 0; ii < arg_types.length; ii++) { + for (int ii = 0; ii < param_types.length; ii++) { il.append(InstructionFactory.createDup(object_arr.getSize())); il.append(ifact.createConstant(ii)); - Type at = arg_types[ii]; + Type at = param_types[ii]; if (at instanceof BasicType) { il.append(new ACONST_NULL()); // il.append (createPrimitiveWrapper (c, at, param_index)); @@ -1953,7 +1953,7 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { * * @param startClass the JavaClass whose interfaces are to be searched * @param methodName the target method to search for - * @param paramTypes the target method's argument types + * @param paramTypes the target method's parameter types * @return the name of the interface class containing target method, or null if not found */ private @Nullable @ClassGetName String getDefiningInterface( @@ -2001,8 +2001,8 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { *
              • otherwise, determine whether the target of the invoke is instrumented or not (this is the * {@code callee_instrumented} variable) *
                  - *
                • If the target method is instrumented, add a DCompMarker argument to the end of the - * argument list. + *
                • If the target method is instrumented, add a DCompMarker parameter to the end of the + * parameter list. *
                • If the target method is not instrumented, we must account for the fact that the * instrumentation code generated up to this point has assumed that the target method * is instrumented. Hence, generate code to discard a primitive tag from the @@ -2030,7 +2030,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { // Replace calls to Object's equals method with calls to our // replacement, a static method in DCRuntime. - Type[] new_arg_types = new Type[] {javalangObject, javalangObject}; + Type[] new_param_types = new Type[] {javalangObject, javalangObject}; InstructionList il = new InstructionList(); il.append( @@ -2038,7 +2038,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { dcompRuntimeClassName, (invoke.getOpcode() == Const.INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", returnType, - new_arg_types, + new_param_types, Const.INVOKESTATIC)); return il; } @@ -2063,16 +2063,16 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { if (callee_instrumented) { InstructionList il = new InstructionList(); - // Add the DCompMarker argument so that it calls the instrumented version. + // Push the DCompMarker argument as we are calling the instrumented version. il.append(new ACONST_NULL()); - Type[] new_arg_types = ArraysPlume.append(paramTypes, dcomp_marker); + Type[] new_param_types = ArraysPlume.append(paramTypes, dcomp_marker); Constant methodref = pool.getConstant(invoke.getIndex()); il.append( ifact.createInvoke( classname, methodName, returnType, - new_arg_types, + new_param_types, invoke.getOpcode(), methodref instanceof ConstantInterfaceMethodref)); return il; @@ -2081,7 +2081,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { InstructionList il = new InstructionList(); // JUnit test classes are a bit strange. They are marked as not being callee_instrumented - // because they do not have the dcomp_marker added to the argument list, but + // because they do not have the dcomp_marker added to the parameter list, but // they actually contain instrumentation code. So we do not want to discard // the primitive tags prior to the call. if (!junitTestClasses.contains(classname)) { @@ -2102,9 +2102,9 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { /** * Returns instructions that will discard any primitive tags corresponding to the specified - * arguments. Returns an empty instruction list if there are no primitive arguments to discard. + * parameters. Returns an empty instruction list if there are no primitive arguments to discard. * - * @param paramTypes argument types of target method + * @param paramTypes parameter types of target method * @return an instruction list that discards primitive tags from DCRuntime's per-thread * comparability data stack */ @@ -2128,7 +2128,7 @@ private InstructionList discard_primitive_tags(Type[] paramTypes) { * @param invoke instruction whose target is to be checked * @param classname target class of the invoke * @param methodName target method of the invoke - * @param paramTypes argument types of target method + * @param paramTypes parameter types of target method * @return true if the target is instrumented */ private boolean isTargetInstrumented( @@ -2498,7 +2498,7 @@ private boolean isClassnameInstrumented( * * @param methodName method to check * @param returnType return type of method - * @param args array of argument types to method + * @param args array of parameter types to method * @return true if method is Object.equals() */ @Pure @@ -2514,7 +2514,7 @@ boolean is_object_equals(@Identifier String methodName, Type returnType, Type[] * * @param methodName method to check * @param returnType return type of method - * @param args array of argument types to method + * @param args array of parameter types to method * @return true if method is Object.clone() */ @Pure @@ -2717,7 +2717,7 @@ int get_field_num(String name, ObjectType obj_type) { throw new Error("Can't find " + name + " in " + obj_type); } - // Look up the class using this classes class loader. This may + // Look up the class using this class's class loader. This may // not be the best way to accomplish this. Class obj_class; try { @@ -2800,7 +2800,7 @@ LocalVariableGen get_return_local(MethodGen mgen, @Nullable Type return_type) { * @param mgen method to inspect * @return a new MethodInfo for the method, or null if the method should not be instrumented */ - @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen mgen) { + @Nullable MethodInfo create_method_info_if_instrumented(ClassInfo classInfo, MethodGen mgen) { // if (mgen.getName().equals("")) { // // This case DOES occur at run time. -MDE 1/22/2010 @@ -2819,7 +2819,7 @@ LocalVariableGen get_return_local(MethodGen mgen, @Nullable Type return_type) { } } - // Get the argument types for this method + // Get the parameter types for this method Type[] paramTypes = mgen.getArgumentTypes(); @ClassGetName String[] param_type_strings = new @ClassGetName String[paramTypes.length]; for (int ii = 0; ii < paramTypes.length; ii++) { @@ -3145,7 +3145,7 @@ static String methodEntryName(String fullClassName, Method m) { * * @param methodName method to call * @param returnType type of method return - * @param paramTypes array of method argument types + * @param paramTypes array of method parameter types * @return InvokeInstruction for the call */ InvokeInstruction dcr_call(@Identifier String methodName, Type returnType, Type[] paramTypes) { @@ -4088,11 +4088,11 @@ void add_clone_and_tostring_interfaces(ClassGen classGen) { } /** - * Add a dcomp marker argument to indicate this is the instrumented version of the method. + * Add a dcomp marker parameter to indicate this is the instrumented version of the method. * - * @param mgen method to ard dcomp marker to + * @param mgen method to add dcomp marker to */ - void add_dcomp_arg(MethodGen mgen) { + void add_dcomp_param(MethodGen mgen) { // Don't modify main or the JVM won't be able to find it. if (BcelUtil.isMain(mgen)) { @@ -4104,7 +4104,7 @@ void add_dcomp_arg(MethodGen mgen) { return; } - // Add the dcomp marker argument to indicate this is the + // Add the dcomp marker parameter to indicate this is the // instrumented version of the method. addNewParameter(mgen, "marker", dcomp_marker); } @@ -4113,7 +4113,7 @@ void add_dcomp_arg(MethodGen mgen) { * Returns true if the method is defined in Object. * * @param methodName method to check - * @param paramTypes array of argument types to method + * @param paramTypes array of parameter types to method * @return true if method is member of Object */ @Pure @@ -4146,7 +4146,7 @@ boolean is_class_initialized_by_jvm(String classname) { } /** - * Creates a method with a DcompMarker argument that does nothing but call the corresponding + * Creates a method with a DcompMarker parameter that does nothing but call the corresponding * method without the DCompMarker argument. (Currently, only used for ? va main.) * * @param mgen MethodGen of method to create stub for diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 58666abcd4..3efbc7fd18 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -231,12 +231,12 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} // Signature descriptors - // No arguments + // No parameters - /** Type array with no arguments. */ + /** Type array with no parameters. */ protected static final ClassDesc[] noArgsSig = new ClassDesc[0]; - // One argument + // One parameter /** Type array with an int. */ protected static ClassDesc[] intSig = {CD_int}; @@ -250,7 +250,7 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} /** Type array with an Object array. */ protected static final ClassDesc[] objectArrayCD_arg = {objectArrayCD}; - // Two arguments + // Two parameters /** Type array with a long and an int. */ protected static ClassDesc[] longIntSig = {CD_long, CD_int}; @@ -370,12 +370,12 @@ protected enum JunitState { new MethodDef("wait", longIntSig), }; - /** Represents a method (by its name and argument types). */ + /** Represents a method (by its name and parameter types). */ static class MethodDef { /** Name of this method. */ String name; - /** Argument types for this method. */ + /** Parameter types for this method. */ ClassDesc[] arg_types; /** @@ -565,7 +565,7 @@ private void instrumentClass( // cause JUnit to complain about multiple constructors and // methods that should have no arguments. To work around these // restrictions, we replace rather than duplicate each method - // we instrument and we do not add the dcomp marker argument. + // we instrument and we do not add the dcomp marker parameter. // We must also remember the class name so if we see a subsequent // call to one of its methods we do not add the dcomp argument. @@ -720,7 +720,7 @@ private void instrumentClass( // Have all top-level classes implement the DCompInstrumented interface. if (classGen.getSuperclassName().equals("java.lang.Object")) { - @SuppressWarnings("signature:assignment") + @SuppressWarnings("signature:assignment") // CF needs regex for @MethodDescriptor @MethodDescriptor String objectToBoolean = "(Ljava/lang/Object;)Z"; // Add equals method if it doesn't already exist. This ensures // that an instrumented version, equals(Object, DCompMarker), @@ -956,7 +956,7 @@ private void instrumentAllMethods( // main methods, methods and all methods in a JUnit test class // need special treatment. They are not duplicated and they do not have - // a DCompMarker added to their argument list. + // a DCompMarker added to their parameter list. boolean addingDcompArg = true; if (mgen.isClinit()) { @@ -1220,8 +1220,8 @@ private void instrumentCode( // Create Java code that cleans up the tag stack and calls the real native method. fix_native(mgen); - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen, minfo); + // Add the DCompMarker parameter to distinguish our version. + add_dcomp_param(mgen, minfo); // Copy the modified local variable table to the output class. debugInstrument.log("LocalVariableTable:%n"); @@ -1242,8 +1242,8 @@ private void instrumentCode( } else { // normal method if (!classInfo.isJunitTestClass) { - // Add the DCompMarker argument to distinguish our version - add_dcomp_arg(mgen, minfo); + // Add the DCompMarker parameter to distinguish our version. + add_dcomp_param(mgen, minfo); } if (debugInstrument.enabled) { @@ -1260,12 +1260,12 @@ private void instrumentCode( int paramCount = (mgen.isStatic() ? 0 : 1) + mgen.getParameterTypes().length; debugInstrument.log("paramCount: %d%n", paramCount); - // Create a MethodInfo that describes this method's arguments + // Create a MethodInfo that describes this method's parameters // and exit line numbers (information not available via reflection) // and add it to the list for this class. MethodInfo mi = null; if (trackMethod && !in_jdk) { - mi = create_method_info(classInfo, mgen); + mi = create_method_info_if_instrumented(classInfo, mgen); classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); } @@ -1849,13 +1849,13 @@ private List createTagFrame(MethodGen24 mgen) { /** * Pushes the object, method info index, parameters, and return value on the stack and calls the - * specified Method (normally enter or exit) in DCRuntime. The parameters are passed as an array - * of objects. + * specified method (normally {@code enter()} or {@code exit}) in DCRuntime. The parameters are + * passed as an array of objects. * * @param mgen method to modify * @param minfo for the given method's code * @param method_info_index index for MethodInfo - * @param methodToCall "enter" or "exit" + * @param enterOrExit "enter" or "exit" * @param line source line number if type is exit * @return instruction list for the enter or exit code */ @@ -1863,7 +1863,7 @@ private List callEnterOrExit( MethodGen24 mgen, MethodGen24.MInfo24 minfo, int method_info_index, - String methodToCall, + String enterOrExit, int line) { List instructions = new ArrayList<>(); @@ -1873,7 +1873,7 @@ private List callEnterOrExit( instructions.add(LoadInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); // Push the object. Push null if this is a static method or a constructor. - if (mgen.isStatic() || (methodToCall.equals("enter") && mgen.isConstructor())) { + if (mgen.isStatic() || (enterOrExit.equals("enter") && mgen.isConstructor())) { instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); } else { // must be an instance method instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); @@ -1889,7 +1889,7 @@ private List callEnterOrExit( instructions.add(loadIntegerConstant(paramTypes.length)); instructions.add(NewReferenceArrayInstruction.of(poolBuilder.classEntry(CD_Object))); - // Put each parameter into the array. + // Put each argument into the array. int param_index = param_offset; for (int ii = 0; ii < paramTypes.length; ii++) { instructions.add(StackInstruction.of(Opcode.DUP)); @@ -1907,7 +1907,7 @@ private List callEnterOrExit( // If this is an exit, push the return value and line number. // The return value is stored in the local "return__$trace2_val". // If the return value is a primitive, push a null. - if (methodToCall.equals("exit")) { + if (enterOrExit.equals("exit")) { ClassDesc returnType = mgen.getReturnType(); if (returnType.equals(CD_void)) { instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); @@ -1925,21 +1925,21 @@ private List callEnterOrExit( MethodTypeDesc methodArgs; // Call the specified method. - if (methodToCall.equals("exit")) { + if (enterOrExit.equals("exit")) { methodArgs = MethodTypeDesc.of( CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD, CD_Object, CD_int); } else { methodArgs = MethodTypeDesc.of(CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD); } - MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, methodToCall, methodArgs); + MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, enterOrExit, methodArgs); instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); return instructions; } /** - * Transforms on instruction to track comparability. Returns a list of instructions that replaces + * Transforms one instruction to track comparability. Returns a list of instructions that replaces * the specified instruction. Returns null if the instruction should not be replaced. * * @param mgen method to modify @@ -2413,8 +2413,8 @@ private void add_exit( } /** - * Return the interface class containing the implementation of the given method. The interfaces of - * {@code startClass} are recursively searched. + * Returns the interface class containing the implementation of the given method. The interfaces + * of {@code startClass} are recursively searched. * * @param startClass the ClassModel whose interfaces are to be searched * @param methodName the target method to search for @@ -2492,8 +2492,8 @@ private List handleInvokeDynamic(InvokeDynamicInstruction invoke) { *
                • otherwise, determine whether the target of the invoke is instrumented or not (this is the * {@code callee_instrumented} variable) *
                    - *
                  • If the target method is instrumented, add a DCompMarker argument to the end of the - * argument list. + *
                  • If the target method is instrumented, add a DCompMarker parameter to the end of the + * parameter list. *
                  • If the target method is not instrumented, we must account for the fact that the * instrumentation code generated up to this point has assumed that the target method * is instrumented. Hence, generate code to discard a primitive tag from the @@ -2561,12 +2561,12 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge // Push the DCompMarker argument as we are calling the instrumented version. il.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); - // Add the DCompMarker to the arg types list. - List new_arg_types = new ArrayList<>(Arrays.asList(paramTypes)); - new_arg_types.add(dcomp_marker); + // Add the DCompMarker type to the parameter types list. + List new_param_types = new ArrayList<>(Arrays.asList(paramTypes)); + new_param_types.add(dcomp_marker); NameAndTypeEntry nte = - poolBuilder.nameAndTypeEntry(methodName, MethodTypeDesc.of(returnType, new_arg_types)); + poolBuilder.nameAndTypeEntry(methodName, MethodTypeDesc.of(returnType, new_param_types)); il.add(InvokeInstruction.of(invoke.opcode(), invoke.owner(), nte, invoke.isInterface())); return il; @@ -2590,7 +2590,7 @@ private List cleanInvokeTagStack( List il = new ArrayList<>(); // JUnit test classes are a bit strange. They are marked as not being callee_instrumented - // because they do not have the dcomp_marker added to the argument list, but + // because they do not have the dcomp_marker added to the parameter list, but // they actually contain instrumentation code. So we do not want to discard // the primitive tags prior to the call. if (!junitTestClasses.contains(classname)) { @@ -2610,7 +2610,7 @@ private List cleanInvokeTagStack( /** * Returns instructions that will discard any primitive tags corresponding to the specified - * parameters. Returns an empty instruction list if there are no primitive parameters to discard. + * parameters. Returns an empty instruction list if there are no primitive arguments to discard. * * @param paramTypes parameter types of target method * @return an instruction list that discards primitive tags from DCRuntime's per-thread @@ -2963,9 +2963,9 @@ private boolean isClassnameInstrumented( } /** - * Return a list of the superclasses of this class. This class itself is not in the list. The is - * in ascending order; that is, java.lang.Object is always the last element, unless the argument - * is java.lang.Object. + * Return a list of the superclasses of this class. This class itself is not in the list. The + * returned list is in ascending order; that is, java.lang.Object is always the last element, + * unless the argument is java.lang.Object. * * @return list of super classes */ @@ -3352,13 +3352,14 @@ private LocalVariable getReturnLocal( * @param mgen method to inspect * @return MethodInfo for the method */ - private @Nullable MethodInfo create_method_info(ClassInfo classInfo, MethodGen24 mgen) { + private @Nullable MethodInfo create_method_info_if_instrumented( + ClassInfo classInfo, MethodGen24 mgen) { // Get the parameter names for this method String[] paramNames = mgen.getParameterNames(); if (debugInstrument.enabled) { - debugInstrument.log("create_method_info: %s%n", paramNames.length); + debugInstrument.log("create_method_info_if_instrumented: %s%n", paramNames.length); for (String paramName : paramNames) { debugInstrument.log("param name: %s%n", paramName); } @@ -4613,12 +4614,12 @@ void add_clone_and_tostring_interfaces(ClassGen24 classGen) { } /** - * Add a dcomp marker argument to indicate this is the instrumented version of the method. + * Add a dcomp marker parameter to indicate this is the instrumented version of the method. * * @param mgen method to add dcomp marker to * @param minfo for the given method's code */ - void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { + void add_dcomp_param(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { // Don't modify main or the JVM won't be able to find it. if (mgen.isMain()) { @@ -4630,7 +4631,7 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { return; } - // Add the dcomp marker argument to indicate this is the + // Add the dcomp marker parameter to indicate this is the // instrumented version of the method. StackMapUtils24.addNewSpecialLocal(mgen, minfo, "marker", dcomp_marker, true); } @@ -4674,7 +4675,7 @@ boolean is_class_initialized_by_jvm(String classname) { } /** - * Creates a pseudo "main" method with a DcompMarker argument that does nothing but call the + * Creates a pseudo "main" method with a DcompMarker parameter that does nothing but call the * original "main" method without the DCompMarker argument. * * @param mgen describes the "main" method From d374d77f3a4857e377333f9f2b6f34d974a1094b Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 4 Dec 2025 23:54:36 -0800 Subject: [PATCH 179/211] Improve warning suppressions --- java/daikon/chicory/MethodGen24.java | 2 - java/daikon/dcomp/DCInstrument.java | 134 +++++++++++++++++++------- java/daikon/dcomp/DCInstrument24.java | 92 ++++++++++++------ 3 files changed, 162 insertions(+), 66 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 8db3f637c2..63f5cdce87 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -266,7 +266,6 @@ public MethodGen24( Optional sa = methodModel.findAttribute(Attributes.signature()); if (sa.isPresent()) { - @SuppressWarnings("signature") // JDK 24 is not annotated yet. @MethodDescriptor String signature1 = sa.get().signature().stringValue(); signature = signature1; } else { @@ -327,7 +326,6 @@ public MethodGen24( this.accessFlagsMask = accessFlagsMask; this.methodName = methodName; this.mtd = mtd; - @SuppressWarnings("signature") // JDK 24 is not annotated as yet @MethodDescriptor String descriptor1 = mtd.descriptorString(); descriptor = descriptor1; signature = descriptor; diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 40067c4422..ec579bad07 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -92,9 +92,12 @@ import org.apache.bcel.generic.Type; import org.apache.bcel.verifier.structurals.OperandStack; import org.checkerframework.checker.lock.qual.GuardSatisfied; +import org.checkerframework.checker.nullness.qual.EnsuresNonNull; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; import org.checkerframework.checker.nullness.qual.KeyFor; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.signature.qual.BinaryName; import org.checkerframework.checker.signature.qual.ClassGetName; import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; @@ -108,7 +111,6 @@ * into the DynComp Runtime to calculate comparability values. These added calls are sometimes * referred to as "hooks". */ -@SuppressWarnings("nullness") public class DCInstrument extends InstructionListUtils { /** @@ -128,7 +130,7 @@ public class DCInstrument extends InstructionListUtils { protected ClassGen classGen; /** MethodGen for the current method. */ - protected MethodGen mgen; + protected @MonotonicNonNull MethodGen mgen; /** Is the current class a member of the JDK? */ protected boolean in_jdk; @@ -140,7 +142,7 @@ public class DCInstrument extends InstructionListUtils { protected boolean constructor_is_initialized; /** Local that stores the tag frame for the current method. */ - protected LocalVariableGen tagFrameLocal; + protected @Nullable LocalVariableGen tagFrameLocal; // Type descriptors @@ -298,13 +300,13 @@ protected enum JunitState { }; /** Catch block for our handler. */ - protected static InstructionList global_catch_il = null; + protected static @Nullable InstructionList global_catch_il = null; /** Handler we add to surround entire method. */ - protected static CodeExceptionGen global_exception_handler = null; + protected static @Nullable CodeExceptionGen global_exception_handler = null; /** Temporary location of runtime initialization code. */ - private InstructionHandle insertion_placeholder; + private @MonotonicNonNull InstructionHandle insertion_placeholder; /** Represents a method (by its name and parameter types). */ static class MethodDef { @@ -676,20 +678,35 @@ public JavaClass instrument() { // and exit line numbers (information not available via reflection) // and add it to the list for this class. if (has_code) { + assert stackMapTable != null + : "@AssumeAssertion(nullness): is set above when has_code is true"; MethodInfo mi = null; if (track) { mi = create_method_info_if_instrumented(classInfo, mgen); + assert mi != null : "@AssumeAssertion(nullness)"; classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); } // Create the local to store the tag frame for this method tagFrameLocal = create_tagFrameLocal(mgen); build_exception_handler(mgen); + assert stackMapTable != null + : "@AssumeAssertion(nullness): checked above and not modified since"; + assert tagFrameLocal != null + : "@AssumeAssertion(nullness) set above and not modified by" + + " build_exception_handler"; instrumentMethod(mgen); if (track) { + assert mi != null : "@AssumeAssertion(nullness): track == true => mi != null"; + assert tagFrameLocal != null + : "@AssumeAssertion(nullness) set above and not modified by" + + " build_exception_handler"; add_enter(mgen, mi, DCRuntime.methods.size() - 1); + assert tagFrameLocal != null : "@AssumeAssertion(nullness): ??"; add_exit(mgen, mi, DCRuntime.methods.size() - 1); } + assert this.stackMapTable != null + : "@AssumeAssertion(nullness): checked above and not modified since"; install_exception_handler(mgen); } } @@ -785,6 +802,8 @@ public JavaClass instrument() { } } + assert mgen != null : "@AssumeAssertion(nullness): bug? when the class has no methods"; + // Add tag accessor methods for each primitive in the class. create_tag_accessors(classGen); @@ -970,7 +989,12 @@ public JavaClass instrument_jdk_class() { // Create the local to store the tag frame for this method tagFrameLocal = create_tagFrameLocal(mgen); build_exception_handler(mgen); + assert stackMapTable != null : "@AssumeAssertion(nullness): ??"; + assert tagFrameLocal != null + : "@AssumeAssertion(nullness): set above and not modified by" + + " build_exception_handler"; instrumentMethod(mgen); + assert stackMapTable != null : "@AssumeAssertion(nullness): ??"; install_exception_handler(mgen); } } @@ -1044,7 +1068,10 @@ public JavaClass instrument_jdk_class() { if (debugInstrument.enabled) { t.printStackTrace(); } - skip_method(mgen); + // TODO: Is it guaranteed that mgen is non-null by the time control reaches here? + if (mgen != null) { + skip_method(mgen); + } if (quit_if_error) { throw new Error("Error processing " + classname + "." + m.getName(), t); } else { @@ -1054,6 +1081,9 @@ public JavaClass instrument_jdk_class() { } } + assert mgen != null + : "@AssumeAssertion(nullness)"; // Bug? mgen could be null if the class has no methods + // Add tag accessor methods for each primitive in the class. create_tag_accessors(classGen); @@ -1073,6 +1103,8 @@ public JavaClass instrument_jdk_class() { * * @param mgen MethodGen for the method to be instrumented */ + @RequiresNonNull({"stackMapTable", "tagFrameLocal"}) + @EnsuresNonNull("insertion_placeholder") public void instrumentMethod(MethodGen mgen) { // Because the tagFrameLocal is active for the entire method @@ -1134,6 +1166,9 @@ public void instrumentMethod(MethodGen mgen) { // Get the stack information stack = stack_types.get(handle_offsets[index++]); + assert tagFrameLocal != null + : "@AssumeAssertion(nullness): precondition and not changed since"; + // Get the translation for this instruction (if any) new_il = xform_inst(mgen, ih, stack); @@ -1217,16 +1252,23 @@ public void add_exception_handler(MethodGen mgen, InstructionList catch_il) { // This is just a temporary handler to get the start and end // address tracked as we make code modifications. global_catch_il = catch_il; - global_exception_handler = new CodeExceptionGen(start, end, null, throwable); + @SuppressWarnings("nullness:argument") // looks like a genuine defect here in the call + CodeExceptionGen global_exception_handler_tmp = + new CodeExceptionGen(start, end, null, throwable); + global_exception_handler = global_exception_handler_tmp; } /** Adds a try/catch block around the entire method. */ + @SuppressWarnings("nullness") // calls to side-effecting methods + @RequiresNonNull({"stackMapTable"}) public void install_exception_handler(MethodGen mgen) { if (global_catch_il == null) { return; } + assert global_exception_handler != null : "@AssumeAssertion(nullness): ??"; + InstructionList cur_il = mgen.getInstructionList(); InstructionHandle start = global_exception_handler.getStartPC(); InstructionHandle end = global_exception_handler.getEndPC(); @@ -1285,6 +1327,9 @@ public void install_exception_handler(MethodGen mgen) { * Adds the code to create the tag frame to the beginning of the method. This needs to be before * the call to DCRuntime.enter (since it passed to that method). */ + @SuppressWarnings("nullness") // calls to side-effecting methods + @RequiresNonNull({"tagFrameLocal", "stackMapTable"}) + @EnsuresNonNull("insertion_placeholder") public void add_create_tag_frame(MethodGen mgen) { InstructionList nl = create_tag_frame(mgen, tagFrameLocal); @@ -1361,6 +1406,7 @@ public void add_create_tag_frame(MethodGen mgen) { * @param mi MethodInfo for method * @param method_info_index index for MethodInfo */ + @RequiresNonNull({"tagFrameLocal", "insertion_placeholder"}) public void add_enter(MethodGen mgen, MethodInfo mi, int method_info_index) { InstructionList il = mgen.getInstructionList(); replaceInstructions( @@ -1436,8 +1482,10 @@ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) * @param method_info_index index for MethodInfo * @param enterOrExit the method to invoke: "enter" or "exit" * @param line source line number if type is exit - * @return InstructionList for the enter or exit code + * @return instruction list for the enter or exit code */ + @SuppressWarnings("nullness") // calls to side-effecting methods + @RequiresNonNull("tagFrameLocal") InstructionList callEnterOrExit( MethodGen mgen, int method_info_index, String enterOrExit, int line) { @@ -1527,6 +1575,7 @@ InstructionList callEnterOrExit( * @param ih handle of Instruction to translate * @param stack current contents of the stack */ + @RequiresNonNull("tagFrameLocal") @Nullable InstructionList xform_inst(MethodGen mgen, InstructionHandle ih, OperandStack stack) { Instruction inst = ih.getInstruction(); @@ -1841,6 +1890,9 @@ InstructionList callEnterOrExit( case Const.INVOKEINTERFACE: case Const.INVOKEDYNAMIC: { + assert this.mgen != null + : "@AssumeAssertion(nullness): bug: local `mgen` is non-null, " + + "but `this.mgen` has not been set"; return handleInvoke((InvokeInstruction) inst); } @@ -1912,6 +1964,7 @@ InstructionList callEnterOrExit( * @param mi MethodInfo for method * @param method_info_index index for MethodInfo */ + @RequiresNonNull("tagFrameLocal") void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { // Iterator over all of the exit line numbers for this method, in order. @@ -1938,6 +1991,8 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { new_il.append(InstructionFactory.createStore(type, return_loc.getIndex())); } int exitLoc = exitLocationIter.next(); + assert tagFrameLocal != null + : "@AssumeAssertion(nullness): not modified since method entry"; new_il.append(callEnterOrExit(mgen, method_info_index, "exit", exitLoc)); new_il.append(inst); replaceInstructions(mgen, il, ih, new_il); @@ -2018,6 +2073,7 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { * @param invoke a method invocation bytecode instruction * @return instructions to replace the given instruction */ + @RequiresNonNull("mgen") private InstructionList handleInvoke(InvokeInstruction invoke) { // Get information about the call @@ -2134,6 +2190,7 @@ private InstructionList discard_primitive_tags(Type[] paramTypes) { * @param paramTypes parameter types of target method * @return true if the target is instrumented */ + @RequiresNonNull("mgen") private boolean isTargetInstrumented( InvokeInstruction invoke, @ClassGetName String classname, @@ -2444,13 +2501,14 @@ private boolean isClassnameInstrumented( } /** - * Given a classname return its superclass name. Note that BCEL reports that the superclass of - * {@code java.lang.Object} is {@code java.lang.Object} rather than saying there is no superclass. + * Given a classname return its superclass name. Note that we copy BCEL and report that the + * superclass of {@code java.lang.Object} is {@code java.lang.Object} rather than saying there is + * no superclass. * * @param classname the fully-qualified name of the class in binary form. E.g., "java.util.List" * @return name of superclass */ - private @ClassGetName String getSuperclassName(String classname) { + private @BinaryName String getSuperclassName(String classname) { JavaClass jc = getJavaClass(classname); if (jc == null) { throw new SuperclassNameError(classname); @@ -2503,7 +2561,8 @@ private static class SuperclassNameError extends Error { return result; } } catch (Throwable t) { - throw new Error("Error reading " + class_url, t); + throw new DynCompError( + String.format("Error while reading %s %s%n", classname, class_url), t); } } // Do not cache a null result, because a subsequent invocation might return non-null. @@ -2515,15 +2574,15 @@ private static class SuperclassNameError extends Error { * * @param methodName method to check * @param returnType return type of method - * @param args array of parameter types to method + * @param paramTypes array of parameter types to method * @return true if method is Object.equals() */ @Pure - boolean is_object_equals(@Identifier String methodName, Type returnType, Type[] args) { + boolean is_object_equals(@Identifier String methodName, Type returnType, Type[] paramTypes) { return (methodName.equals("equals") && returnType == Type.BOOLEAN - && args.length == 1 - && args[0].equals(javalangObject)); + && paramTypes.length == 1 + && paramTypes[0].equals(javalangObject)); } /** @@ -2531,12 +2590,14 @@ boolean is_object_equals(@Identifier String methodName, Type returnType, Type[] * * @param methodName method to check * @param returnType return type of method - * @param args array of parameter types to method + * @param paramTypes array of parameter types to method * @return true if method is Object.clone() */ @Pure - boolean is_object_clone(@Identifier String methodName, Type returnType, Type[] args) { - return methodName.equals("clone") && returnType.equals(javalangObject) && (args.length == 0); + boolean is_object_clone(@Identifier String methodName, Type returnType, Type[] paramTypes) { + return methodName.equals("clone") + && returnType.equals(javalangObject) + && (paramTypes.length == 0); } /** @@ -2544,7 +2605,7 @@ boolean is_object_clone(@Identifier String methodName, Type returnType, Type[] a * exists, the non-instrumented version if it does not. * * @param invoke invoke instruction to inspect and replace - * @return InstructionList to call the correct version of clone or toString + * @return instruction list to call the correct version of clone or toString */ InstructionList instrument_clone_call(InvokeInstruction invoke) { @@ -2605,7 +2666,7 @@ InstructionList object_comparison( * (load) or pop (store) the tag on the tag stack. This is accomplished by calling the tag get/set * method for this field. */ - InstructionList load_store_field(MethodGen mgen, FieldInstruction fi) { + @Nullable InstructionList load_store_field(MethodGen mgen, FieldInstruction fi) { Type field_type = fi.getFieldType(pool); if (field_type instanceof ReferenceType) { @@ -3176,7 +3237,7 @@ InvokeInstruction dcr_call(@Identifier String methodName, Type returnType, Type[ * * @param inst instruction to be replaced * @param tag_count number of tags to discard - * @return InstructionList + * @return instruction list to discard tag(s) */ InstructionList discard_tag_code(Instruction inst, int tag_count) { InstructionList il = new InstructionList(); @@ -3190,7 +3251,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { * Duplicates the item on the top of stack. If the value on the top of the stack is a primitive, * we need to do the same on the tag stack. Otherwise, we need do nothing. */ - InstructionList dup_tag(Instruction inst, OperandStack stack) { + @Nullable InstructionList dup_tag(Instruction inst, OperandStack stack) { Type top = stack.peek(); if (debug_dup.enabled) { debug_dup.log("DUP -> %s [... %s]%n", "dup", stack_contents(stack, 2)); @@ -3207,7 +3268,7 @@ InstructionList dup_tag(Instruction inst, OperandStack stack) { * value is not a primitive, then we need only to insert the duped value down 1 on the tag stack * (which contains only primitives). */ - InstructionList dup_x1_tag(Instruction inst, OperandStack stack) { + @Nullable InstructionList dup_x1_tag(Instruction inst, OperandStack stack) { Type top = stack.peek(); if (debug_dup.enabled) { debug_dup.log("DUP -> %s [... %s]%n", "dup_x1", stack_contents(stack, 2)); @@ -3226,7 +3287,7 @@ InstructionList dup_x1_tag(Instruction inst, OperandStack stack) { * Duplicates either the top 2 category 1 values or a single category 2 value and inserts it 2 or * 3 values down on the stack. */ - InstructionList dup2_x1_tag(Instruction inst, OperandStack stack) { + @Nullable InstructionList dup2_x1_tag(Instruction inst, OperandStack stack) { String op; Type top = stack.peek(); if (is_category2(top)) { @@ -3263,7 +3324,7 @@ InstructionList dup2_x1_tag(Instruction inst, OperandStack stack) { * Duplicate either one category 2 value or two category 1 values. The instruction is implemented * as necessary on the tag stack. */ - InstructionList dup2_tag(Instruction inst, OperandStack stack) { + @Nullable InstructionList dup2_tag(Instruction inst, OperandStack stack) { Type top = stack.peek(); String op; if (is_category2(top)) { @@ -3284,7 +3345,7 @@ InstructionList dup2_tag(Instruction inst, OperandStack stack) { * Dup the category 1 value on the top of the stack and insert it either two or three values down * on the stack. */ - InstructionList dup_x2(Instruction inst, OperandStack stack) { + @Nullable InstructionList dup_x2(Instruction inst, OperandStack stack) { Type top = stack.peek(); if (!is_primitive(top)) { return null; @@ -3305,7 +3366,7 @@ InstructionList dup_x2(Instruction inst, OperandStack stack) { /** * Duplicate the top one or two operand stack values and insert two, three, or four values down. */ - InstructionList dup2_x2(Instruction inst, OperandStack stack) { + @Nullable InstructionList dup2_x2(Instruction inst, OperandStack stack) { Type top = stack.peek(); String op; if (is_category2(top)) { @@ -3370,7 +3431,7 @@ InstructionList dup2_x2(Instruction inst, OperandStack stack) { * Pop instructions discard the top of the stack. We want to discard the top of the tag stack iff * the item on the top of the stack is a primitive. */ - InstructionList pop_tag(Instruction inst, OperandStack stack) { + @Nullable InstructionList pop_tag(Instruction inst, OperandStack stack) { Type top = stack.peek(); if (is_primitive(top)) { return discard_tag_code(inst, 1); @@ -3382,7 +3443,7 @@ InstructionList pop_tag(Instruction inst, OperandStack stack) { * Pops either the top 2 category 1 values or a single category 2 value from the top of the stack. * We must do the same to the tag stack if the values are primitives. */ - InstructionList pop2_tag(Instruction inst, OperandStack stack) { + @Nullable InstructionList pop2_tag(Instruction inst, OperandStack stack) { Type top = stack.peek(); if (is_category2(top)) { return discard_tag_code(inst, 1); @@ -3405,7 +3466,7 @@ InstructionList pop2_tag(Instruction inst, OperandStack stack) { * Swaps the two category 1 types on the top of the stack. We need to swap the top of the tag * stack if the two top elements on the real stack are primitives. */ - InstructionList swap_tag(Instruction inst, OperandStack stack) { + @Nullable InstructionList swap_tag(Instruction inst, OperandStack stack) { Type type1 = stack.peek(); Type type2 = stack.peek(1); if (is_primitive(type1) && is_primitive(type2)) { @@ -3455,6 +3516,7 @@ InstructionList multi_newarray_dc(Instruction inst) { * @param inst return instruction to be replaced * @return the instruction list */ + @RequiresNonNull("tagFrameLocal") InstructionList return_tag(MethodGen mgen, Instruction inst) { Type type = mgen.getReturnType(); InstructionList il = new InstructionList(); @@ -3501,7 +3563,7 @@ boolean is_category2(Type type) { * @param loader to use to locate class * @return instance of class */ - static Class type_to_class(Type t, ClassLoader loader) { + static Class type_to_class(Type t, @Nullable ClassLoader loader) { if (loader == null) { loader = DCInstrument.class.getClassLoader(); @@ -3715,6 +3777,7 @@ static String stack_contents(OperandStack stack, int max_items) { * * @param classGen class to check for fields */ + @RequiresNonNull("mgen") void create_tag_accessors(ClassGen classGen) { String classname = classGen.getClassName(); @@ -3736,6 +3799,7 @@ void create_tag_accessors(ClassGen classGen) { continue; } + @SuppressWarnings("nullness:unboxing.of.nullable") int tagOffset = f.isStatic() ? static_field_id.get(full_name(orig_class, f)) : field_to_offset_map.get(f); classGen.addMethod(create_get_tag(classGen, f, tagOffset).getMethod()); @@ -3763,6 +3827,7 @@ void create_tag_accessors(ClassGen classGen) { } field_set.add(f.getName()); + @SuppressWarnings("nullness:unboxing.of.nullable") int tagOffset = f.isStatic() ? static_field_id.get(full_name(super_class, f)) @@ -3795,6 +3860,9 @@ Map build_field_to_offset_map(JavaClass jc) { } catch (Exception e) { throw new Error("can't get superclass for " + jc, e); } + if (super_jc == null) { + throw new Error("null superclass for " + jc); + } Map field_to_offset_map = build_field_to_offset_map(super_jc); int offset = field_to_offset_map.size(); diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index b1905144a6..ebab4f906d 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -110,6 +110,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.signature.qual.BinaryName; import org.checkerframework.checker.signature.qual.ClassGetName; import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; @@ -132,7 +133,6 @@ * Instrument.java using BCEL, as we anticipate our clients using JDK 21 or less for quite some * time.) */ -@SuppressWarnings("nullness") public class DCInstrument24 { /** A log to which to print debugging information about program instrumentation. */ @@ -165,16 +165,24 @@ public class DCInstrument24 { // Variables used for calculating the state of the operand stack. + // TODO: The following four variables are redefined for each method instrumented. + // Rather than being global variables, they should be wrapped in a data structure that is passed + // to the places that need it. + /** Mapping from a label to its index in the method's codeList. */ + @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO: method-local protected static Map labelIndexMap; /** Mapping from a label to its operand stack. */ + @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO: method-local protected static Map worklistHistory; /** State of operand stack prior to each byte code instruction. */ + @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO: method-local protected static OperandStack24[] stacks; /** The type of each local variable. */ + @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO: method-local protected static ClassDesc[] locals; /** Record containing a work item for the operand stack calculation. */ @@ -1062,7 +1070,9 @@ private void copyMethod(MethodBuilder methodBuilder, MethodModel methodModel, Me * @param newLocals method scope locals to define; may be null if none */ private void copyCode( - CodeBuilder codeBuilder, List instructions, List newLocals) { + CodeBuilder codeBuilder, + List instructions, + @Nullable List newLocals) { if (newLocals != null) { for (myLocalVariable lv : newLocals) { @@ -1169,8 +1179,8 @@ private void instrumentMethod( */ private void instrumentCode( CodeBuilder codeBuilder, - CodeModel codeModel, - List newLocals, + @Nullable CodeModel codeModel, + @Nullable List newLocals, MethodGen24 mgen, ClassInfo classInfo, boolean trackMethod) { @@ -1265,7 +1275,9 @@ private void instrumentCode( // and add it to the list for this class. MethodInfo mi = null; if (trackMethod && !in_jdk) { - mi = create_method_info_if_instrumented(classInfo, mgen); + @SuppressWarnings("nullness:assignment") // the method exists + @NonNull MethodInfo miTmp = create_method_info_if_instrumented(classInfo, mgen); + mi = miTmp; classInfo.method_infos.add(mi); DCRuntime.methods.add(mi); } @@ -1318,6 +1330,7 @@ private void instrumentCode( instrumentCodeList(codeModel, mgen, minfo, codeList); if (trackMethod && !in_jdk) { + assert mi != null : "@AssumeAssertion(nullness): mi was assigned under same conditions"; add_enter(mgen, minfo, codeList, DCRuntime.methods.size() - 1); add_exit(mgen, mi, minfo, codeList, DCRuntime.methods.size() - 1); } @@ -1480,8 +1493,9 @@ boolean isJunitTrigger(String classname, @Identifier String method_name) { * @param minfo for the given method's code * @param instructions instruction list for method */ + @RequiresNonNull("newStartLabel") private void instrumentCodeList( - CodeModel codeModel, + @Nullable CodeModel codeModel, MethodGen24 mgen, MethodGen24.MInfo24 minfo, List instructions) { @@ -1666,6 +1680,7 @@ protected static void addLabelToWorklist(Label target, OperandStack24 stack) { "push to worklist: " + target + ", " + labelIndexMap.get(target) + ", stack: " + stack); } worklistHistory.put(target, stack.getClone()); + @SuppressWarnings("nullness:unboxing.of.nullable") int indexInCodeList = labelIndexMap.get(target); worklist.add(new WorkItem(indexInCodeList, stack.getClone())); } else { @@ -1736,7 +1751,7 @@ public List get_skipped_methods() { * @param mgen method to add exception handler * @return code list for handler, or null if method should not have a handler */ - public List build_exception_handler(MethodGen24 mgen) { + public @Nullable List build_exception_handler(MethodGen24 mgen) { if (mgen.getName().equals("main")) { return null; @@ -1855,7 +1870,7 @@ private List createTagFrame(MethodGen24 mgen) { * @param mgen method to modify * @param minfo for the given method's code * @param method_info_index index for MethodInfo - * @param enterOrExit "enter" or "exit" + * @param enterOrExit the method to invoke: "enter" or "exit" * @param line source line number if type is exit * @return instruction list for the enter or exit code */ @@ -2434,7 +2449,9 @@ private void add_exit( } ClassModel cm; try { - cm = getClassModel(interfaceName); + @SuppressWarnings("nullness:assignment") + @NonNull ClassModel cmTmp = getClassModel(interfaceName); + cm = cmTmp; } catch (Throwable t) { throw new DynCompError(String.format("Unable to load class: %s", interfaceName), t); } @@ -2983,18 +3000,30 @@ private boolean isClassnameInstrumented( /** * Given a classname return its superclass name. Note that we copy BCEL and report that the * superclass of {@code java.lang.Object} is {@code java.lang.Object} rather than saying there is - * no superclass. We are assured this will not cause a problem because we never call this method - * with {@code java.lang.Object} as the argument. + * no superclass. * * @param classname the fully-qualified name of the class in binary form. E.g., "java.util.List" - * @return name of superclass, or null if there is an error + * @return name of superclass */ private @BinaryName String getSuperclassName(String classname) { ClassModel cm = getClassModel(classname); - if (cm != null) { - return ClassGen24.getSuperclassName(cm); - } else { - return null; + if (cm == null) { + throw new SuperclassNameError(classname); + } + return ClassGen24.getSuperclassName(cm); + } + + /** Unchecked exception thrown if {@link #getSuperclassName} cannot find a superclass name. */ + private static class SuperclassNameError extends Error { + static final long serialVersionUID = 20251203; + + /** + * Creates a SuperclassNameError. + * + * @param classname the name of the class whose parent cannot be found + */ + SuperclassNameError(String classname) { + super(classname); } } @@ -3141,7 +3170,7 @@ private List object_comparison( * @param fi the field instruction * @return instruction list to access the field */ - private List load_store_field( + private @Nullable List load_store_field( MethodGen24 mgen, MethodGen24.MInfo24 minfo, FieldInstruction fi) { ClassDesc field_type = fi.typeSymbol(); @@ -3557,19 +3586,18 @@ private List multiarray2(Instruction inst) { boolean should_track( @BinaryName String className, @Identifier String methodName, String pptName) { - debugInstrument.log( - "Considering tracking (24) ppt: %s, %s, %s%n", className, methodName, pptName); + debugInstrument.log("Considering tracking ppt: %s, %s, %s%n", className, methodName, pptName); // Don't track any JDK classes if (BcelUtil.inJdk(className)) { - debug_transform.log("ignoring %s, is a JDK class%n", className); + debug_transform.log("not including %s as it is a JDK class%n", className); return false; } // Don't track toString methods because we call them in // our debug statements. if (pptName.contains("toString")) { - debug_transform.log("ignoring %s, is a toString method%n", pptName); + debug_transform.log("not including %s as it is a toString method%n", pptName); return false; } @@ -3621,7 +3649,7 @@ InvokeInstruction dcr_call( * @param tag_count number of tags to discard * @return instruction list to discard tag(s) */ - List discard_tag_code(CodeElement inst, int tag_count) { + List discard_tag_code(@Nullable CodeElement inst, int tag_count) { List il = new ArrayList<>(); il.add(loadIntegerConstant(tag_count)); il.add(dcr_call("discard_tag", CD_void, intSig)); @@ -3635,7 +3663,7 @@ List discard_tag_code(CodeElement inst, int tag_count) { * Duplicates a category 1 item on the top of stack. If it is a primitive, we need to do the same * to the tag stack. Otherwise, we do nothing. */ - List dup_tag(CodeElement inst, OperandStack24 stack) { + @Nullable List dup_tag(CodeElement inst, OperandStack24 stack) { ClassDesc top = stack.peek(); if (debug_dup.enabled) { debug_dup.log("DUP -> %s [... %s]%n", "dup", stack_contents(stack, 2)); @@ -3652,7 +3680,7 @@ List dup_tag(CodeElement inst, OperandStack24 stack) { * value is not a primitive, then we need only to insert the duped value down 1 on the tag stack * (which contains only primitives). */ - List dup_x1_tag(CodeElement inst, OperandStack24 stack) { + @Nullable List dup_x1_tag(CodeElement inst, OperandStack24 stack) { ClassDesc top = stack.peek(); String op; if (!top.isPrimitive()) { @@ -3672,7 +3700,7 @@ List dup_x1_tag(CodeElement inst, OperandStack24 stack) { * Dup the category 1 value on the top of the stack and insert it either two or three values down * on the stack. */ - List dup_x2_tag(CodeElement inst, OperandStack24 stack) { + @Nullable List dup_x2_tag(CodeElement inst, OperandStack24 stack) { ClassDesc value1 = stack.peek(); if (!value1.isPrimitive()) { return null; @@ -3701,7 +3729,7 @@ List dup_x2_tag(CodeElement inst, OperandStack24 stack) { * Duplicate either one category 2 value or two category 1 values. If the value(s) are primitives * we need to do the same to the tag stack. Otherwise, we do nothing. */ - List dup2_tag(CodeElement inst, OperandStack24 stack) { + @Nullable List dup2_tag(CodeElement inst, OperandStack24 stack) { ClassDesc top = stack.peek(); String op; if (is_category2(top)) { @@ -3724,7 +3752,7 @@ List dup2_tag(CodeElement inst, OperandStack24 stack) { * Duplicates either the top 2 category 1 values or a single category 2 value and inserts it 2 or * 3 values down on the stack. */ - List dup2_x1_tag(CodeElement inst, OperandStack24 stack) { + @Nullable List dup2_x1_tag(CodeElement inst, OperandStack24 stack) { ClassDesc value1 = stack.peek(); ClassDesc value2 = stack.peek(1); String op; @@ -3766,7 +3794,7 @@ List dup2_x1_tag(CodeElement inst, OperandStack24 stack) { /** * Duplicate the top one or two operand stack values and insert two, three, or four values down. */ - List dup2_x2_tag(CodeElement inst, OperandStack24 stack) { + @Nullable List dup2_x2_tag(CodeElement inst, OperandStack24 stack) { ClassDesc value1 = stack.peek(); ClassDesc value2 = stack.peek(1); String op; @@ -3852,7 +3880,7 @@ List dup2_x2_tag(CodeElement inst, OperandStack24 stack) { * Pops a category 1 value from the top of the stack. We want to discard the top of the tag stack * iff the item on the top of the stack is a primitive. */ - List pop_tag(CodeElement inst, OperandStack24 stack) { + @Nullable List pop_tag(CodeElement inst, OperandStack24 stack) { ClassDesc top = stack.peek(); if (debug_dup.enabled) { debug_dup.log("POP -> %s [... %s]%n", "pop", stack_contents(stack, 1)); @@ -3867,7 +3895,7 @@ List pop_tag(CodeElement inst, OperandStack24 stack) { * Pops either the top 2 category 1 values or a single category 2 value from the top of the stack. * We must do the same to the tag stack if the values are primitives. */ - List pop2_tag(CodeElement inst, OperandStack24 stack) { + @Nullable List pop2_tag(CodeElement inst, OperandStack24 stack) { ClassDesc top = stack.peek(); if (debug_dup.enabled) { debug_dup.log("POP2 -> %s [... %s]%n", "pop2", stack_contents(stack, 1)); @@ -3893,7 +3921,7 @@ List pop2_tag(CodeElement inst, OperandStack24 stack) { * Swaps the two category 1 values on the top of the stack. We need to swap the top of the tag * stack if the two top elements on the real stack are primitives. */ - List swap_tag(CodeElement inst, OperandStack24 stack) { + @Nullable List swap_tag(CodeElement inst, OperandStack24 stack) { ClassDesc type1 = stack.peek(); ClassDesc type2 = stack.peek(1); if (debug_dup.enabled) { @@ -4775,6 +4803,7 @@ private record ModifiedSwitchInfo(Label modifiedTarget, List modifie * @param inst the instruction to check * @return the original instruction or its replacement */ + @RequiresNonNull("newStartLabel") private CodeElement retargetStartLabel(CodeElement inst) { ModifiedSwitchInfo info; switch (inst) { @@ -4815,6 +4844,7 @@ private CodeElement retargetStartLabel(CodeElement inst) { * @param caseList the case list for the switch instruction * @return a ModifiedSwitchInfo with the changed values, or null if no changes */ + @RequiresNonNull("newStartLabel") private @Nullable ModifiedSwitchInfo retargetStartLabel( Label defaultTarget, List caseList) { Label modifiedTarget; From 244ba7e261d523b854b675635e3bb56154e5b214 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 5 Dec 2025 15:23:32 -0800 Subject: [PATCH 180/211] partial response to pull request issues --- java/daikon/dcomp/CalcStack24.java | 1746 ++++++++++++------------ java/daikon/dcomp/ClassGen24.java | 12 +- java/daikon/dcomp/DCInstrument24.java | 25 +- java/daikon/dcomp/OperandStack24.java | 15 +- java/daikon/dcomp/StackMapUtils24.java | 5 +- 5 files changed, 933 insertions(+), 870 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index b8055f3df6..f6152ac7c4 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -47,7 +47,12 @@ import java.util.List; import org.checkerframework.checker.nullness.qual.Nullable; -/** This class calculates the state of the operand stack via simulation. */ +/** + * This class calculates the state of the operand stack via simulation. + * + *

                    During this process, it may modify the state of DCInstrument24.locals and + * DCInstrument24.stacks. + */ public final class CalcStack24 { /** Do not instantiate. */ @@ -59,20 +64,19 @@ private CalcStack24() { static final ClassDesc nullCD = ClassDesc.of("fake.ClassDecs.for.null"); /** - * Calculates changes in the operand stack based on the symbolic execution of a Java bytecode - * instruction. Note that we assume the class file is valid and make no attempt to verify the - * code's correctness. + * Calculates changes in the operand stack based on the symbolic execution of a CodeElement. Note + * that we assume the class file is valid and make no attempt to verify the code's correctness. * * @param mgen method containing the instruction (currently unused) * @param minfo for the given method's code (currently unused) - * @param ce instruction to be interpreted + * @param ce CodeElement to be interpreted * @param inst_index index of ce in code element list * @param stack current state of operand stack; is side-effected * @return true if control falls through to the next instruction, false otherwise (when {@code ce} * is an instruction like jump or return) + * @throws DynCompError if we don't recognize {@code ce} */ - @SuppressWarnings("fallthrough") - static boolean calcOperandStack( + static boolean simulateCodeElement( MethodGen24 mgen, MethodGen24.MInfo24 minfo, CodeElement ce, @@ -84,889 +88,941 @@ static boolean calcOperandStack( } switch (ce) { case Instruction inst -> { + return simulateInstruction(inst, inst_index, stack); + } + + // We ignore most PseudoInstructions. + + case ExceptionCatch ec -> { + // Nothing needs to be done. + return true; + } + + // Technically, a Classfile element, not a PseudoInstruction. + case Label l -> { if (DCInstrument24.stacks[inst_index] != null) { - throw new DynCompError("instruction revisited: " + inst); + // We've seen this label before. + DCInstrument24.verifyOperandStackMatches(l, DCInstrument24.stacks[inst_index], stack); + // Stacks match; we're done with this worklist. + return false; } else { + // We have not seen this label before; remember the operand stack. DCInstrument24.stacks[inst_index] = stack.getClone(); + if (DCInstrument24.debugOperandStack) { + System.out.println("save stack state at: " + l); + System.out.println(" " + inst_index + ", " + DCInstrument24.stacks[inst_index]); + } + return true; } - if (DCInstrument24.debugOperandStack) { - System.out.println( - "save stack state at: " + inst_index + ", " + DCInstrument24.stacks[inst_index]); - System.out.println("opcode: " + inst.opcode()); - } - // caculate stack changes - switch (inst.opcode()) { - - // operand stack before: ..., arrayref, index - // operand stack after: ..., value - case Opcode.AALOAD: - { - stack.pop(); // discard the index - final ClassDesc t = stack.pop(); // pop the arrayref - if (t == null || nullCD.equals(t)) { - // Push nullCD to maintain stack consistency. The actual NullPointerException - // will be thrown at run time if this code path is executed, not during - // instrumentation. - stack.push(nullCD); - } else { - final ClassDesc ct = t.componentType(); - if (ct == null) { - throw new DynCompError("stack item not an arrayref: " + inst); - } - stack.push(ct); - } - return true; - } + } - // operand stack before: ..., arrayref, index, value - // operand stack after: ... - case Opcode.AASTORE: - case Opcode.BASTORE: - case Opcode.CASTORE: - case Opcode.DASTORE: - case Opcode.FASTORE: - case Opcode.IASTORE: - case Opcode.LASTORE: - case Opcode.SASTORE: - stack.pop(3); - return true; - - // operand stack before: ... - // operand stack after: ..., null - case Opcode.ACONST_NULL: + case LineNumber ln -> { + // Nothing needs to be done. + return true; + } + + default -> { + throw new DynCompError("Unexpected CodeElement: " + ce); + } + } + } + + /** + * Calculates changes in the operand stack based on the symbolic execution of a Java bytecode + * instruction. Note that we assume the class file is valid and make no attempt to verify the + * code's correctness. + * + * @param inst instruction to be interpreted + * @param inst_index index of inst in code element list + * @param stack current state of operand stack; is side-effected + * @return true if control falls through to the next instruction, false otherwise (when {@code + * inst} is an instruction like jump or return) + * @throws DynCompError if there is an error during the instruction simulation + */ + @SuppressWarnings("fallthrough") + static boolean simulateInstruction(Instruction inst, int inst_index, OperandStack24 stack) { + if (DCInstrument24.stacks[inst_index] != null) { + throw new DynCompError("instruction revisited: " + inst); + } else { + DCInstrument24.stacks[inst_index] = stack.getClone(); + } + if (DCInstrument24.debugOperandStack) { + System.out.println( + "save stack state at: " + inst_index + ", " + DCInstrument24.stacks[inst_index]); + System.out.println("opcode: " + inst.opcode()); + } + // caculate stack changes + switch (inst.opcode()) { + + // operand stack before: ..., arrayref, index + // operand stack after: ..., value + case Opcode.AALOAD: + { + stack.pop(); // discard the index + final ClassDesc t = stack.pop(); // pop the arrayref + if (t == null || nullCD.equals(t)) { + // Push nullCD to maintain stack consistency. The actual NullPointerException + // will be thrown at run time if this code path is executed, not during + // instrumentation. stack.push(nullCD); - return true; - - // operand stack before: ... - // operand stack after: ..., objectref - case Opcode.ALOAD: - case Opcode.ALOAD_0: - case Opcode.ALOAD_1: - case Opcode.ALOAD_2: - case Opcode.ALOAD_3: - case Opcode.ALOAD_W: - LoadInstruction li = (LoadInstruction) inst; - stack.push(DCInstrument24.locals[li.slot()]); - return true; - - // operand stack before: ..., count - // operand stack after: ..., arrayref - case Opcode.ANEWARRAY: - stack.pop(); // discard the count - final NewReferenceArrayInstruction nrai = (NewReferenceArrayInstruction) inst; - // make an array type from the component type - stack.push(nrai.componentType().asSymbol().arrayType(1)); - return true; - - // operand stack before: ... - // operand stack after: [empty] - case Opcode.ARETURN: - case Opcode.DRETURN: - case Opcode.FRETURN: - case Opcode.IRETURN: - case Opcode.LRETURN: - case Opcode.RETURN: - // execution pump will reset stack - return false; - - // operand stack before: ..., arrayref - // operand stack after: ..., length - case Opcode.ARRAYLENGTH: - stack.pop(); // discard the arrayref - stack.push(CD_int); - return true; - - // operand stack before: ..., value - // operand stack after: ... - case Opcode.ASTORE: - case Opcode.ASTORE_0: - case Opcode.ASTORE_1: - case Opcode.ASTORE_2: - case Opcode.ASTORE_3: - case Opcode.ASTORE_W: - case Opcode.DSTORE: - case Opcode.DSTORE_0: - case Opcode.DSTORE_1: - case Opcode.DSTORE_2: - case Opcode.DSTORE_3: - case Opcode.DSTORE_W: - case Opcode.FSTORE: - case Opcode.FSTORE_0: - case Opcode.FSTORE_1: - case Opcode.FSTORE_2: - case Opcode.FSTORE_3: - case Opcode.FSTORE_W: - case Opcode.ISTORE: - case Opcode.ISTORE_0: - case Opcode.ISTORE_1: - case Opcode.ISTORE_2: - case Opcode.ISTORE_3: - case Opcode.ISTORE_W: - case Opcode.LSTORE: - case Opcode.LSTORE_0: - case Opcode.LSTORE_1: - case Opcode.LSTORE_2: - case Opcode.LSTORE_3: - case Opcode.LSTORE_W: - StoreInstruction si = (StoreInstruction) inst; - // We assume code is correct and do not verify that si.typeKind() matches stack.pop(). - DCInstrument24.locals[si.slot()] = stack.pop(); - return true; - - // operand stack before: ..., objectref - // operand stack after: objectref - case Opcode.ATHROW: - // execution pump will reset stack - return false; - - // UNDONE: the JVM says result is int, but should we track the type more precisely? - // operand stack before: ..., arrayref, index - // operand stack after: ..., value - case Opcode.BALOAD: - case Opcode.CALOAD: - case Opcode.IALOAD: - case Opcode.SALOAD: - stack.pop(2); - stack.push(CD_int); - return true; - - // operand stack before: ... - // operand stack after: ..., value - case Opcode.BIPUSH: - case Opcode.ICONST_0: - case Opcode.ICONST_1: - case Opcode.ICONST_2: - case Opcode.ICONST_3: - case Opcode.ICONST_4: - case Opcode.ICONST_5: - case Opcode.ICONST_M1: - case Opcode.SIPUSH: - stack.push(CD_int); - return true; - - // operand stack before: ..., objectref - // operand stack after: ..., objectref - case Opcode.CHECKCAST: - { - final ClassDesc t = stack.pop(); // pop the objectref - if (t == null || nullCD.equals(t)) { - stack.push(nullCD); - } else { - TypeCheckInstruction tci = (TypeCheckInstruction) inst; - final ClassDesc ct = tci.type().asSymbol(); - // We assume the type check will succeed - stack.push(ct); - } - // just assume it will be ok, otherwise it will throw when executed - return true; + } else { + final ClassDesc ct = t.componentType(); + if (ct == null) { + throw new DynCompError("stack item not an arrayref: " + inst); } + stack.push(ct); + } + return true; + } - // operand stack before: ..., value - // operand stack after: ..., result - case Opcode.D2F: // double to float - case Opcode.I2F: // integer to float - case Opcode.L2F: // long to float - stack.pop(); // discard the value - stack.push(CD_float); - return true; - - // operand stack before: ..., value - // operand stack after: ..., result - case Opcode.D2L: // double to long - case Opcode.F2L: // float to long - case Opcode.I2L: // integer to long - stack.pop(); // discard the value - stack.push(CD_long); - return true; - - // operand stack before: ..., value1, value2 - // operand stack after: ..., result - case Opcode.DADD: - case Opcode.DDIV: - case Opcode.DMUL: - case Opcode.DREM: - case Opcode.DSUB: - stack.pop(2); // discard the values - stack.push(CD_double); - return true; - - // operand stack before: ..., arrayref, index - // operand stack after: ..., value - case Opcode.DALOAD: - stack.pop(2); // discard the arrayref and index - stack.push(CD_double); - return true; - - // operand stack before: ..., value1, value2 - // operand stack after: ..., result - case Opcode.DCMPG: - case Opcode.DCMPL: - case Opcode.FCMPG: - case Opcode.FCMPL: - stack.pop(2); // discard the values - stack.push(CD_int); - return true; - - // operand stack before: ... - // operand stack after: ..., value - case Opcode.DCONST_0: - case Opcode.DCONST_1: - stack.push(CD_double); - return true; - - // operand stack before: ... - // operand stack after: ..., value - case Opcode.DLOAD: - case Opcode.DLOAD_0: - case Opcode.DLOAD_1: - case Opcode.DLOAD_2: - case Opcode.DLOAD_3: - case Opcode.DLOAD_W: - stack.push(CD_double); - return true; - - // operand stack before: ..., value - // operand stack after: ..., result - case Opcode.DNEG: - stack.pop(); // discard the value - stack.push(CD_double); - return true; - - // operand stack before: ..., value - // operand stack after: ..., value, value - case Opcode.DUP: - { - final ClassDesc t = stack.pop(); - stack.push(t); - stack.push(t); - return true; - } + // operand stack before: ..., arrayref, index, value + // operand stack after: ... + case Opcode.AASTORE: + case Opcode.BASTORE: + case Opcode.CASTORE: + case Opcode.DASTORE: + case Opcode.FASTORE: + case Opcode.IASTORE: + case Opcode.LASTORE: + case Opcode.SASTORE: + stack.pop(3); + return true; + + // operand stack before: ... + // operand stack after: ..., null + case Opcode.ACONST_NULL: + stack.push(nullCD); + return true; + + // operand stack before: ... + // operand stack after: ..., objectref + case Opcode.ALOAD: + case Opcode.ALOAD_0: + case Opcode.ALOAD_1: + case Opcode.ALOAD_2: + case Opcode.ALOAD_3: + case Opcode.ALOAD_W: + LoadInstruction li = (LoadInstruction) inst; + stack.push(DCInstrument24.locals[li.slot()]); + return true; + + // operand stack before: ..., count + // operand stack after: ..., arrayref + case Opcode.ANEWARRAY: + stack.pop(); // discard the count + final NewReferenceArrayInstruction nrai = (NewReferenceArrayInstruction) inst; + // make an array type from the component type + stack.push(nrai.componentType().asSymbol().arrayType(1)); + return true; - // operand stack before: ..., value2, value1 - // operand stack after: ..., value1, value2, value1 - case Opcode.DUP_X1: - { - final ClassDesc v1 = stack.pop(); - final ClassDesc v2 = stack.pop(); + // operand stack before: ... + // operand stack after: [empty] + case Opcode.ARETURN: + case Opcode.DRETURN: + case Opcode.FRETURN: + case Opcode.IRETURN: + case Opcode.LRETURN: + case Opcode.RETURN: + // execution pump will reset stack + return false; + + // operand stack before: ..., arrayref + // operand stack after: ..., length + case Opcode.ARRAYLENGTH: + stack.pop(); // discard the arrayref + stack.push(CD_int); + return true; + + // operand stack before: ..., value + // operand stack after: ... + case Opcode.ASTORE: + case Opcode.ASTORE_0: + case Opcode.ASTORE_1: + case Opcode.ASTORE_2: + case Opcode.ASTORE_3: + case Opcode.ASTORE_W: + case Opcode.DSTORE: + case Opcode.DSTORE_0: + case Opcode.DSTORE_1: + case Opcode.DSTORE_2: + case Opcode.DSTORE_3: + case Opcode.DSTORE_W: + case Opcode.FSTORE: + case Opcode.FSTORE_0: + case Opcode.FSTORE_1: + case Opcode.FSTORE_2: + case Opcode.FSTORE_3: + case Opcode.FSTORE_W: + case Opcode.ISTORE: + case Opcode.ISTORE_0: + case Opcode.ISTORE_1: + case Opcode.ISTORE_2: + case Opcode.ISTORE_3: + case Opcode.ISTORE_W: + case Opcode.LSTORE: + case Opcode.LSTORE_0: + case Opcode.LSTORE_1: + case Opcode.LSTORE_2: + case Opcode.LSTORE_3: + case Opcode.LSTORE_W: + StoreInstruction si = (StoreInstruction) inst; + // We assume code is correct and do not verify that si.typeKind() matches stack.pop(). + DCInstrument24.locals[si.slot()] = stack.pop(); + return true; + + // operand stack before: ..., objectref + // operand stack after: objectref + case Opcode.ATHROW: + // execution pump will reset stack + return false; + + // UNDONE: the JVM says result is int, but should we track the type more precisely? + // operand stack before: ..., arrayref, index + // operand stack after: ..., value + case Opcode.BALOAD: + case Opcode.CALOAD: + case Opcode.IALOAD: + case Opcode.SALOAD: + stack.pop(2); + stack.push(CD_int); + return true; + + // operand stack before: ... + // operand stack after: ..., value + case Opcode.BIPUSH: + case Opcode.ICONST_0: + case Opcode.ICONST_1: + case Opcode.ICONST_2: + case Opcode.ICONST_3: + case Opcode.ICONST_4: + case Opcode.ICONST_5: + case Opcode.ICONST_M1: + case Opcode.SIPUSH: + stack.push(CD_int); + return true; + + // operand stack before: ..., objectref + // operand stack after: ..., objectref + case Opcode.CHECKCAST: + { + final ClassDesc t = stack.pop(); // pop the objectref + if (t == null || nullCD.equals(t)) { + stack.push(nullCD); + } else { + TypeCheckInstruction tci = (TypeCheckInstruction) inst; + final ClassDesc ct = tci.type().asSymbol(); + // We assume the type check will succeed + stack.push(ct); + } + // just assume it will be ok, otherwise it will throw when executed + return true; + } + + // operand stack before: ..., value + // operand stack after: ..., result + case Opcode.D2F: // double to float + case Opcode.I2F: // integer to float + case Opcode.L2F: // long to float + stack.pop(); // discard the value + stack.push(CD_float); + return true; + + // operand stack before: ..., value + // operand stack after: ..., result + case Opcode.D2L: // double to long + case Opcode.F2L: // float to long + case Opcode.I2L: // integer to long + stack.pop(); // discard the value + stack.push(CD_long); + return true; + + // operand stack before: ..., value1, value2 + // operand stack after: ..., result + case Opcode.DADD: + case Opcode.DDIV: + case Opcode.DMUL: + case Opcode.DREM: + case Opcode.DSUB: + stack.pop(2); // discard the values + stack.push(CD_double); + return true; + + // operand stack before: ..., arrayref, index + // operand stack after: ..., value + case Opcode.DALOAD: + stack.pop(2); // discard the arrayref and index + stack.push(CD_double); + return true; + + // operand stack before: ..., value1, value2 + // operand stack after: ..., result + case Opcode.DCMPG: + case Opcode.DCMPL: + case Opcode.FCMPG: + case Opcode.FCMPL: + stack.pop(2); // discard the values + stack.push(CD_int); + return true; + + // operand stack before: ... + // operand stack after: ..., value + case Opcode.DCONST_0: + case Opcode.DCONST_1: + stack.push(CD_double); + return true; + + // operand stack before: ... + // operand stack after: ..., value + case Opcode.DLOAD: + case Opcode.DLOAD_0: + case Opcode.DLOAD_1: + case Opcode.DLOAD_2: + case Opcode.DLOAD_3: + case Opcode.DLOAD_W: + stack.push(CD_double); + return true; + + // operand stack before: ..., value + // operand stack after: ..., result + case Opcode.DNEG: + stack.pop(); // discard the value + stack.push(CD_double); + return true; + + // operand stack before: ..., value + // operand stack after: ..., value, value + case Opcode.DUP: + { + final ClassDesc t = stack.pop(); + stack.push(t); + stack.push(t); + return true; + } + + // operand stack before: ..., value2, value1 + // operand stack after: ..., value1, value2, value1 + case Opcode.DUP_X1: + { + final ClassDesc v1 = stack.pop(); + final ClassDesc v2 = stack.pop(); + stack.push(v1); + stack.push(v2); + stack.push(v1); + return true; + } + + // operand stack before: ..., value3, value2, value1 + // operand stack after: ..., value1, value3, value2, value1 + // where value1, value2, and value3 are all a category 1 computational type + // OR + // ..., value2, value1 + // ..., value1, value2, value1 + // where value1 is a category 1 computational type and value2 is a category 2 + // computational type + case Opcode.DUP_X2: + { + final ClassDesc v1 = stack.pop(); + final ClassDesc v2 = stack.pop(); + if (stack.slotSize(v2) == 2) { + stack.push(v1); + } else { + final ClassDesc v3 = stack.pop(); + stack.push(v1); + stack.push(v3); + } + stack.push(v2); + stack.push(v1); + return true; + } + + // operand stack before: ..., value2, value1 + // operand stack after: ..., value2, value1, value2, value1 + // where value1, and value2 are all a category 1 computational type + // OR + // ..., value + // ..., value, value + // where value is a category 2 computational type + case Opcode.DUP2: + { + final ClassDesc v1 = stack.pop(); + if (stack.slotSize(v1) == 2) { + stack.push(v1); + } else { // slotSize(v1) == 1 + final ClassDesc v2 = stack.pop(); + stack.push(v2); + stack.push(v1); + stack.push(v2); + } + stack.push(v1); + return true; + } + + // operand stack before: ..., value3, value2, value1 + // operand stack after: ..., value2, value1, value3, value2, value1 + // where value1, value2, and value3 are all a category 1 computational type + // OR + // ..., value2, value1 + // ..., value1, value2, value1 + // where value1 is a category 2 computational type and value2 a category 1 computational + // type + case Opcode.DUP2_X1: + { + final ClassDesc v1 = stack.pop(); + if (stack.slotSize(v1) == 2) { + final ClassDesc v2 = stack.pop(); + stack.push(v1); + stack.push(v2); + } else { // slotSize(v1) == 1 + final ClassDesc v2 = stack.pop(); + final ClassDesc v3 = stack.pop(); + stack.push(v2); + stack.push(v1); + stack.push(v3); + stack.push(v2); + } + stack.push(v1); + return true; + } + + // ..., value4, value3, value2, value1 + // ..., value2, value1, value4, value3, value2, value1 + // where value1, value2, value3, and value4 are all a category 1 computational type + // OR + // ..., value3, value2, value1 + // ..., value1, value3, value2, value1 + // where value1 is a category 2 computational type and value2 and value3 are both a + // category 1 computational type + // OR + // ..., value3, value2, value1 + // ..., value2, value1, value3, value2, value1 + // where value1 and value2 are both a category 1 computational type and value3 is a + // category 2 computational type + // OR + // ..., value2, value1 + // ..., value1, value2, value1 + // where value1 and value2 are both a category 2 computational type + case Opcode.DUP2_X2: + { + final ClassDesc v1 = stack.pop(); + if (stack.slotSize(v1) == 2) { + final ClassDesc v2 = stack.pop(); + if (stack.slotSize(v2) == 2) { stack.push(v1); - stack.push(v2); + } else { + final ClassDesc v3 = stack.pop(); stack.push(v1); - return true; + stack.push(v3); } - - // operand stack before: ..., value3, value2, value1 - // operand stack after: ..., value1, value3, value2, value1 - // where value1, value2, and value3 are all a category 1 computational type - // OR - // ..., value2, value1 - // ..., value1, value2, value1 - // where value1 is a category 1 computational type and value2 is a category 2 - // computational type - case Opcode.DUP_X2: - { - final ClassDesc v1 = stack.pop(); - final ClassDesc v2 = stack.pop(); - if (stack.slotSize(v2) == 2) { - stack.push(v1); - } else { - final ClassDesc v3 = stack.pop(); - stack.push(v1); - stack.push(v3); - } + stack.push(v2); + stack.push(v1); + } else { // slotSize(v1) is 1 + final ClassDesc v2 = stack.pop(); + final ClassDesc v3 = stack.pop(); + if (stack.slotSize(v3) == 2) { stack.push(v2); stack.push(v1); - return true; - } - - // operand stack before: ..., value2, value1 - // operand stack after: ..., value2, value1, value2, value1 - // where value1, and value2 are all a category 1 computational type - // OR - // ..., value - // ..., value, value - // where value is a category 2 computational type - case Opcode.DUP2: - { - final ClassDesc v1 = stack.pop(); - if (stack.slotSize(v1) == 2) { - stack.push(v1); - } else { // slotSize(v1) == 1 - final ClassDesc v2 = stack.pop(); - stack.push(v2); - stack.push(v1); - stack.push(v2); - } + } else { + final ClassDesc v4 = stack.pop(); + stack.push(v2); stack.push(v1); - return true; + stack.push(v4); } + stack.push(v3); + stack.push(v2); + stack.push(v1); + } + return true; + } - // operand stack before: ..., value3, value2, value1 - // operand stack after: ..., value2, value1, value3, value2, value1 - // where value1, value2, and value3 are all a category 1 computational type - // OR - // ..., value2, value1 - // ..., value1, value2, value1 - // where value1 is a category 2 computational type and value2 a category 1 computational - // type - case Opcode.DUP2_X1: - { - final ClassDesc v1 = stack.pop(); - if (stack.slotSize(v1) == 2) { - final ClassDesc v2 = stack.pop(); - stack.push(v1); - stack.push(v2); - } else { // slotSize(v1) == 1 - final ClassDesc v2 = stack.pop(); - final ClassDesc v3 = stack.pop(); - stack.push(v2); - stack.push(v1); - stack.push(v3); - stack.push(v2); - } - stack.push(v1); - return true; - } + // operand stack before: ..., value + // operand stack after: ..., result + case Opcode.F2D: // float to double + case Opcode.I2D: // integer to double + case Opcode.L2D: // long to double + stack.pop(); // discard the value + stack.push(CD_double); + return true; - // ..., value4, value3, value2, value1 - // ..., value2, value1, value4, value3, value2, value1 - // where value1, value2, value3, and value4 are all a category 1 computational type - // OR - // ..., value3, value2, value1 - // ..., value1, value3, value2, value1 - // where value1 is a category 2 computational type and value2 and value3 are both a - // category 1 computational type - // OR - // ..., value3, value2, value1 - // ..., value2, value1, value3, value2, value1 - // where value1 and value2 are both a category 1 computational type and value3 is a - // category 2 computational type - // OR - // ..., value2, value1 - // ..., value1, value2, value1 - // where value1 and value2 are both a category 2 computational type - case Opcode.DUP2_X2: - { - final ClassDesc v1 = stack.pop(); - if (stack.slotSize(v1) == 2) { - final ClassDesc v2 = stack.pop(); - if (stack.slotSize(v2) == 2) { - stack.push(v1); - } else { - final ClassDesc v3 = stack.pop(); - stack.push(v1); - stack.push(v3); - } - stack.push(v2); - stack.push(v1); - } else { // slotSize(v1) is 1 - final ClassDesc v2 = stack.pop(); - final ClassDesc v3 = stack.pop(); - if (stack.slotSize(v3) == 2) { - stack.push(v2); - stack.push(v1); - } else { - final ClassDesc v4 = stack.pop(); - stack.push(v2); - stack.push(v1); - stack.push(v4); - } - stack.push(v3); - stack.push(v2); - stack.push(v1); - } - return true; - } + // operand stack before: ..., value1, value2 + // operand stack after: ..., result + case Opcode.FADD: + case Opcode.FDIV: + case Opcode.FMUL: + case Opcode.FREM: + case Opcode.FSUB: + stack.pop(2); // discard the values + stack.push(CD_float); + return true; - // operand stack before: ..., value - // operand stack after: ..., result - case Opcode.F2D: // float to double - case Opcode.I2D: // integer to double - case Opcode.L2D: // long to double - stack.pop(); // discard the value - stack.push(CD_double); - return true; - - // operand stack before: ..., value1, value2 - // operand stack after: ..., result - case Opcode.FADD: - case Opcode.FDIV: - case Opcode.FMUL: - case Opcode.FREM: - case Opcode.FSUB: - stack.pop(2); // discard the values - stack.push(CD_float); - return true; - - // operand stack before: ..., arrayref, index - // operand stack after: ..., value - case Opcode.FALOAD: - stack.pop(2); // discard the arrayref and index - stack.push(CD_float); - return true; - - // operand stack before: ... - // operand stack after: ..., value - case Opcode.FCONST_0: - case Opcode.FCONST_1: - case Opcode.FCONST_2: - stack.push(CD_float); - return true; - - // operand stack before: ... - // operand stack after: ..., value - case Opcode.FLOAD: - case Opcode.FLOAD_0: - case Opcode.FLOAD_1: - case Opcode.FLOAD_2: - case Opcode.FLOAD_3: - case Opcode.FLOAD_W: - stack.push(CD_float); - return true; - - // operand stack before: ..., value - // operand stack after: ..., result - case Opcode.FNEG: - stack.pop(); // discard the value - stack.push(CD_float); - return true; - - // operand stack before: ..., objectref - // operand stack after: ..., value - case Opcode.GETFIELD: - { - stack.pop(); // discard the value - FieldInstruction fi = (FieldInstruction) inst; - stack.push(fi.typeSymbol()); - return true; - } + // operand stack before: ..., arrayref, index + // operand stack after: ..., value + case Opcode.FALOAD: + stack.pop(2); // discard the arrayref and index + stack.push(CD_float); + return true; - // operand stack before: ... - // operand stack after: ..., value - case Opcode.GETSTATIC: - { - FieldInstruction fi = (FieldInstruction) inst; - stack.push(fi.typeSymbol()); - return true; - } + // operand stack before: ... + // operand stack after: ..., value + case Opcode.FCONST_0: + case Opcode.FCONST_1: + case Opcode.FCONST_2: + stack.push(CD_float); + return true; - // operand stack: no change - case Opcode.GOTO: - case Opcode.GOTO_W: - { - BranchInstruction bi = (BranchInstruction) inst; - addLabelsToWorklist(bi.target(), null, stack); - return false; - } + // operand stack before: ... + // operand stack after: ..., value + case Opcode.FLOAD: + case Opcode.FLOAD_0: + case Opcode.FLOAD_1: + case Opcode.FLOAD_2: + case Opcode.FLOAD_3: + case Opcode.FLOAD_W: + stack.push(CD_float); + return true; - // UNDONE: the JVM says result is int, but should we track the type more precisely? - // operand stack before: ..., value - // operand stack after: ..., result - case Opcode.I2B: // integer to byte - case Opcode.I2C: // integer to char - case Opcode.D2I: // double to integer - case Opcode.F2I: // float to integer - case Opcode.L2I: // long to int - case Opcode.I2S: // integer to short - stack.pop(); // discard the value - stack.push(CD_int); - return true; - - // operand stack before: ..., value1, value2 - // operand stack after: ..., result - case Opcode.IADD: - case Opcode.IAND: - case Opcode.IDIV: - case Opcode.IMUL: - case Opcode.IOR: - case Opcode.IREM: - case Opcode.ISHL: - case Opcode.ISHR: - case Opcode.ISUB: - case Opcode.IUSHR: - case Opcode.IXOR: - case Opcode.LCMP: - stack.pop(2); // discard the values - stack.push(CD_int); - return true; - - // operand stack before: ..., value1, value2 - // operand stack after: ... - case Opcode.IF_ACMPEQ: - case Opcode.IF_ACMPNE: - case Opcode.IF_ICMPEQ: - case Opcode.IF_ICMPGE: - case Opcode.IF_ICMPGT: - case Opcode.IF_ICMPLE: - case Opcode.IF_ICMPLT: - case Opcode.IF_ICMPNE: - { - stack.pop(2); // discard the values - BranchInstruction bi = (BranchInstruction) inst; - addLabelsToWorklist(bi.target(), null, stack); - return true; - } + // operand stack before: ..., value + // operand stack after: ..., result + case Opcode.FNEG: + stack.pop(); // discard the value + stack.push(CD_float); + return true; - // operand stack before: ..., value - // operand stack after: ... - case Opcode.IFEQ: - case Opcode.IFNE: - case Opcode.IFLT: - case Opcode.IFGE: - case Opcode.IFGT: - case Opcode.IFLE: - case Opcode.IFNONNULL: - case Opcode.IFNULL: - stack.pop(); // discard the value - BranchInstruction bi = (BranchInstruction) inst; - addLabelsToWorklist(bi.target(), null, stack); - return true; - - // operand stack: no change - case Opcode.IINC: - case Opcode.IINC_W: - case Opcode.NOP: - return true; - - // operand stack before: ... - // operand stack after: ..., value - case Opcode.ILOAD: - case Opcode.ILOAD_0: - case Opcode.ILOAD_1: - case Opcode.ILOAD_2: - case Opcode.ILOAD_3: - case Opcode.ILOAD_W: - stack.push(CD_int); - return true; - - // operand stack before: ..., value - // operand stack after: ..., result - case Opcode.INEG: - stack.pop(); // discard the value - stack.push(CD_int); - return true; - - // UNDONE: the JVM says result is int, but should we track the type more precisely? - // operand stack before: ..., objectref - // operand stack after: ..., result - case Opcode.INSTANCEOF: - stack.pop(); // discard the value - stack.push(CD_int); - return true; - - // TODO: JSR and RET have been illegal since JDK 7 (class file version 51.0). - // Consider throwing an UnsupportedOperationException for these opcodes - // if we're only supporting modern class files (version 51.0+). - // Currently maintaining support for completeness. - - // operand stack before: ... - // operand stack after: ..., [return address] - case Opcode.JSR: - case Opcode.JSR_W: - // Perhaps we should add label of next instruction to work list but we have no idea - // what stack will be after return from the JSR. - stack.push(CD_Object); // there is no way to represent a return address, fake it - DiscontinuedInstruction.JsrInstruction ji = - (DiscontinuedInstruction.JsrInstruction) inst; - addLabelsToWorklist(ji.target(), null, stack); - return false; - - // operand stack before: ..., value1, value2 - // operand stack after: ..., result - case Opcode.LADD: - case Opcode.LAND: - case Opcode.LDIV: - case Opcode.LMUL: - case Opcode.LOR: - case Opcode.LREM: - case Opcode.LSHL: - case Opcode.LSHR: - case Opcode.LSUB: - case Opcode.LUSHR: - case Opcode.LXOR: - stack.pop(2); // discard the values - stack.push(CD_long); - return true; - - // operand stack before: ..., arrayref, index - // operand stack after: ..., value - case Opcode.LALOAD: - stack.pop(2); // discard the arrayref and index - stack.push(CD_long); - return true; - - // operand stack before: ... - // operand stack after: ..., value - case Opcode.LCONST_0: - case Opcode.LCONST_1: - stack.push(CD_long); - return true; - - // operand stack before: ... - // operand stack after: ..., value - case Opcode.LDC: - case Opcode.LDC_W: - case Opcode.LDC2_W: - ConstantInstruction.LoadConstantInstruction ldc = - (ConstantInstruction.LoadConstantInstruction) inst; - LoadableConstantEntry lce = ldc.constantEntry(); - - switch (lce) { - case ClassEntry cle -> stack.push(CD_Class); - case ConstantDynamicEntry cde -> stack.push(cde.typeSymbol()); - case DoubleEntry de -> - stack.push(CD_double); // LDC2_W only, but we assume correct code - case FloatEntry fe -> stack.push(CD_float); - case IntegerEntry ie -> stack.push(CD_int); - case LongEntry le -> stack.push(CD_long); // LDC2_W only, but we assume correct code - case MethodHandleEntry mhe -> - stack.push(ClassDesc.of("java.lang.invoke.MethodHandle")); - case MethodTypeEntry mte -> stack.push(ClassDesc.of("java.lang.invoke.MethodType")); - case StringEntry se -> stack.push(CD_String); - default -> { - throw new DynCompError("Illegal LoadableConstantEntry: " + lce); - } - } - return true; - - // operand stack before: ... - // operand stack after: ..., value - case Opcode.LLOAD: - case Opcode.LLOAD_0: - case Opcode.LLOAD_1: - case Opcode.LLOAD_2: - case Opcode.LLOAD_3: - case Opcode.LLOAD_W: - stack.push(CD_long); - return true; - - // operand stack before: ..., value - // operand stack after: ..., result - case Opcode.LNEG: - stack.pop(); // discard the value - stack.push(CD_long); - return true; - - // operand stack before: ..., key - // operand stack after: ... - case Opcode.LOOKUPSWITCH: - stack.pop(); // discard the value - LookupSwitchInstruction lsi = (LookupSwitchInstruction) inst; - addLabelsToWorklist(lsi.defaultTarget(), lsi.cases(), stack); - return false; - - // operand stack before: ..., objectref - // operand stack after: ... - case Opcode.MONITORENTER: - case Opcode.MONITOREXIT: - stack.pop(); // discard the value - return true; - - // operand stack before: ..., count1, [count2, ...] - // operand stack after: ..., arrayref - case Opcode.MULTIANEWARRAY: - final NewMultiArrayInstruction nmai = (NewMultiArrayInstruction) inst; - stack.pop(nmai.dimensions()); // discard all the counts - stack.push(nmai.arrayType().asSymbol()); - return true; - - // operand stack before: ... - // operand stack after: ..., objectref - case Opcode.NEW: - final NewObjectInstruction noi = (NewObjectInstruction) inst; - stack.push(noi.className().asSymbol()); - return true; - - // operand stack before: ..., count - // operand stack after: ..., arrayref - case Opcode.NEWARRAY: - stack.pop(); // discard the count - final NewPrimitiveArrayInstruction npai = (NewPrimitiveArrayInstruction) inst; - String eltDescriptor; - switch (npai.typeKind()) { - case BOOLEAN -> { - eltDescriptor = "Z"; - } - case BYTE -> { - eltDescriptor = "B"; - } - case CHAR -> { - eltDescriptor = "C"; - } - case DOUBLE -> { - eltDescriptor = "D"; - } - case FLOAT -> { - eltDescriptor = "F"; - } - case INT -> { - eltDescriptor = "I"; - } - case LONG -> { - eltDescriptor = "J"; - } - case SHORT -> { - eltDescriptor = "S"; - } - default -> { - throw new DynCompError( - "unknown primitive type " + npai.typeKind() + " in: " + inst); - } - } - stack.push(ClassDesc.ofDescriptor("[" + eltDescriptor)); - return true; - - // operand stack before: ..., value - // operand stack after: ... - case Opcode.POP: - stack.pop(); // discard the value - return true; - - // operand stack before: ..., value2, value1 - // operand stack after: ... - // where each of value1 and value2 is a category 1 computational type - // OR - // ..., value - // ... - // where value is of a category 2 computational type - case Opcode.POP2: - { - final ClassDesc v1 = stack.pop(); - if (stack.slotSize(v1) == 1) { - stack.pop(); - } - return true; - } + // operand stack before: ..., objectref + // operand stack after: ..., value + case Opcode.GETFIELD: + { + stack.pop(); // discard the value + FieldInstruction fi = (FieldInstruction) inst; + stack.push(fi.typeSymbol()); + return true; + } - // operand stack before: ..., objectref, value - // operand stack after: ... - case Opcode.PUTFIELD: - stack.pop(2); - return true; - - // operand stack before: ..., value - // operand stack after: ... - case Opcode.PUTSTATIC: - stack.pop(); // discard the value - return true; - - // TODO: JSR and RET have been illegal since JDK 7 (class file version 51.0). - // Consider throwing an UnsupportedOperationException for these opcodes - // if we're only supporting modern class files (version 51.0+). - // Currently maintaining support for completeness. - // operand stack: no change - case Opcode.RET: - case Opcode.RET_W: - // the variable referenced must contain a return address - // that we would treat as target of jump; no way to do that - return false; - - // operand stack before: ..., value1, value2 - // operand stack after: ..., value2, value1 - case Opcode.SWAP: - { - final ClassDesc v2 = stack.pop(); - final ClassDesc v1 = stack.pop(); - stack.push(v2); - stack.push(v1); - return true; - } + // operand stack before: ... + // operand stack after: ..., value + case Opcode.GETSTATIC: + { + FieldInstruction fi = (FieldInstruction) inst; + stack.push(fi.typeSymbol()); + return true; + } - // operand stack before: ..., index - // operand stack after: ... - case Opcode.TABLESWITCH: - stack.pop(); // discard the index - TableSwitchInstruction tsi = (TableSwitchInstruction) inst; - addLabelsToWorklist(tsi.defaultTarget(), tsi.cases(), stack); - return false; - - // operand stack before: ..., objectref, [arg1, [arg2 ...]] - // operand stack after: ... - case Opcode.INVOKEINTERFACE: - case Opcode.INVOKESPECIAL: - case Opcode.INVOKEVIRTUAL: - stack.pop(); // discard the objectref - // may actually be removing an arg, but we'll - // account for that when we remove args below - - // fall through is intentional: - - // operand stack before: ..., [arg1, [arg2 ...]] - // operand stack after: ... - case Opcode.INVOKESTATIC: - { - final InvokeInstruction ii = (InvokeInstruction) inst; - final MethodTypeDesc mtd = ii.typeSymbol(); - stack.pop(mtd.parameterCount()); // discard the arguments - // We are sure the invoked method will xRETURN eventually. - // We simulate xRETURN's functionality here because we don't - // really "jump into" and simulate the invoked method. - final ClassDesc rt = mtd.returnType(); - if (!rt.equals(CD_void)) { - stack.push(rt); - } - return true; - } + // operand stack: no change + case Opcode.GOTO: + case Opcode.GOTO_W: + { + BranchInstruction bi = (BranchInstruction) inst; + addLabelsToWorklist(bi.target(), null, stack); + return false; + } - // operand stack before: ..., [arg1, [arg2 ...]] - // operand stack after: ... - case Opcode.INVOKEDYNAMIC: - { - final InvokeDynamicInstruction idi = (InvokeDynamicInstruction) inst; - final MethodTypeDesc mtd = idi.typeSymbol(); - stack.pop(mtd.parameterCount()); // discard the arguments - // We are sure the invoked method will xRETURN eventually. - // We simulate xRETURNs functionality here because we don't - // really "jump into" and simulate the invoked method. - final ClassDesc rt = mtd.returnType(); - if (!rt.equals(CD_void)) { - stack.push(rt); - } - return true; - } + // UNDONE: the JVM says result is int, but should we track the type more precisely? + // operand stack before: ..., value + // operand stack after: ..., result + case Opcode.I2B: // integer to byte + case Opcode.I2C: // integer to char + case Opcode.D2I: // double to integer + case Opcode.F2I: // float to integer + case Opcode.L2I: // long to int + case Opcode.I2S: // integer to short + stack.pop(); // discard the value + stack.push(CD_int); + return true; - default: - throw new DynCompError("Unexpected instruction opcode: " + inst); + // operand stack before: ..., value1, value2 + // operand stack after: ..., result + case Opcode.IADD: + case Opcode.IAND: + case Opcode.IDIV: + case Opcode.IMUL: + case Opcode.IOR: + case Opcode.IREM: + case Opcode.ISHL: + case Opcode.ISHR: + case Opcode.ISUB: + case Opcode.IUSHR: + case Opcode.IXOR: + case Opcode.LCMP: + stack.pop(2); // discard the values + stack.push(CD_int); + return true; + + // operand stack before: ..., value1, value2 + // operand stack after: ... + case Opcode.IF_ACMPEQ: + case Opcode.IF_ACMPNE: + case Opcode.IF_ICMPEQ: + case Opcode.IF_ICMPGE: + case Opcode.IF_ICMPGT: + case Opcode.IF_ICMPLE: + case Opcode.IF_ICMPLT: + case Opcode.IF_ICMPNE: + { + stack.pop(2); // discard the values + BranchInstruction bi = (BranchInstruction) inst; + addLabelsToWorklist(bi.target(), null, stack); + return true; } - } - // We ignore most PseudoInstructions. + // operand stack before: ..., value + // operand stack after: ... + case Opcode.IFEQ: + case Opcode.IFNE: + case Opcode.IFLT: + case Opcode.IFGE: + case Opcode.IFGT: + case Opcode.IFLE: + case Opcode.IFNONNULL: + case Opcode.IFNULL: + stack.pop(); // discard the value + BranchInstruction bi = (BranchInstruction) inst; + addLabelsToWorklist(bi.target(), null, stack); + return true; - case ExceptionCatch ec -> { - // Nothing needs to be done. + // operand stack: no change + case Opcode.IINC: + case Opcode.IINC_W: + case Opcode.NOP: return true; - } - // Technically, a Classfile element, not a PseudoInstruction. - case Label l -> { - if (DCInstrument24.stacks[inst_index] != null) { - // We've seen this label before. - DCInstrument24.verifyOperandStackMatches(l, DCInstrument24.stacks[inst_index], stack); - // Stacks match; we're done with this worklist. - return false; - } else { - // We have not seen this label before; remember the operand stack. - DCInstrument24.stacks[inst_index] = stack.getClone(); - if (DCInstrument24.debugOperandStack) { - System.out.println("save stack state at: " + l); - System.out.println(" " + inst_index + ", " + DCInstrument24.stacks[inst_index]); + // operand stack before: ... + // operand stack after: ..., value + case Opcode.ILOAD: + case Opcode.ILOAD_0: + case Opcode.ILOAD_1: + case Opcode.ILOAD_2: + case Opcode.ILOAD_3: + case Opcode.ILOAD_W: + stack.push(CD_int); + return true; + + // operand stack before: ..., value + // operand stack after: ..., result + case Opcode.INEG: + // The top of the stack should be a CD_int, so we could just return true. However, we + // include the pop and push so the sequence is comparable to that of other operators. + stack.pop(); // discard the value + stack.push(CD_int); + return true; + + // UNDONE: the JVM says result is int, but should we track the type more precisely? + // operand stack before: ..., objectref + // operand stack after: ..., result + case Opcode.INSTANCEOF: + stack.pop(); // discard the value + stack.push(CD_int); + return true; + + // TODO: JSR and RET have been illegal since JDK 7 (class file version 51.0). + // Consider throwing an UnsupportedOperationException for these opcodes + // if we're only supporting modern class files (version 51.0+). + // Currently maintaining support for completeness. + + // operand stack before: ... + // operand stack after: ..., [return address] + case Opcode.JSR: + case Opcode.JSR_W: + // Perhaps we should add label of next instruction to work list but we have no idea + // what stack will be after return from the JSR. + stack.push(CD_Object); // there is no way to represent a return address, fake it + DiscontinuedInstruction.JsrInstruction ji = (DiscontinuedInstruction.JsrInstruction) inst; + addLabelsToWorklist(ji.target(), null, stack); + return false; + + // operand stack before: ..., value1, value2 + // operand stack after: ..., result + case Opcode.LADD: + case Opcode.LAND: + case Opcode.LDIV: + case Opcode.LMUL: + case Opcode.LOR: + case Opcode.LREM: + case Opcode.LSHL: + case Opcode.LSHR: + case Opcode.LSUB: + case Opcode.LUSHR: + case Opcode.LXOR: + stack.pop(2); // discard the values + stack.push(CD_long); + return true; + + // operand stack before: ..., arrayref, index + // operand stack after: ..., value + case Opcode.LALOAD: + stack.pop(2); // discard the arrayref and index + stack.push(CD_long); + return true; + + // operand stack before: ... + // operand stack after: ..., value + case Opcode.LCONST_0: + case Opcode.LCONST_1: + stack.push(CD_long); + return true; + + // operand stack before: ... + // operand stack after: ..., value + case Opcode.LDC: + case Opcode.LDC_W: + case Opcode.LDC2_W: + ConstantInstruction.LoadConstantInstruction ldc = + (ConstantInstruction.LoadConstantInstruction) inst; + LoadableConstantEntry lce = ldc.constantEntry(); + stack.push(lceToCD(lce)); + return true; + + // operand stack before: ... + // operand stack after: ..., value + case Opcode.LLOAD: + case Opcode.LLOAD_0: + case Opcode.LLOAD_1: + case Opcode.LLOAD_2: + case Opcode.LLOAD_3: + case Opcode.LLOAD_W: + stack.push(CD_long); + return true; + + // operand stack before: ..., value + // operand stack after: ..., result + case Opcode.LNEG: + stack.pop(); // discard the value + stack.push(CD_long); + return true; + + // operand stack before: ..., key + // operand stack after: ... + case Opcode.LOOKUPSWITCH: + stack.pop(); // discard the value + LookupSwitchInstruction lsi = (LookupSwitchInstruction) inst; + addLabelsToWorklist(lsi.defaultTarget(), lsi.cases(), stack); + return false; + + // operand stack before: ..., objectref + // operand stack after: ... + case Opcode.MONITORENTER: + case Opcode.MONITOREXIT: + stack.pop(); // discard the value + return true; + + // operand stack before: ..., count1, [count2, ...] + // operand stack after: ..., arrayref + case Opcode.MULTIANEWARRAY: + final NewMultiArrayInstruction nmai = (NewMultiArrayInstruction) inst; + stack.pop(nmai.dimensions()); // discard all the counts + stack.push(nmai.arrayType().asSymbol()); + return true; + + // operand stack before: ... + // operand stack after: ..., objectref + case Opcode.NEW: + final NewObjectInstruction noi = (NewObjectInstruction) inst; + stack.push(noi.className().asSymbol()); + return true; + + // operand stack before: ..., count + // operand stack after: ..., arrayref + case Opcode.NEWARRAY: + stack.pop(); // discard the count + final NewPrimitiveArrayInstruction npai = (NewPrimitiveArrayInstruction) inst; + stack.push(ClassDesc.ofDescriptor("[" + npaiToElementTypeDescriptor(npai))); + return true; + + // operand stack before: ..., value + // operand stack after: ... + case Opcode.POP: + stack.pop(); // discard the value + return true; + + // operand stack before: ..., value2, value1 + // operand stack after: ... + // where each of value1 and value2 is a category 1 computational type + // OR + // ..., value + // ... + // where value is of a category 2 computational type + case Opcode.POP2: + { + final ClassDesc v1 = stack.pop(); + if (stack.slotSize(v1) == 1) { + stack.pop(); } return true; } - } - case LineNumber ln -> { - // Nothing needs to be done. + // operand stack before: ..., objectref, value + // operand stack after: ... + case Opcode.PUTFIELD: + stack.pop(2); + return true; + + // operand stack before: ..., value + // operand stack after: ... + case Opcode.PUTSTATIC: + stack.pop(); // discard the value return true; + + // TODO: JSR and RET have been illegal since JDK 7 (class file version 51.0). + // Consider throwing an UnsupportedOperationException for these opcodes + // if we're only supporting modern class files (version 51.0+). + // Currently maintaining support for completeness. + // operand stack: no change + case Opcode.RET: + case Opcode.RET_W: + // the variable referenced must contain a return address + // that we would treat as target of jump; no way to do that + return false; + + // operand stack before: ..., value1, value2 + // operand stack after: ..., value2, value1 + case Opcode.SWAP: + { + final ClassDesc v2 = stack.pop(); + final ClassDesc v1 = stack.pop(); + stack.push(v2); + stack.push(v1); + return true; + } + + // operand stack before: ..., index + // operand stack after: ... + case Opcode.TABLESWITCH: + stack.pop(); // discard the index + TableSwitchInstruction tsi = (TableSwitchInstruction) inst; + addLabelsToWorklist(tsi.defaultTarget(), tsi.cases(), stack); + return false; + + // operand stack before: ..., objectref, [arg1, [arg2 ...]] + // operand stack after: ... + case Opcode.INVOKEINTERFACE: + case Opcode.INVOKESPECIAL: + case Opcode.INVOKEVIRTUAL: + stack.pop(); // discard the objectref + // may actually be removing an arg, but we'll + // account for that when we remove args below + + // fall through is intentional: + + // operand stack before: ..., [arg1, [arg2 ...]] + // operand stack after: ... + case Opcode.INVOKESTATIC: + { + final InvokeInstruction ii = (InvokeInstruction) inst; + final MethodTypeDesc mtd = ii.typeSymbol(); + stack.pop(mtd.parameterCount()); // discard the arguments + // We are sure the invoked method will xRETURN eventually. + // We simulate xRETURN's functionality here because we don't + // really "jump into" and simulate the invoked method. + final ClassDesc rt = mtd.returnType(); + if (!rt.equals(CD_void)) { + stack.push(rt); + } + return true; + } + + // operand stack before: ..., [arg1, [arg2 ...]] + // operand stack after: ... + case Opcode.INVOKEDYNAMIC: + { + final InvokeDynamicInstruction idi = (InvokeDynamicInstruction) inst; + final MethodTypeDesc mtd = idi.typeSymbol(); + stack.pop(mtd.parameterCount()); // discard the arguments + // We are sure the invoked method will xRETURN eventually. + // We simulate xRETURNs functionality here because we don't + // really "jump into" and simulate the invoked method. + final ClassDesc rt = mtd.returnType(); + if (!rt.equals(CD_void)) { + stack.push(rt); + } + return true; + } + + default: + throw new DynCompError("Unexpected instruction opcode: " + inst); + } + } + + /** + * Calculate a ClassDesc from a LoadableConstantEntry. + * + * @param lce a LoadableConstantEntry + * @returns the ClassDesc of {@code lce} + * @throws DynCompError if we don't reconize {@code lce} + */ + static ClassDesc lceToCD(LoadableConstantEntry lce) { + switch (lce) { + case ClassEntry cle -> { + return CD_Class; + } + case ConstantDynamicEntry cde -> { + return cde.typeSymbol(); + } + case DoubleEntry de -> { + return CD_double; // LDC2_W only, but we assume correct code + } + case FloatEntry fe -> { + return CD_float; + } + case IntegerEntry ie -> { + return CD_int; + } + case LongEntry le -> { + return CD_long; // LDC2_W only, but we assume correct code + } + case MethodHandleEntry mhe -> { + return ClassDesc.of("java.lang.invoke.MethodHandle"); + } + case MethodTypeEntry mte -> { + return ClassDesc.of("java.lang.invoke.MethodType"); + } + case StringEntry se -> { + return CD_String; + } + default -> { + throw new DynCompError("Illegal LoadableConstantEntry: " + lce); } + } + } + /** + * Calculate an element type descriptor from a NewPrimitiveArrayInstruction. + * + * @param npai a NewPrimitiveArrayInstruction + * @returns a String containing the element type descriptor + * @throws DynCompError if we don't recognize the type of {@code npai} + */ + static String npaiToElementTypeDescriptor(NewPrimitiveArrayInstruction npai) { + switch (npai.typeKind()) { + case BOOLEAN -> { + return "Z"; + } + case BYTE -> { + return "B"; + } + case CHAR -> { + return "C"; + } + case DOUBLE -> { + return "D"; + } + case FLOAT -> { + return "F"; + } + case INT -> { + return "I"; + } + case LONG -> { + return "J"; + } + case SHORT -> { + return "S"; + } default -> { - throw new DynCompError("Unexpected CodeElement: " + ce); + throw new DynCompError("unknown primitive type " + npai.typeKind() + " in: " + npai); } } } /** - * Create a set of worklist items. + * Calls DCInstrument24.addLabelToWorklist to create a set of worklist items. * * @param target label where to start operand stack simulation * @param cases a set of case statement labels; additional start points for simulation diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 0f3be2fdb6..3119a30f32 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -46,7 +46,7 @@ public class ClassGen24 { /** The list of interfaces this class implements. */ private List interfaceList; - /** The name of the class's enclosing class, in binary name format. */ + /** The name of the class's superclass, in binary name format. */ private @BinaryName String superclassName; /** The class's name. */ @@ -68,8 +68,8 @@ public class ClassGen24 { /** * Creates a ClassGen24 object. * - * @param classModel the class - * @param className the containing class, in binary name format + * @param classModel for the class + * @param className class name, in binary name format * @param classBuilder for the class */ public ClassGen24( @@ -168,18 +168,18 @@ public final boolean isStatic() { } /** - * Returns the name of the super class of this class. In the case that this class is {@link + * Returns the name of the superclass of this class. In the case that this class is {@link * Object}, it will return itself ({@link Object}). This is probably incorrect but is consistent * with the BCEL version of getSuperclassName. * - * @return the binary name of the class that contains this class + * @return the binary name of this class's superclass */ public @BinaryName String getSuperclassName() { return superclassName; } /** - * Returns the name of the super class of the argument. In the case that the argument class is + * Returns the name of the superclass of the argument. In the case that the argument class is * {@link Object}, it will return itself ({@link Object}). This is probably incorrect but is * consistent with the BCEL version of getSuperclassName. * diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index ebab4f906d..caac53c0fa 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -163,7 +163,7 @@ public class DCInstrument24 { */ protected int newStartIndex; - // Variables used for calculating the state of the operand stack. + // Variables used for calculating the state of a method's operand stack via simulation. // TODO: The following four variables are redefined for each method instrumented. // Rather than being global variables, they should be wrapped in a data structure that is passed @@ -177,11 +177,13 @@ public class DCInstrument24 { @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO: method-local protected static Map worklistHistory; - /** State of operand stack prior to each byte code instruction. */ + /** + * The state of operand stack prior to each byte code instruction of the method being simulated. + */ @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO: method-local protected static OperandStack24[] stacks; - /** The type of each local variable. */ + /** The type of each parameter and local variable of the method being simulated. */ @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO: method-local protected static ClassDesc[] locals; @@ -1621,7 +1623,7 @@ private void instrumentCodeList( System.out.println("inst_index: " + inst_index); System.out.println("Operand Stack in: " + stack); } - proceed = CalcStack24.calcOperandStack(mgen, minfo, inst, inst_index, stack); + proceed = CalcStack24.simulateCodeElement(mgen, minfo, inst, inst_index, stack); if (debugOperandStack) { System.out.println("Operand Stack out: " + stack); System.out.println("proceed: " + proceed); @@ -2893,7 +2895,8 @@ private Integer getAccessFlags(String classname) { } /** - * Returns true if the specified classname is instrumented. + * Returns true if the specified class is instrumented or we presume it will be instrumented by + * the time it is executed. * * @param classname class to be checked * @param methodName method to be checked (currently unused) @@ -2985,16 +2988,16 @@ private boolean isClassnameInstrumented( * returned list is in ascending order; that is, java.lang.Object is always the last element, * unless the argument is java.lang.Object. * - * @return list of super classes + * @return list of superclasses */ - public List<@BinaryName String> getStrictSuperClassNames() { - final List<@BinaryName String> allSuperClassNames = new ArrayList<>(); + public List<@BinaryName String> getStrictSuperclassNames() { + final List<@BinaryName String> allSuperclassNames = new ArrayList<>(); @BinaryName String classname = classGen.getClassName(); while (!classname.equals("java.lang.Object")) { classname = getSuperclassName(classname); - allSuperClassNames.add(classname); + allSuperclassNames.add(classname); } - return allSuperClassNames; + return allSuperclassNames; } /** @@ -4190,7 +4193,7 @@ void create_tag_accessors(ClassGen24 classGen) { // Build accessors for each field declared in a superclass that is // is not shadowed in a subclass - for (@BinaryName String scn : getStrictSuperClassNames()) { + for (@BinaryName String scn : getStrictSuperclassNames()) { ClassModel scm = getClassModel(scn); if (scm == null) { throw new DynCompError("Can't load ClassModel for: " + scn); diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index f8cba545d9..4797ac7855 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -49,7 +49,7 @@ public OperandStack24(final @NonNegative int maxStack) { /** Clears the stack. */ public void clear() { - stack = new ArrayList<>(); + stack.clear(); } /** @@ -70,8 +70,10 @@ public OperandStack24 clone(@GuardSatisfied OperandStack24 this) { /** * Returns true if and only if this OperandStack equals another, meaning equal lengths and equal - * objects on the stacks. A special case is {@code null} in the stack, which matches anything but - * a primitive. + * objects on the stacks. This method is used to verify that the operand stacks match when two + * execution paths meet. A special case is {@code null} on an operand stack, which matches + * anything but a primitive. As we are assuming that the class file is valid, then it is okay for + * an object to exist on one execution path and be null on the other. */ @Override public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Nullable Object o) { @@ -103,13 +105,13 @@ public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Null if (otherItem.isPrimitive()) { return false; } - // We assume an array matches any array or any class as they all have Object as super class + // We assume an array matches any array or any class as they all have Object as a superclass // at some point. } else if (thisItem.isClassOrInterface()) { if (otherItem.isPrimitive()) { return false; } - // We assume a class matches any array or any class as they all have Object as super class + // We assume a class matches any array or any class as they all have Object as a superclass // at some point. } else if (thisItem.isPrimitive() && !otherItem.isPrimitive()) { return false; @@ -181,6 +183,9 @@ public ClassDesc pop() { /** Pushes a ClassDesc object onto the stack. */ public void push(final ClassDesc type) { + if (stack.size() >= maxStack) { + throw new DynCompError("Operand stack size exceeded: " + stack); + } stack.add(type); } diff --git a/java/daikon/dcomp/StackMapUtils24.java b/java/daikon/dcomp/StackMapUtils24.java index 43944f5cce..db63e90834 100644 --- a/java/daikon/dcomp/StackMapUtils24.java +++ b/java/daikon/dcomp/StackMapUtils24.java @@ -173,9 +173,8 @@ public static LocalVariable addNewSpecialLocal( } debugInstrument.log( - "Added %s at %s%n", - isParam ? "arg" : "local", - varNew.slot() + ": " + varNew.name() + ", " + varNew.type() + ", " + argSize); + "Added a %s at slot %s.%n name: %s type: %s size: %s%n", + isParam ? "parameter" : "local", varNew.slot(), varNew.name(), varNew.type(), argSize); boolean hasCode = !mgen.getInstructionList().isEmpty(); if (hasCode) { From 2f6a09960cc7edf739fd464cbedcd569aa755e3b Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Fri, 5 Dec 2025 15:44:09 -0800 Subject: [PATCH 181/211] fix javadoc --- java/daikon/dcomp/CalcStack24.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index f6152ac7c4..25788e85a8 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -944,7 +944,7 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac * Calculate a ClassDesc from a LoadableConstantEntry. * * @param lce a LoadableConstantEntry - * @returns the ClassDesc of {@code lce} + * @return the ClassDesc of {@code lce} * @throws DynCompError if we don't reconize {@code lce} */ static ClassDesc lceToCD(LoadableConstantEntry lce) { @@ -986,7 +986,7 @@ static ClassDesc lceToCD(LoadableConstantEntry lce) { * Calculate an element type descriptor from a NewPrimitiveArrayInstruction. * * @param npai a NewPrimitiveArrayInstruction - * @returns a String containing the element type descriptor + * @return a String containing the element type descriptor * @throws DynCompError if we don't recognize the type of {@code npai} */ static String npaiToElementTypeDescriptor(NewPrimitiveArrayInstruction npai) { From 6750d74f9ae7064378bed3b478e0067c5cee8d41 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 8 Dec 2025 15:44:49 -0800 Subject: [PATCH 182/211] respond to pull rquest comments --- java/daikon/dcomp/OperandStack24.java | 87 ++++++++++++++++++--------- 1 file changed, 60 insertions(+), 27 deletions(-) diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index 4797ac7855..f3ac4c7511 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -90,37 +90,68 @@ public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Null for (int i = 0; i < this.stack.size(); i++) { ClassDesc thisItem = this.stack.get(i); ClassDesc otherItem = other.stack.get(i); - if (thisItem == null) { - if (otherItem != null && otherItem.isPrimitive()) { - return false; - } - } else if (otherItem == null) { - // we know thisItem != null - if (thisItem.isPrimitive()) { - return false; - } - // We should check if they are equal or have a common superclass, but we - // assume the class file is valid and take the easy way out. - } else if (thisItem.isArray()) { - if (otherItem.isPrimitive()) { - return false; - } - // We assume an array matches any array or any class as they all have Object as a superclass - // at some point. - } else if (thisItem.isClassOrInterface()) { - if (otherItem.isPrimitive()) { - return false; - } - // We assume a class matches any array or any class as they all have Object as a superclass - // at some point. - } else if (thisItem.isPrimitive() && !otherItem.isPrimitive()) { + if (!compareOperandStackElements(thisItem, otherItem)) { return false; } - // We don't bother to check they are the same primitive. } return true; } + /** + * Returns true if and only if the two OperandStack elements are equal. An element may be one of + * four possible items: + * + *

                      + *
                    • {@code null} a special case as it matches anything but a primitive + *
                    • a primitive (such as {@code int}, {@code long}, etc.) + *
                    • an array reference + *
                    • an object reference + *
                    + * + * @param thisItem one OperandStack element + * @param otherItem another OperandStack element + * @return true if and only if the items match + */ + protected boolean compareOperandStackElements(ClassDesc thisItem, ClassDesc otherItem) { + if (thisItem == null) { + if (otherItem != null && otherItem.isPrimitive()) { + return false; + } + // We assume null matches any array or any class. + return true; + } else if (otherItem == null) { + // we know thisItem != null + if (thisItem.isPrimitive()) { + return false; + } + // We assume null matches any array or any class. + return true; + } else if (thisItem.isArray()) { + if (otherItem.isPrimitive()) { + return false; + } + // We assume an array matches any array or any class as they all have Object as a superclass + // at some point. + return true; + } else if (thisItem.isClassOrInterface()) { + if (otherItem.isPrimitive()) { + return false; + } + // We assume a class matches any array or any class as they all have Object as a superclass + // at some point. + return true; + } else if (thisItem.isPrimitive() && !otherItem.isPrimitive()) { + return false; + } + // Both operands are primitives - they better match. + if (thisItem.equals(otherItem)) { + return true; + } else { + throw new DynCompError( + "Operand stack primitives don't match: " + thisItem + ", " + otherItem); + } + } + /** * Returns a (typed!) clone of this. * @@ -199,7 +230,8 @@ public void push(final ClassDesc type) { } /** - * Returns the number of stack slots used. + * Returns the total number of stack slots used. This could be larger than the total number of + * stack operands if any are of type {@code long} or {@code double}. * * @see #maxStack() */ @@ -227,7 +259,8 @@ public String toString(@GuardSatisfied OperandStack24 this) { } /** - * Calculate the size of an item on the operand stack. + * Calculate the size of an item on the operand stack. This is 2 for {@code long} or {@code + * double}, 1 for everything else. * * @param item type to get size of * @return size of item From 5eff1fddbbe0698d53ccee0fff54b351d145ce26 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 9 Dec 2025 13:12:15 -0800 Subject: [PATCH 183/211] deal with invoke returning boolean, byte, char or short --- java/daikon/dcomp/CalcStack24.java | 31 +++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 25788e85a8..9760f6406a 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -3,10 +3,14 @@ import static java.lang.constant.ConstantDescs.CD_Class; import static java.lang.constant.ConstantDescs.CD_Object; import static java.lang.constant.ConstantDescs.CD_String; +import static java.lang.constant.ConstantDescs.CD_boolean; +import static java.lang.constant.ConstantDescs.CD_byte; +import static java.lang.constant.ConstantDescs.CD_char; import static java.lang.constant.ConstantDescs.CD_double; import static java.lang.constant.ConstantDescs.CD_float; import static java.lang.constant.ConstantDescs.CD_int; import static java.lang.constant.ConstantDescs.CD_long; +import static java.lang.constant.ConstantDescs.CD_short; import static java.lang.constant.ConstantDescs.CD_void; import daikon.chicory.MethodGen24; @@ -45,6 +49,7 @@ import java.lang.constant.ClassDesc; import java.lang.constant.MethodTypeDesc; import java.util.List; +import java.util.Set; import org.checkerframework.checker.nullness.qual.Nullable; /** @@ -63,6 +68,9 @@ private CalcStack24() { /** ClassDesc for {@code null}. */ static final ClassDesc nullCD = ClassDesc.of("fake.ClassDecs.for.null"); + /** Set of ClassDesc items that map to CD_int. */ + static final Set INTEGRAL = Set.of(CD_boolean, CD_byte, CD_char, CD_int, CD_short); + /** * Calculates changes in the operand stack based on the symbolic execution of a CodeElement. Note * that we assume the class file is valid and make no attempt to verify the code's correctness. @@ -276,7 +284,6 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac // execution pump will reset stack return false; - // UNDONE: the JVM says result is int, but should we track the type more precisely? // operand stack before: ..., arrayref, index // operand stack after: ..., value case Opcode.BALOAD: @@ -615,7 +622,6 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac return false; } - // UNDONE: the JVM says result is int, but should we track the type more precisely? // operand stack before: ..., value // operand stack after: ..., result case Opcode.I2B: // integer to byte @@ -704,7 +710,6 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac stack.push(CD_int); return true; - // UNDONE: the JVM says result is int, but should we track the type more precisely? // operand stack before: ..., objectref // operand stack after: ..., result case Opcode.INSTANCEOF: @@ -912,8 +917,14 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac // We simulate xRETURN's functionality here because we don't // really "jump into" and simulate the invoked method. final ClassDesc rt = mtd.returnType(); - if (!rt.equals(CD_void)) { - stack.push(rt); + switch (rt) { + case ClassDesc c when c.equals(CD_void) -> {} + case ClassDesc c when INTEGRAL.contains(c) -> { + stack.push(CD_int); + } + default -> { + stack.push(rt); + } } return true; } @@ -929,8 +940,14 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac // We simulate xRETURNs functionality here because we don't // really "jump into" and simulate the invoked method. final ClassDesc rt = mtd.returnType(); - if (!rt.equals(CD_void)) { - stack.push(rt); + switch (rt) { + case ClassDesc c when c.equals(CD_void) -> {} + case ClassDesc c when INTEGRAL.contains(c) -> { + stack.push(CD_int); + } + default -> { + stack.push(rt); + } } return true; } From baebb2b15ef274ebc1dd6e7c4b79669480b98488 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 11 Dec 2025 12:38:05 -0800 Subject: [PATCH 184/211] getfield and getstatic need same integer fix --- java/daikon/dcomp/CalcStack24.java | 52 ++++++++++++++---------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 9760f6406a..d3e8a047d5 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -597,19 +597,16 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac // operand stack before: ..., objectref // operand stack after: ..., value case Opcode.GETFIELD: - { - stack.pop(); // discard the value - FieldInstruction fi = (FieldInstruction) inst; - stack.push(fi.typeSymbol()); - return true; - } + stack.pop(); // discard the objectref + + // fall through is intentional: // operand stack before: ... // operand stack after: ..., value case Opcode.GETSTATIC: { FieldInstruction fi = (FieldInstruction) inst; - stack.push(fi.typeSymbol()); + pushResultClassDesc(fi.typeSymbol(), stack); return true; } @@ -916,16 +913,7 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac // We are sure the invoked method will xRETURN eventually. // We simulate xRETURN's functionality here because we don't // really "jump into" and simulate the invoked method. - final ClassDesc rt = mtd.returnType(); - switch (rt) { - case ClassDesc c when c.equals(CD_void) -> {} - case ClassDesc c when INTEGRAL.contains(c) -> { - stack.push(CD_int); - } - default -> { - stack.push(rt); - } - } + pushResultClassDesc(mtd.returnType(), stack); return true; } @@ -939,16 +927,7 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac // We are sure the invoked method will xRETURN eventually. // We simulate xRETURNs functionality here because we don't // really "jump into" and simulate the invoked method. - final ClassDesc rt = mtd.returnType(); - switch (rt) { - case ClassDesc c when c.equals(CD_void) -> {} - case ClassDesc c when INTEGRAL.contains(c) -> { - stack.push(CD_int); - } - default -> { - stack.push(rt); - } - } + pushResultClassDesc(mtd.returnType(), stack); return true; } @@ -1038,6 +1017,25 @@ static String npaiToElementTypeDescriptor(NewPrimitiveArrayInstruction npai) { } } + /** + * Calculate a Java bytecode's result type and push it on the operand stack. If the type is void, + * nothing is pushed. If the type is boolean, byte, char or short an int is pushed. Otherwise, the + * result itself is pushed. + * + * @param result a NewPrimitiveArrayInstruction + */ + static void pushResultClassDesc(ClassDesc result, OperandStack24 stack) { + switch (result) { + case ClassDesc c when c.equals(CD_void) -> {} + case ClassDesc c when INTEGRAL.contains(c) -> { + stack.push(CD_int); + } + default -> { + stack.push(result); + } + } + } + /** * Calls DCInstrument24.addLabelToWorklist to create a set of worklist items. * From 5503afed100757034ac08c12d1b8f45557a5c360 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Thu, 11 Dec 2025 13:38:34 -0800 Subject: [PATCH 185/211] fix lock checker error --- java/daikon/dcomp/OperandStack24.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index f3ac4c7511..a1f8effc46 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -112,7 +112,8 @@ public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Null * @param otherItem another OperandStack element * @return true if and only if the items match */ - protected boolean compareOperandStackElements(ClassDesc thisItem, ClassDesc otherItem) { + protected boolean compareOperandStackElements( + @GuardSatisfied OperandStack24 this, ClassDesc thisItem, ClassDesc otherItem) { if (thisItem == null) { if (otherItem != null && otherItem.isPrimitive()) { return false; From d4ef177266705267a16088769ac68b60aa068d55 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 15 Dec 2025 16:34:54 -0800 Subject: [PATCH 186/211] respond to coderabbit suggestions --- java/daikon/chicory/Instrument.java | 4 ++- java/daikon/chicory/Instrument24.java | 9 +++++- java/daikon/chicory/MethodGen24.java | 20 ++++++++---- java/daikon/chicory/MethodInfo.java | 7 ++++- java/daikon/dcomp/BuildJDK.java | 5 ++- java/daikon/dcomp/BuildJDK24.java | 5 ++- java/daikon/dcomp/ClassGen24.java | 23 ++++++++------ java/daikon/dcomp/DCInstrument.java | 4 +-- java/daikon/dcomp/DCInstrument24.java | 4 +-- java/daikon/dcomp/Instrument.java | 44 +++++++++++++-------------- java/daikon/dcomp/Instrument24.java | 44 +++++++++++++-------------- 11 files changed, 94 insertions(+), 75 deletions(-) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index d8d08788ef..176e3d7018 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -618,6 +618,8 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { // the amount of the switch padding changed. modifyStackMapsForSwitches(il.getStart(), il); + // exit_location_is_included contains exactly one boolean per return instruction, + // exit_locations contains an integer only when that boolean is true. Iterator shouldIncludeIter = curMethodInfo.exit_location_is_included.iterator(); Iterator exitLocationIter = curMethodInfo.exit_locations.iterator(); @@ -1261,7 +1263,7 @@ private boolean isConstructor(MethodGen mgen) { debugInstrument.log("Exit at line %d%n", line_number); // Only do incremental lines if we haven't seen a line number since the last return. - if (line_number == prev_line_number && foundLine == false) { + if (line_number == prev_line_number && !foundLine) { debugInstrument.log("Could not find line %d%n", line_number); line_number++; } diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index ec63a4fbea..5dfe5d5558 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -964,6 +964,8 @@ private void addInstrumentationAtExits( MethodInfo curMethodInfo, MethodGen24.MInfo24 minfo) { + // exit_location_is_included contains exactly one boolean per return instruction, + // exit_locations contains an integer only when that boolean is true. assert curMethodInfo != null : "@AssumeAssertion(nullness): can't get here if null"; Iterator shouldIncludeIter = curMethodInfo.exit_location_is_included.iterator(); Iterator exitLocationIter = curMethodInfo.exit_locations.iterator(); @@ -989,6 +991,10 @@ private void addInstrumentationAtExits( // skip over `inst` we just inserted new_il in front of li.next(); } + + // Check for unused entries. + assert !shouldIncludeIter.hasNext(); + assert !exitLocationIter.hasNext(); } /** @@ -1115,6 +1121,7 @@ private void callEnterOrExit( // The offset of the first parameter. int param_offset = mgen.isStatic() ? 0 : 1; + // Assumes addInstrumentationAtEntry has been called to create the nonce local. // iload // Push the nonce. newCode.add(LoadInstruction.of(TypeKind.INT, minfo.nonceLocal.slot())); @@ -1491,7 +1498,7 @@ private boolean isConstructor(MethodGen24 mgen) { debugInstrument.log("Exit at line %d%n", line_number); // Only do incremental lines if we haven't seen a line number since the last return. - if (line_number == prev_line_number && foundLine == false) { + if (line_number == prev_line_number && !foundLine) { debugInstrument.log("Could not find line %d%n", line_number); line_number++; } diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 63f5cdce87..8d53e3b7ce 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -431,9 +431,15 @@ private ClassDesc[] getParamTypes(@UnderInitialization(Object.class) MethodGen24 } /** - * Due to a Java compiler optimization, unused parameters may not be included in the local + * Due to Java compiler optimizations, unused parameters may not be included in the local * variables. Some of DynComp's instrumentation requires their presence. This routine makes these - * changes, if necessary. + * changes, if necessary: + * + *
                      + *
                    • ensures every parameter has a corresponding LocalVariable with matching slot and name + *
                    • may insert dummy alignN entries for 2-slot parameters + *
                    • resorts localsTable by slot when modified + *
                    * * @param minfo MInfo24 object for current method * @return true if modified localsTable, false otherwise @@ -606,7 +612,8 @@ public ClassDesc getReturnType() { } /** - * Set the parameter names. + * Set the parameter names. The user must ensure that the length of paramNames equals the length + * of paramTypes. * * @param paramNames the new paramNames array */ @@ -634,7 +641,8 @@ public ClassDesc[] getParameterTypes() { } /** - * Set the parameter types. + * Set the parameter types. The user must ensure that the length of paramNames equals the length + * of paramTypes. * * @param paramTypes the new paramTypes array */ @@ -691,9 +699,9 @@ public int getMaxLocals() { } /** - * Set the current size of the locals table. + * Set the maximum number of locals. * - * @param size the current size of the locals table + * @param size the maximum number of locals */ public void setMaxLocals(int size) { maxLocals = size; diff --git a/java/daikon/chicory/MethodInfo.java b/java/daikon/chicory/MethodInfo.java index 40320ff202..9ee6ad6f71 100644 --- a/java/daikon/chicory/MethodInfo.java +++ b/java/daikon/chicory/MethodInfo.java @@ -55,7 +55,12 @@ public class MethodInfo { *

                    Chicory and DynComp treat this field differently. Chicory only adds an exit location if the * corresponding entry in exit_location_is_included is true. (Based on the ppt omit/select * patterns.) DynComp adds all exit locations and sets every exit_location_is_included value to - * true. + * true. Thus: + * + *

                      + *
                    • there is always an exit_location_is_included boolean for every return instruction + *
                    • exit_locations contains only those exits whose corresponding boolean is true + *
                    */ public List exit_locations; diff --git a/java/daikon/dcomp/BuildJDK.java b/java/daikon/dcomp/BuildJDK.java index 1e1cc1db15..6dc308a7c0 100644 --- a/java/daikon/dcomp/BuildJDK.java +++ b/java/daikon/dcomp/BuildJDK.java @@ -246,8 +246,7 @@ Map gather_runtime_from_jar() { Map class_stream_map = new HashMap<>(); String jar_name = java_home + "/lib/rt.jar"; System.out.printf("using jar file %s%n", jar_name); - try { - JarFile jfile = new JarFile(jar_name); + try (JarFile jfile = new JarFile(jar_name)) { // Get each class to be instrumented and store it away Enumeration entries = jfile.entries(); while (entries.hasMoreElements()) { @@ -462,7 +461,7 @@ private void createDCompClass( } /** Formats just the time part of a DateTime. */ - private DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); + private static final DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); /** * Instruments the JavaClass {@code jc} (whose name is {@code classFileName}). Writes the diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 3d16334d58..2eae78702d 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -255,8 +255,7 @@ Map gather_runtime_from_jar() { Map class_stream_map = new HashMap<>(); String jar_name = java_home + "/lib/rt.jar"; System.out.printf("using jar file %s%n", jar_name); - try { - JarFile jfile = new JarFile(jar_name); + try (JarFile jfile = new JarFile(jar_name)) { // Get each class to be instrumented and store it away Enumeration entries = jfile.entries(); while (entries.hasMoreElements()) { @@ -490,7 +489,7 @@ private void finishCreateDCompClass(ClassBuilder classBuilder, boolean dcompInst } /** Formats just the time part of a DateTime. */ - private DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); + private static final DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); /** * Instruments the JavaClass {@code jc} (whose name is {@code classFileName}). Writes the diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 3119a30f32..a03793767e 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -41,29 +41,29 @@ public class ClassGen24 { // /** The class's access flags. */ - private AccessFlags accessFlags; + private final AccessFlags accessFlags; /** The list of interfaces this class implements. */ - private List interfaceList; + private final List interfaceList; /** The name of the class's superclass, in binary name format. */ - private @BinaryName String superclassName; + private final @BinaryName String superclassName; /** The class's name. */ - private @BinaryName String className; + private final @BinaryName String className; // // End of ClassModel items. // /** The ClassBuilder for this class. */ - private ClassBuilder classBuilder; + private final ClassBuilder classBuilder; /** True if this class is an interface. */ - private boolean isInterface; + private final boolean isInterface; /** True if this class is static. */ - private boolean isStatic; + private final boolean isStatic; /** * Creates a ClassGen24 object. @@ -97,11 +97,14 @@ public ClassGen24( * @param name the interface name, in binary format */ public void addInterface(@BinaryName String name) { + String internalName = name.replace('.', '/'); + for (ClassEntry existing : interfaceList) { + if (existing.asInternalName().equals(internalName)) { + return; + } + } ClassDesc ue = ClassDesc.of(name); ClassEntry ce = classBuilder.constantPool().classEntry(ue); - if (interfaceList.contains(ce)) { - return; - } interfaceList.add(ce); } diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 8d70229b49..e6c3056516 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -273,7 +273,7 @@ protected enum JunitState { * not allocated as part of a store, but rather must be allocated as part of a load. We call a * special runtime method for this so that we can check for this in other cases. */ - protected static String[] uninit_classes = { + protected static final String[] uninit_classes = { "java.lang.String", "java.lang.Class", "java.lang.StringBuilder", @@ -287,7 +287,7 @@ protected enum JunitState { *

                    The equals method and the clone method are not listed here. They are special-cased in the * {@link #handleInvoke} routine. */ - protected static MethodDef[] obj_methods = { + protected static final MethodDef[] obj_methods = { new MethodDef("finalize", noArgsSig), new MethodDef("getClass", noArgsSig), new MethodDef("hashCode", noArgsSig), diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index caac53c0fa..f4254f53b1 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -354,7 +354,7 @@ protected enum JunitState { * not allocated as part of a store, but rather must be allocated as part of a load. We call a * special runtime method for this so that we can check for this in other cases. */ - protected static String[] uninit_classes = { + protected static final String[] uninit_classes = { "java.lang.String", "java.lang.Class", "java.lang.StringBuilder", @@ -368,7 +368,7 @@ protected enum JunitState { *

                    The equals method and the clone method are not listed here. They are special-cased in the * {@link #handleInvoke} routine. */ - protected static MethodDef[] obj_methods = { + protected static final MethodDef[] obj_methods = { new MethodDef("finalize", noArgsSig), new MethodDef("getClass", noArgsSig), new MethodDef("hashCode", noArgsSig), diff --git a/java/daikon/dcomp/Instrument.java b/java/daikon/dcomp/Instrument.java index aab43d8c51..cd60145a88 100644 --- a/java/daikon/dcomp/Instrument.java +++ b/java/daikon/dcomp/Instrument.java @@ -17,12 +17,10 @@ import org.checkerframework.dataflow.qual.Pure; /** - * This class is responsible for modifying bytecodes. Specifically, its main task is to add calls - * into the DynComp Runtime for instrumentation purposes. These added calls are sometimes referred - * to as "hooks". - * - *

                    This class is loaded by Premain at startup. It is a {@link ClassFileTransformer} which means - * that its {@link #transform} method gets called each time the JVM loads a class. + * This class is loaded by Premain at startup. It is a {@link ClassFileTransformer} which means that + * its {@link #transform} method gets called each time the JVM loads a class. This method then + * decides if the class should be instrumented or not. If it should, it calls DCInstrument to do the + * instrumentation. */ public class Instrument implements ClassFileTransformer { @@ -268,26 +266,26 @@ private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName Strin * Returns true if the specified class is part of dcomp itself (and thus should not be * instrumented). Some Daikon classes that are used by DynComp are included here as well. * - * @param classname class to be checked - * @return true if classname is a part of DynComp + * @param className class to be checked + * @return true if className is a part of DynComp */ @Pure - private static boolean is_dcomp(String classname) { + private static boolean is_dcomp(@InternalForm String className) { - if (classname.startsWith("daikon/dcomp/") && !classname.startsWith("daikon/dcomp/DcompTest")) { + if (className.startsWith("daikon/dcomp/") && !className.startsWith("daikon/dcomp/DcompTest")) { return true; } - if (classname.startsWith("daikon/chicory/") - && !classname.equals("daikon/chicory/ChicoryTest")) { + if (className.startsWith("daikon/chicory/") + && !className.equals("daikon/chicory/ChicoryTest")) { return true; } - if (classname.equals("daikon/Chicory")) { + if (className.equals("daikon/Chicory")) { return true; } - if (classname.equals("daikon/PptTopLevel$PptType")) { + if (className.equals("daikon/PptTopLevel$PptType")) { return true; } - if (classname.startsWith("daikon/plumelib")) { + if (className.startsWith("daikon/plumelib")) { return true; } return false; @@ -297,25 +295,25 @@ private static boolean is_dcomp(String classname) { * Returns true if the specified class is part of a tool known to do Java byte code * transformation. We need to warn the user that this may not work correctly. * - * @param classname class to be checked - * @return true if classname is a known transformer + * @param className class to be checked + * @return true if className is a known transformer */ @Pure - protected static boolean is_transformer(String classname) { + protected static boolean is_transformer(@InternalForm String className) { - if (classname.startsWith("org/codehaus/groovy")) { + if (className.startsWith("org/codehaus/groovy")) { return true; } - if (classname.startsWith("groovy/lang")) { + if (className.startsWith("groovy/lang")) { return true; } - if (classname.startsWith("org/mockito")) { + if (className.startsWith("org/mockito")) { return true; } - if (classname.startsWith("org/objenesis")) { + if (className.startsWith("org/objenesis")) { return true; } - if (classname.contains("ByMockito")) { + if (className.contains("ByMockito")) { return true; } return false; diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 932cae1207..8181fc764d 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -23,12 +23,10 @@ import org.checkerframework.dataflow.qual.Pure; /** - * This class is responsible for modifying bytecodes. Specifically, its main task is to add calls - * into the DynComp Runtime for instrumentation purposes. These added calls are sometimes referred - * to as "hooks". - * - *

                    This class is loaded by Premain at startup. It is a {@link ClassFileTransformer} which means - * that its {@link #transform} method gets called each time the JVM loads a class. + * This class is loaded by Premain at startup. It is a {@link ClassFileTransformer} which means that + * its {@link #transform} method gets called each time the JVM loads a class. This method then + * decides if the class should be instrumented or not. If it should, it calls DCInstrument24 to do + * the instrumentation. * *

                    Instrument24 and DCInstrument24 use Java's ({@code java.lang.classfile}) APIs for reading and * modifying .class files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more @@ -306,26 +304,26 @@ public void writeDebugClassFiles( * Returns true if the specified class is part of dcomp itself (and thus should not be * instrumented). Some Daikon classes that are used by DynComp are included here as well. * - * @param classname class to be checked - * @return true if classname is a part of DynComp + * @param className class to be checked + * @return true if className is a part of DynComp */ @Pure - private static boolean is_dcomp(String classname) { + private static boolean is_dcomp(@InternalForm String className) { - if (classname.startsWith("daikon/dcomp/") && !classname.startsWith("daikon/dcomp/DcompTest")) { + if (className.startsWith("daikon/dcomp/") && !className.startsWith("daikon/dcomp/DcompTest")) { return true; } - if (classname.startsWith("daikon/chicory/") - && !classname.equals("daikon/chicory/ChicoryTest")) { + if (className.startsWith("daikon/chicory/") + && !className.equals("daikon/chicory/ChicoryTest")) { return true; } - if (classname.equals("daikon/Chicory")) { + if (className.equals("daikon/Chicory")) { return true; } - if (classname.equals("daikon/PptTopLevel$PptType")) { + if (className.equals("daikon/PptTopLevel$PptType")) { return true; } - if (classname.startsWith("daikon/plumelib")) { + if (className.startsWith("daikon/plumelib")) { return true; } return false; @@ -335,25 +333,25 @@ private static boolean is_dcomp(String classname) { * Returns true if the specified class is part of a tool known to do Java byte code * transformation. We need to warn the user that this may not work correctly. * - * @param classname class to be checked - * @return true if classname is a known transformer + * @param className class to be checked + * @return true if className is a known transformer */ @Pure - protected static boolean is_transformer(String classname) { + protected static boolean is_transformer(@InternalForm String className) { - if (classname.startsWith("org/codehaus/groovy")) { + if (className.startsWith("org/codehaus/groovy")) { return true; } - if (classname.startsWith("groovy/lang")) { + if (className.startsWith("groovy/lang")) { return true; } - if (classname.startsWith("org/mockito")) { + if (className.startsWith("org/mockito")) { return true; } - if (classname.startsWith("org/objenesis")) { + if (className.startsWith("org/objenesis")) { return true; } - if (classname.contains("ByMockito")) { + if (className.contains("ByMockito")) { return true; } return false; From a0ea76c253dc44f301124d52af2b814df0d58bc5 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 15 Dec 2025 18:35:47 -0800 Subject: [PATCH 187/211] fix annotation --- java/daikon/dcomp/Instrument.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/Instrument.java b/java/daikon/dcomp/Instrument.java index cd60145a88..5fabc551a7 100644 --- a/java/daikon/dcomp/Instrument.java +++ b/java/daikon/dcomp/Instrument.java @@ -299,7 +299,7 @@ private static boolean is_dcomp(@InternalForm String className) { * @return true if className is a known transformer */ @Pure - protected static boolean is_transformer(@InternalForm String className) { + protected static boolean is_transformer(String className) { if (className.startsWith("org/codehaus/groovy")) { return true; From 9a51a831c709c90b78a82f8b9da74388178f20c4 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 15 Dec 2025 20:46:08 -0800 Subject: [PATCH 188/211] undo incorrect suggestion from coderabbit --- java/daikon/dcomp/BuildJDK.java | 5 ++++- java/daikon/dcomp/BuildJDK24.java | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/BuildJDK.java b/java/daikon/dcomp/BuildJDK.java index 6dc308a7c0..e38139ff84 100644 --- a/java/daikon/dcomp/BuildJDK.java +++ b/java/daikon/dcomp/BuildJDK.java @@ -246,7 +246,10 @@ Map gather_runtime_from_jar() { Map class_stream_map = new HashMap<>(); String jar_name = java_home + "/lib/rt.jar"; System.out.printf("using jar file %s%n", jar_name); - try (JarFile jfile = new JarFile(jar_name)) { + // We intentionally do not close the jar file as we save + // input streams into it to be read later. + try { + JarFile jfile = new JarFile(jar_name); // Get each class to be instrumented and store it away Enumeration entries = jfile.entries(); while (entries.hasMoreElements()) { diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 2eae78702d..01a706c7b8 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -255,7 +255,10 @@ Map gather_runtime_from_jar() { Map class_stream_map = new HashMap<>(); String jar_name = java_home + "/lib/rt.jar"; System.out.printf("using jar file %s%n", jar_name); - try (JarFile jfile = new JarFile(jar_name)) { + // We intentionally do not close the jar file as we save + // input streams into it to be read later. + try { + JarFile jfile = new JarFile(jar_name); // Get each class to be instrumented and store it away Enumeration entries = jfile.entries(); while (entries.hasMoreElements()) { From 0fbcd4cbe1c1c6af59607ab302e4fec2d23bfcca Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Tue, 16 Dec 2025 13:27:23 -0800 Subject: [PATCH 189/211] respond to coderabbit suggestions --- java/daikon/chicory/MethodInfo.java | 6 ++- java/daikon/dcomp/BuildJDK24.java | 2 +- java/daikon/dcomp/CalcStack24.java | 57 ++++++++------------------- java/daikon/dcomp/DCInstrument24.java | 6 ++- java/daikon/dcomp/Instrument.java | 6 +-- java/daikon/dcomp/Instrument24.java | 6 +-- java/daikon/dcomp/OperandStack24.java | 18 ++++++--- 7 files changed, 45 insertions(+), 56 deletions(-) diff --git a/java/daikon/chicory/MethodInfo.java b/java/daikon/chicory/MethodInfo.java index 9ee6ad6f71..999c610a4d 100644 --- a/java/daikon/chicory/MethodInfo.java +++ b/java/daikon/chicory/MethodInfo.java @@ -64,7 +64,11 @@ public class MethodInfo { */ public List exit_locations; - /** Tells whether each exit point in method is instrumented, based on filters. */ + /** + * Tells whether each exit point in the method is instrumented, based on filters. Note: that + * exit_locations and exit_location_is_included are not index-aligned; exit_locations is a + * filtered subset. + */ public List exit_location_is_included; /** diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 01a706c7b8..42143eef6d 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -557,7 +557,7 @@ private void instrumentClassFile( /** * Print information about methods that were not instrumented. This happens when a method fails - * BCEL's verifier (which is more strict than Java's). + * the ClassFile API's verifier. */ private static void print_skipped_methods() { diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index d3e8a047d5..ee8b8f41d0 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -1,7 +1,6 @@ package daikon.dcomp; import static java.lang.constant.ConstantDescs.CD_Class; -import static java.lang.constant.ConstantDescs.CD_Object; import static java.lang.constant.ConstantDescs.CD_String; import static java.lang.constant.ConstantDescs.CD_boolean; import static java.lang.constant.ConstantDescs.CD_byte; @@ -30,7 +29,6 @@ import java.lang.classfile.constantpool.StringEntry; import java.lang.classfile.instruction.BranchInstruction; import java.lang.classfile.instruction.ConstantInstruction; -import java.lang.classfile.instruction.DiscontinuedInstruction; import java.lang.classfile.instruction.ExceptionCatch; import java.lang.classfile.instruction.FieldInstruction; import java.lang.classfile.instruction.InvokeDynamicInstruction; @@ -65,8 +63,8 @@ private CalcStack24() { throw new Error("Do not instantiate"); } - /** ClassDesc for {@code null}. */ - static final ClassDesc nullCD = ClassDesc.of("fake.ClassDecs.for.null"); + /** Sentinel ClassDesc representing {@code null} on the operand stack (not a real class). */ + static final ClassDesc NULL_CD = ClassDesc.of("daikon.dcomp.CalcStack24$NullSentinel"); /** Set of ClassDesc items that map to CD_int. */ static final Set INTEGRAL = Set.of(CD_boolean, CD_byte, CD_char, CD_int, CD_short); @@ -159,7 +157,7 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac "save stack state at: " + inst_index + ", " + DCInstrument24.stacks[inst_index]); System.out.println("opcode: " + inst.opcode()); } - // caculate stack changes + // calculate stack changes switch (inst.opcode()) { // operand stack before: ..., arrayref, index @@ -168,11 +166,10 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac { stack.pop(); // discard the index final ClassDesc t = stack.pop(); // pop the arrayref - if (t == null || nullCD.equals(t)) { - // Push nullCD to maintain stack consistency. The actual NullPointerException - // will be thrown at run time if this code path is executed, not during - // instrumentation. - stack.push(nullCD); + if (t == null || NULL_CD.equals(t)) { + // The arrayref is null. A NullPointerException will be thrown at run time if this + // AALOAD is executed. + stack.push(NULL_CD); } else { final ClassDesc ct = t.componentType(); if (ct == null) { @@ -199,7 +196,7 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac // operand stack before: ... // operand stack after: ..., null case Opcode.ACONST_NULL: - stack.push(nullCD); + stack.push(NULL_CD); return true; // operand stack before: ... @@ -313,8 +310,8 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac case Opcode.CHECKCAST: { final ClassDesc t = stack.pop(); // pop the objectref - if (t == null || nullCD.equals(t)) { - stack.push(nullCD); + if (t == null || NULL_CD.equals(t)) { + stack.push(NULL_CD); } else { TypeCheckInstruction tci = (TypeCheckInstruction) inst; final ClassDesc ct = tci.type().asSymbol(); @@ -714,21 +711,9 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac stack.push(CD_int); return true; - // TODO: JSR and RET have been illegal since JDK 7 (class file version 51.0). - // Consider throwing an UnsupportedOperationException for these opcodes - // if we're only supporting modern class files (version 51.0+). - // Currently maintaining support for completeness. - - // operand stack before: ... - // operand stack after: ..., [return address] - case Opcode.JSR: - case Opcode.JSR_W: - // Perhaps we should add label of next instruction to work list but we have no idea - // what stack will be after return from the JSR. - stack.push(CD_Object); // there is no way to represent a return address, fake it - DiscontinuedInstruction.JsrInstruction ji = (DiscontinuedInstruction.JsrInstruction) inst; - addLabelsToWorklist(ji.target(), null, stack); - return false; + // JSR and RET have been illegal since JDK 7 (class file version 51.0). + // We don't have a case label for JSR, JSR_W, RET or RET_W so that they fall + // into the default case and report an "Unexpected instruction opcode" error. // operand stack before: ..., value1, value2 // operand stack after: ..., result @@ -862,17 +847,6 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac stack.pop(); // discard the value return true; - // TODO: JSR and RET have been illegal since JDK 7 (class file version 51.0). - // Consider throwing an UnsupportedOperationException for these opcodes - // if we're only supporting modern class files (version 51.0+). - // Currently maintaining support for completeness. - // operand stack: no change - case Opcode.RET: - case Opcode.RET_W: - // the variable referenced must contain a return address - // that we would treat as target of jump; no way to do that - return false; - // operand stack before: ..., value1, value2 // operand stack after: ..., value2, value1 case Opcode.SWAP: @@ -941,7 +915,7 @@ static boolean simulateInstruction(Instruction inst, int inst_index, OperandStac * * @param lce a LoadableConstantEntry * @return the ClassDesc of {@code lce} - * @throws DynCompError if we don't reconize {@code lce} + * @throws DynCompError if we don't recognize {@code lce} */ static ClassDesc lceToCD(LoadableConstantEntry lce) { switch (lce) { @@ -1022,7 +996,8 @@ static String npaiToElementTypeDescriptor(NewPrimitiveArrayInstruction npai) { * nothing is pushed. If the type is boolean, byte, char or short an int is pushed. Otherwise, the * result itself is pushed. * - * @param result a NewPrimitiveArrayInstruction + * @param result the result type descriptor to push (may be void or a primitive/reference type) + * @param stack state of operand stack */ static void pushResultClassDesc(ClassDesc result, OperandStack24 stack) { switch (result) { diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index f4254f53b1..1e205c7d72 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -2248,7 +2248,10 @@ private List callEnterOrExit( case Opcode.ATHROW: return build_il(dcr_call("throw_op", CD_void, noArgsSig), inst); - // Opcodes that don't need any modifications. Here for reference + // Opcodes that don't need any modifications. Here for reference. + // Note that while we include JSR, JSR_W, RET and RET_W here, it is + // only for documentation. They will throw a "Unexpected instruction opcode" + // error during the operand stack calculation phase. case Opcode.ACONST_NULL: case Opcode.ALOAD: case Opcode.ALOAD_0: @@ -2294,6 +2297,7 @@ private List callEnterOrExit( case Opcode.NEW: case Opcode.NOP: case Opcode.RET: // this is the internal JSR return + case Opcode.RET_W: return null; // Handle subroutine calls. Calls to instrumented code are modified diff --git a/java/daikon/dcomp/Instrument.java b/java/daikon/dcomp/Instrument.java index 5fabc551a7..bb53a924dc 100644 --- a/java/daikon/dcomp/Instrument.java +++ b/java/daikon/dcomp/Instrument.java @@ -37,6 +37,9 @@ public class Instrument implements ClassFileTransformer { /** Directory into which to dump original classes. */ final File debug_uninstrumented_dir; + /** Have we seen a class member of a known transformer? */ + private static boolean transformer_seen = false; + /** * Debug information about which classes and/or methods are transformed and why. Use * debugInstrument for actual instrumentation details. @@ -99,9 +102,6 @@ private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName Strin // End of diagnostics. // - /** Have we seen a class member of a known transformer? */ - private static boolean transformer_seen = false; - /** * Given a class, return a transformed version of the class that contains instrumentation code. * Because DynComp is invoked as a javaagent, the transform method is called by the Java runtime diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 8181fc764d..9dfa4e9795 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -50,6 +50,9 @@ public class Instrument24 implements ClassFileTransformer { /** Directory into which to dump original classes. */ final File debug_uninstrumented_dir; + /** Have we seen a class member of a known transformer? */ + private static boolean transformer_seen = false; + /** * Debug information about which classes and/or methods are transformed and why. Use * debugInstrument for actual instrumentation details. @@ -129,9 +132,6 @@ public void writeDebugClassFiles( // End of diagnostics. // - /** Have we seen a class member of a known transformer? */ - private static boolean transformer_seen = false; - /** * Given a class, return a transformed version of the class that contains instrumentation code. * Because DynComp is invoked as a javaagent, the transform method is called by the Java runtime diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index a1f8effc46..6b9876e62a 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -42,7 +42,11 @@ public class OperandStack24 implements Cloneable { /** The maximum number of stack slots this OperandStack instance may hold. */ private final @NonNegative int maxStack; - /** Creates an empty stack with a maximum of maxStack slots. */ + /** + * Creates an empty stack with a maximum of maxStack items. Note that this might be larger than + * necessary as a method's maxStack is the maximum number of stack slots used. This could be + * larger than the number of stack operands if any are of type {@code long} or {@code double}. + */ public OperandStack24(final @NonNegative int maxStack) { this.maxStack = maxStack; } @@ -113,7 +117,9 @@ public boolean equals(@GuardSatisfied OperandStack24 this, @GuardSatisfied @Null * @return true if and only if the items match */ protected boolean compareOperandStackElements( - @GuardSatisfied OperandStack24 this, ClassDesc thisItem, ClassDesc otherItem) { + @GuardSatisfied OperandStack24 this, + @Nullable ClassDesc thisItem, + @Nullable ClassDesc otherItem) { if (thisItem == null) { if (otherItem != null && otherItem.isPrimitive()) { return false; @@ -202,7 +208,7 @@ public ClassDesc pop() { } /** - * Pops i elements off the stack. Always returns {@code null}. + * Pops {@code count} elements off the stack. Always returns {@code null}. * * @return {@code null} */ @@ -215,7 +221,7 @@ public ClassDesc pop() { /** Pushes a ClassDesc object onto the stack. */ public void push(final ClassDesc type) { - if (stack.size() >= maxStack) { + if (slotsUsed() + slotSize(type) > maxStack) { throw new DynCompError("Operand stack size exceeded: " + stack); } stack.add(type); @@ -238,8 +244,8 @@ public void push(final ClassDesc type) { */ public @NonNegative int slotsUsed(@GuardSatisfied OperandStack24 this) { int slots = 0; - for (int i = 0; i < stack.size(); i++) { - slots += slotSize(peek(i)); + for (ClassDesc item : stack) { + slots += slotSize(item); } return slots; } From 657b78356cc16771ec77ac5bf90ac8185b174023 Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Wed, 17 Dec 2025 12:14:14 -0800 Subject: [PATCH 190/211] respond to coderabbit suggestions --- java/daikon/chicory/Instrument24.java | 2 +- java/daikon/dcomp/BuildJDK.java | 2 +- java/daikon/dcomp/BuildJDK24.java | 4 +-- java/daikon/dcomp/CalcStack24.java | 43 ++++++++------------------ java/daikon/dcomp/ClassGen24.java | 2 +- java/daikon/dcomp/DCInstrument.java | 13 ++++---- java/daikon/dcomp/DCInstrument24.java | 24 +++++--------- java/daikon/dcomp/Instrument24.java | 12 ++++--- java/daikon/dcomp/OperandStack24.java | 14 ++++++++- java/daikon/dcomp/StackMapUtils24.java | 15 +++------ 10 files changed, 57 insertions(+), 74 deletions(-) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 5dfe5d5558..dbe09101e4 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -1251,7 +1251,7 @@ private CodeElement retargetStartLabel(CodeElement inst, MethodGen24.MInfo24 min modifiedTarget = defaultTarget; } - List newCaseList = new ArrayList(); + List newCaseList = new ArrayList<>(); for (SwitchCase item : caseList) { if (item.target().equals(minfo.oldStartLabel)) { newCaseList.add(SwitchCase.of(item.caseValue(), minfo.entryLabel)); diff --git a/java/daikon/dcomp/BuildJDK.java b/java/daikon/dcomp/BuildJDK.java index e38139ff84..4ad77add41 100644 --- a/java/daikon/dcomp/BuildJDK.java +++ b/java/daikon/dcomp/BuildJDK.java @@ -285,7 +285,7 @@ Map gather_runtime_from_modules() { Path modules = fs.getPath("/modules"); // The path java_home+/lib/modules is the file in the host file system that // corresponds to the modules file in the jrt: file system. - System.out.printf("using modules directory %s%n", java_home + "/lib/modules"); + System.out.printf("using modules directory %s/lib/modules%n", java_home); try (DirectoryStream directoryStream = Files.newDirectoryStream(modules, "java.base*")) { for (Path moduleDir : directoryStream) { gather_runtime_from_modules_directory( diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 42143eef6d..2b2c98d162 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -294,7 +294,7 @@ Map gather_runtime_from_modules() { Path modules = fs.getPath("/modules"); // The path java_home+/lib/modules is the file in the host file system that // corresponds to the modules file in the jrt: file system. - System.out.printf("using modules directory %s%n", java_home + "/lib/modules"); + System.out.printf("using modules directory %s/lib/modules%n", java_home); try (DirectoryStream directoryStream = Files.newDirectoryStream(modules, "java.base*")) { for (Path moduleDir : directoryStream) { gather_runtime_from_modules_directory( @@ -341,7 +341,7 @@ void gather_runtime_from_modules_directory( } /** - * Instrument each of the classes indentified by the class_stream_map argument. + * Instrument each of the classes identified by the class_stream_map argument. * * @param dest_dir where to store the instrumented classes * @param class_stream_map maps from class file name to an input stream on that file diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index ee8b8f41d0..f9ef7661bb 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -148,7 +148,7 @@ static boolean simulateCodeElement( @SuppressWarnings("fallthrough") static boolean simulateInstruction(Instruction inst, int inst_index, OperandStack24 stack) { if (DCInstrument24.stacks[inst_index] != null) { - throw new DynCompError("instruction revisited: " + inst); + throw new DynCompError("instruction revisited at index " + inst_index + ": " + inst); } else { DCInstrument24.stacks[inst_index] = stack.getClone(); } @@ -960,35 +960,18 @@ static ClassDesc lceToCD(LoadableConstantEntry lce) { * @throws DynCompError if we don't recognize the type of {@code npai} */ static String npaiToElementTypeDescriptor(NewPrimitiveArrayInstruction npai) { - switch (npai.typeKind()) { - case BOOLEAN -> { - return "Z"; - } - case BYTE -> { - return "B"; - } - case CHAR -> { - return "C"; - } - case DOUBLE -> { - return "D"; - } - case FLOAT -> { - return "F"; - } - case INT -> { - return "I"; - } - case LONG -> { - return "J"; - } - case SHORT -> { - return "S"; - } - default -> { - throw new DynCompError("unknown primitive type " + npai.typeKind() + " in: " + npai); - } - } + return switch (npai.typeKind()) { + case BOOLEAN -> "Z"; + case BYTE -> "B"; + case CHAR -> "C"; + case DOUBLE -> "D"; + case FLOAT -> "F"; + case INT -> "I"; + case LONG -> "J"; + case SHORT -> "S"; + default -> + throw new DynCompError("unknown primitive type " + npai.typeKind() + " in: " + npai); + }; } /** diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index a03793767e..27b0c5dea8 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -34,7 +34,7 @@ public class ClassGen24 { *

                    Several fields of ClassModel are cached as fields of ClassGen24 to better correspond to * BCEL's version of ClassGen and to reduce re-computation. */ - private ClassModel classModel; + private final ClassModel classModel; // // Start of ClassModel items. diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index e6c3056516..6544e7112b 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -2116,8 +2116,8 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { if (debugHandleInvoke) { System.out.printf("handleInvoke(%s)%n", invoke); - System.out.printf(" invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); - System.out.printf(" invoke targ: %s%n", classname + "." + methodName); + System.out.printf(" invoke host: %s.%s%n", classGen.getClassName(), mgen.getName()); + System.out.printf(" invoke targ: %s.%s%n", classname, methodName); System.out.printf(" callee_instrumented: %s%n", callee_instrumented); } @@ -2215,14 +2215,13 @@ private boolean isTargetInstrumented( if (debugHandleInvoke) { System.out.printf("isClassnameInstrumented: %s%n", targetInstrumented); - System.out.printf("invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); - System.out.printf("invoke targ: %s%n", classname + "." + methodName); + System.out.printf("invoke host: %s.%s%n", classGen.getClassName(), mgen.getName()); + System.out.printf("invoke targ: %s.%s%n", classname, methodName); } if (Premain.problem_methods.contains(classname + "." + methodName)) { debugInstrument.log( - "Don't call instrumented version of problem method %s.%n", - classname + "." + methodName); + "Don't call instrumented version of problem method %s.%s.%n", classname, methodName); targetInstrumented = false; } @@ -2289,7 +2288,7 @@ private boolean isTargetInstrumented( if (debugHandleInvoke) { System.out.println("method: " + methodName); System.out.println("paramTypes: " + Arrays.toString(paramTypes)); - System.out.printf("invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); + System.out.printf("invoke host: %s.%s%n", classGen.getClassName(), mgen.getName()); } @ClassGetName String targetClassname = classname; diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 1e205c7d72..b73f62e60f 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -136,10 +136,7 @@ public class DCInstrument24 { /** A log to which to print debugging information about program instrumentation. */ - protected SimpleLog debugInstrument = new SimpleLog(false); - - /** Debug flag for StackMapUtils24. */ - public static boolean bcelDebug; + protected static SimpleLog debugInstrument = new SimpleLog(false); /** * Used when testing to continue processing if an error occurs. Currently, this flag is only used @@ -467,12 +464,6 @@ public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk debug_native.enabled = DynComp.debug; debug_transform.enabled = daikon.dcomp.Instrument24.debug_transform.enabled; - // TEMPORARY - debugInstrument.enabled = true; - debugInstrument.enabled = false; - - bcelDebug = debugInstrument.enabled; - if (debugOperandStack) { // Create a new PrintStream with autoflush enabled. PrintStream newOut = new PrintStream(System.out, true, UTF_8); @@ -2572,8 +2563,8 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge if (debugHandleInvoke) { System.out.printf("handleInvoke(%s)%n", invoke); - System.out.printf(" invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); - System.out.printf(" invoke targ: %s%n", classname + "." + methodName); + System.out.printf(" invoke host: %s.%s%n", classGen.getClassName(), mgen.getName()); + System.out.printf(" invoke targ: %s.%s%n", classname, methodName); System.out.printf(" callee_instrumented: %s%n", callee_instrumented); } @@ -2681,14 +2672,13 @@ private boolean isTargetInstrumented( if (debugHandleInvoke) { System.out.printf("isClassnameInstrumented: %s%n", targetInstrumented); - System.out.printf("invoke host: %s%n", classGen.getClassName() + "." + mgen.getName()); - System.out.printf("invoke targ: %s%n", classname + "." + methodName); + System.out.printf("invoke host: %s.%s%n", classGen.getClassName(), mgen.getName()); + System.out.printf("invoke targ: %s.%s%n", classname, methodName); } if (Premain.problem_methods.contains(classname + "." + methodName)) { debugInstrument.log( - "Don't call instrumented version of problem method %s.%n", - classname + "." + methodName); + "Don't call instrumented version of problem method %s.%s.%n", classname, methodName); targetInstrumented = false; } @@ -2755,7 +2745,7 @@ private boolean isTargetInstrumented( if (debugHandleInvoke) { System.out.println("method: " + methodName); System.out.println("paramTypes: " + Arrays.toString(paramTypes)); - System.out.printf("invoke host: %s%n", mgen.getClassName() + "." + mgen.getName()); + System.out.printf("invoke host: %s.%s%n", mgen.getClassName(), mgen.getName()); } @BinaryName String targetClassname = classname; diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 9dfa4e9795..70e2a34748 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -267,10 +267,14 @@ public void writeDebugClassFiles( } if (DynComp.dump) { - writeDebugClassFiles( - classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL), - debug_uninstrumented_dir, - binaryClassName); + try { + writeDebugClassFiles( + classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL), + debug_uninstrumented_dir, + binaryClassName); + } catch (Throwable t) { + debug_transform.log("Failed to dump uninstrumented class %s: %s%n", binaryClassName, t); + } } // Instrument the classfile, die on any errors. diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index 6b9876e62a..5f292d2f85 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -173,7 +173,19 @@ public OperandStack24 getClone() { */ @Override public int hashCode(@GuardSatisfied OperandStack24 this) { - return stack.hashCode(); + int result = 1; + for (ClassDesc item : stack) { + int elementHash; + if (item == null) { + elementHash = 0; // matches any non-primitive in equals + } else if (item.isPrimitive()) { + elementHash = item.hashCode(); // distinguish different primitive types + } else { + elementHash = 2; // all non-primitive, non-null items are equivalent in equals + } + result = 31 * result + elementHash; + } + return result; } /** Returns true IFF this OperandStack is empty. */ diff --git a/java/daikon/dcomp/StackMapUtils24.java b/java/daikon/dcomp/StackMapUtils24.java index db63e90834..fb92951e9c 100644 --- a/java/daikon/dcomp/StackMapUtils24.java +++ b/java/daikon/dcomp/StackMapUtils24.java @@ -1,7 +1,6 @@ package daikon.dcomp; import daikon.chicory.MethodGen24; -import daikon.plumelib.bcelutil.SimpleLog; import daikon.plumelib.util.ArraysPlume; import java.lang.classfile.CodeElement; import java.lang.classfile.TypeKind; @@ -48,9 +47,6 @@ private StackMapUtils24() { * or 'slot number' to describe this second case. */ - /** A log to which to print debugging information about program instrumentation. */ - private static SimpleLog debugInstrument = new SimpleLog(false); - /** * Add {@code size} (1 or 2) to the slot number of each Instruction that references a local that * is equal or higher in the local map than {@code offsetFirstLocalToBeMoved}. Size should be the @@ -63,7 +59,8 @@ private StackMapUtils24() { static void adjust_code_for_locals_change( MethodGen24 mgen, int offsetFirstLocalToBeMoved, int size) { - debugInstrument.log("adjust_code_for_locals_change: %d %d%n", offsetFirstLocalToBeMoved, size); + DCInstrument24.debugInstrument.log( + "adjust_code_for_locals_change: %d %d%n", offsetFirstLocalToBeMoved, size); try { List il = mgen.getInstructionList(); ListIterator iter = il.listIterator(); @@ -95,7 +92,7 @@ static void adjust_code_for_locals_change( } } } catch (Throwable t) { - if (debugInstrument.enabled) { + if (DCInstrument24.debugInstrument.enabled) { t.printStackTrace(); } throw new DynCompError( @@ -132,8 +129,6 @@ public static LocalVariable addNewSpecialLocal( ClassDesc varType, boolean isParam) { - debugInstrument.enabled = daikon.dcomp.DCInstrument24.bcelDebug; - LocalVariable varNew; // get a copy of the locals before modification List locals = mgen.localsTable; @@ -172,7 +167,7 @@ public static LocalVariable addNewSpecialLocal( mgen.setParameterNames(paramNames); } - debugInstrument.log( + DCInstrument24.debugInstrument.log( "Added a %s at slot %s.%n name: %s type: %s size: %s%n", isParam ? "parameter" : "local", varNew.slot(), varNew.name(), varNew.type(), argSize); @@ -193,7 +188,7 @@ public static LocalVariable addNewSpecialLocal( // we just inserted. adjust_code_for_locals_change(mgen, newOffset, argSize); - // debugInstrument.log("New LocalVariableTable:%n%s%n", mgen.localsTable); + // DCInstrument24.debugInstrument.log("New LocalVariableTable:%n%s%n", mgen.localsTable); } return varNew; } From 5cb4b4d7fa4b08896baa8551e8c86e2e09fa4aca Mon Sep 17 00:00:00 2001 From: Mark Roberts Date: Mon, 29 Dec 2025 16:34:32 -0800 Subject: [PATCH 191/211] respond to code reviews --- java/daikon/dcomp/BuildJDK24.java | 26 +- java/daikon/dcomp/CalcStack24.java | 26 +- java/daikon/dcomp/DCInstrument24.java | 592 ++++++++++++++----------- java/daikon/dcomp/Instrument24.java | 11 + java/daikon/dcomp/OperandStack24.java | 10 +- java/daikon/dcomp/StackMapUtils24.java | 10 +- 6 files changed, 386 insertions(+), 289 deletions(-) diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 2b2c98d162..03df1fea7d 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -42,6 +42,7 @@ import java.util.jar.JarFile; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.signature.qual.BinaryName; +import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; /** * Add comparability instrumentation to Java class files, then stores the modified files into a @@ -330,6 +331,11 @@ void gather_runtime_from_modules_directory( } } else { String entryName = path.toString().substring(modulePrefixLength + 1); + if (!entryName.endsWith(".class") || entryName.equals("java/lang/Object.class")) { + // For JDK 9+ we do not process non-.class files and Object.class. + return; + } + // System.out.printf("processing entry %s%n", entryName); try { // Get the InputStream for this file InputStream is = Files.newInputStream(path); @@ -348,6 +354,8 @@ void gather_runtime_from_modules_directory( */ void instrument_classes(File dest_dir, Map class_stream_map) { + @DotSeparatedIdentifiers String dcompPrefix; + // Get our ClassLoader. ClassLoader loader = BuildJDK24.class.getClassLoader(); if (loader == null) { @@ -370,14 +378,8 @@ void instrument_classes(File dest_dir, Map class_stream_map } // Handle non-.class files and Object.class. In JDK 8, copy them unchanged. - // For JDK 9+ we do not copy as these items will be loaded from the original module file. + // For JDK 9+ they have not be added to class_stream_map. if (!classFileName.endsWith(".class") || classFileName.equals("java/lang/Object.class")) { - if (BcelUtil.javaVersion > 8) { - if (verbose) { - System.out.printf("Skipping file %s%n", classFileName); - } - continue; - } // This File constructor ignores dest_dir if classFileName is absolute. File classFile = new File(dest_dir, classFileName); if (classFile.getParentFile() == null) { @@ -414,6 +416,16 @@ void instrument_classes(File dest_dir, Map class_stream_map inst24.writeDebugClassFiles(buffer, inst24.debug_uninstrumented_dir, classname); } + // As {@code instrumentation_interface} is a static field, we initialize it here rather than + // in the DCInstrument24 constructor. + if (Premain.jdk_instrumented && BcelUtil.javaVersion > 8) { + dcompPrefix = "java.lang"; + } else { + dcompPrefix = "daikon.dcomp"; + } + DCRuntime.instrumentation_interface = + Signatures.addPackage(dcompPrefix, "DCompInstrumented"); + // Instrument the class file. try { instrumentClassFile( diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index f9ef7661bb..e53271b684 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -76,7 +76,7 @@ private CalcStack24() { * @param mgen method containing the instruction (currently unused) * @param minfo for the given method's code (currently unused) * @param ce CodeElement to be interpreted - * @param inst_index index of ce in code element list + * @param instIndex index of ce in code element list * @param stack current state of operand stack; is side-effected * @return true if control falls through to the next instruction, false otherwise (when {@code ce} * is an instruction like jump or return) @@ -86,7 +86,7 @@ static boolean simulateCodeElement( MethodGen24 mgen, MethodGen24.MInfo24 minfo, CodeElement ce, - int inst_index, + int instIndex, OperandStack24 stack) { if (DCInstrument24.debugOperandStack) { @@ -94,7 +94,7 @@ static boolean simulateCodeElement( } switch (ce) { case Instruction inst -> { - return simulateInstruction(inst, inst_index, stack); + return simulateInstruction(inst, instIndex, stack); } // We ignore most PseudoInstructions. @@ -106,17 +106,17 @@ static boolean simulateCodeElement( // Technically, a Classfile element, not a PseudoInstruction. case Label l -> { - if (DCInstrument24.stacks[inst_index] != null) { + if (DCInstrument24.stacks[instIndex] != null) { // We've seen this label before. - DCInstrument24.verifyOperandStackMatches(l, DCInstrument24.stacks[inst_index], stack); + DCInstrument24.verifyOperandStackMatches(l, DCInstrument24.stacks[instIndex], stack); // Stacks match; we're done with this worklist. return false; } else { // We have not seen this label before; remember the operand stack. - DCInstrument24.stacks[inst_index] = stack.getClone(); + DCInstrument24.stacks[instIndex] = stack.getClone(); if (DCInstrument24.debugOperandStack) { System.out.println("save stack state at: " + l); - System.out.println(" " + inst_index + ", " + DCInstrument24.stacks[inst_index]); + System.out.println(" " + instIndex + ", " + DCInstrument24.stacks[instIndex]); } return true; } @@ -139,22 +139,22 @@ static boolean simulateCodeElement( * code's correctness. * * @param inst instruction to be interpreted - * @param inst_index index of inst in code element list + * @param instIndex index of inst in code element list * @param stack current state of operand stack; is side-effected * @return true if control falls through to the next instruction, false otherwise (when {@code * inst} is an instruction like jump or return) * @throws DynCompError if there is an error during the instruction simulation */ @SuppressWarnings("fallthrough") - static boolean simulateInstruction(Instruction inst, int inst_index, OperandStack24 stack) { - if (DCInstrument24.stacks[inst_index] != null) { - throw new DynCompError("instruction revisited at index " + inst_index + ": " + inst); + static boolean simulateInstruction(Instruction inst, int instIndex, OperandStack24 stack) { + if (DCInstrument24.stacks[instIndex] != null) { + throw new DynCompError("instruction revisited at index " + instIndex + ": " + inst); } else { - DCInstrument24.stacks[inst_index] = stack.getClone(); + DCInstrument24.stacks[instIndex] = stack.getClone(); } if (DCInstrument24.debugOperandStack) { System.out.println( - "save stack state at: " + inst_index + ", " + DCInstrument24.stacks[inst_index]); + "save stack state at: " + instIndex + ", " + DCInstrument24.stacks[instIndex]); System.out.println("opcode: " + inst.opcode()); } // calculate stack changes diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index b73f62e60f..e603be218c 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -145,10 +145,12 @@ public class DCInstrument24 { @Option("Halt if an instrumentation error occurs") public static boolean quit_if_error = true; - /** The index of this method in SharedData.methods. */ - int cur_method_info_index = 0; - - /** Start of user code for current method, prior to instrumenting, as a CodeModel Label. */ + /** + * Start of user code for current method, prior to instrumenting, as a CodeModel Label. Note that + * there are two kinds of Labels in the {@code java.lang.classfile} API. When a class file is + * input, it contains CodeModel labels that are immutable. When our instrumention generates new + * code that needs a label it gets one from the CodeBuilder. + */ protected @MonotonicNonNull Label oldStartLabel; /** Start of user code for current method, after instrumenting, as a CodeBuilder Label. */ @@ -166,28 +168,43 @@ public class DCInstrument24 { // Rather than being global variables, they should be wrapped in a data structure that is passed // to the places that need it. - /** Mapping from a label to its index in the method's codeList. */ + /** Mapping from a label to its index into the method's codeList. */ @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO: method-local protected static Map labelIndexMap; - /** Mapping from a label to its operand stack. */ + /** + * Mapping from a label to its operand stack. This is the state of the operand stack at the label, + * prior to the execution of any instruction at that label. + */ @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO: method-local - protected static Map worklistHistory; + protected static Map labelOperandStackMap; /** * The state of operand stack prior to each byte code instruction of the method being simulated. + * There is a unique array entry for each instruction. */ @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO: method-local protected static OperandStack24[] stacks; - /** The type of each parameter and local variable of the method being simulated. */ + /** + * The type of each parameter and local variable of the method being simulated. This value is + * often unchanged during the method execution, but may differ when the compiler allocates more + * than one local variable at the same offset. + */ @SuppressWarnings("nullness:initialization.static.field.uninitialized") // TODO: method-local protected static ClassDesc[] locals; - /** Record containing a work item for the operand stack calculation. */ + /** + * Record containing a work item for the operand stack calculation. The instructionIndex is an + * index into the method's instruction list. The stack is the state of the operand stack prior to + * the execution of the instruction. + */ record WorkItem(int instructionIndex, OperandStack24 stack) {} - /** Comparator to sort WorkItems with lowest address first. */ + /** + * Comparator to sort WorkItems with lowest instructionIndex first. This corresponds to the lowest + * byte code instruction offset. + */ protected static Comparator indexComparator = new Comparator<>() { @Override @@ -196,12 +213,12 @@ public int compare(WorkItem w1, WorkItem w2) { } }; - /** Queue of items for the operand stack calculation. */ + /** Queue of items for a method's operand stack calculation. */ protected static SortedSet worklist = new TreeSet<>(indexComparator); // Variables used for the entire class. - /** The current classfile. */ + /** The current class file. */ protected ClassFile classFile; /** The current class. */ @@ -210,7 +227,7 @@ public int compare(WorkItem w1, WorkItem w2) { /** ConstantPool builder for current class. */ private ConstantPoolBuilder poolBuilder; - /** True if we are tracking any methods in the current class. */ + /** True if we are tracking any variables in any methods of the current class. */ private boolean trackClass = false; /** ClassGen for the current class. */ @@ -222,10 +239,22 @@ public int compare(WorkItem w1, WorkItem w2) { /** Has an {@code } method completed initialization? */ protected boolean constructor_is_initialized; - /** Record containing subset of LocalVariable fields. */ + /** + * Record used to describe a new LocalVariable. When instrumentation wants to create a new method, + * it creates a list containing one of these records for each local variable of the method. This + * list is passed to {@link #copyCode} and {@link #instrumentCode} where the new variables are + * created. + */ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} - /** Local that stores the tag frame for the current method. */ + /** + * A local variable added by our instrumentation to each method. It is an {@code Object} array, + * always named {@code dcomp_tag_frame$5A}. The DynComp runtime uses the array to store the + * current tag value for each parameter on method entry. These tag values are used to track + * variable interactions. This allows the DynComp runtime to group variables into comparability + * sets. All variables in a comparability set belong to the same "abstract type" of data that the + * programmer likely intended to represent. + */ protected LocalVariable tagFrameLocal; // Type descriptors @@ -297,8 +326,14 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} /** Keeps track of the methods that were not successfully instrumented. */ protected List skipped_methods = new ArrayList<>(); - /** Either "java.lang" or "daikon.dcomp". */ - protected @DotSeparatedIdentifiers String dcomp_prefix; + /** If we're using an instrumented JDK, then "java.lang"; otherwise, "daikon.dcomp". */ + protected @DotSeparatedIdentifiers String dcompMarkerPrefix; + + /** + * If we're using an instrumented JDK and the JDK version is > 8, then "java.lang"; otherwise, + * "daikon.dcomp". + */ + protected @DotSeparatedIdentifiers String dcompRuntimePrefix; /** Either "daikon.dcomp.DCRuntime" or "java.lang.DCRuntime". */ private @BinaryName String dcompRuntimeClassName; @@ -317,8 +352,8 @@ protected enum JunitState { STARTING, /** Have seen a JUnit class file that loads JUnit test classes. */ TEST_DISCOVERY, - /** Have completed identifying JUnit test classes. */ - RUNNING + /** Have completed identifying JUnit test classes and are instrumenting the code. */ + INSTRUMENTING } /** Current state of JUnit test discovery. */ @@ -328,17 +363,19 @@ protected enum JunitState { protected static boolean junit_parse_seen = false; /** - * Map from each static field name to its unique integer id. Note that while it's intuitive to - * think that each static should show up exactly once, that is not the case. A static defined in a - * superclass can be accessed through each of its subclasses. Tag accessor methods must be added - * in each subclass and each should return the same id. We thus will lookup the same name multiple - * times. + * Map from each static qualified field name to a unique integer id. Note that while it's + * intuitive to think that each static should show up exactly once, that is not always true. A + * static defined in a superclass can be accessed through each of its subclasses. In this case, + * tag accessor methods must be added in each subclass and each should return the id of the field + * in the superclass. This map is populated in {@link build_field_to_offset_map} and used in + * {@link create_tag_accessors}. */ static Map static_field_id = new LinkedHashMap<>(); /** - * Map from class name to its access_flags. Used to cache the results of the lookup done in {@link - * #getAccessFlags}. If a class is marked ACC_ANNOTATION then it will not have been instrumented. + * Map from binary class name to its access_flags. Used to cache the results of the lookup done in + * {@link #getAccessFlags}. If a class is marked ACC_ANNOTATION then it will not have been + * instrumented. */ static Map accessFlags = new HashMap<>(); @@ -407,15 +444,7 @@ boolean equals(@GuardSatisfied MethodDef this, String name, ClassDesc[] arg_type if (!name.equals(this.name)) { return false; } - if (this.arg_types.length != arg_types.length) { - return false; - } - for (int ii = 0; ii < arg_types.length; ii++) { - if (!arg_types[ii].equals(this.arg_types[ii])) { - return false; - } - } - return true; + return Arrays.equals(this.arg_types, arg_types); } @EnsuresNonNullIf(result = true, expression = "#1") @@ -436,28 +465,28 @@ public int hashCode(@GuardSatisfied MethodDef this) { } } - /** Initialize with the original class and whether or not the class is part of the JDK. */ - @SuppressWarnings({ - "nullness:StaticAssignmentInConstructor", // instrumentation_interface - "nullness:initialization", - "StaticAssignmentInConstructor" // ErrorProne: instrumentation_interface - }) + /** + * Initialize the class information and whether or not that class is part of the JDK. Note that + * the fields poolBuilder, classGen and tagFrameLocal are not initialized until later. + */ + @SuppressWarnings("nullness:initialization") public DCInstrument24(ClassFile classFile, ClassModel classModel, boolean in_jdk) { this.classFile = classFile; this.classModel = classModel; this.in_jdk = in_jdk; constructor_is_initialized = false; if (Premain.jdk_instrumented) { - dcomp_prefix = "java.lang"; + dcompMarkerPrefix = "java.lang"; } else { - dcomp_prefix = "daikon.dcomp"; + dcompMarkerPrefix = "daikon.dcomp"; } - dcomp_marker = ClassDesc.of(Signatures.addPackage(dcomp_prefix, "DCompMarker")); + dcomp_marker = ClassDesc.of(Signatures.addPackage(dcompMarkerPrefix, "DCompMarker")); + dcompRuntimePrefix = dcompMarkerPrefix; if (BcelUtil.javaVersion == 8) { - dcomp_prefix = "daikon.dcomp"; + dcompRuntimePrefix = "daikon.dcomp"; } - dcompRuntimeClassName = Signatures.addPackage(dcomp_prefix, "DCRuntime"); - DCRuntime.instrumentation_interface = Signatures.addPackage(dcomp_prefix, "DCompInstrumented"); + dcompRuntimeClassName = Signatures.addPackage(dcompRuntimePrefix, "DCRuntime"); + runtimeCD = ClassDesc.of(dcompRuntimeClassName); // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; @@ -535,7 +564,6 @@ private void instrumentClass( @BinaryName String classname = classInfo.class_name; classGen = new ClassGen24(classModel, classname, classBuilder); - runtimeCD = ClassDesc.of(dcompRuntimeClassName); poolBuilder = classBuilder.constantPool(); debug_transform.log( @@ -554,7 +582,8 @@ private void instrumentClass( trackClass = false; - // Handle object methods for this class. + // Check to see if this class has a {@code clone} or {@code toString} method. + // If so, add the {@code DCompClone} and/or the {@code DCompToString} interface. add_clone_and_tostring_interfaces(classGen); boolean junit_test_class = false; @@ -615,13 +644,13 @@ private void instrumentClass( } if (junit_parse_seen && !local_junit_parse_seen) { junit_parse_seen = false; - junit_state = JunitState.RUNNING; + junit_state = JunitState.INSTRUMENTING; } else if (!junit_parse_seen && local_junit_parse_seen) { junit_parse_seen = true; } break; - case RUNNING: + case INSTRUMENTING: if (debugJunitAnalysis) { stack_trace = Thread.currentThread().getStackTrace(); // [0] is getStackTrace @@ -717,7 +746,15 @@ private void instrumentClass( classInfo.isJunitTestClass = junit_test_class; - instrumentAllMethods(classModel, classBuilder, classInfo); + if (classModel.majorVersion() < ClassFile.JAVA_6_VERSION) { + System.out.printf( + "DynComp warning: ClassFile: %s - class file version (%d) is out of date and may not be" + + " processed correctly.%n", + classname, classModel.majorVersion()); + // throw new DynCompError("Classfile out of date"); + } + + processAllMethods(classModel, classBuilder, classInfo); // Have all top-level classes implement the DCompInstrumented interface. if (classGen.getSuperclassName().equals("java.lang.Object")) { @@ -728,7 +765,7 @@ private void instrumentClass( // will be created in this class. MethodModel eq = classGen.containsMethod("equals", objectToBoolean); if (eq == null) { - debugInstrument.log("Added equals method%n"); + debugInstrument.log("Adding equals method%n"); add_equals_method(classBuilder, classGen, classInfo); } @@ -792,7 +829,7 @@ private void addInvokeToClinit(MethodGen24 mgen, ClassInfo classInfo) { // point to start of list ListIterator li = il.listIterator(); - for (CodeElement ce : call_initNotify(poolBuilder, classInfo)) { + for (CodeElement ce : createCodeToMarkClassInitialized(poolBuilder, classInfo)) { li.add(ce); } } catch (DynCompError e) { @@ -812,7 +849,7 @@ private void addInvokeToClinit(MethodGen24 mgen, ClassInfo classInfo) { */ private void createClinit(ClassBuilder classBuilder, ClassInfo classInfo) { - List instructions = call_initNotify(poolBuilder, classInfo); + List instructions = createCodeToMarkClassInitialized(poolBuilder, classInfo); instructions.add(ReturnInstruction.of(TypeKind.VOID)); // need to return! classBuilder.withMethod( @@ -832,7 +869,8 @@ private void createClinit(ClassBuilder classBuilder, ClassInfo classInfo) { * @param classInfo for the given class * @return the instruction list */ - private List call_initNotify(ConstantPoolBuilder poolBuilder, ClassInfo classInfo) { + private List createCodeToMarkClassInitialized( + ConstantPoolBuilder poolBuilder, ClassInfo classInfo) { List instructions = new ArrayList<>(); @@ -846,173 +884,206 @@ private List call_initNotify(ConstantPoolBuilder poolBuilder, Class } /** - * Instruments all the methods in a class to perform dynamic comparability. For each method, adds - * instrumentation code at the entry and at each return from the method. In addition, it adds - * instrumentation code to the body of the method to track variable interactions. When the - * instrumented method is executed, this instrumentation allows the DynComp runtime to group - * variables into comparability sets. All variables in a comparability set belong to the same - * "abstract type" of data that the programmer likely intended to represent. + * Instruments all the methods in a class to perform dynamic comparability. * * @param classModel for current class * @param classBuilder for current class * @param classInfo for the given class */ - private void instrumentAllMethods( + private void processAllMethods( ClassModel classModel, ClassBuilder classBuilder, ClassInfo classInfo) { - - @BinaryName String classname = classInfo.class_name; - - if (classModel.majorVersion() < ClassFile.JAVA_6_VERSION) { - System.out.printf( - "DynComp warning: ClassFile: %s - classfile version (%d) is out of date and may not be" - + " processed correctly.%n", - classname, classModel.majorVersion()); - // throw new DynCompError("Classfile out of date"); - } - - // Process each method in the class. for (MethodModel mm : classModel.methods()) { + processMethod(mm, classModel, classBuilder, classInfo); + } + } - try { - MethodGen24 mgen = new MethodGen24(mm, classname, classBuilder); - - if (debugInstrument.enabled) { - ClassDesc[] paramTypes = mgen.getParameterTypes(); - String[] paramNames = mgen.getParameterNames(); - LocalVariable[] local_vars = mgen.getOriginalLocalVariables(); - String types = "", names = "", locals = ""; - - for (int j = 0; j < paramTypes.length; j++) { - @FieldDescriptor String paramFD = paramTypes[j].descriptorString(); - types = - types + daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(paramFD) + " "; - } - for (int j = 0; j < paramNames.length; j++) { - names = names + paramNames[j] + " "; - } - for (int j = 0; j < local_vars.length; j++) { - locals = locals + local_vars[j].name().stringValue() + " "; - } - debugInstrument.log("%nMethod = %s%n", mgen.getName()); - debugInstrument.log("paramTypes(%d): %s%n", paramTypes.length, types); - debugInstrument.log("paramNames(%d): %s%n", paramNames.length, names); - debugInstrument.log("localvars(%d): %s%n", local_vars.length, locals); - // debugInstrument.log("Original code: %s%n", mgen.getMethod().getCode()); - debugInstrument.log("Method Attributes:%n"); - for (Attribute a : mm.attributes()) { - debugInstrument.log(" %s%n", a); - } - debugInstrument.log("mgen.getSignature: %s%n", mgen.getSignature()); - MethodTypeDesc mtd = mm.methodTypeSymbol(); - debugInstrument.log("mtd.descriptorString: %s%n", mtd.descriptorString()); - debugInstrument.log("mtd.displayDescriptor: %s%n", mtd.displayDescriptor()); - } + // The process of instrumenting a method is structured as a hierarchical pipeline: each layer + // operates at a different level of abstraction and delegates detailed processing to the next + // layer. + // + // processMethod: + // checks if need to track values of local variables + // adds DCompArgument, if required + // + // instrumentMethod: + // processes all non-code method elements and copies them to output + // calls instrumentCode to process the code attribute + // + // instrumentCode: + // process code labels + // calls instrumentCodeList + // copies instrumented code to output + // + // instrumentCodeList: + // add code to create the tag frame local + // calculate the state of the operand stack at each instruction + // calls instrumentInstruction + // + // instrumentInstruction: + // processes and instruments (if required) each individual instruction + // - boolean track = false; - if (!in_jdk) { - // Note whether we want to track the daikon variables in this method - track = should_track(classname, mgen.getName(), methodEntryName(classname, mgen)); + /** + * Instruments a method to perform dynamic comparability. It adds instrumentation code at the + * entry and at each return from the method. In addition, it adds instrumentation code to the body + * of the method to track variable interactions. When the instrumented method is executed, this + * instrumentation allows the DynComp runtime to group variables into comparability sets. All + * variables in a comparability set belong to the same "abstract type" of data that the programmer + * likely intended to represent. + * + * @param methodModel for current method + * @param classModel for current class + * @param classBuilder for current class + * @param classInfo for the given class + */ + private void processMethod( + MethodModel methodModel, + ClassModel classModel, + ClassBuilder classBuilder, + ClassInfo classInfo) { - // We do not want to track bridge methods the compiler has synthesized as - // they are overloaded on return type which normal Java does not support. - if ((mgen.getAccessFlagsMask() & ClassFile.ACC_BRIDGE) != 0) { - track = false; - } + @BinaryName String classname = classInfo.class_name; - // If any one method is tracked, then the class is tracked. - if (track) { - trackClass = true; - } + try { + MethodGen24 mgen = new MethodGen24(methodModel, classname, classBuilder); - // If we are tracking variables, make sure the class is public - int access_flags = classModel.flags().flagsMask(); - if (track && (access_flags & ClassFile.ACC_PUBLIC) == 0) { - access_flags |= ClassFile.ACC_PUBLIC; - access_flags &= ~ClassFile.ACC_PROTECTED; - access_flags &= ~ClassFile.ACC_PRIVATE; - } - // reset class access flags in case they have been changed - classBuilder.withFlags(access_flags); - } else { - // If JDK, don't modify class initialization methods. They can't affect - // user comparability and there isn't any way to get a second - // copy of them. - if (mgen.isClinit()) { - debugInstrument.log("Copying method: %s%n", mgen.getName()); - debugInstrument.indent(); - outputMethodUnchanged(classBuilder, mm, mgen); - debugInstrument.exdent(); - debugInstrument.log("End of copy%n"); - continue; - } + if (debugInstrument.enabled) { + ClassDesc[] paramTypes = mgen.getParameterTypes(); + String[] paramNames = mgen.getParameterNames(); + LocalVariable[] local_vars = mgen.getOriginalLocalVariables(); + String types = "", names = "", locals = ""; + + for (int j = 0; j < paramTypes.length; j++) { + @FieldDescriptor String paramFD = paramTypes[j].descriptorString(); + types = + types + daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(paramFD) + " "; } + for (int j = 0; j < paramNames.length; j++) { + names = names + paramNames[j] + " "; + } + for (int j = 0; j < local_vars.length; j++) { + locals = locals + local_vars[j].name().stringValue() + " "; + } + debugInstrument.log("%nMethod = %s%n", mgen.getName()); + debugInstrument.log("paramTypes(%d): %s%n", paramTypes.length, types); + debugInstrument.log("paramNames(%d): %s%n", paramNames.length, names); + debugInstrument.log("localvars(%d): %s%n", local_vars.length, locals); + // debugInstrument.log("Original code: %s%n", mgen.getMethod().getCode()); + debugInstrument.log("Method Attributes:%n"); + for (Attribute a : methodModel.attributes()) { + debugInstrument.log(" %s%n", a); + } + debugInstrument.log("mgen.getSignature: %s%n", mgen.getSignature()); + MethodTypeDesc mtd = methodModel.methodTypeSymbol(); + debugInstrument.log("mtd.descriptorString: %s%n", mtd.descriptorString()); + debugInstrument.log("mtd.displayDescriptor: %s%n", mtd.displayDescriptor()); + } - debug_transform.log( - " Processing method %s, track=%b%n", simplify_method_name(mgen), track); - debug_transform.indent(); - - // `final` because local variables referenced from a lambda expression must be final or - // effectively final. - final boolean trackMethod = track; - - // main methods, methods and all methods in a JUnit test class - // need special treatment. They are not duplicated and they do not have - // a DCompMarker added to their parameter list. - boolean addingDcompArg = true; + boolean track = false; + if (!in_jdk) { + // Note whether we want to track the variables in this method. + track = should_track(classname, mgen.getName(), methodEntryName(classname, mgen)); - if (mgen.isClinit()) { - classInfo.hasClinit = true; - addInvokeToClinit(mgen, classInfo); - addingDcompArg = false; + // We cannot track the variables in bridge methods the compiler has synthesized as + // they are overloaded on return type which normal Java does not support. + if ((mgen.getAccessFlagsMask() & ClassFile.ACC_BRIDGE) != 0) { + track = false; } - if (mgen.isMain()) { - addingDcompArg = false; - createMainStub(mgen, classBuilder, classInfo); + // If a method has its variables tracked, then we need to mark the class as having some + // instrumented variables. + if (track) { + trackClass = true; } - if (classInfo.isJunitTestClass) { - addingDcompArg = false; + // If we are tracking variables, make sure the class is public + int access_flags = classModel.flags().flagsMask(); + if (track && (access_flags & ClassFile.ACC_PUBLIC) == 0) { + access_flags |= ClassFile.ACC_PUBLIC; + access_flags &= ~ClassFile.ACC_PROTECTED; + access_flags &= ~ClassFile.ACC_PRIVATE; } - - if (addingDcompArg) { - // make copy of original method + // reset class access flags in case they have been changed + classBuilder.withFlags(access_flags); + } else { + // If JDK, don't modify class initialization methods. They can't affect + // user comparability and there isn't any way to get a second + // copy of them. + if (mgen.isClinit()) { debugInstrument.log("Copying method: %s%n", mgen.getName()); debugInstrument.indent(); - outputMethodUnchanged(classBuilder, mm, mgen); + outputMethodUnchanged(classBuilder, methodModel, mgen); debugInstrument.exdent(); debugInstrument.log("End of copy%n"); + return; } + } - MethodTypeDesc mtd = mm.methodTypeSymbol(); - if (addingDcompArg) { - // The original parameterList is immutable, so we need to make a copy. - List paramList = new ArrayList(mtd.parameterList()); - paramList.add(dcomp_marker); - mtd = MethodTypeDesc.of(mtd.returnType(), paramList); - } - classBuilder.withMethod( - mm.methodName().stringValue(), - mtd, - mm.flags().flagsMask(), - methodBuilder -> instrumentMethod(methodBuilder, mm, mgen, classInfo, trackMethod)); + debug_transform.log(" Processing method %s, track=%b%n", simplify_method_name(mgen), track); + debug_transform.indent(); - debug_transform.exdent(); - } catch (Throwable t) { - if (debugInstrument.enabled) { - t.printStackTrace(); - } - String method = classname + "." + mm.methodName().stringValue(); - skip_method(method); - if (quit_if_error) { - if (t instanceof DynCompError) { - throw t; - } - throw new DynCompError("Error processing " + method, t); - } else { - System.err.printf("Error processing %s: %s%n", method, t); - System.err.printf("Method is NOT instrumented.%n"); + // `final` because local variables referenced from a lambda expression must be final or + // effectively final. + final boolean trackMethod = track; + + // main methods, methods and all methods in a JUnit test class + // need special treatment. They are not duplicated and they do not have + // a DCompMarker added to their parameter list. + boolean addingDcompArg = true; + + if (mgen.isClinit()) { + classInfo.hasClinit = true; + addInvokeToClinit(mgen, classInfo); + addingDcompArg = false; + } + + if (mgen.isMain()) { + addingDcompArg = false; + createMainStub(mgen, classBuilder, classInfo); + } + + if (classInfo.isJunitTestClass) { + addingDcompArg = false; + } + + if (addingDcompArg) { + // make copy of original method + debugInstrument.log("Copying method: %s%n", mgen.getName()); + debugInstrument.indent(); + outputMethodUnchanged(classBuilder, methodModel, mgen); + debugInstrument.exdent(); + debugInstrument.log("End of copy%n"); + } + + MethodTypeDesc mtd = methodModel.methodTypeSymbol(); + if (addingDcompArg) { + // The original parameterList is immutable, so we need to make a copy. + List paramList = new ArrayList(mtd.parameterList()); + paramList.add(dcomp_marker); + mtd = MethodTypeDesc.of(mtd.returnType(), paramList); + } + classBuilder.withMethod( + methodModel.methodName().stringValue(), + mtd, + methodModel.flags().flagsMask(), + methodBuilder -> + instrumentMethod(methodBuilder, methodModel, mgen, classInfo, trackMethod)); + + debug_transform.exdent(); + } catch (Throwable t) { + if (debugInstrument.enabled) { + t.printStackTrace(); + } + String method = classname + "." + methodModel.methodName().stringValue(); + skip_method(method); + if (quit_if_error) { + if (t instanceof DynCompError) { + throw t; } + throw new DynCompError("Error processing " + method, t); + } else { + System.err.printf("Error processing %s: %s%n", method, t); + System.err.printf("Method is NOT instrumented.%n"); } } } @@ -1056,7 +1127,8 @@ private void copyMethod(MethodBuilder methodBuilder, MethodModel methodModel, Me } /** - * Copy an instruction list into the given method. + * Copy an instruction list into its corresponding method in the output file. In addition, if the + * {@code newLocals} list is not empty, create new local variables in the output method. * * @param codeBuilder for the given method's code * @param instructions instruction list to copy @@ -1158,10 +1230,11 @@ private void instrumentMethod( * Generate instrumentation code for the given method. This includes reading in and processing the * original instruction list, calling {@code insertInstrumentationCode} to add the instrumentation * code, and then copying the modified instruction list to the output method while updating the - * code labels, if needed. + * code labels, if needed. In addition, if the {@code newLocals} list is not empty, add them to + * the {@code localsTable}. * *

                    If DCInstrument24 generated the method or if it is a native method, then {@code codeModel} - * == null. If DCInstrument24 generated the method then {@code localsTable} will be set. + * == null. * * @param codeBuilder for the given method's code * @param codeModel for the input method's code; may be null @@ -1354,8 +1427,8 @@ private void instrumentCode( codeBuilder.with(ce); } - // build_exception_handler returns null if there isn't one. - List handlerCode = build_exception_handler(mgen); + // generateExceptionHandlerCode returns null if there isn't one. + List handlerCode = generateExceptionHandlerCode(mgen); if (handlerCode != null) { Label handlerLabel = codeBuilder.newBoundLabel(); for (CodeElement ceh : handlerCode) { @@ -1369,18 +1442,18 @@ private void instrumentCode( } /** - * Returns true if the specified classname.method_name is the root of JUnit startup code. + * Returns true if the specified classname.methodName is the root of JUnit startup code. * * @param classname class containing the given method - * @param method_name method to be checked + * @param methodName method to be checked * @return true if the given method is a JUnit trigger */ - boolean isJunitTrigger(String classname, @Identifier String method_name) { - if (classname.contains("JUnitCommandLineParseResult") && method_name.equals("parse")) { + boolean isJunitTrigger(String classname, @Identifier String methodName) { + if (classname.contains("JUnitCommandLineParseResult") && methodName.equals("parse")) { // JUnit 4 return true; } - if (classname.contains("EngineDiscoveryRequestResolution") && method_name.equals("resolve")) { + if (classname.contains("EngineDiscoveryRequestResolution") && methodName.equals("resolve")) { // JUnit 5 return true; } @@ -1434,7 +1507,7 @@ boolean isJunitTrigger(String classname, @Identifier String method_name) { // the marker argument causes subtle errors if (classModel.flags().has(AccessFlag.ANNOTATION)) { debug_transform.log("Not instrumenting annotation %s%n", classname); - // Return classfile unmodified. + // Return class file unmodified. return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); } @@ -1445,7 +1518,7 @@ boolean isJunitTrigger(String classname, @Identifier String method_name) { String packageName = classname.substring(0, i); if (Premain.problem_packages.contains(packageName)) { debug_transform.log("Skipping problem package %s%n", packageName); - // Return classfile unmodified. + // Return class file unmodified. return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); } } @@ -1455,7 +1528,7 @@ boolean isJunitTrigger(String classname, @Identifier String method_name) { // See Premain.java for a list and explanations. if (Premain.problem_classes.contains(classname)) { debug_transform.log("Skipping problem class %s%n", classname); - // Return classfile unmodified. + // Return class file unmodified. return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); } dcompRuntimeClassName = "java.lang.DCRuntime"; @@ -1473,7 +1546,7 @@ boolean isJunitTrigger(String classname, @Identifier String method_name) { "DynComp warning: Class %s is being skipped due to the following:%n", classInfo.class_name); System.err.printf("%s.%n", t); - // Return classfile unmodified. + // Return class file unmodified. return classFile.transformClass(classModel, ClassTransform.ACCEPT_ALL); } } @@ -1556,8 +1629,9 @@ private void instrumentCodeList( stacks = new OperandStack24[instructions.size()]; // Create an array containing the type of each local variable. - // This will be indexed by the local variable's slot number. - // There may be a gap for the second slot of a variable of type long or double. + // This will be indexed by the local variable's slot number. Note that a + // variable of type long or double takes two slots; hence, there may + // be unused entries in the locals table. locals = new ClassDesc[mgen.getMaxLocals()]; // UNDONE: Should we init locals for 'this' and params only? for (final LocalVariable lv : mgen.localsTable) { @@ -1565,7 +1639,7 @@ private void instrumentCodeList( locals[lv.slot()] = lv.typeSymbol(); } - worklistHistory = new HashMap<>(); + labelOperandStackMap = new HashMap<>(); // Create a worklist of instruction locations and operand stacks. @@ -1593,7 +1667,7 @@ private void instrumentCodeList( WorkItem item; OperandStack24 stack; - int inst_index; + int instIndex; while (!worklist.isEmpty()) { item = worklist.first(); worklist.remove(item); @@ -1608,13 +1682,13 @@ private void instrumentCodeList( if (!li.hasNext()) { throw new DynCompError("error in instruction list"); } - inst_index = li.nextIndex(); + instIndex = li.nextIndex(); inst = li.next(); if (debugOperandStack) { - System.out.println("inst_index: " + inst_index); + System.out.println("instIndex: " + instIndex); System.out.println("Operand Stack in: " + stack); } - proceed = CalcStack24.simulateCodeElement(mgen, minfo, inst, inst_index, stack); + proceed = CalcStack24.simulateCodeElement(mgen, minfo, inst, instIndex, stack); if (debugOperandStack) { System.out.println("Operand Stack out: " + stack); System.out.println("proceed: " + proceed); @@ -1628,18 +1702,18 @@ private void instrumentCodeList( // set list iterator to start of the user instructions li = instructions.listIterator(newStartIndex); - // We set inst_index here and increment each time through loop. + // We set instIndex here and increment each time through loop. // This should match the index into stacks we used above. - inst_index = li.nextIndex(); + instIndex = li.nextIndex(); while (li.hasNext()) { inst = li.next(); if (debugOperandStack) { System.out.println("code element in: " + inst); - System.out.println("current stack: " + stacks[inst_index]); + System.out.println("current stack: " + stacks[instIndex]); } // Get the translation for this instruction (if any) - List new_il = instrumentInstruction(mgen, minfo, inst, stacks[inst_index]); + List new_il = instrumentInstruction(mgen, minfo, inst, stacks[instIndex]); if (new_il != null) { li.remove(); // remove the instruction we instrumented for (CodeElement ce : new_il) { @@ -1649,7 +1723,7 @@ private void instrumentCodeList( li.add(ce); } } - inst_index++; + instIndex++; } } catch (DynCompError e) { throw e; @@ -1666,13 +1740,13 @@ private void instrumentCodeList( * @param stack state of operand stack at target */ protected static void addLabelToWorklist(Label target, OperandStack24 stack) { - OperandStack24 existing = worklistHistory.get(target); + OperandStack24 existing = labelOperandStackMap.get(target); if (existing == null) { if (debugOperandStack) { System.out.println( "push to worklist: " + target + ", " + labelIndexMap.get(target) + ", stack: " + stack); } - worklistHistory.put(target, stack.getClone()); + labelOperandStackMap.put(target, stack.getClone()); @SuppressWarnings("nullness:unboxing.of.nullable") int indexInCodeList = labelIndexMap.get(target); worklist.add(new WorkItem(indexInCodeList, stack.getClone())); @@ -1708,14 +1782,12 @@ protected static void verifyOperandStackMatches( return; } // stacks don't match - if (debugOperandStack) { - System.err.flush(); - System.out.flush(); - System.out.println("operand stacks do not match at label:" + target); - System.out.println("existing stack: " + existing); - System.out.println("current stack: " + current); - System.out.flush(); - } + System.err.flush(); + System.out.flush(); + System.out.println("operand stacks do not match at label:" + target); + System.out.println("existing stack: " + existing); + System.out.println("current stack: " + current); + System.out.flush(); throw new DynCompError("operand stacks do not match at label:" + target); } @@ -1734,17 +1806,18 @@ void skip_method(String m) { * called first.) */ public List get_skipped_methods() { - return new ArrayList<>(skipped_methods); + return skipped_methods; } /** - * Adds a try/catch block around the entire method. If an exception occurs, the tag stack is - * cleaned up and the exception is rethrown. + * In {@link #instrumentCode} we build a try/catch block around the entire method. Here we + * generate the exception handler code so that if an exception occurs when the instrumented method + * is executed, the tag stack is cleaned up and the exception is rethrown. * * @param mgen method to add exception handler * @return code list for handler, or null if method should not have a handler */ - public @Nullable List build_exception_handler(MethodGen24 mgen) { + public @Nullable List generateExceptionHandlerCode(MethodGen24 mgen) { if (mgen.getName().equals("main")) { return null; @@ -1985,7 +2058,8 @@ private List callEnterOrExit( } // Instanceof pushes either 0 or 1 on the stack depending on whether - // the object on top of stack is of the specified type. We push a + // the object on top of stack is of the specified type. The DynComp runtime will push a + // new, unique // tag for a constant, since nothing is made comparable by this. case Opcode.INSTANCEOF: return build_il(dcr_call("push_const", CD_void, noArgsSig), inst); @@ -2365,8 +2439,7 @@ private List callEnterOrExit( /** * Adds a call to DCruntime.exit() at each return from the method. This call calculates - * comparability on the daikon variables. It is only necessary if we are tracking comparability - * for the variables of this method. + * comparability on any variables that are being tracked. * * @param mgen method to modify * @param mi MethodInfo for the given method's code @@ -2425,8 +2498,8 @@ private void add_exit( } /** - * Returns the interface class containing the implementation of the given method. The interfaces - * of {@code startClass} are recursively searched. + * Returns the interface class name containing the implementation of the given method. The + * interfaces of {@code startClass} are recursively searched. * * @param startClass the ClassModel whose interfaces are to be searched * @param methodName the target method to search for @@ -2590,8 +2663,11 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge } /** - * Process an invoke instruction that calls a non-instrumented method. We need to clean up the tag - * stack. + * Clean up the tag stack for an invoke instruction that calls a non-instrumented method. Items + * were pushed onto the tag stack for each argument to the invoke. But we have since discovered + * that the target method is not instrumented. Thus the DynComp runtime must discard (pop) these + * tags before the invoke is executed. In addition, if the method being invoked has a primitive + * return type, the runtime must push a new, unique tag after the invoke. * * @param invoke a method invocation bytecode instruction * @param classname target class of the invoke @@ -2623,7 +2699,7 @@ private List cleanInvokeTagStack( } /** - * Returns instructions that will discard any primitive tags corresponding to the specified + * Returns instructions that will discard (pop) any primitive tags corresponding to the specified * parameters. Returns an empty instruction list if there are no primitive arguments to discard. * * @param paramTypes parameter types of target method @@ -2648,7 +2724,7 @@ private List discard_primitive_tags(ClassDesc[] paramTypes) { * Returns true if the invoked method (the callee) is instrumented. * * @param invoke instruction whose target is to be checked - * @param mgen host method of invoke + * @param mgen method containing the invoke * @param classname target class of the invoke (the callee) * @param methodName target method of the invoke (the callee) * @param paramTypes parameter types of target method @@ -3137,30 +3213,30 @@ private List instrument_clone_call( /** * Create the instructions that replace the object eq or ne branch instruction. They are replaced - * by a call to the specified compare_method (which returns a boolean) followed by the specified + * by a call to the specified compareMethod (which returns a boolean) followed by the specified * boolean ifeq or ifne instruction. * * @param branch a branch instruction - * @param compare_method name of DCRuntime routine to call + * @param compareMethod name of DCRuntime routine to call * @param boolean_if branch instruction to gerate of the runtime call * @return instruction list to do object comparison */ private List object_comparison( - BranchInstruction branch, String compare_method, Opcode boolean_if) { + BranchInstruction branch, String compareMethod, Opcode boolean_if) { List il = new ArrayList<>(); MethodRefEntry mre = poolBuilder.methodRefEntry( - runtimeCD, compare_method, MethodTypeDesc.of(CD_boolean, objectObjectSig)); + runtimeCD, compareMethod, MethodTypeDesc.of(CD_boolean, objectObjectSig)); il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); il.add(BranchInstruction.of(boolean_if, branch.target())); return il; } /** - * Handles load and store field instructions. The instructions must be augmented to either push - * (load) or pop (store) the tag on the tag stack. This is accomplished by calling the tag get/set - * method for this field. + * Handles load and store field instructions. If the field is a primitive the instructions must be + * augmented to either push (load) or pop (store) the tag on the tag stack. This is accomplished + * by calling the tag get/set method for this field. * * @param mgen describes the given method * @param minfo for the given method's code @@ -3372,8 +3448,8 @@ private LocalVariable getReturnLocal( } /** - * Creates a MethodInfo corresponding to the specified method. The exit locations are filled in, - * but the reflection information is not generated. Returns null if there are no instructions. + * Creates a MethodInfo corresponding to the specified method. The exit location information for + * the method is collected. Returns null if the method contains no instructions. * * @param classInfo class containing the method * @param mgen method to inspect @@ -4628,14 +4704,14 @@ void add_clone_and_tostring_interfaces(ClassGen24 classGen) { @MethodDescriptor String noArgsReturnObject = "()Ljava/lang/Object;"; MethodModel cl = classGen.containsMethod("clone", noArgsReturnObject); if (cl != null) { - classGen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompClone")); + classGen.addInterface(Signatures.addPackage(dcompRuntimePrefix, "DCompClone")); } @SuppressWarnings("signature:assignment") @MethodDescriptor String noArgsReturnString = "()Ljava/lang/String;"; MethodModel ts = classGen.containsMethod("toString", noArgsReturnString); if (ts != null) { - classGen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompToString")); + classGen.addInterface(Signatures.addPackage(dcompRuntimePrefix, "DCompToString")); } } @@ -4769,7 +4845,7 @@ static void restore_static_field_id(File file) throws IOException { * @param fm the field * @return string containing the fully-qualified name */ - protected String full_name(ClassModel cm, FieldModel fm) { + protected static String full_name(ClassModel cm, FieldModel fm) { return ClassGen24.getClassName(cm) + "." + fm.fieldName().stringValue(); } @@ -4792,8 +4868,8 @@ private record ModifiedSwitchInfo(Label modifiedTarget, List modifie /** * Checks to see if the instruction targets the method's CodeModel startLabel (held in - * oldStartLabel). If so, it replaces the target with the newStartLabel. Unfortunately, the - * classfile API does not allow us to simply replace the label, we have to replace the entire + * oldStartLabel). If so, it replaces the target with the newStartLabel. Unfortunately, the class + * file API does not allow us to simply replace the label, we have to replace the entire * instruction. Note that oldStartLabel may be null, but that is okay as any comparison to it will * fail and we will do nothing. * diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 70e2a34748..1fb6d05807 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -19,6 +19,7 @@ import org.apache.bcel.classfile.JavaClass; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.signature.qual.BinaryName; +import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; import org.checkerframework.checker.signature.qual.InternalForm; import org.checkerframework.dataflow.qual.Pure; @@ -159,6 +160,7 @@ public void writeDebugClassFiles( } @BinaryName String binaryClassName = Signatures.internalFormToBinaryName(className); + @DotSeparatedIdentifiers String dcompPrefix; // See comments in Premain.java about meaning and use of in_shutdown. if (Premain.in_shutdown) { @@ -277,6 +279,15 @@ public void writeDebugClassFiles( } } + // As {@code instrumentation_interface} is a static field, we initialize it here rather than + // in the DCInstrument24 constructor. + if (Premain.jdk_instrumented && BcelUtil.javaVersion > 8) { + dcompPrefix = "java.lang"; + } else { + dcompPrefix = "daikon.dcomp"; + } + DCRuntime.instrumentation_interface = Signatures.addPackage(dcompPrefix, "DCompInstrumented"); + // Instrument the classfile, die on any errors. ClassInfo classInfo = new ClassInfo(binaryClassName, cfLoader); DCInstrument24 dci = new DCInstrument24(classFile, classModel, in_jdk); diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index 5f292d2f85..9528f0ef79 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -176,12 +176,12 @@ public int hashCode(@GuardSatisfied OperandStack24 this) { int result = 1; for (ClassDesc item : stack) { int elementHash; - if (item == null) { - elementHash = 0; // matches any non-primitive in equals - } else if (item.isPrimitive()) { - elementHash = item.hashCode(); // distinguish different primitive types + if (item != null && item.isPrimitive()) { + // Primitives must match exactly in equals, so use their own hash code. + elementHash = item.hashCode(); } else { - elementHash = 2; // all non-primitive, non-null items are equivalent in equals + // `null`, arrays, and classes are all treated as equivalent in equals. + elementHash = 2; } result = 31 * result + elementHash; } diff --git a/java/daikon/dcomp/StackMapUtils24.java b/java/daikon/dcomp/StackMapUtils24.java index fb92951e9c..a3729e4558 100644 --- a/java/daikon/dcomp/StackMapUtils24.java +++ b/java/daikon/dcomp/StackMapUtils24.java @@ -56,11 +56,10 @@ private StackMapUtils24() { * @param offsetFirstLocalToBeMoved original offset of first local moved "up" * @param size size of new local added (1 or 2) */ - static void adjust_code_for_locals_change( - MethodGen24 mgen, int offsetFirstLocalToBeMoved, int size) { + static void adjustCodeForLocalsChange(MethodGen24 mgen, int offsetFirstLocalToBeMoved, int size) { DCInstrument24.debugInstrument.log( - "adjust_code_for_locals_change: %d %d%n", offsetFirstLocalToBeMoved, size); + "adjustCodeForLocalsChange: %d %d%n", offsetFirstLocalToBeMoved, size); try { List il = mgen.getInstructionList(); ListIterator iter = il.listIterator(); @@ -95,8 +94,7 @@ static void adjust_code_for_locals_change( if (DCInstrument24.debugInstrument.enabled) { t.printStackTrace(); } - throw new DynCompError( - "Unexpected exception encountered in adjust_code_for_locals_change", t); + throw new DynCompError("Unexpected exception encountered in adjustCodeForLocalsChange", t); } } @@ -186,7 +184,7 @@ public static LocalVariable addNewSpecialLocal( // within each LocalVariableInstruction that references a // local that is 'higher' in the local map than new local // we just inserted. - adjust_code_for_locals_change(mgen, newOffset, argSize); + adjustCodeForLocalsChange(mgen, newOffset, argSize); // DCInstrument24.debugInstrument.log("New LocalVariableTable:%n%s%n", mgen.localsTable); } From 65959972b8b7d2e56ee2a4ab58eeaa0775d13976 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Mon, 5 Jan 2026 05:20:39 -0800 Subject: [PATCH 192/211] Reduce use of `BcelUtil.javaVersion` --- java/daikon/DynComp.java | 2 +- java/daikon/dcomp/BuildJDK24.java | 6 +++--- java/daikon/dcomp/DCInstrument24.java | 2 +- java/daikon/dcomp/Instrument24.java | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/java/daikon/DynComp.java b/java/daikon/DynComp.java index 8c82c700ee..c1c6ab08e5 100644 --- a/java/daikon/DynComp.java +++ b/java/daikon/DynComp.java @@ -304,7 +304,7 @@ void start_target(String premain_args, String[] targetArgs) { // allow DCRuntime to make reflective access to java.land.Object.clone() without a warning cmdlist.add("--add-opens"); cmdlist.add("java.base/java.lang=ALL-UNNAMED"); - if (BcelUtil.javaVersion >= 24) { + if (Runtime.isJava24orLater()) { // needed to eliminate warning for JNI access to native code cmdlist.add("--enable-native-access=ALL-UNNAMED"); } diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 03df1fea7d..9605c50321 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -171,7 +171,7 @@ public static void main(String[] args) throws IOException { check_java_home(); - if (BcelUtil.javaVersion > 8) { + if (Runtime.isJava9orLater()) { class_stream_map = build.gather_runtime_from_modules(); } else { class_stream_map = build.gather_runtime_from_jar(); @@ -418,7 +418,7 @@ void instrument_classes(File dest_dir, Map class_stream_map // As {@code instrumentation_interface} is a static field, we initialize it here rather than // in the DCInstrument24 constructor. - if (Premain.jdk_instrumented && BcelUtil.javaVersion > 8) { + if (Premain.jdk_instrumented && Runtime.isJava9orLater()) { dcompPrefix = "java.lang"; } else { dcompPrefix = "daikon.dcomp"; @@ -449,7 +449,7 @@ private void addInterfaceClasses(File destDir) { createDCompClass(destDir, "DCompMarker", false); // The remainder of the generated classes are needed for JDK 9+ only. - if (BcelUtil.javaVersion > 8) { + if (Runtime.isJava9orLater()) { createDCompClass(destDir, "DCompInstrumented", true); createDCompClass(destDir, "DCompClone", false); createDCompClass(destDir, "DCompToString", false); diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index e603be218c..d897788ede 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1523,7 +1523,7 @@ boolean isJunitTrigger(String classname, @Identifier String methodName) { } } - if (BcelUtil.javaVersion > 8) { + if (Runtime.isJava9orLater()) { // Don't instrument problem classes. // See Premain.java for a list and explanations. if (Premain.problem_classes.contains(classname)) { diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 1fb6d05807..a5b3a52a85 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -194,7 +194,7 @@ public void writeDebugClassFiles( } } - if ((BcelUtil.javaVersion > 8) && Premain.problem_classes.contains(binaryClassName)) { + if (Runtime.isJava9orLater() && Premain.problem_classes.contains(binaryClassName)) { debug_transform.log("Skipping problem class %s%n", binaryClassName); return null; } @@ -281,7 +281,7 @@ public void writeDebugClassFiles( // As {@code instrumentation_interface} is a static field, we initialize it here rather than // in the DCInstrument24 constructor. - if (Premain.jdk_instrumented && BcelUtil.javaVersion > 8) { + if (Premain.jdk_instrumented && Runtime.isJava9orLater()) { dcompPrefix = "java.lang"; } else { dcompPrefix = "daikon.dcomp"; From ff249b68096b1797c381593a5f84c1605221686b Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Mon, 5 Jan 2026 05:47:07 -0800 Subject: [PATCH 193/211] Rename "arg" to "param" --- java/daikon/dcomp/DCInstrument.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 69ef7eb1cb..b1f98fb924 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -1297,17 +1297,17 @@ public void install_exception_handler(MethodGen mgen) { int map_offset = exc_offset - runningOffset - 1; // Get the parameter types for this method - Type[] arg_types = mgen.getArgumentTypes(); + Type[] param_types = mgen.getArgumentTypes(); int arg_index = (mgen.isStatic() ? 0 : 1); - StackMapType[] arg_map_types = new StackMapType[arg_types.length + arg_index]; + StackMapType[] arg_map_types = new StackMapType[param_types.length + arg_index]; if (!mgen.isStatic()) { arg_map_types[0] = new StackMapType( Const.ITEM_Object, pool.addClass(mgen.getClassName()), pool.getConstantPool()); } - for (int ii = 0; ii < arg_types.length; ii++) { - arg_map_types[arg_index++] = generateStackMapTypeFromType(arg_types[ii]); + for (int ii = 0; ii < param_types.length; ii++) { + arg_map_types[arg_index++] = generateStackMapTypeFromType(param_types[ii]); } StackMapEntry map_entry; From 7e08b78ff140d3b4aff8b9942ae5f74fc53ec2bd Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Mon, 5 Jan 2026 05:52:32 -0800 Subject: [PATCH 194/211] Add imports --- java/daikon/dcomp/BuildJDK24.java | 1 + java/daikon/dcomp/DCInstrument24.java | 1 + java/daikon/dcomp/Instrument24.java | 1 + 3 files changed, 3 insertions(+) diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 9605c50321..63174a1f54 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -6,6 +6,7 @@ import daikon.DynComp; import daikon.chicory.ClassInfo; +import daikon.chicory.Runtime; import daikon.plumelib.bcelutil.BcelUtil; import daikon.plumelib.options.Options; import daikon.plumelib.reflection.Signatures; diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index d897788ede..a4dda8f97d 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -21,6 +21,7 @@ import daikon.chicory.Instrument24; import daikon.chicory.MethodGen24; import daikon.chicory.MethodInfo; +import daikon.chicory.Runtime; import daikon.plumelib.bcelutil.BcelUtil; import daikon.plumelib.bcelutil.SimpleLog; import daikon.plumelib.options.Option; diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index a5b3a52a85..064664c550 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -2,6 +2,7 @@ import daikon.DynComp; import daikon.chicory.ClassInfo; +import daikon.chicory.Runtime; import daikon.plumelib.bcelutil.BcelUtil; import daikon.plumelib.bcelutil.SimpleLog; import daikon.plumelib.reflection.Signatures; From 29e44fba87bc6139143b48f5701268fead41c358 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Mon, 5 Jan 2026 06:45:53 -0800 Subject: [PATCH 195/211] Typo fix --- java/daikon/dcomp/DCInstrument.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index b1f98fb924..bb8fe89eac 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -2887,7 +2887,7 @@ LocalVariableGen get_return_local(MethodGen mgen, @Nullable Type return_type) { // // This case DOES occur at run time. -MDE 1/22/2010 // } - // Get the paramter names for this method + // Get the parameter names for this method String[] paramNames = mgen.getArgumentNames(); LocalVariableGen[] lvs = mgen.getLocalVariables(); int param_offset = 1; From 4009904ff23f37dfa495ddfa7f2d51c0dc3c0f20 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Tue, 6 Jan 2026 16:04:14 -0800 Subject: [PATCH 196/211] Improve documentation style --- java/daikon/Ppt.java | 2 +- java/daikon/PptMap.java | 2 +- java/daikon/PptRelation.java | 2 +- java/daikon/PptSlice.java | 4 ++-- java/daikon/PptTopLevel.java | 6 +++--- java/daikon/Quantify.java | 2 +- java/daikon/ValueTuple.java | 2 +- java/daikon/VarComparability.java | 2 +- java/daikon/VarInfo.java | 20 +++++++++---------- java/daikon/VarInfoAux.java | 6 ++++-- java/daikon/VarInfoName.java | 8 +++++--- java/daikon/chicory/ChicoryPremain.java | 4 ++-- java/daikon/chicory/DaikonVariableInfo.java | 6 +++--- java/daikon/chicory/FieldInfo.java | 2 +- java/daikon/chicory/MethodGen24.java | 2 +- java/daikon/chicory/PureMethodInfo.java | 2 +- java/daikon/config/ParameterDoclet.java11 | 2 +- java/daikon/config/ParameterDoclet.java8 | 2 +- java/daikon/dcomp/DCInstrument24.java | 6 +++--- java/daikon/dcomp/DCRuntime.java | 4 ++-- java/daikon/inv/Invariant.java | 8 ++++---- .../inv/unary/scalar/CompleteOneOfScalar.java | 2 +- .../inv/unary/string/CompleteOneOfString.java | 2 +- .../inv/unary/string/PrintableString.java | 2 +- java/daikon/simplify/Lemma.java | 2 +- java/daikon/simplify/LemmaStack.java | 2 +- java/daikon/split/SpinfoFile.java | 2 +- java/daikon/split/SplitterObject.java | 2 +- java/daikon/suppress/NIS.java | 2 +- java/daikon/tools/jtb/AnnotateVisitor.java | 2 +- java/daikon/tools/jtb/Ast.java | 4 ++-- 31 files changed, 60 insertions(+), 56 deletions(-) diff --git a/java/daikon/Ppt.java b/java/daikon/Ppt.java index 2321e2d95d..2961e11151 100644 --- a/java/daikon/Ppt.java +++ b/java/daikon/Ppt.java @@ -77,7 +77,7 @@ public static String varNames(VarInfo[] infos) { return sj.toString(); } - /** Return a string representation of the variable names. */ + /** Returns a string representation of the variable names. */ @SideEffectFree public String varNames(@GuardSatisfied @UnknownInitialization(Ppt.class) Ppt this) { return varNames(var_infos); diff --git a/java/daikon/PptMap.java b/java/daikon/PptMap.java index 8885879e6a..f9bfeee0f5 100644 --- a/java/daikon/PptMap.java +++ b/java/daikon/PptMap.java @@ -231,7 +231,7 @@ public void repCheck() { } } - /** Return the number of active PptSlices. */ + /** Returns the number of active PptSlices. */ @Pure public int countSlices() { int result = 0; diff --git a/java/daikon/PptRelation.java b/java/daikon/PptRelation.java index 7ab2099ee7..ebeb313aac 100644 --- a/java/daikon/PptRelation.java +++ b/java/daikon/PptRelation.java @@ -130,7 +130,7 @@ public String toString(@GuardSatisfied PptRelation this) { return (parent.ppt_name + "->" + child.ppt_name + "(" + relationship + ")"); } - /** Return a string containing all of the parent→child var relations. */ + /** Returns a string containing all of the parent→child var relations. */ public String parent_to_child_var_string() { StringJoiner var_str = new StringJoiner(", "); diff --git a/java/daikon/PptSlice.java b/java/daikon/PptSlice.java index bc69052ada..1ceab741b4 100644 --- a/java/daikon/PptSlice.java +++ b/java/daikon/PptSlice.java @@ -194,10 +194,10 @@ protected void remove_falsified() { } } - /** Return an approximation of the number of samples seen on this slice. */ + /** Returns an approximation of the number of samples seen on this slice. */ public abstract int num_samples(@UnknownInitialization @GuardSatisfied PptSlice this); - /** Return an approximation of the number of distinct values seen on this slice. */ + /** Returns an approximation of the number of distinct values seen on this slice. */ public abstract int num_values(); /** Instantiate invariants on the VarInfos this slice contains. */ diff --git a/java/daikon/PptTopLevel.java b/java/daikon/PptTopLevel.java index 18bcfb9877..88ae145558 100644 --- a/java/daikon/PptTopLevel.java +++ b/java/daikon/PptTopLevel.java @@ -555,7 +555,7 @@ public int num_samples() { return values_num_samples; } - /** Return the number of samples where vi1 is present (not missing) */ + /** Returns the number of samples where vi1 is present (not missing) */ public int num_samples(VarInfo vi1) { if (vi1.is_static_constant) { return mbtracker.num_samples(); @@ -565,7 +565,7 @@ public int num_samples(VarInfo vi1) { return num_slice_samples; } - /** Return the number of samples where vi1 and vi2 are both present (not missing). */ + /** Returns the number of samples where vi1 and vi2 are both present (not missing). */ public int num_samples(VarInfo vi1, VarInfo vi2) { if (vi1.is_static_constant) { return num_samples(vi2); @@ -579,7 +579,7 @@ public int num_samples(VarInfo vi1, VarInfo vi2) { return num_slice_samples; } - /** Return the number of samples where vi1, vi2, and vi3 are all present (not missing). */ + /** Returns the number of samples where vi1, vi2, and vi3 are all present (not missing). */ public int num_samples(VarInfo vi1, VarInfo vi2, VarInfo vi3) { if (vi1.is_static_constant) { return num_samples(vi2, vi3); diff --git a/java/daikon/Quantify.java b/java/daikon/Quantify.java index 1843e891ec..cde37b4309 100644 --- a/java/daikon/Quantify.java +++ b/java/daikon/Quantify.java @@ -23,7 +23,7 @@ public enum QuantFlags { ADJACENT, /** two indices are different. */ DISTINCT, - /** Return the names of the index variables. */ + /** Returns the names of the index variables. */ INCLUDE_INDEX; /** set with just ELEMENT_WISE turned on. */ diff --git a/java/daikon/ValueTuple.java b/java/daikon/ValueTuple.java index d4dfa7d413..d176879883 100644 --- a/java/daikon/ValueTuple.java +++ b/java/daikon/ValueTuple.java @@ -439,7 +439,7 @@ public boolean isEmpty() { return size() == 0; } - /** Return a new ValueTuple containing this one's first len elements. */ + /** Returns a new ValueTuple containing this one's first len elements. */ public ValueTuple trim(int len) { @Nullable @Interned Object[] new_vals = ArraysPlume.subarray(vals, 0, len); int[] new_mods = ArraysPlume.subarray(mods, 0, len); diff --git a/java/daikon/VarComparability.java b/java/daikon/VarComparability.java index ebf3d0eeef..b90d067d63 100644 --- a/java/daikon/VarComparability.java +++ b/java/daikon/VarComparability.java @@ -73,7 +73,7 @@ public static VarComparability makeAlias(VarInfo vi) { public abstract VarComparability indexType(@GuardSatisfied VarComparability this, int dim); - /** Return the comparability for the length of this string* */ + /** Returns the comparability for the length of this string* */ public abstract VarComparability string_length_type(); /** Returns true if this is comparable to everything else. */ diff --git a/java/daikon/VarInfo.java b/java/daikon/VarInfo.java index 2d5464480b..871608eed3 100644 --- a/java/daikon/VarInfo.java +++ b/java/daikon/VarInfo.java @@ -1459,7 +1459,7 @@ private boolean has_parent(int parent_relation_id) { return parent.parent_variable; } - /** Return the value of this long variable (as an integer) */ + /** Returns the value of this long variable (as an integer) */ public int getIndexValue(ValueTuple vt) { Object raw = getValue(vt); if (raw == null) { @@ -1474,7 +1474,7 @@ public int getIndexValue(ValueTuple vt) { return ((Long) raw).intValue(); } - /** Return the value of this long variable (as a long) */ + /** Returns the value of this long variable (as a long) */ public long getIntValue(ValueTuple vt) { Object raw = getValue(vt); if (raw == null) { @@ -1489,7 +1489,7 @@ public long getIntValue(ValueTuple vt) { return ((Long) raw).longValue(); } - /** Return the value of an long[] variable. */ + /** Returns the value of an long[] variable. */ public long[] getIntArrayValue(ValueTuple vt) { Object raw = getValue(vt); if (raw == null) { @@ -1504,7 +1504,7 @@ public long[] getIntArrayValue(ValueTuple vt) { return (long[]) raw; } - /** Return the value of a double variable. */ + /** Returns the value of a double variable. */ public double getDoubleValue(ValueTuple vt) { Object raw = getValue(vt); if (raw == null) { @@ -1519,7 +1519,7 @@ public double getDoubleValue(ValueTuple vt) { return ((Double) raw).doubleValue(); } - /** Return the value of a double[] variable. */ + /** Returns the value of a double[] variable. */ public double[] getDoubleArrayValue(ValueTuple vt) { Object raw = getValue(vt); if (raw == null) { @@ -1534,7 +1534,7 @@ public double[] getDoubleArrayValue(ValueTuple vt) { return (double[]) raw; } - /** Return the value of a String variable. */ + /** Returns the value of a String variable. */ public String getStringValue(ValueTuple vt) { return (String) getValue(vt); } @@ -1578,7 +1578,7 @@ public VarInfo canonicalRep() { return equalitySet.leader(); } - /** Return true if this is a pointer or reference to another object. */ + /** Returns true if this is a pointer or reference to another object. */ @Pure public boolean is_reference() { @@ -2248,7 +2248,7 @@ public boolean comparableNWay(VarInfo var2) { return true; } - /** Return true if this sequence's first index type is compatible with the scalar variable. */ + /** Returns true if this sequence's first index type is compatible with the scalar variable. */ public boolean indexCompatible(VarInfo sclvar) { VarInfo seqvar = this; if (Daikon.check_program_types) { @@ -2805,7 +2805,7 @@ public String toString(@GuardSatisfied Pair this) { } } - /** Return the set of values that have been seen so far for this variable. */ + /** Returns the set of values that have been seen so far for this variable. */ public ValueSet get_value_set() { // Static constants don't have value sets, so we must make one @@ -3479,7 +3479,7 @@ public String simplify_name(@Nullable String index) { } } - /** Return the name of this variable in its prestate (orig). */ + /** Returns the name of this variable in its prestate (orig). */ @SideEffectFree public @Interned String prestate_name() { return ("orig(" + name() + ")").intern(); diff --git a/java/daikon/VarInfoAux.java b/java/daikon/VarInfoAux.java index 82af6702e4..54646fe580 100644 --- a/java/daikon/VarInfoAux.java +++ b/java/daikon/VarInfoAux.java @@ -441,7 +441,9 @@ public String getValue(@GuardSatisfied VarInfoAux this, @KeyFor("this.map") Stri return map.get(key); } - /** Return {@code true} if the value for the given key is defined, and {@code false} otherwise. */ + /** + * Returns {@code true} if the value for the given key is defined, and {@code false} otherwise. + */ @Pure @EnsuresKeyForIf(result = true, expression = "#1", map = "map") public boolean hasValue(String key) { @@ -455,7 +457,7 @@ public boolean getFlag(@KeyFor("this.map") String key) { return value.equals(TRUE); } - /** Return a new VarInfoAux with the desired value set. Does not modify this. */ + /** Returns a new VarInfoAux with the desired value set. Does not modify this. */ public @Interned VarInfoAux setValue(String key, String value) { HashMap<@Interned String, @Interned String> newMap = new HashMap<>(this.map); newMap.put(key.intern(), value.intern()); diff --git a/java/daikon/VarInfoName.java b/java/daikon/VarInfoName.java index ba9558d1ae..7457e64f26 100644 --- a/java/daikon/VarInfoName.java +++ b/java/daikon/VarInfoName.java @@ -297,7 +297,7 @@ public static VarInfoName parse(String name) { */ protected abstract String java_name_impl(VarInfo v); - /** Return the String representation of this name in the JML style output format. */ + /** Returns the String representation of this name in the JML style output format. */ public @Interned String jml_name(VarInfo v) { if (jml_name_cached == null) { try { @@ -361,7 +361,9 @@ public static VarInfoName parse(String name) { */ protected abstract String dbc_name_impl(VarInfo v); - /** Return the String representation of this name using only letters, numbers, and underscores. */ + /** + * Returns the String representation of this name using only letters, numbers, and underscores. + */ public @Interned String identifier_name() { if (identifier_name_cached == null) { try { @@ -3507,7 +3509,7 @@ private static String freshDistinctFrom(Set taken) { return name; } - /** Return a fresh variable name that doesn't appear in the given variable names. */ + /** Returns a fresh variable name that doesn't appear in the given variable names. */ public static VarInfoName getFreeIndex(VarInfoName... vins) { Set simples = new HashSet<>(); for (VarInfoName vin : vins) { diff --git a/java/daikon/chicory/ChicoryPremain.java b/java/daikon/chicory/ChicoryPremain.java index dd7c3e386a..c94ae96ec7 100644 --- a/java/daikon/chicory/ChicoryPremain.java +++ b/java/daikon/chicory/ChicoryPremain.java @@ -257,7 +257,7 @@ private static void readPurityFile(File purityFileName, @Nullable File pathLoc) } - /** Return true iff Chicory has run a purity analysis or read a {@code *.pure} file. */ + /** Returns true iff Chicory has run a purity analysis or read a {@code *.pure} file. */ @SuppressWarnings("nullness") // dependent: pureMethods is non-null if doPurity is true @EnsuresNonNullIf(result = true, expression = "pureMethods") public static boolean shouldDoPurity() { @@ -285,7 +285,7 @@ public static boolean isMethodPure(Member member) { return false; } - /** Return an unmodifiable Set of the pure methods. */ + /** Returns an unmodifiable Set of the pure methods. */ // @RequiresNonNull("ChicoryPremain.pureMethods") @RequiresNonNull("pureMethods") public static Set getPureMethods() { diff --git a/java/daikon/chicory/DaikonVariableInfo.java b/java/daikon/chicory/DaikonVariableInfo.java index 90e940f573..ac084ca821 100644 --- a/java/daikon/chicory/DaikonVariableInfo.java +++ b/java/daikon/chicory/DaikonVariableInfo.java @@ -1267,7 +1267,7 @@ public String getRepTypeName() { return repTypeName; } - /** Return the rep type name without the constant value. */ + /** Returns the rep type name without the constant value. */ public String getRepTypeNameOnly() { return repTypeName.replaceFirst(" = .*", ""); } @@ -1295,12 +1295,12 @@ public String getCompareString() { return compareInfoString; } - /** Return true iff the DeclWriter should print this node. */ + /** Returns true iff the DeclWriter should print this node. */ public boolean declShouldPrint() { return declShouldPrint; } - /** Return true iff the DTraceWriter should print this node. */ + /** Returns true iff the DTraceWriter should print this node. */ public boolean dTraceShouldPrint() { return dtraceShouldPrint; } diff --git a/java/daikon/chicory/FieldInfo.java b/java/daikon/chicory/FieldInfo.java index a73fe467f6..83f935c1f9 100644 --- a/java/daikon/chicory/FieldInfo.java +++ b/java/daikon/chicory/FieldInfo.java @@ -75,7 +75,7 @@ public FieldInfo( throw new Error("Can't find " + field + " in " + field.getDeclaringClass()); } - /** Return the number of primitive fields in clazz and all of its superclasses. */ + /** Returns the number of primitive fields in clazz and all of its superclasses. */ public static int num_prim_fields(Class clazz) { if (clazz == Object.class) { return 0; diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 8d53e3b7ce..614e29a3f1 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -766,7 +766,7 @@ public void setInstructionList(List il) { } /** - * Return string representation close to declaration format, 'public static void main(String[])', + * Returns string representation close to declaration format, 'public static void main(String[])', * e.g. * * @return String representation of the method declaration. diff --git a/java/daikon/chicory/PureMethodInfo.java b/java/daikon/chicory/PureMethodInfo.java index cee5d68dfc..da71aeea14 100644 --- a/java/daikon/chicory/PureMethodInfo.java +++ b/java/daikon/chicory/PureMethodInfo.java @@ -212,7 +212,7 @@ public VarKind get_var_kind() { return VarKind.FUNCTION; } - /** Return the short name of the method as the relative name. */ + /** Returns the short name of the method as the relative name. */ @Override public String get_relative_name() { return minfo.method_name; diff --git a/java/daikon/config/ParameterDoclet.java11 b/java/daikon/config/ParameterDoclet.java11 index 96324a3c7b..836f99a62f 100644 --- a/java/daikon/config/ParameterDoclet.java11 +++ b/java/daikon/config/ParameterDoclet.java11 @@ -214,7 +214,7 @@ public class ParameterDoclet implements Doclet { } /** - * Return true if the given variable (that represents a configuration option) should be included + * Returns true if the given variable (that represents a configuration option) should be included * in this section. * * @param fullConfigName the fully-qualified name of a Daikon configuration variable (no diff --git a/java/daikon/config/ParameterDoclet.java8 b/java/daikon/config/ParameterDoclet.java8 index f9ef3bcff0..3f842fffb8 100644 --- a/java/daikon/config/ParameterDoclet.java8 +++ b/java/daikon/config/ParameterDoclet.java8 @@ -169,7 +169,7 @@ public class ParameterDoclet { } /** - * Return true if the given variable (that represents a configuration option) should be included + * Returns true if the given variable (that represents a configuration option) should be included * in this section. * * @param fullConfigName the fully-qualified name of a Daikon configuration variable (no diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index a4dda8f97d..def51ed3b1 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -3055,7 +3055,7 @@ private boolean isClassnameInstrumented( } /** - * Return a list of the superclasses of this class. This class itself is not in the list. The + * Returns a list of the superclasses of this class. This class itself is not in the list. The * returned list is in ascending order; that is, java.lang.Object is always the last element, * unless the argument is java.lang.Object. * @@ -4840,7 +4840,7 @@ static void restore_static_field_id(File file) throws IOException { } /** - * Return the fully-qualified fieldname of the specified field. + * Returns the fully-qualified fieldname of the specified field. * * @param cm class containing the field * @param fm the field @@ -4851,7 +4851,7 @@ protected static String full_name(ClassModel cm, FieldModel fm) { } /** - * Return simplified name of a method. Both exceptions and annotations are removed. + * Returns simplified name of a method. Both exceptions and annotations are removed. * * @param mgen the method * @return string containing the simplified method name diff --git a/java/daikon/dcomp/DCRuntime.java b/java/daikon/dcomp/DCRuntime.java index 20034c18b6..41bfed7e4c 100644 --- a/java/daikon/dcomp/DCRuntime.java +++ b/java/daikon/dcomp/DCRuntime.java @@ -2561,7 +2561,7 @@ public static void pop_field_tag(Object obj, int field_num) { } } - /** Return the number of primitive fields in clazz and all of its superclasses. */ + /** Returns the number of primitive fields in clazz and all of its superclasses. */ public static int num_prim_fields(Class clazz) { if (clazz == Object.class) { return 0; @@ -3010,7 +3010,7 @@ public static class StaticPrimitiveTag extends FieldTag { } } - /** Return the tag associated with this field. */ + /** Returns the tag associated with this field. */ @Override Object get_tag(Object parent, Object obj) { Object tag; diff --git a/java/daikon/inv/Invariant.java b/java/daikon/inv/Invariant.java index 96a9af4dac..acfb9dda8a 100644 --- a/java/daikon/inv/Invariant.java +++ b/java/daikon/inv/Invariant.java @@ -721,17 +721,17 @@ public VarComparability get_comparability(@NonPrototype Invariant this) { // // itself on the PptSlice, and that's what really matters (right?). // public static abstract Invariant instantiate(PptSlice ppt); - /** Return true if this invariant uses the given variable. */ + /** Returns true if this invariant uses the given variable. */ public boolean usesVar(@NonPrototype Invariant this, VarInfo vi) { return ppt.usesVar(vi); } - /** Return true if this invariant uses the given variable. */ + /** Returns true if this invariant uses the given variable. */ public boolean usesVar(@NonPrototype Invariant this, String name) { return ppt.usesVar(name); } - /** Return true if this invariant uses the given variable or any variable derived from it. */ + /** Returns true if this invariant uses the given variable or any variable derived from it. */ public boolean usesVarDerived(@NonPrototype Invariant this, String name) { return ppt.usesVarDerived(name); } @@ -810,7 +810,7 @@ public String format_classname() { return " [" + classname + "]"; } - /** Return a printed representation of this invariant, in the given format. */ + /** Returns a printed representation of this invariant, in the given format. */ @SideEffectFree public abstract String format_using( @GuardSatisfied @NonPrototype Invariant this, OutputFormat format); diff --git a/java/daikon/inv/unary/scalar/CompleteOneOfScalar.java b/java/daikon/inv/unary/scalar/CompleteOneOfScalar.java index 0d2fb0cbdd..10a2f1e5c0 100644 --- a/java/daikon/inv/unary/scalar/CompleteOneOfScalar.java +++ b/java/daikon/inv/unary/scalar/CompleteOneOfScalar.java @@ -75,7 +75,7 @@ public CompleteOneOfScalar instantiate_dyn(@Prototype CompleteOneOfScalar this, return new CompleteOneOfScalar(slice); } - /** Return description of invariant. Only Daikon format is implemented. */ + /** Returns description of invariant. Only Daikon format is implemented. */ @SideEffectFree @Override public String format_using(@GuardSatisfied CompleteOneOfScalar this, OutputFormat format) { diff --git a/java/daikon/inv/unary/string/CompleteOneOfString.java b/java/daikon/inv/unary/string/CompleteOneOfString.java index 2e3520e48c..e2ff7570de 100644 --- a/java/daikon/inv/unary/string/CompleteOneOfString.java +++ b/java/daikon/inv/unary/string/CompleteOneOfString.java @@ -85,7 +85,7 @@ public CompleteOneOfString instantiate_dyn(@Prototype CompleteOneOfString this, return new CompleteOneOfString(slice); } - /** Return description of invariant. Only Daikon format is implemented. */ + /** Returns description of invariant. Only Daikon format is implemented. */ @SideEffectFree @Override public String format_using(@GuardSatisfied CompleteOneOfString this, OutputFormat format) { diff --git a/java/daikon/inv/unary/string/PrintableString.java b/java/daikon/inv/unary/string/PrintableString.java index 88e682b505..2377f9f7d1 100644 --- a/java/daikon/inv/unary/string/PrintableString.java +++ b/java/daikon/inv/unary/string/PrintableString.java @@ -50,7 +50,7 @@ public PrintableString instantiate_dyn(@Prototype PrintableString this, PptSlice return new PrintableString(slice); } - /** Return description of invariant. Only Daikon format is implemented. */ + /** Returns description of invariant. Only Daikon format is implemented. */ @SideEffectFree @Override public String format_using(@GuardSatisfied PrintableString this, OutputFormat format) { diff --git a/java/daikon/simplify/Lemma.java b/java/daikon/simplify/Lemma.java index d4436514fb..e686f0b6bc 100644 --- a/java/daikon/simplify/Lemma.java +++ b/java/daikon/simplify/Lemma.java @@ -23,7 +23,7 @@ public Lemma(String summary, String formula) { this.formula = formula; } - /** Return a human-readable description. */ + /** Returns a human-readable description. */ public String summarize(@GuardSatisfied Lemma this) { return summary; } diff --git a/java/daikon/simplify/LemmaStack.java b/java/daikon/simplify/LemmaStack.java index 4fe2182b65..abda51c953 100644 --- a/java/daikon/simplify/LemmaStack.java +++ b/java/daikon/simplify/LemmaStack.java @@ -239,7 +239,7 @@ private boolean allExceptImply(Lemma[] invs, boolean[] excluded, int min, int ma return valid; } - /** Return true if all the elements of bools between min and max (inclusive) are true. */ + /** Returns true if all the elements of bools between min and max (inclusive) are true. */ private static boolean allTrue(boolean[] bools, int min, int max) { for (int i = min; i <= max; i++) { if (!bools[i]) { diff --git a/java/daikon/split/SpinfoFile.java b/java/daikon/split/SpinfoFile.java index 167ff399ce..29a2ae7239 100644 --- a/java/daikon/split/SpinfoFile.java +++ b/java/daikon/split/SpinfoFile.java @@ -84,7 +84,7 @@ public SplitterObject[][] getSplitterObjects() { return splitterObjects; } - /** Return the number of splitters (SplitterObject objects) represented by this file. */ + /** Returns the number of splitters (SplitterObject objects) represented by this file. */ public int numSplittterObjects() { int result = 0; for (SplitterObject[] spa : splitterObjects) { diff --git a/java/daikon/split/SplitterObject.java b/java/daikon/split/SplitterObject.java index 90851b820b..bbeffd7202 100644 --- a/java/daikon/split/SplitterObject.java +++ b/java/daikon/split/SplitterObject.java @@ -179,7 +179,7 @@ public void setGUID(int ID) { this.guid = ID; } - /** Return the unique ID of this splitterObject. */ + /** Returns the unique ID of this splitterObject. */ public int getGUID() { return this.guid; } diff --git a/java/daikon/suppress/NIS.java b/java/daikon/suppress/NIS.java index 172a72d9b4..2bbb9ecd46 100644 --- a/java/daikon/suppress/NIS.java +++ b/java/daikon/suppress/NIS.java @@ -1040,7 +1040,7 @@ public boolean is_ni_suppressed() { return cinv; } - /** Return string representation of the suppressed invariant. */ + /** Returns string representation of the suppressed invariant. */ @SideEffectFree @Override public String toString(@GuardSatisfied SupInv this) { diff --git a/java/daikon/tools/jtb/AnnotateVisitor.java b/java/daikon/tools/jtb/AnnotateVisitor.java index 01ca5892d0..b32ba1876e 100644 --- a/java/daikon/tools/jtb/AnnotateVisitor.java +++ b/java/daikon/tools/jtb/AnnotateVisitor.java @@ -1063,7 +1063,7 @@ public static int getTabbedIndex(int untabbedIndex, String L1) { return index; } - /** Return the whitespace at the front of the string. */ + /** Returns the whitespace at the front of the string. */ public static String precedingWhitespace(String s) { for (int i = 0; i < s.length(); i++) { if (!Character.isWhitespace(s.charAt(i))) { diff --git a/java/daikon/tools/jtb/Ast.java b/java/daikon/tools/jtb/Ast.java index 2460a32c79..fd3032e9fa 100644 --- a/java/daikon/tools/jtb/Ast.java +++ b/java/daikon/tools/jtb/Ast.java @@ -310,7 +310,7 @@ public static String getFullSignature(MethodDeclaration method) { } } - /** Return the fully qualified name of the class containing the node. */ + /** Returns the fully qualified name of the class containing the node. */ public static @BinaryName String getClassName(Node d) { ClassOrInterfaceDeclaration n = @@ -1215,7 +1215,7 @@ static boolean typeMatch(String pptTypeString, String astTypeString) { return false; } - /** Return true if this is the main method for this class. */ + /** Returns true if this is the main method for this class. */ public static boolean isMain(MethodDeclaration md) { if (Ast.getName(md).equals("main")) { List params = Ast.getParameters(md); From 0c2b231f72ceabb6adbdae05bc28c02f5d67d1a9 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Tue, 6 Jan 2026 19:51:21 -0800 Subject: [PATCH 197/211] Signature annotations --- java/daikon/chicory/MethodGen24.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 614e29a3f1..053009b073 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -35,6 +35,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.signature.qual.BinaryName; import org.checkerframework.checker.signature.qual.FieldDescriptor; +import org.checkerframework.checker.signature.qual.FqBinaryName; import org.checkerframework.checker.signature.qual.Identifier; import org.checkerframework.checker.signature.qual.MethodDescriptor; @@ -791,15 +792,19 @@ public final String toString(@GuardSatisfied MethodGen24 this) { } /** - * Returns a string representation of a ClassDesc. Removes a leading "java.lang.". + * Returns a string representation of a ClassDesc. It is a fully-qualified binary name, except + * that any leading "java.lang." is removed. * * @param type the ClassDesc to translate + * @return the class name, without */ - private String convertClassDesc(@GuardSatisfied MethodGen24 this, ClassDesc type) { + private @FqBinaryName String convertClassDesc(@GuardSatisfied MethodGen24 this, ClassDesc type) { @FieldDescriptor String arg0Fd = type.descriptorString(); String result = daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(arg0Fd); if (result.startsWith("java.lang.")) { - result = result.replace("java.lang.", ""); + @SuppressWarnings("signature:assign") // string manipulation + @FqBinaryName String truncated = result.replace("java.lang.", ""); + return truncated; } return result; } @@ -808,6 +813,7 @@ private String convertClassDesc(@GuardSatisfied MethodGen24 this, ClassDesc type * Returns a string representation of a method's access flags. * * @param accessFlagsMask some access flags. + * @return a space-separated string of access modifier keywords */ private String getAccess(@GuardSatisfied MethodGen24 this, final int accessFlagsMask) { StringBuilder result = new StringBuilder(); From 887582c601c55c42b5e145ec8c5a7250cf06001a Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Tue, 6 Jan 2026 19:51:31 -0800 Subject: [PATCH 198/211] Move cleaning step --- java/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/Makefile b/java/Makefile index 82bfbed086..3c290e68b2 100644 --- a/java/Makefile +++ b/java/Makefile @@ -495,10 +495,6 @@ xlint: chicory ${ALL_GENERATED_FILES} # Do not mark this target as .PHONY. We want it to # always recompile, whether recompilation is necessary or not. (Why?) all_directly: ../utils/plume-scripts ${AUTO_GENERATED_FILES} java_files.txt -# # If SplitterFactoryTestUpdater.java is newer than SplitterFactoryTest.java, then delete the latter. -# if [ daikon/test/split/SplitterFactoryTestUpdater.java -nt daikon/test/split/SplitterFactoryTest.java ] ; then rm -f daikon/test/split/SplitterFactoryTest.java; fi -# remove 'bin' and 'orig' after versions stablize - rm -f `find daikon -path "*/debug*/bin" -prune -o -path "*/debug*/orig" -prune -o -path "*/debug*/instrumented" -prune -o -path "*/debug*/uninstrumented" -prune -o -name "*.class" -print` @echo "CLASSPATH = ${CLASSPATH}" @echo "DAIKON_CLASSPATH = ${DAIKON_CLASSPATH}" @echo "JAVA_RELEASE_NUMBER = ${JAVA_RELEASE_NUMBER}" @@ -734,6 +730,10 @@ daikon/Diff.class: Diff.java ../utils/plume-scripts ${AUTO_GENERATED_FILES} ### Cleaning (removing generated files ### +# TODO: +# rm -f `find daikon -path "*/debug*/bin" -prune -o -path "*/debug*/orig" -prune -o -path "*/debug*/instrumented" -prune -o -path "*/debug*/uninstrumented" -prune -o -name "*.class" -print` + + # It's good to run "make clean" occasionally, because it costs little to # regenerate .class files and it's bad to continue to use an orphaned class # file (whose source file was renamed). Or, run "orphaned-class-files". From 54858ad9ea28c770bd4661070dad6b552f421c6a Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Tue, 6 Jan 2026 19:58:20 -0800 Subject: [PATCH 199/211] Fixes --- java/Makefile | 5 ++++- java/daikon/chicory/MethodGen24.java | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/java/Makefile b/java/Makefile index 3c290e68b2..c148a487ce 100644 --- a/java/Makefile +++ b/java/Makefile @@ -1462,8 +1462,11 @@ list_java_files: showvar_JAVA_FILES ### Automatically generated files ### +daikon/test/split/SplitterFactoryTestUpdater.class: daikon/test/split/SplitterFactoryTestUpdater.java + ${JAVAC_COMMAND} $^ + ## First, a file not generated via java-cpp. -daikon/test/split/SplitterFactoryTest.java: daikon/test/split/SplitterFactoryTestUpdater.java daikon/split/TokenReplacer.java +daikon/test/split/SplitterFactoryTest.java: daikon/test/split/SplitterFactoryTestUpdater.class daikon/split/TokenReplacer.java ${JAVAC_COMMAND} $^ rm -f $@ # Has expected errors while compiling splitter files. diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 053009b073..5fdcdc7d7a 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -802,7 +802,7 @@ public final String toString(@GuardSatisfied MethodGen24 this) { @FieldDescriptor String arg0Fd = type.descriptorString(); String result = daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(arg0Fd); if (result.startsWith("java.lang.")) { - @SuppressWarnings("signature:assign") // string manipulation + @SuppressWarnings("signature:assignment") // string manipulation @FqBinaryName String truncated = result.replace("java.lang.", ""); return truncated; } From 42ba54f23174583ab393051e975aceb68c7435ef Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Tue, 6 Jan 2026 22:22:02 -0800 Subject: [PATCH 200/211] Undo Makefile changes --- java/Makefile | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/java/Makefile b/java/Makefile index c148a487ce..81d928b09c 100644 --- a/java/Makefile +++ b/java/Makefile @@ -495,6 +495,10 @@ xlint: chicory ${ALL_GENERATED_FILES} # Do not mark this target as .PHONY. We want it to # always recompile, whether recompilation is necessary or not. (Why?) all_directly: ../utils/plume-scripts ${AUTO_GENERATED_FILES} java_files.txt +# # If SplitterFactoryTestUpdater.java is newer than SplitterFactoryTest.java, then delete the latter. +# if [ daikon/test/split/SplitterFactoryTestUpdater.java -nt daikon/test/split/SplitterFactoryTest.java ] ; then rm -f daikon/test/split/SplitterFactoryTest.java; fi +# remove 'bin' and 'orig' after versions stablize + rm -f `find daikon -path "*/debug*/bin" -prune -o -path "*/debug*/orig" -prune -o -path "*/debug*/instrumented" -prune -o -path "*/debug*/uninstrumented" -prune -o -name "*.class" -print` @echo "CLASSPATH = ${CLASSPATH}" @echo "DAIKON_CLASSPATH = ${DAIKON_CLASSPATH}" @echo "JAVA_RELEASE_NUMBER = ${JAVA_RELEASE_NUMBER}" @@ -730,10 +734,6 @@ daikon/Diff.class: Diff.java ../utils/plume-scripts ${AUTO_GENERATED_FILES} ### Cleaning (removing generated files ### -# TODO: -# rm -f `find daikon -path "*/debug*/bin" -prune -o -path "*/debug*/orig" -prune -o -path "*/debug*/instrumented" -prune -o -path "*/debug*/uninstrumented" -prune -o -name "*.class" -print` - - # It's good to run "make clean" occasionally, because it costs little to # regenerate .class files and it's bad to continue to use an orphaned class # file (whose source file was renamed). Or, run "orphaned-class-files". @@ -766,8 +766,8 @@ very-clean: clean clean-generated-files -rm -rf api/ -rm -rf daikon/chicory/ChicoryTest.inv.out -rm -rf daikon/chicory/debug/ - -rm -rf daikon/dcomp/DcompTest.log -rm -rf daikon/dcomp/debug/ + -rm -rf daikon/dcomp/DcompTest.log -rm -rf daikon/dcomp/std_dcomp_out.diff daikon/dcomp/std_dcomp_out.txt run: all @@ -1462,11 +1462,8 @@ list_java_files: showvar_JAVA_FILES ### Automatically generated files ### -daikon/test/split/SplitterFactoryTestUpdater.class: daikon/test/split/SplitterFactoryTestUpdater.java - ${JAVAC_COMMAND} $^ - ## First, a file not generated via java-cpp. -daikon/test/split/SplitterFactoryTest.java: daikon/test/split/SplitterFactoryTestUpdater.class daikon/split/TokenReplacer.java +daikon/test/split/SplitterFactoryTest.java: daikon/test/split/SplitterFactoryTestUpdater.java daikon/split/TokenReplacer.java ${JAVAC_COMMAND} $^ rm -f $@ # Has expected errors while compiling splitter files. From 070c3da81bd163085c262312dba68c3d433f3266 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 7 Jan 2026 06:23:53 -0800 Subject: [PATCH 201/211] Rename variables for type descriptors --- java/daikon/chicory/Instrument.java | 84 +++++--- java/daikon/dcomp/DCInstrument.java | 308 +++++++++++++++------------- 2 files changed, 229 insertions(+), 163 deletions(-) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 176e3d7018..4bb024bad6 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -45,6 +45,7 @@ import org.apache.bcel.generic.ObjectType; import org.apache.bcel.generic.PUSH; import org.apache.bcel.generic.Type; +import org.checkerframework.checker.interning.qual.InternedDistinct; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.signature.qual.BinaryName; @@ -88,6 +89,46 @@ public class Instrument extends InstructionListUtils implements ClassFileTransfo /** InstructionFactory for a class. */ public InstructionFactory instFactory; + // Type descriptors + + /** "java.lang.Object". */ + private static final ObjectType CD_Object = Type.OBJECT; + + // /** Type for "java.lang.Class". */ + // private static final ObjectType CD_Class = Type.CLASS; + + /** Type for "java.lang.String". */ + private static final ObjectType CD_String = Type.STRING; + + // /** Type for "java.lang.Throwable". */ + // protected static ObjectType CD_Throwable = new ObjectType("java.lang.Throwable"); + // private static final ObjectType CD_Throwable = Type.THROWABLE; + + // /** Type for "boolean". */ + // private static final @InternedDistinct BasicType CD_boolean = Type.BOOLEAN; + // /** Type for "byte". */ + // private static final @InternedDistinct BasicType CD_byte = Type.BYTE; + // /** Type for "char". */ + // private static final @InternedDistinct BasicType CD_char = Type.CHAR; + // /** Type for "double". */ + // private static final @InternedDistinct BasicType CD_double = Type.DOUBLE; + // /** Type for "float". */ + // private static final @InternedDistinct BasicType CD_float = Type.FLOAT; + /** Type for "int". */ + private static final @InternedDistinct BasicType CD_int = Type.INT; + + // /** Type for "long". */ + // private static final @InternedDistinct BasicType CD_long = Type.LONG; + // /** Type for "short". */ + // private static final @InternedDistinct BasicType CD_short = Type.SHORT; + /** Type for "void". */ + private static final @InternedDistinct BasicType CD_void = Type.VOID; + + /** "java.lang.Object[]". */ + protected static Type objectArrayCD = new ArrayType(CD_Object, 1); + + // protected static ObjectType CD_Throwable = new ObjectType("java.lang.Throwable"); + /** Create an instrumenter. Setup debug directories, if needed. */ @SuppressWarnings("nullness:initialization") public Instrument() { @@ -443,12 +484,12 @@ private Method createClinit(ClassGen cg, ClassInfo classInfo) { InstructionList il = new InstructionList(); il.append(call_initNotify(cg, classInfo)); - il.append(InstructionFactory.createReturn(Type.VOID)); // need to return! + il.append(InstructionFactory.createReturn(CD_void)); // need to return! MethodGen newMethGen = new MethodGen( 8, - Type.VOID, + CD_void, new Type[0], new String[0], "", @@ -480,11 +521,7 @@ private InstructionList call_initNotify(ClassGen cg, ClassInfo classInfo) { instructions.append(new PUSH(cp, classInfo.class_name)); instructions.append( instFactory.createInvoke( - runtime_classname, - "initNotify", - Type.VOID, - new Type[] {Type.STRING}, - Const.INVOKESTATIC)); + runtime_classname, "initNotify", CD_void, new Type[] {CD_String}, Const.INVOKESTATIC)); return instructions; } @@ -758,7 +795,7 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { Type type = mgen.getReturnType(); InstructionList newCode = new InstructionList(); - if (type != Type.VOID) { + if (type != CD_void) { LocalVariableGen return_loc = getReturnLocal(mgen, type); newCode.append(InstructionFactory.createDup(type.getSize())); newCode.append(InstructionFactory.createStore(type, return_loc.getIndex())); @@ -851,7 +888,7 @@ private void addInstrumentationAtEntry(InstructionList instructions, MethodGen m InstructionList newCode = new InstructionList(); // Create the nonce local variable. - LocalVariableGen nonce_lv = create_method_scope_local(mgen, "this_invocation_nonce", Type.INT); + LocalVariableGen nonce_lv = create_method_scope_local(mgen, "this_invocation_nonce", CD_int); printStackMapTable("After cln"); @@ -869,10 +906,10 @@ private void addInstrumentationAtEntry(InstructionList instructions, MethodGen m // This is multi-thread safe and leaves int value of nonce on stack. newCode.append( instFactory.createInvoke( - atomic_int_classname, "getAndIncrement", Type.INT, new Type[] {}, Const.INVOKEVIRTUAL)); + atomic_int_classname, "getAndIncrement", CD_int, new Type[] {}, Const.INVOKEVIRTUAL)); // istore (pop original value of nonce into this_invocation_nonce). - newCode.append(InstructionFactory.createStore(Type.INT, nonce_lv.getIndex())); + newCode.append(InstructionFactory.createStore(CD_int, nonce_lv.getIndex())); newCode.setPositions(); InstructionHandle end = newCode.getEnd(); @@ -986,7 +1023,7 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int newCode.append(new ACONST_NULL()); } else { // Must be an instance method. - newCode.append(InstructionFactory.createLoad(Type.OBJECT, 0)); + newCode.append(InstructionFactory.createLoad(CD_Object, 0)); } // The offset of the first parameter. @@ -997,7 +1034,7 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int // Push the nonce. @SuppressWarnings("nullness:assignment") // the nonce local exists @NonNull LocalVariableGen nonce_lv = get_nonce_local(mgen); - newCode.append(InstructionFactory.createLoad(Type.INT, nonce_lv.getIndex())); + newCode.append(InstructionFactory.createLoad(CD_int, nonce_lv.getIndex())); // iconst // Push the MethodInfo index. @@ -1007,7 +1044,7 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int // anewarray // Create an array of objects with elements for each parameter. newCode.append(instFactory.createConstant(paramTypes.length)); - newCode.append(instFactory.createNewArray(Type.OBJECT, (short) 1)); + newCode.append(instFactory.createNewArray(CD_Object, (short) 1)); Type object_arr_typ = new ArrayType("java.lang.Object", 1); @@ -1020,9 +1057,9 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int if (at instanceof BasicType) { newCode.append(createPrimitiveWrapper(at, param_index)); } else { // must be reference of some sort - newCode.append(InstructionFactory.createLoad(Type.OBJECT, param_index)); + newCode.append(InstructionFactory.createLoad(CD_Object, param_index)); } - newCode.append(InstructionFactory.createArrayStore(Type.OBJECT)); + newCode.append(InstructionFactory.createArrayStore(CD_Object)); param_index += at.getSize(); } @@ -1031,14 +1068,14 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int // If the return value is a primitive, wrap it in the appropriate wrapper. if (methodToCall.equals("exit")) { Type ret_type = mgen.getReturnType(); - if (ret_type == Type.VOID) { + if (ret_type == CD_void) { newCode.append(new ACONST_NULL()); } else { LocalVariableGen returnLocal = getReturnLocal(mgen, ret_type); if (ret_type instanceof BasicType) { newCode.append(createPrimitiveWrapper(ret_type, returnLocal.getIndex())); } else { - newCode.append(InstructionFactory.createLoad(Type.OBJECT, returnLocal.getIndex())); + newCode.append(InstructionFactory.createLoad(CD_Object, returnLocal.getIndex())); } } @@ -1050,14 +1087,13 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int // Call the specified method. Type[] methodArgs; if (methodToCall.equals("exit")) { - methodArgs = - new Type[] {Type.OBJECT, Type.INT, Type.INT, object_arr_typ, Type.OBJECT, Type.INT}; + methodArgs = new Type[] {CD_Object, CD_int, CD_int, object_arr_typ, CD_Object, CD_int}; } else { - methodArgs = new Type[] {Type.OBJECT, Type.INT, Type.INT, object_arr_typ}; + methodArgs = new Type[] {CD_Object, CD_int, CD_int, object_arr_typ}; } newCode.append( instFactory.createInvoke( - runtime_classname, methodToCall, Type.VOID, methodArgs, Const.INVOKESTATIC)); + runtime_classname, methodToCall, CD_void, methodArgs, Const.INVOKESTATIC)); return newCode; } @@ -1108,11 +1144,11 @@ private InstructionList createPrimitiveWrapper(Type prim_type, int var_index) { InstructionList newCode = new InstructionList(); String classname = runtime_classname + "$" + wrapperClassName; newCode.append(instFactory.createNew(classname)); - newCode.append(InstructionFactory.createDup(Type.OBJECT.getSize())); + newCode.append(InstructionFactory.createDup(CD_Object.getSize())); newCode.append(InstructionFactory.createLoad(prim_type, var_index)); newCode.append( instFactory.createInvoke( - classname, "", Type.VOID, new Type[] {prim_type}, Const.INVOKESPECIAL)); + classname, "", CD_void, new Type[] {prim_type}, Const.INVOKESPECIAL)); return newCode; } diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 3cb0edb21c..2e948ab309 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -92,6 +92,7 @@ import org.apache.bcel.generic.StoreInstruction; import org.apache.bcel.generic.Type; import org.apache.bcel.verifier.structurals.OperandStack; +import org.checkerframework.checker.interning.qual.InternedDistinct; import org.checkerframework.checker.lock.qual.GuardSatisfied; import org.checkerframework.checker.nullness.qual.EnsuresNonNull; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; @@ -145,54 +146,88 @@ public class DCInstrument extends InstructionListUtils { /** Local that stores the tag frame for the current method. */ protected @Nullable LocalVariableGen tagFrameLocal; - // Type descriptors + // Type descriptors: non-arrays + + /** Type for "java.lang.Class". */ + protected static ObjectType CD_Class = new ObjectType("java.lang.Class"); /** "java.lang.Object". */ - protected static ObjectType javalangObject = new ObjectType("java.lang.Object"); + private static final ObjectType CD_Object = Type.OBJECT; - /** "java.lang.Object[]". */ - protected static Type object_arr = new ArrayType(Type.OBJECT, 1); + // private static final ObjectType CD_Object = new ObjectType("java.lang.Object"); + + /** Type for "java.lang.String". */ + private static final ObjectType CD_String = Type.STRING; - /** ObjectType for "java.lang.Throwable". */ - protected static ObjectType throwable = new ObjectType("java.lang.Throwable"); + /** Type for "java.lang.Throwable". */ + private static final ObjectType CD_Throwable = Type.THROWABLE; - /** ObjectType for "java.lang.Class". */ - protected static Type javalangClass = new ObjectType("java.lang.Class"); + // private static final ObjectType CD_Throwable = new ObjectType("java.lang.Throwable"); /** The special DCompMarker type. */ - protected ObjectType dcomp_marker; + protected final ObjectType dcomp_marker; + + /** Type for "boolean". */ + private static final @InternedDistinct BasicType CD_boolean = Type.BOOLEAN; + + /** Type for "byte". */ + private static final @InternedDistinct BasicType CD_byte = Type.BYTE; + + /** Type for "char". */ + private static final @InternedDistinct BasicType CD_char = Type.CHAR; + + /** Type for "double". */ + private static final @InternedDistinct BasicType CD_double = Type.DOUBLE; + + /** Type for "float". */ + private static final @InternedDistinct BasicType CD_float = Type.FLOAT; + + /** Type for "int". */ + private static final @InternedDistinct BasicType CD_int = Type.INT; + + /** Type for "long". */ + private static final @InternedDistinct BasicType CD_long = Type.LONG; + + /** Type for "short". */ + private static final @InternedDistinct BasicType CD_short = Type.SHORT; - // Signature descriptors + /** Type for "void". */ + private static final @InternedDistinct BasicType CD_void = Type.VOID; - // No parameters + // Type descriptors: arrays + + /** "java.lang.Object[]". */ + protected static Type CD_Object_array = new ArrayType(CD_Object, 1); + + // Signature descriptors: no parameters /** Type array with no parameters. */ protected static final Type[] noArgsSig = new Type[0]; - // One parameter + // Signature descriptors: one parameter /** Type array with an int. */ - protected static Type[] intSig = new Type[] {Type.INT}; + protected static Type[] intSig = {CD_int}; /** Type array with a long. */ - protected static Type[] longSig = new Type[] {Type.LONG}; + protected static Type[] longSig = {CD_long}; /** Type array with a string. */ - protected static Type[] string_arg = new Type[] {Type.STRING}; + protected static Type[] string_arg = {CD_String}; /** Type array with an object. */ - protected static Type[] object_arg = new Type[] {Type.OBJECT}; + protected static Type[] object_arg = {CD_Object}; - // Two parameters + // Signature descriptors: two parameters /** Type array with a long and an int. */ - protected static Type[] longIntSig = new Type[] {Type.LONG, Type.INT}; + protected static Type[] longIntSig = {CD_long, CD_int}; /** Type array with an object and an int. */ - protected static Type[] objectIntSig = new Type[] {Type.OBJECT, Type.INT}; + protected static Type[] objectIntSig = {CD_Object, CD_int}; /** Type array with two objects. */ - protected static Type[] objectObjectSig = new Type[] {Type.OBJECT, Type.OBJECT}; + protected static Type[] objectObjectSig = {CD_Object, CD_Object}; // Debug loggers @@ -1226,7 +1261,7 @@ public void build_exception_handler(MethodGen mgen) { il.append(new DUP()); il.append( ifact.createInvoke( - dcompRuntimeClassName, "exception_exit", Type.VOID, object_arg, Const.INVOKESTATIC)); + dcompRuntimeClassName, "exception_exit", CD_void, object_arg, Const.INVOKESTATIC)); il.append(new ATHROW()); add_exception_handler(mgen, il); @@ -1257,7 +1292,7 @@ public void add_exception_handler(MethodGen mgen, InstructionList catch_il) { global_catch_il = catch_il; @SuppressWarnings("nullness:argument") // looks like a genuine defect here in the call CodeExceptionGen global_exception_handler_tmp = - new CodeExceptionGen(start, end, null, throwable); + new CodeExceptionGen(start, end, null, CD_Throwable); global_exception_handler = global_exception_handler_tmp; } @@ -1277,7 +1312,7 @@ public void install_exception_handler(MethodGen mgen) { InstructionHandle end = global_exception_handler.getEndPC(); InstructionHandle exc = cur_il.append(global_catch_il); cur_il.setPositions(); - mgen.addExceptionHandler(start, end, exc, throwable); + mgen.addExceptionHandler(start, end, exc, CD_Throwable); // discard temporary handler global_catch_il = null; global_exception_handler = null; @@ -1313,7 +1348,7 @@ public void install_exception_handler(MethodGen mgen) { StackMapEntry map_entry; StackMapType stack_map_type = new StackMapType( - Const.ITEM_Object, pool.addClass(throwable.getClassName()), pool.getConstantPool()); + Const.ITEM_Object, pool.addClass(CD_Throwable.getClassName()), pool.getConstantPool()); StackMapType[] stack_map_types = {stack_map_type}; map_entry = new StackMapEntry( @@ -1387,7 +1422,7 @@ public void add_create_tag_frame(MethodGen mgen) { // Insert a new StackMapEntry at the beginning of the table // that adds the tag_frame variable. - StackMapType tag_frame_type = generateStackMapTypeFromType(object_arr); + StackMapType tag_frame_type = generateStackMapTypeFromType(CD_Object_array); StackMapType[] stack_map_type_arr = {tag_frame_type}; new_stack_map_table[0] = new StackMapEntry( @@ -1423,7 +1458,7 @@ public void add_enter(MethodGen mgen, MethodInfo mi, int method_info_index) { * @return LocalVariableGen for the tag_frame local */ LocalVariableGen create_tagFrameLocal(MethodGen mgen) { - return create_method_scope_local(mgen, "dcomp_tag_frame$5a", object_arr); + return create_method_scope_local(mgen, "dcomp_tag_frame$5a", CD_Object_array); } /** @@ -1469,8 +1504,12 @@ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) il.append(ifact.createConstant(params)); il.append( ifact.createInvoke( - dcompRuntimeClassName, "create_tag_frame", object_arr, string_arg, Const.INVOKESTATIC)); - il.append(InstructionFactory.createStore(object_arr, tagFrameLocal.getIndex())); + dcompRuntimeClassName, + "create_tag_frame", + CD_Object_array, + string_arg, + Const.INVOKESTATIC)); + il.append(InstructionFactory.createStore(CD_Object_array, tagFrameLocal.getIndex())); debugInstrument.log("Store Tag frame local at index %d%n", tagFrameLocal.getIndex()); return il; @@ -1496,13 +1535,13 @@ InstructionList callEnterOrExit( Type[] paramTypes = mgen.getArgumentTypes(); // Push the tag frame - il.append(InstructionFactory.createLoad(object_arr, tagFrameLocal.getIndex())); + il.append(InstructionFactory.createLoad(CD_Object_array, tagFrameLocal.getIndex())); // Push the object. Null if this is a static method or a constructor if (mgen.isStatic() || (enterOrExit.equals("enter") && BcelUtil.isConstructor(mgen))) { il.append(new ACONST_NULL()); } else { // must be an instance method - il.append(InstructionFactory.createLoad(Type.OBJECT, 0)); + il.append(InstructionFactory.createLoad(CD_Object, 0)); } // Determine the offset of the first parameter @@ -1516,21 +1555,21 @@ InstructionList callEnterOrExit( // Create an array of objects with elements for each parameter il.append(ifact.createConstant(paramTypes.length)); - il.append(ifact.createNewArray(Type.OBJECT, (short) 1)); + il.append(ifact.createNewArray(CD_Object, (short) 1)); // Put each argument into the array int param_index = param_offset; for (int ii = 0; ii < paramTypes.length; ii++) { - il.append(InstructionFactory.createDup(object_arr.getSize())); + il.append(InstructionFactory.createDup(CD_Object_array.getSize())); il.append(ifact.createConstant(ii)); Type at = paramTypes[ii]; if (at instanceof BasicType) { il.append(new ACONST_NULL()); // il.append (createPrimitiveWrapper (c, at, param_index)); } else { // must be reference of some sort - il.append(InstructionFactory.createLoad(Type.OBJECT, param_index)); + il.append(InstructionFactory.createLoad(CD_Object, param_index)); } - il.append(InstructionFactory.createArrayStore(Type.OBJECT)); + il.append(InstructionFactory.createArrayStore(CD_Object)); param_index += at.getSize(); } @@ -1539,7 +1578,7 @@ InstructionList callEnterOrExit( // If the return value is a primitive, wrap it in the appropriate run-time wrapper. if (enterOrExit.equals("exit")) { Type returnType = mgen.getReturnType(); - if (returnType == Type.VOID) { + if (returnType == CD_void) { il.append(new ACONST_NULL()); } else { LocalVariableGen return_local = get_return_local(mgen, returnType); @@ -1547,7 +1586,7 @@ InstructionList callEnterOrExit( il.append(new ACONST_NULL()); // il.append (createPrimitiveWrapper (c, returnType, return_local.getIndex())); } else { - il.append(InstructionFactory.createLoad(Type.OBJECT, return_local.getIndex())); + il.append(InstructionFactory.createLoad(CD_Object, return_local.getIndex())); } } @@ -1559,13 +1598,13 @@ InstructionList callEnterOrExit( Type[] method_params; if (enterOrExit.equals("exit")) { method_params = - new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr, Type.OBJECT, Type.INT}; + new Type[] {CD_Object_array, CD_Object, CD_int, CD_Object_array, CD_Object, CD_int}; } else { - method_params = new Type[] {object_arr, Type.OBJECT, Type.INT, object_arr}; + method_params = new Type[] {CD_Object_array, CD_Object, CD_int, CD_Object_array}; } il.append( ifact.createInvoke( - dcompRuntimeClassName, enterOrExit, Type.VOID, method_params, Const.INVOKESTATIC)); + dcompRuntimeClassName, enterOrExit, CD_void, method_params, Const.INVOKESTATIC)); return il; } @@ -1610,7 +1649,7 @@ InstructionList callEnterOrExit( // the object on top of stack is of the specified type. We push a // tag for a constant, since nothing is made comparable by this. case Const.INSTANCEOF: - return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call("push_const", CD_void, Type.NO_ARGS), inst); // Duplicates the item on the top of stack. If the value on the // top of the stack is a primitive, we need to do the same on the @@ -1669,7 +1708,7 @@ InstructionList callEnterOrExit( case Const.IF_ICMPLT: case Const.IF_ICMPNE: { - return build_il(dcr_call("cmp_op", Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call("cmp_op", CD_void, Type.NO_ARGS), inst); } case Const.GETFIELD: @@ -1764,7 +1803,7 @@ InstructionList callEnterOrExit( case Const.LCONST_0: case Const.LCONST_1: { - return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call("push_const", CD_void, Type.NO_ARGS), inst); } // Primitive Binary operators. Each is augmented with a call to @@ -1807,7 +1846,7 @@ InstructionList callEnterOrExit( case Const.LSUB: case Const.LUSHR: case Const.LXOR: - return build_il(dcr_call("binary_tag_op", Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call("binary_tag_op", CD_void, Type.NO_ARGS), inst); // Computed jump based on the int on the top of stack. Since that int // is not made comparable to anything, we just discard its tag. One @@ -1848,28 +1887,28 @@ InstructionList callEnterOrExit( // the tag for the value on the top of the stack in the tag storage // for the array. case Const.AASTORE: - return array_store(inst, "aastore", Type.OBJECT); + return array_store(inst, "aastore", CD_Object); case Const.BASTORE: // The JVM uses bastore for both byte and boolean. // We need to differentiate. Type arr_type = stack.peek(2); if (arr_type.getSignature().equals("[Z")) { - return array_store(inst, "zastore", Type.BOOLEAN); + return array_store(inst, "zastore", CD_boolean); } else { - return array_store(inst, "bastore", Type.BYTE); + return array_store(inst, "bastore", CD_byte); } case Const.CASTORE: - return array_store(inst, "castore", Type.CHAR); + return array_store(inst, "castore", CD_char); case Const.DASTORE: - return array_store(inst, "dastore", Type.DOUBLE); + return array_store(inst, "dastore", CD_double); case Const.FASTORE: - return array_store(inst, "fastore", Type.FLOAT); + return array_store(inst, "fastore", CD_float); case Const.IASTORE: - return array_store(inst, "iastore", Type.INT); + return array_store(inst, "iastore", CD_int); case Const.LASTORE: - return array_store(inst, "lastore", Type.LONG); + return array_store(inst, "lastore", CD_long); case Const.SASTORE: - return array_store(inst, "sastore", Type.SHORT); + return array_store(inst, "sastore", CD_short); // Prefix the return with a call to the correct normal_exit method // to handle the tag stack @@ -1902,7 +1941,7 @@ InstructionList callEnterOrExit( // Throws an exception. This clears the operand stack of the current // frame. We need to clear the tag stack as well. case Const.ATHROW: - return build_il(dcr_call("throw_op", Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call("throw_op", CD_void, Type.NO_ARGS), inst); // Opcodes that don't need any modifications. Here for reference case Const.ACONST_NULL: @@ -1988,7 +2027,7 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { if (inst instanceof ReturnInstruction) { Type type = mgen.getReturnType(); InstructionList new_il = new InstructionList(); - if (type != Type.VOID) { + if (type != CD_void) { LocalVariableGen return_loc = get_return_local(mgen, type); new_il.append(InstructionFactory.createDup(type.getSize())); new_il.append(InstructionFactory.createStore(type, return_loc.getIndex())); @@ -2092,7 +2131,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { // Replace calls to Object's equals method with calls to our // replacement, a static method in DCRuntime. - Type[] new_param_types = new Type[] {javalangObject, javalangObject}; + Type[] new_param_types = {CD_Object, CD_Object}; InstructionList il = new InstructionList(); il.append( @@ -2151,11 +2190,11 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { } // Add a tag for the return type if it is primitive. - if ((returnType instanceof BasicType) && (returnType != Type.VOID)) { + if ((returnType instanceof BasicType) && (returnType != CD_void)) { if (debugHandleInvoke) { System.out.printf("push tag for return type of %s%n", invoke.getReturnType(pool)); } - il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); + il.append(dcr_call("push_const", CD_void, Type.NO_ARGS)); } il.append(invoke); return il; @@ -2583,9 +2622,9 @@ private static class SuperclassNameError extends Error { @Pure boolean is_object_equals(@Identifier String methodName, Type returnType, Type[] paramTypes) { return (methodName.equals("equals") - && returnType == Type.BOOLEAN + && returnType == CD_boolean && paramTypes.length == 1 - && paramTypes[0].equals(javalangObject)); + && paramTypes[0].equals(CD_Object)); } /** @@ -2598,9 +2637,7 @@ boolean is_object_equals(@Identifier String methodName, Type returnType, Type[] */ @Pure boolean is_object_clone(@Identifier String methodName, Type returnType, Type[] paramTypes) { - return methodName.equals("clone") - && returnType.equals(javalangObject) - && (paramTypes.length == 0); + return methodName.equals("clone") && returnType.equals(CD_Object) && (paramTypes.length == 0); } /** @@ -2630,14 +2667,14 @@ InstructionList instrument_clone_call(InvokeInstruction invoke) { // Runtime will discover if the object's superclass has an instrumented clone method. // If so, call it; otherwise call the uninstrumented version. - il.append(dcr_call("dcomp_super_clone", returnType, new Type[] {Type.OBJECT, javalangClass})); + il.append(dcr_call("dcomp_super_clone", returnType, new Type[] {CD_Object, CD_Class})); } else { // This is a regular (non-super) clone() call. // Runtime will discover if the object has an instrumented clone method. // If so, call it; otherwise call the uninstrumented version. - il.append(dcr_call("dcomp_clone", returnType, new Type[] {Type.OBJECT, javalangClass})); + il.append(dcr_call("dcomp_clone", returnType, new Type[] {CD_Object, CD_Class})); } return il; @@ -2656,7 +2693,7 @@ InstructionList object_comparison( ifact.createInvoke( dcompRuntimeClassName, compare_method, - Type.BOOLEAN, + CD_boolean, objectObjectSig, Const.INVOKESTATIC)); assert branch.getTarget() != null; @@ -2682,10 +2719,10 @@ InstructionList object_comparison( // If this class doesn't support tag fields, don't load/store them. if (!tag_fields_ok(mgen, classname)) { if ((fi instanceof GETFIELD) || (fi instanceof GETSTATIC)) { - il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); + il.append(dcr_call("push_const", CD_void, Type.NO_ARGS)); } else { il.append(ifact.createConstant(1)); - il.append(dcr_call("discard_tag", Type.VOID, intSig)); + il.append(dcr_call("discard_tag", CD_void, intSig)); } // Perform the orginal field command. @@ -2698,7 +2735,7 @@ InstructionList object_comparison( ifact.createInvoke( classname, Premain.tag_method_name(Premain.GET_TAG, classname, fi.getFieldName(pool)), - Type.VOID, + CD_void, Type.NO_ARGS, Const.INVOKESTATIC)); } else if (fi instanceof PUTSTATIC) { @@ -2706,7 +2743,7 @@ InstructionList object_comparison( ifact.createInvoke( classname, Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), - Type.VOID, + CD_void, Type.NO_ARGS, Const.INVOKESTATIC)); } else if (fi instanceof GETFIELD) { @@ -2715,7 +2752,7 @@ InstructionList object_comparison( ifact.createInvoke( classname, Premain.tag_method_name(Premain.GET_TAG, classname, fi.getFieldName(pool)), - Type.VOID, + CD_void, Type.NO_ARGS, Const.INVOKEVIRTUAL)); } else { // must be put field @@ -2727,7 +2764,7 @@ InstructionList object_comparison( ifact.createInvoke( classname, Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), - Type.VOID, + CD_void, Type.NO_ARGS, Const.INVOKEVIRTUAL)); il.append(InstructionFactory.createLoad(field_type, lv.getIndex())); @@ -2738,7 +2775,7 @@ InstructionList object_comparison( ifact.createInvoke( classname, Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), - Type.VOID, + CD_void, Type.NO_ARGS, Const.INVOKEVIRTUAL)); il.append(new SWAP()); @@ -2765,8 +2802,8 @@ InstructionList load_store_local( InstructionList il = new InstructionList(); // Push the tag frame and the index of this local - il.append(InstructionFactory.createLoad(object_arr, tagFrameLocal.getIndex())); - debugInstrument.log("CreateLoad %s %d%n", object_arr, tagFrameLocal.getIndex()); + il.append(InstructionFactory.createLoad(CD_Object_array, tagFrameLocal.getIndex())); + debugInstrument.log("CreateLoad %s %d%n", CD_Object_array, tagFrameLocal.getIndex()); il.append(ifact.createConstant(lvi.getIndex())); // Call the runtime method to handle loading/storing the local/parameter @@ -2774,8 +2811,8 @@ InstructionList load_store_local( ifact.createInvoke( dcompRuntimeClassName, method, - Type.VOID, - new Type[] {object_arr, Type.INT}, + CD_void, + new Type[] {CD_Object_array, CD_int}, Const.INVOKESTATIC)); il.append(lvi); return il; @@ -2985,11 +3022,11 @@ void trackClass_init() { } if (cinit == null) { InstructionList il = new InstructionList(); - il.append(InstructionFactory.createReturn(Type.VOID)); + il.append(InstructionFactory.createReturn(CD_void)); MethodGen cinit_classGen = new MethodGen( Const.ACC_STATIC, - Type.VOID, + CD_void, Type.NO_ARGS, new String[0], "", @@ -3014,7 +3051,7 @@ void trackClass_init() { ifact.createInvoke( dcompRuntimeClassName, "set_class_initialized", - Type.VOID, + CD_void, string_arg, Const.INVOKESTATIC)); @@ -3055,7 +3092,7 @@ InstructionList array_load(Instruction inst) { method = "primitive_array_load_null_ok"; } - il.append(dcr_call(method, Type.VOID, new Type[] {Type.OBJECT, Type.INT})); + il.append(dcr_call(method, CD_void, new Type[] {CD_Object, CD_int})); // Perform the original instruction il.append(inst); @@ -3078,7 +3115,7 @@ InstructionList array_store(Instruction inst, @Identifier String method, Type ba InstructionList il = new InstructionList(); Type arr_type = new ArrayType(base_type, 1); - il.append(dcr_call(method, Type.VOID, new Type[] {arr_type, Type.INT, base_type})); + il.append(dcr_call(method, CD_void, new Type[] {arr_type, CD_int, base_type})); return il; } @@ -3097,7 +3134,7 @@ InstructionList array_length(Instruction inst) { // Duplicate the array ref and pass it to DCRuntime which will push // it onto the tag stack. il.append(new DUP()); - il.append(dcr_call("push_array_tag", Type.VOID, new Type[] {Type.OBJECT})); + il.append(dcr_call("push_array_tag", CD_void, new Type[] {CD_Object})); // Perform the original instruction il.append(inst); @@ -3120,11 +3157,11 @@ InstructionList new_array(Instruction inst) { // Duplicate the array ref from the top of the stack and pass it // to DCRuntime which will push it onto the tag stack. il.append(new DUP()); - il.append(dcr_call("push_array_tag", Type.VOID, new Type[] {Type.OBJECT})); + il.append(dcr_call("push_array_tag", CD_void, new Type[] {CD_Object})); // Make the array and the count comparable. Also, pop the tags for // the array and the count off the tag stack. - il.append(dcr_call("cmp_op", Type.VOID, Type.NO_ARGS)); + il.append(dcr_call("cmp_op", CD_void, Type.NO_ARGS)); return il; } @@ -3149,8 +3186,8 @@ InstructionList multiarray2(Instruction inst) { // Stack is now: ..., arrayref, count1, count2, arrayref il.append(new DUP_X2()); - Type objArray = new ArrayType(Type.OBJECT, 1); - il.append(dcr_call("multianewarray2", Type.VOID, new Type[] {Type.INT, Type.INT, objArray})); + Type objArray = new ArrayType(CD_Object, 1); + il.append(dcr_call("multianewarray2", CD_void, new Type[] {CD_int, CD_int, objArray})); return il; } @@ -3245,7 +3282,7 @@ InvokeInstruction dcr_call(@Identifier String methodName, Type returnType, Type[ InstructionList discard_tag_code(Instruction inst, int tag_count) { InstructionList il = new InstructionList(); il.append(ifact.createConstant(tag_count)); - il.append(dcr_call("discard_tag", Type.VOID, intSig)); + il.append(dcr_call("discard_tag", CD_void, intSig)); append_inst(il, inst); return il; } @@ -3260,7 +3297,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { debug_dup.log("DUP -> %s [... %s]%n", "dup", stack_contents(stack, 2)); } if (is_primitive(top)) { - return build_il(dcr_call("dup", Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call("dup", CD_void, Type.NO_ARGS), inst); } return null; } @@ -3283,7 +3320,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { if (!is_primitive(stack.peek(1))) { method = "dup"; } - return build_il(dcr_call(method, Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call(method, CD_void, Type.NO_ARGS), inst); } /** @@ -3320,7 +3357,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { debug_dup.log("DUP2_X1 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call(op, CD_void, Type.NO_ARGS), inst); } /** @@ -3341,7 +3378,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { if (debug_dup.enabled) { debug_dup.log("DUP2 -> %s [... %s]%n", op, stack_contents(stack, 2)); } - return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call(op, CD_void, Type.NO_ARGS), inst); } /** @@ -3363,7 +3400,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { if (debug_dup.enabled) { debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call(op, CD_void, Type.NO_ARGS), inst); } /** @@ -3427,7 +3464,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { if (debug_dup.enabled) { debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - return build_il(dcr_call(op, Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call(op, CD_void, Type.NO_ARGS), inst); } /** @@ -3473,7 +3510,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { Type type1 = stack.peek(); Type type2 = stack.peek(1); if (is_primitive(type1) && is_primitive(type2)) { - return build_il(dcr_call("swap", Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call("swap", CD_void, Type.NO_ARGS), inst); } return null; } @@ -3492,7 +3529,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { if (!(type instanceof BasicType)) { return null; } - return build_il(dcr_call("push_const", Type.VOID, Type.NO_ARGS), inst); + return build_il(dcr_call("push_const", CD_void, Type.NO_ARGS), inst); } /** @@ -3525,12 +3562,12 @@ InstructionList return_tag(MethodGen mgen, Instruction inst) { InstructionList il = new InstructionList(); // Push the tag frame - il.append(InstructionFactory.createLoad(object_arr, tagFrameLocal.getIndex())); + il.append(InstructionFactory.createLoad(CD_Object_array, tagFrameLocal.getIndex())); - if ((type instanceof BasicType) && (type != Type.VOID)) { - il.append(dcr_call("normal_exit_primitive", Type.VOID, new Type[] {object_arr})); + if ((type instanceof BasicType) && (type != CD_void)) { + il.append(dcr_call("normal_exit_primitive", CD_void, new Type[] {CD_Object_array})); } else { - il.append(dcr_call("normal_exit", Type.VOID, new Type[] {object_arr})); + il.append(dcr_call("normal_exit", CD_void, new Type[] {CD_Object_array})); } il.append(inst); return il; @@ -3544,7 +3581,7 @@ InstructionList return_tag(MethodGen mgen, Instruction inst) { */ @Pure boolean is_primitive(Type type) { - return (type instanceof BasicType) && (type != Type.VOID); + return (type instanceof BasicType) && (type != CD_void); } /** @@ -3555,7 +3592,7 @@ boolean is_primitive(Type type) { */ @Pure boolean is_category2(Type type) { - return (type == Type.DOUBLE) || (type == Type.LONG); + return (type == CD_double) || (type == CD_long); } /** @@ -3572,21 +3609,21 @@ static Class type_to_class(Type t, @Nullable ClassLoader loader) { loader = DCInstrument.class.getClassLoader(); } - if (t == Type.BOOLEAN) { + if (t == CD_boolean) { return Boolean.TYPE; - } else if (t == Type.BYTE) { + } else if (t == CD_byte) { return Byte.TYPE; - } else if (t == Type.CHAR) { + } else if (t == CD_char) { return Character.TYPE; - } else if (t == Type.DOUBLE) { + } else if (t == CD_double) { return Double.TYPE; - } else if (t == Type.FLOAT) { + } else if (t == CD_float) { return Float.TYPE; - } else if (t == Type.INT) { + } else if (t == CD_int) { return Integer.TYPE; - } else if (t == Type.LONG) { + } else if (t == CD_long) { return Long.TYPE; - } else if (t == Type.SHORT) { + } else if (t == CD_short) { return Short.TYPE; } else if (t instanceof ObjectType || t instanceof ArrayType) { @ClassGetName String sig = typeToClassGetName(t); @@ -3640,8 +3677,8 @@ void fix_native(ClassGen classGen, MethodGen mgen) { // push a tag if there is a primitive return value Type returnType = mgen.getReturnType(); - if ((returnType instanceof BasicType) && (returnType != Type.VOID)) { - il.append(dcr_call("push_const", Type.VOID, Type.NO_ARGS)); + if ((returnType instanceof BasicType) && (returnType != CD_void)) { + il.append(dcr_call("push_const", CD_void, Type.NO_ARGS)); } // If the method is not static, push the instance on the stack @@ -3659,7 +3696,7 @@ void fix_native(ClassGen classGen, MethodGen mgen) { // The call returns the class realFramesToSkip up on the stack. Since we // have added this call in between, we need to increment that number by 1. - il.append(InstructionFactory.createLoad(Type.INT, 0)); + il.append(InstructionFactory.createLoad(CD_int, 0)); il.append(ifact.createConstant(1)); il.append(new IADD()); // System.out.printf("adding 1 in %s.%s%n", classGen.getClassName(), @@ -3948,8 +3985,8 @@ MethodGen create_get_tag(ClassGen classGen, Field f, int tag_offset) { il.append(InstructionFactory.createThis()); } il.append(ifact.createConstant(tag_offset)); - il.append(dcr_call(methodname, Type.VOID, params)); - il.append(InstructionFactory.createReturn(Type.VOID)); + il.append(dcr_call(methodname, CD_void, params)); + il.append(InstructionFactory.createReturn(CD_void)); int access_flags = f.getAccessFlags(); if (classGen.isInterface()) { @@ -3969,7 +4006,7 @@ MethodGen create_get_tag(ClassGen classGen, Field f, int tag_offset) { MethodGen get_method = new MethodGen( access_flags, - Type.VOID, + CD_void, Type.NO_ARGS, new String[] {}, accessor_name, @@ -4023,8 +4060,8 @@ MethodGen create_set_tag(ClassGen classGen, Field f, int tag_offset) { il.append(InstructionFactory.createThis()); } il.append(ifact.createConstant(tag_offset)); - il.append(dcr_call(methodname, Type.VOID, params)); - il.append(InstructionFactory.createReturn(Type.VOID)); + il.append(dcr_call(methodname, CD_void, params)); + il.append(InstructionFactory.createReturn(CD_void)); int access_flags = f.getAccessFlags(); if (classGen.isInterface()) { @@ -4043,14 +4080,7 @@ MethodGen create_set_tag(ClassGen classGen, Field f, int tag_offset) { // Create the setter method. MethodGen set_method = new MethodGen( - access_flags, - Type.VOID, - Type.NO_ARGS, - new String[] {}, - setter_name, - classname, - il, - pool); + access_flags, CD_void, Type.NO_ARGS, new String[] {}, setter_name, classname, il, pool); set_method.setMaxLocals(); set_method.setMaxStack(); // add_line_numbers(set_method, il); @@ -4085,25 +4115,25 @@ void add_dcomp_interface(ClassGen classGen) { MethodGen method = new MethodGen( access_flags, - Type.BOOLEAN, - new Type[] {Type.OBJECT}, + CD_boolean, + new Type[] {CD_Object}, new String[] {"obj"}, "equals_dcomp_instrumented", classGen.getClassName(), il, pool); - il.append(InstructionFactory.createLoad(Type.OBJECT, 0)); // load this - il.append(InstructionFactory.createLoad(Type.OBJECT, 1)); // load obj + il.append(InstructionFactory.createLoad(CD_Object, 0)); // load this + il.append(InstructionFactory.createLoad(CD_Object, 1)); // load obj il.append(new ACONST_NULL()); // use null for marker il.append( ifact.createInvoke( classGen.getClassName(), "equals", - Type.BOOLEAN, - new Type[] {Type.OBJECT, dcomp_marker}, + CD_boolean, + new Type[] {CD_Object, dcomp_marker}, Const.INVOKEVIRTUAL)); - il.append(InstructionFactory.createReturn(Type.BOOLEAN)); + il.append(InstructionFactory.createReturn(CD_boolean)); method.setMaxStack(); method.setMaxLocals(); classGen.addMethod(method.getMethod()); @@ -4132,24 +4162,24 @@ void add_equals_method(ClassGen classGen) { MethodGen method = new MethodGen( access_flags, - Type.BOOLEAN, - new Type[] {Type.OBJECT}, + CD_boolean, + new Type[] {CD_Object}, new String[] {"obj"}, "equals", classGen.getClassName(), il, pool); - il.append(InstructionFactory.createLoad(Type.OBJECT, 0)); // load this - il.append(InstructionFactory.createLoad(Type.OBJECT, 1)); // load obj + il.append(InstructionFactory.createLoad(CD_Object, 0)); // load this + il.append(InstructionFactory.createLoad(CD_Object, 1)); // load obj il.append( ifact.createInvoke( classGen.getSuperclassName(), "equals", - Type.BOOLEAN, - new Type[] {Type.OBJECT}, + CD_boolean, + new Type[] {CD_Object}, Const.INVOKESPECIAL)); - il.append(InstructionFactory.createReturn(Type.BOOLEAN)); + il.append(InstructionFactory.createReturn(CD_boolean)); method.setMaxStack(); method.setMaxLocals(); classGen.addMethod(method.getMethod()); From 062e7a28843d8026dcf3952408fb345f9bd18eac Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 7 Jan 2026 06:32:05 -0800 Subject: [PATCH 202/211] Reduce diffs in constant names --- java/Makefile | 2 +- java/daikon/chicory/Instrument.java | 4 +- java/daikon/chicory/Instrument24.java | 6 +- java/daikon/dcomp/DCInstrument.java | 749 +++++++++++------ java/daikon/dcomp/DCInstrument24.java | 780 +++++++++++------- .../split/SplitterFactoryTestUpdater.java | 7 +- 6 files changed, 981 insertions(+), 567 deletions(-) diff --git a/java/Makefile b/java/Makefile index 81d928b09c..7c44b49097 100644 --- a/java/Makefile +++ b/java/Makefile @@ -567,7 +567,7 @@ ChicoryPremain.jar : chicory-compile daikon/chicory/manifest.txt daikon/chicory/ChicoryPremain.class .PHONY: chicory-test -chicory-test : daikon/chicory/inv_out.diff +chicory-test: daikon/chicory/inv_out.diff daikon/chicory/inv_out.diff : ChicoryPremain.jar cd daikon/chicory && rm -f ChicoryTest.log ChicoryTest.dtrace.gz ChicoryTest.inv.gz ChicoryTest.inv.out cd daikon/chicory && ${JAVA_COMMAND} daikon.Chicory --verbose --debug daikon.chicory.ChicoryTest > ChicoryTest.log || (cat ChicoryTest.log; false) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 4bb024bad6..0ed7495316 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -1,5 +1,7 @@ package daikon.chicory; +import static org.apache.bcel.Const.ACC_SYNTHETIC; + import daikon.Chicory; import daikon.plumelib.bcelutil.BcelUtil; import daikon.plumelib.bcelutil.InstructionListUtils; @@ -575,7 +577,7 @@ private void instrument_all_methods(ClassGen cg, ClassInfo classInfo) { } // If method is synthetic... (default constructors and are not synthetic). - if ((Const.ACC_SYNTHETIC & mgen.getAccessFlags()) > 0) { + if ((ACC_SYNTHETIC & mgen.getAccessFlags()) > 0) { // We are not going to instrument this method. continue; } diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index dbe09101e4..ddc2eb39b9 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -1,5 +1,7 @@ package daikon.chicory; +import static java.lang.classfile.ClassFile.ACC_STATIC; +import static java.lang.classfile.ClassFile.ACC_SYNTHETIC; import static java.lang.constant.ConstantDescs.CD_Object; import static java.lang.constant.ConstantDescs.CD_String; import static java.lang.constant.ConstantDescs.CD_int; @@ -492,7 +494,7 @@ private void createClinit(ClassBuilder classBuilder, ClassInfo classInfo) { classBuilder.withMethod( "", MethodTypeDesc.of(CD_void), - ClassFile.ACC_STATIC, + ACC_STATIC, methodBuilder -> methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions))); } @@ -566,7 +568,7 @@ private void instrument_all_methods( } // If method is synthetic... (default constructors and are not synthetic). - if ((mgen.getAccessFlagsMask() & ClassFile.ACC_SYNTHETIC) != 0) { + if ((mgen.getAccessFlagsMask() & ACC_SYNTHETIC) != 0) { // We are not going to instrument this method. // We need to copy it to the output class. copyMethodToOutputUnchanged(classBuilder, mm, mgen); diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 2e948ab309..ba3a3c026b 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -1,5 +1,219 @@ package daikon.dcomp; +import static org.apache.bcel.Const.AALOAD; +import static org.apache.bcel.Const.AASTORE; +import static org.apache.bcel.Const.ACC_ABSTRACT; +import static org.apache.bcel.Const.ACC_ANNOTATION; +import static org.apache.bcel.Const.ACC_BRIDGE; +import static org.apache.bcel.Const.ACC_FINAL; +import static org.apache.bcel.Const.ACC_NATIVE; +import static org.apache.bcel.Const.ACC_PUBLIC; +import static org.apache.bcel.Const.ACC_STATIC; +import static org.apache.bcel.Const.ACONST_NULL; +import static org.apache.bcel.Const.ALOAD; +import static org.apache.bcel.Const.ALOAD_0; +import static org.apache.bcel.Const.ALOAD_1; +import static org.apache.bcel.Const.ALOAD_2; +import static org.apache.bcel.Const.ALOAD_3; +import static org.apache.bcel.Const.ANEWARRAY; +import static org.apache.bcel.Const.APPEND_FRAME; +import static org.apache.bcel.Const.ARETURN; +import static org.apache.bcel.Const.ARRAYLENGTH; +import static org.apache.bcel.Const.ASTORE; +import static org.apache.bcel.Const.ASTORE_0; +import static org.apache.bcel.Const.ASTORE_1; +import static org.apache.bcel.Const.ASTORE_2; +import static org.apache.bcel.Const.ASTORE_3; +import static org.apache.bcel.Const.ATHROW; +import static org.apache.bcel.Const.BALOAD; +import static org.apache.bcel.Const.BASTORE; +import static org.apache.bcel.Const.BIPUSH; +import static org.apache.bcel.Const.CALOAD; +import static org.apache.bcel.Const.CASTORE; +import static org.apache.bcel.Const.CHECKCAST; +import static org.apache.bcel.Const.D2F; +import static org.apache.bcel.Const.D2I; +import static org.apache.bcel.Const.D2L; +import static org.apache.bcel.Const.DADD; +import static org.apache.bcel.Const.DALOAD; +import static org.apache.bcel.Const.DASTORE; +import static org.apache.bcel.Const.DCMPG; +import static org.apache.bcel.Const.DCMPL; +import static org.apache.bcel.Const.DCONST_0; +import static org.apache.bcel.Const.DCONST_1; +import static org.apache.bcel.Const.DDIV; +import static org.apache.bcel.Const.DLOAD; +import static org.apache.bcel.Const.DLOAD_0; +import static org.apache.bcel.Const.DLOAD_1; +import static org.apache.bcel.Const.DLOAD_2; +import static org.apache.bcel.Const.DLOAD_3; +import static org.apache.bcel.Const.DMUL; +import static org.apache.bcel.Const.DNEG; +import static org.apache.bcel.Const.DREM; +import static org.apache.bcel.Const.DRETURN; +import static org.apache.bcel.Const.DSTORE; +import static org.apache.bcel.Const.DSTORE_0; +import static org.apache.bcel.Const.DSTORE_1; +import static org.apache.bcel.Const.DSTORE_2; +import static org.apache.bcel.Const.DSTORE_3; +import static org.apache.bcel.Const.DSUB; +import static org.apache.bcel.Const.DUP; +import static org.apache.bcel.Const.DUP2; +import static org.apache.bcel.Const.DUP2_X1; +import static org.apache.bcel.Const.DUP2_X2; +import static org.apache.bcel.Const.DUP_X1; +import static org.apache.bcel.Const.DUP_X2; +import static org.apache.bcel.Const.F2D; +import static org.apache.bcel.Const.F2I; +import static org.apache.bcel.Const.F2L; +import static org.apache.bcel.Const.FADD; +import static org.apache.bcel.Const.FALOAD; +import static org.apache.bcel.Const.FASTORE; +import static org.apache.bcel.Const.FCMPG; +import static org.apache.bcel.Const.FCMPL; +import static org.apache.bcel.Const.FCONST_0; +import static org.apache.bcel.Const.FCONST_1; +import static org.apache.bcel.Const.FCONST_2; +import static org.apache.bcel.Const.FDIV; +import static org.apache.bcel.Const.FLOAD; +import static org.apache.bcel.Const.FLOAD_0; +import static org.apache.bcel.Const.FLOAD_1; +import static org.apache.bcel.Const.FLOAD_2; +import static org.apache.bcel.Const.FLOAD_3; +import static org.apache.bcel.Const.FMUL; +import static org.apache.bcel.Const.FNEG; +import static org.apache.bcel.Const.FREM; +import static org.apache.bcel.Const.FRETURN; +import static org.apache.bcel.Const.FSTORE; +import static org.apache.bcel.Const.FSTORE_0; +import static org.apache.bcel.Const.FSTORE_1; +import static org.apache.bcel.Const.FSTORE_2; +import static org.apache.bcel.Const.FSTORE_3; +import static org.apache.bcel.Const.FSUB; +import static org.apache.bcel.Const.FULL_FRAME; +import static org.apache.bcel.Const.GETFIELD; +import static org.apache.bcel.Const.GETSTATIC; +import static org.apache.bcel.Const.GOTO; +import static org.apache.bcel.Const.GOTO_W; +import static org.apache.bcel.Const.I2B; +import static org.apache.bcel.Const.I2C; +import static org.apache.bcel.Const.I2D; +import static org.apache.bcel.Const.I2F; +import static org.apache.bcel.Const.I2L; +import static org.apache.bcel.Const.I2S; +import static org.apache.bcel.Const.IADD; +import static org.apache.bcel.Const.IALOAD; +import static org.apache.bcel.Const.IAND; +import static org.apache.bcel.Const.IASTORE; +import static org.apache.bcel.Const.ICONST_0; +import static org.apache.bcel.Const.ICONST_1; +import static org.apache.bcel.Const.ICONST_2; +import static org.apache.bcel.Const.ICONST_3; +import static org.apache.bcel.Const.ICONST_4; +import static org.apache.bcel.Const.ICONST_5; +import static org.apache.bcel.Const.ICONST_M1; +import static org.apache.bcel.Const.IDIV; +import static org.apache.bcel.Const.IFEQ; +import static org.apache.bcel.Const.IFGE; +import static org.apache.bcel.Const.IFGT; +import static org.apache.bcel.Const.IFLE; +import static org.apache.bcel.Const.IFLT; +import static org.apache.bcel.Const.IFNE; +import static org.apache.bcel.Const.IFNONNULL; +import static org.apache.bcel.Const.IFNULL; +import static org.apache.bcel.Const.IF_ACMPEQ; +import static org.apache.bcel.Const.IF_ACMPNE; +import static org.apache.bcel.Const.IF_ICMPEQ; +import static org.apache.bcel.Const.IF_ICMPGE; +import static org.apache.bcel.Const.IF_ICMPGT; +import static org.apache.bcel.Const.IF_ICMPLE; +import static org.apache.bcel.Const.IF_ICMPLT; +import static org.apache.bcel.Const.IF_ICMPNE; +import static org.apache.bcel.Const.IINC; +import static org.apache.bcel.Const.ILOAD; +import static org.apache.bcel.Const.ILOAD_0; +import static org.apache.bcel.Const.ILOAD_1; +import static org.apache.bcel.Const.ILOAD_2; +import static org.apache.bcel.Const.ILOAD_3; +import static org.apache.bcel.Const.IMUL; +import static org.apache.bcel.Const.INEG; +import static org.apache.bcel.Const.INSTANCEOF; +import static org.apache.bcel.Const.INVOKEDYNAMIC; +import static org.apache.bcel.Const.INVOKEINTERFACE; +import static org.apache.bcel.Const.INVOKESPECIAL; +import static org.apache.bcel.Const.INVOKESTATIC; +import static org.apache.bcel.Const.INVOKEVIRTUAL; +import static org.apache.bcel.Const.IOR; +import static org.apache.bcel.Const.IREM; +import static org.apache.bcel.Const.IRETURN; +import static org.apache.bcel.Const.ISHL; +import static org.apache.bcel.Const.ISHR; +import static org.apache.bcel.Const.ISTORE; +import static org.apache.bcel.Const.ISTORE_0; +import static org.apache.bcel.Const.ISTORE_1; +import static org.apache.bcel.Const.ISTORE_2; +import static org.apache.bcel.Const.ISTORE_3; +import static org.apache.bcel.Const.ISUB; +import static org.apache.bcel.Const.ITEM_Object; +import static org.apache.bcel.Const.IUSHR; +import static org.apache.bcel.Const.IXOR; +import static org.apache.bcel.Const.JSR; +import static org.apache.bcel.Const.JSR_W; +import static org.apache.bcel.Const.L2D; +import static org.apache.bcel.Const.L2F; +import static org.apache.bcel.Const.L2I; +import static org.apache.bcel.Const.LADD; +import static org.apache.bcel.Const.LALOAD; +import static org.apache.bcel.Const.LAND; +import static org.apache.bcel.Const.LASTORE; +import static org.apache.bcel.Const.LCMP; +import static org.apache.bcel.Const.LCONST_0; +import static org.apache.bcel.Const.LCONST_1; +import static org.apache.bcel.Const.LDC; +import static org.apache.bcel.Const.LDC2_W; +import static org.apache.bcel.Const.LDC_W; +import static org.apache.bcel.Const.LDIV; +import static org.apache.bcel.Const.LLOAD; +import static org.apache.bcel.Const.LLOAD_0; +import static org.apache.bcel.Const.LLOAD_1; +import static org.apache.bcel.Const.LLOAD_2; +import static org.apache.bcel.Const.LLOAD_3; +import static org.apache.bcel.Const.LMUL; +import static org.apache.bcel.Const.LNEG; +import static org.apache.bcel.Const.LOOKUPSWITCH; +import static org.apache.bcel.Const.LOR; +import static org.apache.bcel.Const.LREM; +import static org.apache.bcel.Const.LRETURN; +import static org.apache.bcel.Const.LSHL; +import static org.apache.bcel.Const.LSHR; +import static org.apache.bcel.Const.LSTORE; +import static org.apache.bcel.Const.LSTORE_0; +import static org.apache.bcel.Const.LSTORE_1; +import static org.apache.bcel.Const.LSTORE_2; +import static org.apache.bcel.Const.LSTORE_3; +import static org.apache.bcel.Const.LSUB; +import static org.apache.bcel.Const.LUSHR; +import static org.apache.bcel.Const.LXOR; +import static org.apache.bcel.Const.MAJOR_1_8; +import static org.apache.bcel.Const.MAX_CODE_SIZE; +import static org.apache.bcel.Const.MONITORENTER; +import static org.apache.bcel.Const.MONITOREXIT; +import static org.apache.bcel.Const.MULTIANEWARRAY; +import static org.apache.bcel.Const.NEW; +import static org.apache.bcel.Const.NEWARRAY; +import static org.apache.bcel.Const.NOP; +import static org.apache.bcel.Const.POP; +import static org.apache.bcel.Const.POP2; +import static org.apache.bcel.Const.PUTFIELD; +import static org.apache.bcel.Const.PUTSTATIC; +import static org.apache.bcel.Const.RET; +import static org.apache.bcel.Const.RETURN; +import static org.apache.bcel.Const.SALOAD; +import static org.apache.bcel.Const.SASTORE; +import static org.apache.bcel.Const.SIPUSH; +import static org.apache.bcel.Const.SWAP; +import static org.apache.bcel.Const.TABLESWITCH; + import daikon.DynComp; import daikon.chicory.ClassInfo; import daikon.chicory.DaikonWriter; @@ -32,7 +246,6 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Pattern; -import org.apache.bcel.Const; import org.apache.bcel.classfile.AnnotationEntry; import org.apache.bcel.classfile.Annotations; import org.apache.bcel.classfile.Attribute; @@ -301,7 +514,7 @@ protected enum JunitState { static Map accessFlags = new HashMap<>(); /** Integer constant of access_flag value of ACC_ANNOTATION. */ - static Integer Integer_ACC_ANNOTATION = Integer.valueOf(Const.ACC_ANNOTATION); + static Integer Integer_ACC_ANNOTATION = Integer.valueOf(ACC_ANNOTATION); /** * Array of classes whose fields are not initialized from Java (i.e., these classes are @@ -445,7 +658,7 @@ public JavaClass instrument() { // adding dcomp marker causes problems. // Don't instrument annotations. They aren't executed and adding // the marker argument causes subtle errors - if ((classGen.getModifiers() & Const.ACC_ANNOTATION) != 0) { + if ((classGen.getModifiers() & ACC_ANNOTATION) != 0) { debug_transform.log("Not instrumenting annotation %s%n", classname); // WHY NOT RETURN NULL? return classGen.getJavaClass().copy(); @@ -663,7 +876,7 @@ public JavaClass instrument() { // We do not want to track bridge methods the compiler has synthesized as // they are overloaded on return type which normal Java does not support. - if ((m.getAccessFlags() & Const.ACC_BRIDGE) != 0) { + if ((m.getAccessFlags() & ACC_BRIDGE) != 0) { track = false; } @@ -783,9 +996,9 @@ public JavaClass instrument() { il = mgen.getInstructionList(); InstructionHandle end = il.getEnd(); int length = end.getPosition() + end.getInstruction().getLength(); - if (length >= Const.MAX_CODE_SIZE) { + if (length >= MAX_CODE_SIZE) { throw new ClassGenException( - "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); + "Code array too big: must be smaller than " + MAX_CODE_SIZE + " bytes."); } } if (replacingMethod) { @@ -928,7 +1141,7 @@ public JavaClass instrument_jdk_class() { // adding dcomp marker causes problems. // Don't instrument annotations. They aren't executed and adding // the marker argument causes subtle errors - if ((classGen.getModifiers() & Const.ACC_ANNOTATION) != 0) { + if ((classGen.getModifiers() & ACC_ANNOTATION) != 0) { debug_transform.log("Not instrumenting annotation %s%n", classname); // Return classfile unmodified. // MUST NOT RETURN NULL @@ -1068,9 +1281,9 @@ public JavaClass instrument_jdk_class() { il = mgen.getInstructionList(); InstructionHandle end = il.getEnd(); int length = end.getPosition() + end.getInstruction().getLength(); - if (length >= Const.MAX_CODE_SIZE) { + if (length >= MAX_CODE_SIZE) { throw new ClassGenException( - "Code array too big: must be smaller than " + Const.MAX_CODE_SIZE + " bytes."); + "Code array too big: must be smaller than " + MAX_CODE_SIZE + " bytes."); } } classGen.addMethod(mgen.getMethod()); @@ -1219,7 +1432,7 @@ public void instrumentMethod(MethodGen mgen) { // If the modified method is now too large, we quit instrumenting the method // and will rediscover the problem in the main instrumentation loop above // and deal with it there. - if (ih.getPosition() >= Const.MAX_CODE_SIZE) { + if (ih.getPosition() >= MAX_CODE_SIZE) { break; } @@ -1261,7 +1474,7 @@ public void build_exception_handler(MethodGen mgen) { il.append(new DUP()); il.append( ifact.createInvoke( - dcompRuntimeClassName, "exception_exit", CD_void, object_arg, Const.INVOKESTATIC)); + dcompRuntimeClassName, "exception_exit", CD_void, object_arg, INVOKESTATIC)); il.append(new ATHROW()); add_exception_handler(mgen, il); @@ -1338,8 +1551,7 @@ public void install_exception_handler(MethodGen mgen) { StackMapType[] param_map_types = new StackMapType[param_types.length + arg_index]; if (!mgen.isStatic()) { param_map_types[0] = - new StackMapType( - Const.ITEM_Object, pool.addClass(mgen.getClassName()), pool.getConstantPool()); + new StackMapType(ITEM_Object, pool.addClass(mgen.getClassName()), pool.getConstantPool()); } for (int ii = 0; ii < param_types.length; ii++) { param_map_types[arg_index++] = generateStackMapTypeFromType(param_types[ii]); @@ -1348,11 +1560,11 @@ public void install_exception_handler(MethodGen mgen) { StackMapEntry map_entry; StackMapType stack_map_type = new StackMapType( - Const.ITEM_Object, pool.addClass(CD_Throwable.getClassName()), pool.getConstantPool()); + ITEM_Object, pool.addClass(CD_Throwable.getClassName()), pool.getConstantPool()); StackMapType[] stack_map_types = {stack_map_type}; map_entry = new StackMapEntry( - Const.FULL_FRAME, map_offset, param_map_types, stack_map_types, pool.getConstantPool()); + FULL_FRAME, map_offset, param_map_types, stack_map_types, pool.getConstantPool()); int orig_size = stackMapTable.length; StackMapEntry[] new_stack_map_table = new StackMapEntry[orig_size + 1]; @@ -1425,8 +1637,7 @@ public void add_create_tag_frame(MethodGen mgen) { StackMapType tag_frame_type = generateStackMapTypeFromType(CD_Object_array); StackMapType[] stack_map_type_arr = {tag_frame_type}; new_stack_map_table[0] = - new StackMapEntry( - Const.APPEND_FRAME, len_code, stack_map_type_arr, null, pool.getConstantPool()); + new StackMapEntry(APPEND_FRAME, len_code, stack_map_type_arr, null, pool.getConstantPool()); // We can just copy the rest of the stack frames over as the FULL_FRAME // ones were already updated when the tag_frame variable was allocated. @@ -1504,11 +1715,7 @@ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) il.append(ifact.createConstant(params)); il.append( ifact.createInvoke( - dcompRuntimeClassName, - "create_tag_frame", - CD_Object_array, - string_arg, - Const.INVOKESTATIC)); + dcompRuntimeClassName, "create_tag_frame", CD_Object_array, string_arg, INVOKESTATIC)); il.append(InstructionFactory.createStore(CD_Object_array, tagFrameLocal.getIndex())); debugInstrument.log("Store Tag frame local at index %d%n", tagFrameLocal.getIndex()); @@ -1604,7 +1811,7 @@ InstructionList callEnterOrExit( } il.append( ifact.createInvoke( - dcompRuntimeClassName, enterOrExit, CD_void, method_params, Const.INVOKESTATIC)); + dcompRuntimeClassName, enterOrExit, CD_void, method_params, INVOKESTATIC)); return il; } @@ -1627,20 +1834,20 @@ InstructionList callEnterOrExit( // Replace the object comparison instructions with a call to // DCRuntime.object_eq or DCRuntime.object_ne. Those methods // return a boolean which is used in a ifeq/ifne instruction. - case Const.IF_ACMPEQ: - return object_comparison((BranchInstruction) inst, "object_eq", Const.IFNE); - case Const.IF_ACMPNE: - return object_comparison((BranchInstruction) inst, "object_ne", Const.IFNE); + case IF_ACMPEQ: + return object_comparison((BranchInstruction) inst, "object_eq", IFNE); + case IF_ACMPNE: + return object_comparison((BranchInstruction) inst, "object_ne", IFNE); // These instructions compare the integer on the top of the stack // to zero. Nothing is made comparable by this, so we need only // discard the tag on the top of the stack. - case Const.IFEQ: - case Const.IFNE: - case Const.IFLT: - case Const.IFGE: - case Const.IFGT: - case Const.IFLE: + case IFEQ: + case IFNE: + case IFLT: + case IFGE: + case IFGT: + case IFLE: { return discard_tag_code(inst, 1); } @@ -1648,13 +1855,13 @@ InstructionList callEnterOrExit( // Instanceof pushes either 0 or 1 on the stack depending on whether // the object on top of stack is of the specified type. We push a // tag for a constant, since nothing is made comparable by this. - case Const.INSTANCEOF: + case INSTANCEOF: return build_il(dcr_call("push_const", CD_void, Type.NO_ARGS), inst); // Duplicates the item on the top of stack. If the value on the // top of the stack is a primitive, we need to do the same on the // tag stack. Otherwise, we need do nothing. - case Const.DUP: + case DUP: return dup_tag(inst, stack); // Duplicates the item on the top of the stack and inserts it 2 @@ -1662,118 +1869,118 @@ InstructionList callEnterOrExit( // is not a primitive, there is nothing to do. If the second // value is not a primitive, then we need only to insert the duped // value down 1 on the tag stack (which contains only primitives). - case Const.DUP_X1: + case DUP_X1: return dup_x1_tag(inst, stack); // Duplicates either the top 2 category 1 values or a single // category 2 value and inserts it 2 or 3 values down on the // stack. - case Const.DUP2_X1: + case DUP2_X1: return dup2_x1_tag(inst, stack); // Duplicate either one category 2 value or two category 1 values. - case Const.DUP2: + case DUP2: return dup2_tag(inst, stack); // Dup the category 1 value on the top of the stack and insert it either // two or three values down on the stack. - case Const.DUP_X2: + case DUP_X2: return dup_x2(inst, stack); - case Const.DUP2_X2: + case DUP2_X2: return dup2_x2(inst, stack); // Pop instructions discard the top of the stack. We want to discard // the top of the tag stack iff the item on the top of the stack is a // primitive. - case Const.POP: + case POP: return pop_tag(inst, stack); // Pops either the top 2 category 1 values or a single category 2 value // from the top of the stack. We must do the same to the tag stack // if the values are primitives. - case Const.POP2: + case POP2: return pop2_tag(inst, stack); // Swaps the two category 1 types on the top of the stack. We need // to swap the top of the tag stack if the two top elements on the // real stack are primitives. - case Const.SWAP: + case SWAP: return swap_tag(inst, stack); - case Const.IF_ICMPEQ: - case Const.IF_ICMPGE: - case Const.IF_ICMPGT: - case Const.IF_ICMPLE: - case Const.IF_ICMPLT: - case Const.IF_ICMPNE: + case IF_ICMPEQ: + case IF_ICMPGE: + case IF_ICMPGT: + case IF_ICMPLE: + case IF_ICMPLT: + case IF_ICMPNE: { return build_il(dcr_call("cmp_op", CD_void, Type.NO_ARGS), inst); } - case Const.GETFIELD: + case GETFIELD: return load_store_field(mgen, (GETFIELD) inst); - case Const.PUTFIELD: + case PUTFIELD: return load_store_field(mgen, (PUTFIELD) inst); - case Const.GETSTATIC: + case GETSTATIC: return load_store_field(mgen, ((GETSTATIC) inst)); - case Const.PUTSTATIC: + case PUTSTATIC: return load_store_field(mgen, ((PUTSTATIC) inst)); - case Const.DLOAD: - case Const.DLOAD_0: - case Const.DLOAD_1: - case Const.DLOAD_2: - case Const.DLOAD_3: - case Const.FLOAD: - case Const.FLOAD_0: - case Const.FLOAD_1: - case Const.FLOAD_2: - case Const.FLOAD_3: - case Const.ILOAD: - case Const.ILOAD_0: - case Const.ILOAD_1: - case Const.ILOAD_2: - case Const.ILOAD_3: - case Const.LLOAD: - case Const.LLOAD_0: - case Const.LLOAD_1: - case Const.LLOAD_2: - case Const.LLOAD_3: + case DLOAD: + case DLOAD_0: + case DLOAD_1: + case DLOAD_2: + case DLOAD_3: + case FLOAD: + case FLOAD_0: + case FLOAD_1: + case FLOAD_2: + case FLOAD_3: + case ILOAD: + case ILOAD_0: + case ILOAD_1: + case ILOAD_2: + case ILOAD_3: + case LLOAD: + case LLOAD_0: + case LLOAD_1: + case LLOAD_2: + case LLOAD_3: { return load_store_local((LoadInstruction) inst, tagFrameLocal, "push_local_tag"); } - case Const.DSTORE: - case Const.DSTORE_0: - case Const.DSTORE_1: - case Const.DSTORE_2: - case Const.DSTORE_3: - case Const.FSTORE: - case Const.FSTORE_0: - case Const.FSTORE_1: - case Const.FSTORE_2: - case Const.FSTORE_3: - case Const.ISTORE: - case Const.ISTORE_0: - case Const.ISTORE_1: - case Const.ISTORE_2: - case Const.ISTORE_3: - case Const.LSTORE: - case Const.LSTORE_0: - case Const.LSTORE_1: - case Const.LSTORE_2: - case Const.LSTORE_3: + case DSTORE: + case DSTORE_0: + case DSTORE_1: + case DSTORE_2: + case DSTORE_3: + case FSTORE: + case FSTORE_0: + case FSTORE_1: + case FSTORE_2: + case FSTORE_3: + case ISTORE: + case ISTORE_0: + case ISTORE_1: + case ISTORE_2: + case ISTORE_3: + case LSTORE: + case LSTORE_0: + case LSTORE_1: + case LSTORE_2: + case LSTORE_3: { return load_store_local((StoreInstruction) inst, tagFrameLocal, "pop_local_tag"); } - case Const.LDC: - case Const.LDC_W: - case Const.LDC2_W: + case LDC: + case LDC_W: + case LDC2_W: { return ldc_tag(inst, stack); } @@ -1781,27 +1988,27 @@ InstructionList callEnterOrExit( // Push the tag for the array onto the tag stack. This causes // anything comparable to the length to be comparable to the array // as an index. - case Const.ARRAYLENGTH: + case ARRAYLENGTH: { return array_length(inst); } - case Const.BIPUSH: - case Const.SIPUSH: - case Const.DCONST_0: - case Const.DCONST_1: - case Const.FCONST_0: - case Const.FCONST_1: - case Const.FCONST_2: - case Const.ICONST_0: - case Const.ICONST_1: - case Const.ICONST_2: - case Const.ICONST_3: - case Const.ICONST_4: - case Const.ICONST_5: - case Const.ICONST_M1: - case Const.LCONST_0: - case Const.LCONST_1: + case BIPUSH: + case SIPUSH: + case DCONST_0: + case DCONST_1: + case FCONST_0: + case FCONST_1: + case FCONST_2: + case ICONST_0: + case ICONST_1: + case ICONST_2: + case ICONST_3: + case ICONST_4: + case ICONST_5: + case ICONST_M1: + case LCONST_0: + case LCONST_1: { return build_il(dcr_call("push_const", CD_void, Type.NO_ARGS), inst); } @@ -1809,43 +2016,43 @@ InstructionList callEnterOrExit( // Primitive Binary operators. Each is augmented with a call to // DCRuntime.binary_tag_op that merges the tags and updates the tag // Stack. - case Const.DADD: - case Const.DCMPG: - case Const.DCMPL: - case Const.DDIV: - case Const.DMUL: - case Const.DREM: - case Const.DSUB: - case Const.FADD: - case Const.FCMPG: - case Const.FCMPL: - case Const.FDIV: - case Const.FMUL: - case Const.FREM: - case Const.FSUB: - case Const.IADD: - case Const.IAND: - case Const.IDIV: - case Const.IMUL: - case Const.IOR: - case Const.IREM: - case Const.ISHL: - case Const.ISHR: - case Const.ISUB: - case Const.IUSHR: - case Const.IXOR: - case Const.LADD: - case Const.LAND: - case Const.LCMP: - case Const.LDIV: - case Const.LMUL: - case Const.LOR: - case Const.LREM: - case Const.LSHL: - case Const.LSHR: - case Const.LSUB: - case Const.LUSHR: - case Const.LXOR: + case DADD: + case DCMPG: + case DCMPL: + case DDIV: + case DMUL: + case DREM: + case DSUB: + case FADD: + case FCMPG: + case FCMPL: + case FDIV: + case FMUL: + case FREM: + case FSUB: + case IADD: + case IAND: + case IDIV: + case IMUL: + case IOR: + case IREM: + case ISHL: + case ISHR: + case ISUB: + case IUSHR: + case IXOR: + case LADD: + case LAND: + case LCMP: + case LDIV: + case LMUL: + case LOR: + case LREM: + case LSHL: + case LSHR: + case LSUB: + case LUSHR: + case LXOR: return build_il(dcr_call("binary_tag_op", CD_void, Type.NO_ARGS), inst); // Computed jump based on the int on the top of stack. Since that int @@ -1854,41 +2061,41 @@ InstructionList callEnterOrExit( // the jump table. But the tags for those values are not available. // And since they are all constants, its not clear how interesting it // would be anyway. - case Const.LOOKUPSWITCH: - case Const.TABLESWITCH: + case LOOKUPSWITCH: + case TABLESWITCH: return discard_tag_code(inst, 1); // Make the integer argument to ANEWARRAY comparable to the new // array's index. - case Const.ANEWARRAY: - case Const.NEWARRAY: + case ANEWARRAY: + case NEWARRAY: return new_array(inst); // If the new array has 2 dimensions, make the integer arguments // comparable to the corresponding indices of the new array. // For any other number of dimensions, discard the tags for the // arguments. - case Const.MULTIANEWARRAY: + case MULTIANEWARRAY: return multi_newarray_dc(inst); // Mark the array and its index as comparable. Also for primitives, // push the tag of the array element on the tag stack - case Const.AALOAD: - case Const.BALOAD: - case Const.CALOAD: - case Const.DALOAD: - case Const.FALOAD: - case Const.IALOAD: - case Const.LALOAD: - case Const.SALOAD: + case AALOAD: + case BALOAD: + case CALOAD: + case DALOAD: + case FALOAD: + case IALOAD: + case LALOAD: + case SALOAD: return array_load(inst); // Mark the array and its index as comparable. For primitives, store // the tag for the value on the top of the stack in the tag storage // for the array. - case Const.AASTORE: + case AASTORE: return array_store(inst, "aastore", CD_Object); - case Const.BASTORE: + case BASTORE: // The JVM uses bastore for both byte and boolean. // We need to differentiate. Type arr_type = stack.peek(2); @@ -1897,27 +2104,27 @@ InstructionList callEnterOrExit( } else { return array_store(inst, "bastore", CD_byte); } - case Const.CASTORE: + case CASTORE: return array_store(inst, "castore", CD_char); - case Const.DASTORE: + case DASTORE: return array_store(inst, "dastore", CD_double); - case Const.FASTORE: + case FASTORE: return array_store(inst, "fastore", CD_float); - case Const.IASTORE: + case IASTORE: return array_store(inst, "iastore", CD_int); - case Const.LASTORE: + case LASTORE: return array_store(inst, "lastore", CD_long); - case Const.SASTORE: + case SASTORE: return array_store(inst, "sastore", CD_short); // Prefix the return with a call to the correct normal_exit method // to handle the tag stack - case Const.ARETURN: - case Const.DRETURN: - case Const.FRETURN: - case Const.IRETURN: - case Const.LRETURN: - case Const.RETURN: + case ARETURN: + case DRETURN: + case FRETURN: + case IRETURN: + case LRETURN: + case RETURN: { return return_tag(mgen, inst); } @@ -1926,11 +2133,11 @@ InstructionList callEnterOrExit( // to call the instrumented version (with the DCompMarker argument). // Calls to uninstrumented code (rare) discard primitive arguments // from the tag stack and produce an arbitrary return tag. - case Const.INVOKESTATIC: - case Const.INVOKEVIRTUAL: - case Const.INVOKESPECIAL: - case Const.INVOKEINTERFACE: - case Const.INVOKEDYNAMIC: + case INVOKESTATIC: + case INVOKEVIRTUAL: + case INVOKESPECIAL: + case INVOKEINTERFACE: + case INVOKEDYNAMIC: { assert this.mgen != null : "@AssumeAssertion(nullness): bug: local `mgen` is non-null, " @@ -1940,55 +2147,55 @@ InstructionList callEnterOrExit( // Throws an exception. This clears the operand stack of the current // frame. We need to clear the tag stack as well. - case Const.ATHROW: + case ATHROW: return build_il(dcr_call("throw_op", CD_void, Type.NO_ARGS), inst); // Opcodes that don't need any modifications. Here for reference - case Const.ACONST_NULL: - case Const.ALOAD: - case Const.ALOAD_0: - case Const.ALOAD_1: - case Const.ALOAD_2: - case Const.ALOAD_3: - case Const.ASTORE: - case Const.ASTORE_0: - case Const.ASTORE_1: - case Const.ASTORE_2: - case Const.ASTORE_3: - case Const.CHECKCAST: - case Const.D2F: // double to float - case Const.D2I: // double to integer - case Const.D2L: // double to long - case Const.DNEG: // Negate double on top of stack - case Const.F2D: // float to double - case Const.F2I: // float to integer - case Const.F2L: // float to long - case Const.FNEG: // Negate float on top of stack - case Const.GOTO: - case Const.GOTO_W: - case Const.I2B: // integer to byte - case Const.I2C: // integer to char - case Const.I2D: // integer to double - case Const.I2F: // integer to float - case Const.I2L: // integer to long - case Const.I2S: // integer to short - case Const.IFNONNULL: - case Const.IFNULL: - case Const.IINC: // increment local variable by a constant - case Const.INEG: // negate integer on top of stack - case Const.JSR: // pushes return address on the stack, but that + case ACONST_NULL: + case ALOAD: + case ALOAD_0: + case ALOAD_1: + case ALOAD_2: + case ALOAD_3: + case ASTORE: + case ASTORE_0: + case ASTORE_1: + case ASTORE_2: + case ASTORE_3: + case CHECKCAST: + case D2F: // double to float + case D2I: // double to integer + case D2L: // double to long + case DNEG: // Negate double on top of stack + case F2D: // float to double + case F2I: // float to integer + case F2L: // float to long + case FNEG: // Negate float on top of stack + case GOTO: + case GOTO_W: + case I2B: // integer to byte + case I2C: // integer to char + case I2D: // integer to double + case I2F: // integer to float + case I2L: // integer to long + case I2S: // integer to short + case IFNONNULL: + case IFNULL: + case IINC: // increment local variable by a constant + case INEG: // negate integer on top of stack + case JSR: // pushes return address on the stack, but that // is thought of as an object, so we don't need // a tag for it. - case Const.JSR_W: - case Const.L2D: // long to double - case Const.L2F: // long to float - case Const.L2I: // long to int - case Const.LNEG: // negate long on top of stack - case Const.MONITORENTER: - case Const.MONITOREXIT: - case Const.NEW: - case Const.NOP: - case Const.RET: // this is the internal JSR return + case JSR_W: + case L2D: // long to double + case L2F: // long to float + case L2I: // long to int + case LNEG: // negate long on top of stack + case MONITORENTER: + case MONITOREXIT: + case NEW: + case NOP: + case RET: // this is the internal JSR return return null; // Make sure we didn't miss anything @@ -2137,10 +2344,10 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { il.append( ifact.createInvoke( dcompRuntimeClassName, - (invoke.getOpcode() == Const.INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", + (invoke.getOpcode() == INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", returnType, new_param_types, - Const.INVOKESTATIC)); + INVOKESTATIC)); return il; } @@ -2298,7 +2505,7 @@ private boolean isTargetInstrumented( && (invoke instanceof INVOKEINTERFACE || invoke instanceof INVOKEVIRTUAL)) { Integer access = getAccessFlags(classname); - if ((access.intValue() & Const.ACC_ANNOTATION) != 0) { + if ((access.intValue() & ACC_ANNOTATION) != 0) { targetInstrumented = false; } @@ -2662,7 +2869,7 @@ InstructionList instrument_clone_call(InvokeInstruction invoke) { // push the target class il.append(new LDC(pool.addClass(classname))); - if (invoke.getOpcode() == Const.INVOKESPECIAL) { + if (invoke.getOpcode() == INVOKESPECIAL) { // This is a super call. // Runtime will discover if the object's superclass has an instrumented clone method. @@ -2691,11 +2898,7 @@ InstructionList object_comparison( InstructionList il = new InstructionList(); il.append( ifact.createInvoke( - dcompRuntimeClassName, - compare_method, - CD_boolean, - objectObjectSig, - Const.INVOKESTATIC)); + dcompRuntimeClassName, compare_method, CD_boolean, objectObjectSig, INVOKESTATIC)); assert branch.getTarget() != null; il.append(InstructionFactory.createBranchInstruction(boolean_if, branch.getTarget())); return il; @@ -2737,7 +2940,7 @@ InstructionList object_comparison( Premain.tag_method_name(Premain.GET_TAG, classname, fi.getFieldName(pool)), CD_void, Type.NO_ARGS, - Const.INVOKESTATIC)); + INVOKESTATIC)); } else if (fi instanceof PUTSTATIC) { il.append( ifact.createInvoke( @@ -2745,7 +2948,7 @@ InstructionList object_comparison( Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), CD_void, Type.NO_ARGS, - Const.INVOKESTATIC)); + INVOKESTATIC)); } else if (fi instanceof GETFIELD) { il.append(InstructionFactory.createDup(obj_type.getSize())); il.append( @@ -2754,7 +2957,7 @@ InstructionList object_comparison( Premain.tag_method_name(Premain.GET_TAG, classname, fi.getFieldName(pool)), CD_void, Type.NO_ARGS, - Const.INVOKEVIRTUAL)); + INVOKEVIRTUAL)); } else { // must be put field if (field_type.getSize() == 2) { LocalVariableGen lv = get_tmp2_local(mgen, field_type); @@ -2766,7 +2969,7 @@ InstructionList object_comparison( Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), CD_void, Type.NO_ARGS, - Const.INVOKEVIRTUAL)); + INVOKEVIRTUAL)); il.append(InstructionFactory.createLoad(field_type, lv.getIndex())); } else { il.append(new SWAP()); @@ -2777,7 +2980,7 @@ InstructionList object_comparison( Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), CD_void, Type.NO_ARGS, - Const.INVOKEVIRTUAL)); + INVOKEVIRTUAL)); il.append(new SWAP()); } } @@ -2813,7 +3016,7 @@ InstructionList load_store_local( method, CD_void, new Type[] {CD_Object_array, CD_int}, - Const.INVOKESTATIC)); + INVOKESTATIC)); il.append(lvi); return il; } @@ -2980,12 +3183,12 @@ LocalVariableGen get_return_local(MethodGen mgen, @Nullable Type return_type) { } switch (ih.getInstruction().getOpcode()) { - case Const.ARETURN: - case Const.DRETURN: - case Const.FRETURN: - case Const.IRETURN: - case Const.LRETURN: - case Const.RETURN: + case ARETURN: + case DRETURN: + case FRETURN: + case IRETURN: + case LRETURN: + case RETURN: // log ("Exit at line %d%n", line_number); // only do incremental lines if we don't have the line generator if (line_number == prev_line_number && foundLine == false) { @@ -3025,7 +3228,7 @@ void trackClass_init() { il.append(InstructionFactory.createReturn(CD_void)); MethodGen cinit_classGen = new MethodGen( - Const.ACC_STATIC, + ACC_STATIC, CD_void, Type.NO_ARGS, new String[0], @@ -3049,11 +3252,7 @@ void trackClass_init() { il.append(ifact.createConstant(classGen.getClassName())); il.append( ifact.createInvoke( - dcompRuntimeClassName, - "set_class_initialized", - CD_void, - string_arg, - Const.INVOKESTATIC)); + dcompRuntimeClassName, "set_class_initialized", CD_void, string_arg, INVOKESTATIC)); insertAtMethodStart(cinit_classGen, il); createNewStackMapAttribute(cinit_classGen); @@ -3269,7 +3468,7 @@ static String methodEntryName(String fullClassName, Method m) { InvokeInstruction dcr_call(@Identifier String methodName, Type returnType, Type[] paramTypes) { return ifact.createInvoke( - dcompRuntimeClassName, methodName, returnType, paramTypes, Const.INVOKESTATIC); + dcompRuntimeClassName, methodName, returnType, paramTypes, INVOKESTATIC); } /** @@ -3722,7 +3921,7 @@ void fix_native(ClassGen classGen, MethodGen mgen) { mgen.getName(), mgen.getReturnType(), paramTypes, - (mgen.isStatic() ? Const.INVOKESTATIC : Const.INVOKEVIRTUAL))); + (mgen.isStatic() ? INVOKESTATIC : INVOKEVIRTUAL))); // If there is a return value, return it il.append(InstructionFactory.createReturn(mgen.getReturnType())); @@ -3736,7 +3935,7 @@ void fix_native(ClassGen classGen, MethodGen mgen) { mgen.setMaxLocals(); // turn off the native flag - mgen.setAccessFlags(mgen.getAccessFlags() & ~Const.ACC_NATIVE); + mgen.setAccessFlags(mgen.getAccessFlags() & ~ACC_NATIVE); } /** @@ -3751,7 +3950,7 @@ boolean tag_fields_ok(MethodGen mgen, @ClassGetName String classname) { // Prior to Java 8 an interface could not contain any implementations. if (classGen.isInterface()) { - if (classGen.getMajor() < Const.MAJOR_1_8) { + if (classGen.getMajor() < MAJOR_1_8) { return false; } } @@ -3991,15 +4190,15 @@ MethodGen create_get_tag(ClassGen classGen, Field f, int tag_offset) { int access_flags = f.getAccessFlags(); if (classGen.isInterface()) { // method in interface cannot be final - access_flags &= ~Const.ACC_FINAL; - if (classGen.getMajor() < Const.MAJOR_1_8) { + access_flags &= ~ACC_FINAL; + if (classGen.getMajor() < MAJOR_1_8) { // If class file version is prior to 8 then a method in an interface // cannot be static (it's implicit) and must be abstract. - access_flags &= ~Const.ACC_STATIC; - access_flags |= Const.ACC_ABSTRACT; + access_flags &= ~ACC_STATIC; + access_flags |= ACC_ABSTRACT; } } else { - access_flags |= Const.ACC_FINAL; + access_flags |= ACC_FINAL; } // Create the get accessor method @@ -4066,15 +4265,15 @@ MethodGen create_set_tag(ClassGen classGen, Field f, int tag_offset) { int access_flags = f.getAccessFlags(); if (classGen.isInterface()) { // method in interface cannot be final - access_flags &= ~Const.ACC_FINAL; - if (classGen.getMajor() < Const.MAJOR_1_8) { + access_flags &= ~ACC_FINAL; + if (classGen.getMajor() < MAJOR_1_8) { // If class file version is prior to 8 then a method in an interface // cannot be static (it's implicit) and must be abstract. - access_flags &= ~Const.ACC_STATIC; - access_flags |= Const.ACC_ABSTRACT; + access_flags &= ~ACC_STATIC; + access_flags |= ACC_ABSTRACT; } } else { - access_flags |= Const.ACC_FINAL; + access_flags |= ACC_FINAL; } // Create the setter method. @@ -4108,9 +4307,9 @@ void add_dcomp_interface(ClassGen classGen) { debugInstrument.log("Added interface DCompInstrumented%n"); InstructionList il = new InstructionList(); - int access_flags = Const.ACC_PUBLIC; + int access_flags = ACC_PUBLIC; if (classGen.isInterface()) { - access_flags |= Const.ACC_ABSTRACT; + access_flags |= ACC_ABSTRACT; } MethodGen method = new MethodGen( @@ -4132,7 +4331,7 @@ void add_dcomp_interface(ClassGen classGen) { "equals", CD_boolean, new Type[] {CD_Object, dcomp_marker}, - Const.INVOKEVIRTUAL)); + INVOKEVIRTUAL)); il.append(InstructionFactory.createReturn(CD_boolean)); method.setMaxStack(); method.setMaxLocals(); @@ -4155,9 +4354,9 @@ void add_dcomp_interface(ClassGen classGen) { */ void add_equals_method(ClassGen classGen) { InstructionList il = new InstructionList(); - int access_flags = Const.ACC_PUBLIC; + int access_flags = ACC_PUBLIC; if (classGen.isInterface()) { - access_flags |= Const.ACC_ABSTRACT; + access_flags |= ACC_ABSTRACT; } MethodGen method = new MethodGen( @@ -4178,7 +4377,7 @@ void add_equals_method(ClassGen classGen) { "equals", CD_boolean, new Type[] {CD_Object}, - Const.INVOKESPECIAL)); + INVOKESPECIAL)); il.append(InstructionFactory.createReturn(CD_boolean)); method.setMaxStack(); method.setMaxLocals(); @@ -4289,9 +4488,9 @@ MethodGen create_dcomp_stub(MethodGen mgen) { } // Call the method - short kind = Const.INVOKEVIRTUAL; + short kind = INVOKEVIRTUAL; if (mgen.isStatic()) { - kind = Const.INVOKESTATIC; + kind = INVOKESTATIC; } il.append( ifact.createInvoke( diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index def51ed3b1..91096124c5 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1,5 +1,214 @@ package daikon.dcomp; +import static java.lang.classfile.ClassFile.ACC_ABSTRACT; +import static java.lang.classfile.ClassFile.ACC_ANNOTATION; +import static java.lang.classfile.ClassFile.ACC_BRIDGE; +import static java.lang.classfile.ClassFile.ACC_NATIVE; +import static java.lang.classfile.ClassFile.ACC_PRIVATE; +import static java.lang.classfile.ClassFile.ACC_PROTECTED; +import static java.lang.classfile.ClassFile.ACC_PUBLIC; +import static java.lang.classfile.ClassFile.ACC_STATIC; +import static java.lang.classfile.Opcode.AALOAD; +import static java.lang.classfile.Opcode.AASTORE; +import static java.lang.classfile.Opcode.ACONST_NULL; +import static java.lang.classfile.Opcode.ALOAD; +import static java.lang.classfile.Opcode.ALOAD_0; +import static java.lang.classfile.Opcode.ALOAD_1; +import static java.lang.classfile.Opcode.ALOAD_2; +import static java.lang.classfile.Opcode.ALOAD_3; +import static java.lang.classfile.Opcode.ANEWARRAY; +import static java.lang.classfile.Opcode.ARETURN; +import static java.lang.classfile.Opcode.ARRAYLENGTH; +import static java.lang.classfile.Opcode.ASTORE; +import static java.lang.classfile.Opcode.ASTORE_0; +import static java.lang.classfile.Opcode.ASTORE_1; +import static java.lang.classfile.Opcode.ASTORE_2; +import static java.lang.classfile.Opcode.ASTORE_3; +import static java.lang.classfile.Opcode.ATHROW; +import static java.lang.classfile.Opcode.BALOAD; +import static java.lang.classfile.Opcode.BASTORE; +import static java.lang.classfile.Opcode.BIPUSH; +import static java.lang.classfile.Opcode.CALOAD; +import static java.lang.classfile.Opcode.CASTORE; +import static java.lang.classfile.Opcode.CHECKCAST; +import static java.lang.classfile.Opcode.D2F; +import static java.lang.classfile.Opcode.D2I; +import static java.lang.classfile.Opcode.D2L; +import static java.lang.classfile.Opcode.DADD; +import static java.lang.classfile.Opcode.DALOAD; +import static java.lang.classfile.Opcode.DASTORE; +import static java.lang.classfile.Opcode.DCMPG; +import static java.lang.classfile.Opcode.DCMPL; +import static java.lang.classfile.Opcode.DCONST_0; +import static java.lang.classfile.Opcode.DCONST_1; +import static java.lang.classfile.Opcode.DDIV; +import static java.lang.classfile.Opcode.DLOAD; +import static java.lang.classfile.Opcode.DLOAD_0; +import static java.lang.classfile.Opcode.DLOAD_1; +import static java.lang.classfile.Opcode.DLOAD_2; +import static java.lang.classfile.Opcode.DLOAD_3; +import static java.lang.classfile.Opcode.DMUL; +import static java.lang.classfile.Opcode.DNEG; +import static java.lang.classfile.Opcode.DREM; +import static java.lang.classfile.Opcode.DRETURN; +import static java.lang.classfile.Opcode.DSTORE; +import static java.lang.classfile.Opcode.DSTORE_0; +import static java.lang.classfile.Opcode.DSTORE_1; +import static java.lang.classfile.Opcode.DSTORE_2; +import static java.lang.classfile.Opcode.DSTORE_3; +import static java.lang.classfile.Opcode.DSUB; +import static java.lang.classfile.Opcode.DUP; +import static java.lang.classfile.Opcode.DUP2; +import static java.lang.classfile.Opcode.DUP2_X1; +import static java.lang.classfile.Opcode.DUP2_X2; +import static java.lang.classfile.Opcode.DUP_X1; +import static java.lang.classfile.Opcode.DUP_X2; +import static java.lang.classfile.Opcode.F2D; +import static java.lang.classfile.Opcode.F2I; +import static java.lang.classfile.Opcode.F2L; +import static java.lang.classfile.Opcode.FADD; +import static java.lang.classfile.Opcode.FALOAD; +import static java.lang.classfile.Opcode.FASTORE; +import static java.lang.classfile.Opcode.FCMPG; +import static java.lang.classfile.Opcode.FCMPL; +import static java.lang.classfile.Opcode.FCONST_0; +import static java.lang.classfile.Opcode.FCONST_1; +import static java.lang.classfile.Opcode.FCONST_2; +import static java.lang.classfile.Opcode.FDIV; +import static java.lang.classfile.Opcode.FLOAD; +import static java.lang.classfile.Opcode.FLOAD_0; +import static java.lang.classfile.Opcode.FLOAD_1; +import static java.lang.classfile.Opcode.FLOAD_2; +import static java.lang.classfile.Opcode.FLOAD_3; +import static java.lang.classfile.Opcode.FMUL; +import static java.lang.classfile.Opcode.FNEG; +import static java.lang.classfile.Opcode.FREM; +import static java.lang.classfile.Opcode.FRETURN; +import static java.lang.classfile.Opcode.FSTORE; +import static java.lang.classfile.Opcode.FSTORE_0; +import static java.lang.classfile.Opcode.FSTORE_1; +import static java.lang.classfile.Opcode.FSTORE_2; +import static java.lang.classfile.Opcode.FSTORE_3; +import static java.lang.classfile.Opcode.FSUB; +import static java.lang.classfile.Opcode.GETFIELD; +import static java.lang.classfile.Opcode.GETSTATIC; +import static java.lang.classfile.Opcode.GOTO; +import static java.lang.classfile.Opcode.GOTO_W; +import static java.lang.classfile.Opcode.I2B; +import static java.lang.classfile.Opcode.I2C; +import static java.lang.classfile.Opcode.I2D; +import static java.lang.classfile.Opcode.I2F; +import static java.lang.classfile.Opcode.I2L; +import static java.lang.classfile.Opcode.I2S; +import static java.lang.classfile.Opcode.IADD; +import static java.lang.classfile.Opcode.IALOAD; +import static java.lang.classfile.Opcode.IAND; +import static java.lang.classfile.Opcode.IASTORE; +import static java.lang.classfile.Opcode.ICONST_0; +import static java.lang.classfile.Opcode.ICONST_1; +import static java.lang.classfile.Opcode.ICONST_2; +import static java.lang.classfile.Opcode.ICONST_3; +import static java.lang.classfile.Opcode.ICONST_4; +import static java.lang.classfile.Opcode.ICONST_5; +import static java.lang.classfile.Opcode.ICONST_M1; +import static java.lang.classfile.Opcode.IDIV; +import static java.lang.classfile.Opcode.IFEQ; +import static java.lang.classfile.Opcode.IFGE; +import static java.lang.classfile.Opcode.IFGT; +import static java.lang.classfile.Opcode.IFLE; +import static java.lang.classfile.Opcode.IFLT; +import static java.lang.classfile.Opcode.IFNE; +import static java.lang.classfile.Opcode.IFNONNULL; +import static java.lang.classfile.Opcode.IFNULL; +import static java.lang.classfile.Opcode.IF_ACMPEQ; +import static java.lang.classfile.Opcode.IF_ACMPNE; +import static java.lang.classfile.Opcode.IF_ICMPEQ; +import static java.lang.classfile.Opcode.IF_ICMPGE; +import static java.lang.classfile.Opcode.IF_ICMPGT; +import static java.lang.classfile.Opcode.IF_ICMPLE; +import static java.lang.classfile.Opcode.IF_ICMPLT; +import static java.lang.classfile.Opcode.IF_ICMPNE; +import static java.lang.classfile.Opcode.IINC; +import static java.lang.classfile.Opcode.ILOAD; +import static java.lang.classfile.Opcode.ILOAD_0; +import static java.lang.classfile.Opcode.ILOAD_1; +import static java.lang.classfile.Opcode.ILOAD_2; +import static java.lang.classfile.Opcode.ILOAD_3; +import static java.lang.classfile.Opcode.IMUL; +import static java.lang.classfile.Opcode.INEG; +import static java.lang.classfile.Opcode.INSTANCEOF; +import static java.lang.classfile.Opcode.INVOKEDYNAMIC; +import static java.lang.classfile.Opcode.INVOKEINTERFACE; +import static java.lang.classfile.Opcode.INVOKESPECIAL; +import static java.lang.classfile.Opcode.INVOKESTATIC; +import static java.lang.classfile.Opcode.INVOKEVIRTUAL; +import static java.lang.classfile.Opcode.IOR; +import static java.lang.classfile.Opcode.IREM; +import static java.lang.classfile.Opcode.IRETURN; +import static java.lang.classfile.Opcode.ISHL; +import static java.lang.classfile.Opcode.ISHR; +import static java.lang.classfile.Opcode.ISTORE; +import static java.lang.classfile.Opcode.ISTORE_0; +import static java.lang.classfile.Opcode.ISTORE_1; +import static java.lang.classfile.Opcode.ISTORE_2; +import static java.lang.classfile.Opcode.ISTORE_3; +import static java.lang.classfile.Opcode.ISUB; +import static java.lang.classfile.Opcode.IUSHR; +import static java.lang.classfile.Opcode.IXOR; +import static java.lang.classfile.Opcode.JSR; +import static java.lang.classfile.Opcode.JSR_W; +import static java.lang.classfile.Opcode.L2D; +import static java.lang.classfile.Opcode.L2F; +import static java.lang.classfile.Opcode.L2I; +import static java.lang.classfile.Opcode.LADD; +import static java.lang.classfile.Opcode.LALOAD; +import static java.lang.classfile.Opcode.LAND; +import static java.lang.classfile.Opcode.LASTORE; +import static java.lang.classfile.Opcode.LCMP; +import static java.lang.classfile.Opcode.LCONST_0; +import static java.lang.classfile.Opcode.LCONST_1; +import static java.lang.classfile.Opcode.LDC; +import static java.lang.classfile.Opcode.LDC2_W; +import static java.lang.classfile.Opcode.LDC_W; +import static java.lang.classfile.Opcode.LDIV; +import static java.lang.classfile.Opcode.LLOAD; +import static java.lang.classfile.Opcode.LLOAD_0; +import static java.lang.classfile.Opcode.LLOAD_1; +import static java.lang.classfile.Opcode.LLOAD_2; +import static java.lang.classfile.Opcode.LLOAD_3; +import static java.lang.classfile.Opcode.LMUL; +import static java.lang.classfile.Opcode.LNEG; +import static java.lang.classfile.Opcode.LOOKUPSWITCH; +import static java.lang.classfile.Opcode.LOR; +import static java.lang.classfile.Opcode.LREM; +import static java.lang.classfile.Opcode.LRETURN; +import static java.lang.classfile.Opcode.LSHL; +import static java.lang.classfile.Opcode.LSHR; +import static java.lang.classfile.Opcode.LSTORE; +import static java.lang.classfile.Opcode.LSTORE_0; +import static java.lang.classfile.Opcode.LSTORE_1; +import static java.lang.classfile.Opcode.LSTORE_2; +import static java.lang.classfile.Opcode.LSTORE_3; +import static java.lang.classfile.Opcode.LSUB; +import static java.lang.classfile.Opcode.LUSHR; +import static java.lang.classfile.Opcode.LXOR; +import static java.lang.classfile.Opcode.MONITORENTER; +import static java.lang.classfile.Opcode.MONITOREXIT; +import static java.lang.classfile.Opcode.MULTIANEWARRAY; +import static java.lang.classfile.Opcode.NEW; +import static java.lang.classfile.Opcode.NEWARRAY; +import static java.lang.classfile.Opcode.NOP; +import static java.lang.classfile.Opcode.POP; +import static java.lang.classfile.Opcode.POP2; +import static java.lang.classfile.Opcode.PUTFIELD; +import static java.lang.classfile.Opcode.PUTSTATIC; +import static java.lang.classfile.Opcode.RET; +import static java.lang.classfile.Opcode.RETURN; +import static java.lang.classfile.Opcode.SALOAD; +import static java.lang.classfile.Opcode.SASTORE; +import static java.lang.classfile.Opcode.SIPUSH; +import static java.lang.classfile.Opcode.SWAP; +import static java.lang.classfile.Opcode.TABLESWITCH; import static java.lang.constant.ConstantDescs.CD_Class; import static java.lang.constant.ConstantDescs.CD_Object; import static java.lang.constant.ConstantDescs.CD_String; @@ -381,7 +590,7 @@ protected enum JunitState { static Map accessFlags = new HashMap<>(); /** Integer constant of access_flag value of ACC_ANNOTATION. */ - static Integer Integer_ACC_ANNOTATION = Integer.valueOf(ClassFile.ACC_ANNOTATION); + static Integer Integer_ACC_ANNOTATION = Integer.valueOf(ACC_ANNOTATION); /** * Array of classes whose fields are not initialized from Java (i.e., these classes are @@ -856,7 +1065,7 @@ private void createClinit(ClassBuilder classBuilder, ClassInfo classInfo) { classBuilder.withMethod( "", MethodTypeDesc.of(CD_void), - ClassFile.ACC_STATIC, + ACC_STATIC, methodBuilder -> methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions, null))); } @@ -879,7 +1088,7 @@ private List createCodeToMarkClassInitialized( poolBuilder.methodRefEntry( runtimeCD, "set_class_initialized", MethodTypeDesc.of(CD_void, CD_String)); instructions.add(buildLDCInstruction(poolBuilder.stringEntry(classInfo.class_name))); - instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + instructions.add(InvokeInstruction.of(INVOKESTATIC, mre)); return instructions; } @@ -987,7 +1196,7 @@ private void processMethod( // We cannot track the variables in bridge methods the compiler has synthesized as // they are overloaded on return type which normal Java does not support. - if ((mgen.getAccessFlagsMask() & ClassFile.ACC_BRIDGE) != 0) { + if ((mgen.getAccessFlagsMask() & ACC_BRIDGE) != 0) { track = false; } @@ -999,10 +1208,10 @@ private void processMethod( // If we are tracking variables, make sure the class is public int access_flags = classModel.flags().flagsMask(); - if (track && (access_flags & ClassFile.ACC_PUBLIC) == 0) { - access_flags |= ClassFile.ACC_PUBLIC; - access_flags &= ~ClassFile.ACC_PROTECTED; - access_flags &= ~ClassFile.ACC_PRIVATE; + if (track && (access_flags & ACC_PUBLIC) == 0) { + access_flags |= ACC_PUBLIC; + access_flags &= ~ACC_PROTECTED; + access_flags &= ~ACC_PRIVATE; } // reset class access flags in case they have been changed classBuilder.withFlags(access_flags); @@ -1209,13 +1418,13 @@ private void instrumentMethod( } if (!codeModelSeen) { debugInstrument.log("No CodeModel for method: %s%n", mgen.getName()); - if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { + if ((mgen.getAccessFlagsMask() & ACC_NATIVE) != 0) { // We need to build our wrapper method for a call to native code. methodBuilder.withCode( codeBuilder -> instrumentCode(codeBuilder, null, null, mgen, classInfo, trackMethod)); // Turn off the native flag in wrapper method. - methodBuilder.withFlags(mgen.getAccessFlagsMask() & ~ClassFile.ACC_NATIVE); + methodBuilder.withFlags(mgen.getAccessFlagsMask() & ~ACC_NATIVE); } else { // Interface and/or Abstract; do nothing. } @@ -1291,7 +1500,7 @@ private void instrumentCode( debugInstrument.log("nextLocalIndex: %d%n", minfo.nextLocalIndex); // If the method is native - if ((mgen.getAccessFlagsMask() & ClassFile.ACC_NATIVE) != 0) { + if ((mgen.getAccessFlagsMask() & ACC_NATIVE) != 0) { debugInstrument.log("Native Method%n"); // Create Java code that cleans up the tag stack and calls the real native method. @@ -1834,11 +2043,11 @@ public List get_skipped_methods() { List instructions = new ArrayList<>(); - instructions.add(StackInstruction.of(Opcode.DUP)); + instructions.add(StackInstruction.of(DUP)); MethodRefEntry mre = poolBuilder.methodRefEntry( runtimeCD, "exception_exit", MethodTypeDesc.of(CD_void, CD_Object)); - instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + instructions.add(InvokeInstruction.of(INVOKESTATIC, mre)); instructions.add(ThrowInstruction.of()); return instructions; } @@ -1921,7 +2130,7 @@ private List createTagFrame(MethodGen24 mgen) { poolBuilder.methodRefEntry( runtimeCD, "create_tag_frame", MethodTypeDesc.of(objectArrayCD, CD_String)); instructions.add(buildLDCInstruction(poolBuilder.stringEntry(params))); - instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + instructions.add(InvokeInstruction.of(INVOKESTATIC, mre)); instructions.add(StoreInstruction.of(TypeKind.REFERENCE, tagFrameLocal.slot())); debugInstrument.log("Store Tag frame local at index %d%n", tagFrameLocal.slot()); @@ -1956,7 +2165,7 @@ private List callEnterOrExit( // Push the object. Push null if this is a static method or a constructor. if (mgen.isStatic() || (enterOrExit.equals("enter") && mgen.isConstructor())) { - instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + instructions.add(ConstantInstruction.ofIntrinsic(ACONST_NULL)); } else { // must be an instance method instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 0)); } @@ -1974,15 +2183,15 @@ private List callEnterOrExit( // Put each argument into the array. int param_index = param_offset; for (int ii = 0; ii < paramTypes.length; ii++) { - instructions.add(StackInstruction.of(Opcode.DUP)); + instructions.add(StackInstruction.of(DUP)); instructions.add(loadIntegerConstant(ii)); ClassDesc at = paramTypes[ii]; if (at.isPrimitive()) { - instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + instructions.add(ConstantInstruction.ofIntrinsic(ACONST_NULL)); } else { // it's a reference of some sort instructions.add(LoadInstruction.of(TypeKind.REFERENCE, param_index)); } - instructions.add(ArrayStoreInstruction.of(Opcode.AASTORE)); + instructions.add(ArrayStoreInstruction.of(AASTORE)); param_index += TypeKind.from(at).slotSize(); } @@ -1992,11 +2201,11 @@ private List callEnterOrExit( if (enterOrExit.equals("exit")) { ClassDesc returnType = mgen.getReturnType(); if (returnType.equals(CD_void)) { - instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + instructions.add(ConstantInstruction.ofIntrinsic(ACONST_NULL)); } else { LocalVariable return_local = getReturnLocal(mgen, returnType, minfo); if (returnType.isPrimitive()) { - instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + instructions.add(ConstantInstruction.ofIntrinsic(ACONST_NULL)); } else { instructions.add(LoadInstruction.of(TypeKind.REFERENCE, return_local.slot())); } @@ -2015,7 +2224,7 @@ private List callEnterOrExit( methodArgs = MethodTypeDesc.of(CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD); } MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, enterOrExit, methodArgs); - instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + instructions.add(InvokeInstruction.of(INVOKESTATIC, mre)); return instructions; } @@ -2040,20 +2249,20 @@ private List callEnterOrExit( // Replace the object comparison instructions with a call to // DCRuntime.object_eq or DCRuntime.object_ne. Those methods // return a boolean which is used in a ifeq/ifne instruction. - case Opcode.IF_ACMPEQ: - return object_comparison((BranchInstruction) inst, "object_eq", Opcode.IFNE); - case Opcode.IF_ACMPNE: - return object_comparison((BranchInstruction) inst, "object_ne", Opcode.IFNE); + case IF_ACMPEQ: + return object_comparison((BranchInstruction) inst, "object_eq", IFNE); + case IF_ACMPNE: + return object_comparison((BranchInstruction) inst, "object_ne", IFNE); // These instructions compare the integer on the top of the stack // to zero. Nothing is made comparable by this, so we need only // discard the tag on the top of the stack. - case Opcode.IFEQ: - case Opcode.IFNE: - case Opcode.IFLT: - case Opcode.IFGE: - case Opcode.IFGT: - case Opcode.IFLE: + case IFEQ: + case IFNE: + case IFLT: + case IFGE: + case IFGT: + case IFLE: { return discard_tag_code(inst, 1); } @@ -2062,13 +2271,13 @@ private List callEnterOrExit( // the object on top of stack is of the specified type. The DynComp runtime will push a // new, unique // tag for a constant, since nothing is made comparable by this. - case Opcode.INSTANCEOF: + case INSTANCEOF: return build_il(dcr_call("push_const", CD_void, noArgsSig), inst); // Duplicates the item on the top of stack. If the value on the // top of the stack is a primitive, we need to do the same on the // tag stack. Otherwise, we need do nothing. - case Opcode.DUP: + case DUP: return dup_tag(inst, stack); // Duplicates the item on the top of the stack and inserts it 2 @@ -2076,117 +2285,117 @@ private List callEnterOrExit( // is not a primitive, there is nothing to do. If the second // value is not a primitive, then we need only to insert the duped // value down 1 on the tag stack (which contains only primitives). - case Opcode.DUP_X1: + case DUP_X1: return dup_x1_tag(inst, stack); // Duplicate the category 1 item on the top of the stack and insert it either // two or three items down in the stack. - case Opcode.DUP_X2: + case DUP_X2: return dup_x2_tag(inst, stack); // Duplicate either one category 2 item or two category 1 items. - case Opcode.DUP2: + case DUP2: return dup2_tag(inst, stack); // Duplicate either the top 2 category 1 items or a single // category 2 item and insert it 2 or 3 values down on the // stack. - case Opcode.DUP2_X1: + case DUP2_X1: return dup2_x1_tag(inst, stack); // Duplicate the top one or two items and insert them two, three, or four values down. - case Opcode.DUP2_X2: + case DUP2_X2: return dup2_x2_tag(inst, stack); // Pop a category 1 item from the top of the stack. We want to discard // the top of the tag stack iff the item on the top of the stack is a // primitive. - case Opcode.POP: + case POP: return pop_tag(inst, stack); // Pops either the top 2 category 1 items or a single category 2 item // from the top of the stack. We must do the same to the tag stack // if the values are primitives. - case Opcode.POP2: + case POP2: return pop2_tag(inst, stack); // Swaps the two category 1 items on the top of the stack. We need // to swap the top of the tag stack if the two top elements on the // real stack are primitives. - case Opcode.SWAP: + case SWAP: return swap_tag(inst, stack); - case Opcode.IF_ICMPEQ: - case Opcode.IF_ICMPGE: - case Opcode.IF_ICMPGT: - case Opcode.IF_ICMPLE: - case Opcode.IF_ICMPLT: - case Opcode.IF_ICMPNE: + case IF_ICMPEQ: + case IF_ICMPGE: + case IF_ICMPGT: + case IF_ICMPLE: + case IF_ICMPLT: + case IF_ICMPNE: { return build_il(dcr_call("cmp_op", CD_void, noArgsSig), inst); } - case Opcode.GETFIELD: - case Opcode.PUTFIELD: - case Opcode.GETSTATIC: - case Opcode.PUTSTATIC: + case GETFIELD: + case PUTFIELD: + case GETSTATIC: + case PUTSTATIC: { return load_store_field(mgen, minfo, ((FieldInstruction) inst)); } - case Opcode.DLOAD: - case Opcode.DLOAD_0: - case Opcode.DLOAD_1: - case Opcode.DLOAD_2: - case Opcode.DLOAD_3: - case Opcode.FLOAD: - case Opcode.FLOAD_0: - case Opcode.FLOAD_1: - case Opcode.FLOAD_2: - case Opcode.FLOAD_3: - case Opcode.ILOAD: - case Opcode.ILOAD_0: - case Opcode.ILOAD_1: - case Opcode.ILOAD_2: - case Opcode.ILOAD_3: - case Opcode.LLOAD: - case Opcode.LLOAD_0: - case Opcode.LLOAD_1: - case Opcode.LLOAD_2: - case Opcode.LLOAD_3: + case DLOAD: + case DLOAD_0: + case DLOAD_1: + case DLOAD_2: + case DLOAD_3: + case FLOAD: + case FLOAD_0: + case FLOAD_1: + case FLOAD_2: + case FLOAD_3: + case ILOAD: + case ILOAD_0: + case ILOAD_1: + case ILOAD_2: + case ILOAD_3: + case LLOAD: + case LLOAD_0: + case LLOAD_1: + case LLOAD_2: + case LLOAD_3: { return load_local((LoadInstruction) inst, tagFrameLocal, "push_local_tag"); } - case Opcode.DSTORE: - case Opcode.DSTORE_0: - case Opcode.DSTORE_1: - case Opcode.DSTORE_2: - case Opcode.DSTORE_3: - case Opcode.FSTORE: - case Opcode.FSTORE_0: - case Opcode.FSTORE_1: - case Opcode.FSTORE_2: - case Opcode.FSTORE_3: - case Opcode.ISTORE: - case Opcode.ISTORE_0: - case Opcode.ISTORE_1: - case Opcode.ISTORE_2: - case Opcode.ISTORE_3: - case Opcode.LSTORE: - case Opcode.LSTORE_0: - case Opcode.LSTORE_1: - case Opcode.LSTORE_2: - case Opcode.LSTORE_3: + case DSTORE: + case DSTORE_0: + case DSTORE_1: + case DSTORE_2: + case DSTORE_3: + case FSTORE: + case FSTORE_0: + case FSTORE_1: + case FSTORE_2: + case FSTORE_3: + case ISTORE: + case ISTORE_0: + case ISTORE_1: + case ISTORE_2: + case ISTORE_3: + case LSTORE: + case LSTORE_0: + case LSTORE_1: + case LSTORE_2: + case LSTORE_3: { return store_local((StoreInstruction) inst, tagFrameLocal, "pop_local_tag"); } // Adjusts the tag stack for load constant opcodes. If the constant is a primitive, pushes // its tag on the tag stack. If the constant is a reference (string, class), does nothing. - case Opcode.LDC: - case Opcode.LDC_W: - case Opcode.LDC2_W: + case LDC: + case LDC_W: + case LDC2_W: { if (((ConstantInstruction) inst).typeKind().equals(TypeKind.REFERENCE)) { return null; @@ -2197,27 +2406,27 @@ private List callEnterOrExit( // Push the tag for the array onto the tag stack. This causes // anything comparable to the length to be comparable to the array // as an index. - case Opcode.ARRAYLENGTH: + case ARRAYLENGTH: { return array_length(inst); } - case Opcode.BIPUSH: - case Opcode.SIPUSH: - case Opcode.DCONST_0: - case Opcode.DCONST_1: - case Opcode.FCONST_0: - case Opcode.FCONST_1: - case Opcode.FCONST_2: - case Opcode.ICONST_0: - case Opcode.ICONST_1: - case Opcode.ICONST_2: - case Opcode.ICONST_3: - case Opcode.ICONST_4: - case Opcode.ICONST_5: - case Opcode.ICONST_M1: - case Opcode.LCONST_0: - case Opcode.LCONST_1: + case BIPUSH: + case SIPUSH: + case DCONST_0: + case DCONST_1: + case FCONST_0: + case FCONST_1: + case FCONST_2: + case ICONST_0: + case ICONST_1: + case ICONST_2: + case ICONST_3: + case ICONST_4: + case ICONST_5: + case ICONST_M1: + case LCONST_0: + case LCONST_1: { return build_il(dcr_call("push_const", CD_void, noArgsSig), inst); } @@ -2225,43 +2434,43 @@ private List callEnterOrExit( // Primitive Binary operators. Each is augmented with a call to // DCRuntime.binary_tag_op that merges the tags and updates the tag // Stack. - case Opcode.DADD: - case Opcode.DCMPG: - case Opcode.DCMPL: - case Opcode.DDIV: - case Opcode.DMUL: - case Opcode.DREM: - case Opcode.DSUB: - case Opcode.FADD: - case Opcode.FCMPG: - case Opcode.FCMPL: - case Opcode.FDIV: - case Opcode.FMUL: - case Opcode.FREM: - case Opcode.FSUB: - case Opcode.IADD: - case Opcode.IAND: - case Opcode.IDIV: - case Opcode.IMUL: - case Opcode.IOR: - case Opcode.IREM: - case Opcode.ISHL: - case Opcode.ISHR: - case Opcode.ISUB: - case Opcode.IUSHR: - case Opcode.IXOR: - case Opcode.LADD: - case Opcode.LAND: - case Opcode.LCMP: - case Opcode.LDIV: - case Opcode.LMUL: - case Opcode.LOR: - case Opcode.LREM: - case Opcode.LSHL: - case Opcode.LSHR: - case Opcode.LSUB: - case Opcode.LUSHR: - case Opcode.LXOR: + case DADD: + case DCMPG: + case DCMPL: + case DDIV: + case DMUL: + case DREM: + case DSUB: + case FADD: + case FCMPG: + case FCMPL: + case FDIV: + case FMUL: + case FREM: + case FSUB: + case IADD: + case IAND: + case IDIV: + case IMUL: + case IOR: + case IREM: + case ISHL: + case ISHR: + case ISUB: + case IUSHR: + case IXOR: + case LADD: + case LAND: + case LCMP: + case LDIV: + case LMUL: + case LOR: + case LREM: + case LSHL: + case LSHR: + case LSUB: + case LUSHR: + case LXOR: return build_il(dcr_call("binary_tag_op", CD_void, noArgsSig), inst); // Computed jump based on the int on the top of stack. Since that int @@ -2270,121 +2479,121 @@ private List callEnterOrExit( // the jump table. But the tags for those values are not available. // And since they are all constants, its not clear how interesting it // would be anyway. - case Opcode.LOOKUPSWITCH: - case Opcode.TABLESWITCH: + case LOOKUPSWITCH: + case TABLESWITCH: return discard_tag_code(inst, 1); // Make the integer argument to ANEWARRAY comparable to the new // array's index. - case Opcode.ANEWARRAY: - case Opcode.NEWARRAY: + case ANEWARRAY: + case NEWARRAY: return new_array(inst); // If the new array has 2 dimensions, make the integer arguments // comparable to the corresponding indices of the new array. // For any other number of dimensions, discard the tags for the // arguments. - case Opcode.MULTIANEWARRAY: + case MULTIANEWARRAY: return multi_newarray_dc((NewMultiArrayInstruction) inst); // Mark the array and its index as comparable. Also for primitives, // push the tag of the array element on the tag stack - case Opcode.AALOAD: - case Opcode.BALOAD: - case Opcode.CALOAD: - case Opcode.DALOAD: - case Opcode.FALOAD: - case Opcode.IALOAD: - case Opcode.LALOAD: - case Opcode.SALOAD: + case AALOAD: + case BALOAD: + case CALOAD: + case DALOAD: + case FALOAD: + case IALOAD: + case LALOAD: + case SALOAD: return array_load(mgen, (ArrayLoadInstruction) inst); // Prefix the return with a call to the correct normal_exit method // to handle the tag stack - case Opcode.ARETURN: - case Opcode.DRETURN: - case Opcode.FRETURN: - case Opcode.IRETURN: - case Opcode.LRETURN: - case Opcode.RETURN: + case ARETURN: + case DRETURN: + case FRETURN: + case IRETURN: + case LRETURN: + case RETURN: return return_tag(mgen, inst); // Throws an exception. This clears the operand stack of the current // frame. We need to clear the tag stack as well. - case Opcode.ATHROW: + case ATHROW: return build_il(dcr_call("throw_op", CD_void, noArgsSig), inst); // Opcodes that don't need any modifications. Here for reference. // Note that while we include JSR, JSR_W, RET and RET_W here, it is // only for documentation. They will throw a "Unexpected instruction opcode" // error during the operand stack calculation phase. - case Opcode.ACONST_NULL: - case Opcode.ALOAD: - case Opcode.ALOAD_0: - case Opcode.ALOAD_1: - case Opcode.ALOAD_2: - case Opcode.ALOAD_3: - case Opcode.ASTORE: - case Opcode.ASTORE_0: - case Opcode.ASTORE_1: - case Opcode.ASTORE_2: - case Opcode.ASTORE_3: - case Opcode.CHECKCAST: - case Opcode.D2F: // double to float - case Opcode.D2I: // double to integer - case Opcode.D2L: // double to long - case Opcode.DNEG: // Negate double on top of stack - case Opcode.F2D: // float to double - case Opcode.F2I: // float to integer - case Opcode.F2L: // float to long - case Opcode.FNEG: // Negate float on top of stack - case Opcode.GOTO: - case Opcode.GOTO_W: - case Opcode.I2B: // integer to byte - case Opcode.I2C: // integer to char - case Opcode.I2D: // integer to double - case Opcode.I2F: // integer to float - case Opcode.I2L: // integer to long - case Opcode.I2S: // integer to short - case Opcode.IFNONNULL: - case Opcode.IFNULL: - case Opcode.IINC: // increment local variable by a constant - case Opcode.IINC_W: // increment local variable by a constant - case Opcode.INEG: // negate integer on top of stack - case Opcode.JSR: // pushes return address on the stack, but that + case ACONST_NULL: + case ALOAD: + case ALOAD_0: + case ALOAD_1: + case ALOAD_2: + case ALOAD_3: + case ASTORE: + case ASTORE_0: + case ASTORE_1: + case ASTORE_2: + case ASTORE_3: + case CHECKCAST: + case D2F: // double to float + case D2I: // double to integer + case D2L: // double to long + case DNEG: // Negate double on top of stack + case F2D: // float to double + case F2I: // float to integer + case F2L: // float to long + case FNEG: // Negate float on top of stack + case GOTO: + case GOTO_W: + case I2B: // integer to byte + case I2C: // integer to char + case I2D: // integer to double + case I2F: // integer to float + case I2L: // integer to long + case I2S: // integer to short + case IFNONNULL: + case IFNULL: + case IINC: // increment local variable by a constant + case IINC_W: // increment local variable by a constant + case INEG: // negate integer on top of stack + case JSR: // pushes return address on the stack, but that // is thought of as an object, so we don't need a tag for it. - case Opcode.JSR_W: - case Opcode.L2D: // long to double - case Opcode.L2F: // long to float - case Opcode.L2I: // long to int - case Opcode.LNEG: // negate long on top of stack - case Opcode.MONITORENTER: - case Opcode.MONITOREXIT: - case Opcode.NEW: - case Opcode.NOP: - case Opcode.RET: // this is the internal JSR return - case Opcode.RET_W: + case JSR_W: + case L2D: // long to double + case L2F: // long to float + case L2I: // long to int + case LNEG: // negate long on top of stack + case MONITORENTER: + case MONITOREXIT: + case NEW: + case NOP: + case RET: // this is the internal JSR return + case RET_W: return null; // Handle subroutine calls. Calls to instrumented code are modified // to call the instrumented version (with the DCompMarker argument). // Calls to uninstrumented code (rare) discard primitive arguments // from the tag stack and produce an arbitrary return tag. - case Opcode.INVOKESTATIC: - case Opcode.INVOKEVIRTUAL: - case Opcode.INVOKESPECIAL: - case Opcode.INVOKEINTERFACE: + case INVOKESTATIC: + case INVOKEVIRTUAL: + case INVOKESPECIAL: + case INVOKEINTERFACE: return handleInvoke((InvokeInstruction) inst, mgen); - case Opcode.INVOKEDYNAMIC: + case INVOKEDYNAMIC: return handleInvokeDynamic((InvokeDynamicInstruction) inst); // Mark the array and its index as comparable. For primitives, store // the tag for the value on the top of the stack in the tag storage // for the array. - case Opcode.AASTORE: + case AASTORE: return array_store(inst, "aastore", CD_Object); - case Opcode.BASTORE: + case BASTORE: // The JVM uses bastore for both byte and boolean. // We need to differentiate. ClassDesc arrayref = stack.peek(2); @@ -2397,17 +2606,17 @@ private List callEnterOrExit( } else { return array_store(inst, "bastore", CD_byte); } - case Opcode.CASTORE: + case CASTORE: return array_store(inst, "castore", CD_char); - case Opcode.DASTORE: + case DASTORE: return array_store(inst, "dastore", CD_double); - case Opcode.FASTORE: + case FASTORE: return array_store(inst, "fastore", CD_float); - case Opcode.IASTORE: + case IASTORE: return array_store(inst, "iastore", CD_int); - case Opcode.LASTORE: + case LASTORE: return array_store(inst, "lastore", CD_long); - case Opcode.SASTORE: + case SASTORE: return array_store(inst, "sastore", CD_short); default: @@ -2474,9 +2683,9 @@ private void add_exit( TypeKind typeKind = TypeKind.from(type); LocalVariable returnLocal = getReturnLocal(mgen, type, minfo); if (typeKind.slotSize() == 1) { - newCode.add(StackInstruction.of(Opcode.DUP)); + newCode.add(StackInstruction.of(DUP)); } else { - newCode.add(StackInstruction.of(Opcode.DUP2)); + newCode.add(StackInstruction.of(DUP2)); } newCode.add(StoreInstruction.of(typeKind, returnLocal.slot())); } @@ -2618,7 +2827,7 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge List il = new ArrayList<>(); il.add( dcr_call( - invoke.opcode().equals(Opcode.INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", + invoke.opcode().equals(INVOKESPECIAL) ? "dcomp_super_equals" : "dcomp_equals", returnType, new ClassDesc[] {CD_Object, CD_Object})); return il; @@ -2647,7 +2856,7 @@ private List handleInvoke(InvokeInstruction invoke, MethodGen24 mge List il = new ArrayList<>(); // Push the DCompMarker argument as we are calling the instrumented version. - il.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); + il.add(ConstantInstruction.ofIntrinsic(ACONST_NULL)); // Add the DCompMarker type to the parameter types list. List new_param_types = new ArrayList<>(Arrays.asList(paramTypes)); @@ -2788,11 +2997,10 @@ private boolean isTargetInstrumented( // Note that to simplify our code we set the access flags for a functional // interface to ANNOTATION in our accessFlags map. // - if (targetInstrumented == true - && (op.equals(Opcode.INVOKEINTERFACE) || op.equals(Opcode.INVOKEVIRTUAL))) { + if (targetInstrumented == true && (op.equals(INVOKEINTERFACE) || op.equals(INVOKEVIRTUAL))) { Integer access = getAccessFlags(classname); - if ((access & ClassFile.ACC_ANNOTATION) != 0) { + if ((access & ACC_ANNOTATION) != 0) { targetInstrumented = false; } @@ -2816,7 +3024,7 @@ private boolean isTargetInstrumented( // If we are not using the instrumented JDK, then we need to track down the // actual target of an INVOKEVIRTUAL to see if it has been instrumented or not. - if (targetInstrumented == true && op.equals(Opcode.INVOKEVIRTUAL)) { + if (targetInstrumented == true && op.equals(INVOKEVIRTUAL)) { if (!Premain.jdk_instrumented && !mgen.getName().equals("equals_dcomp_instrumented")) { if (debugHandleInvoke) { @@ -2907,7 +3115,7 @@ private boolean isTargetInstrumented( } } - if (op.equals(Opcode.INVOKESPECIAL)) { + if (op.equals(INVOKESPECIAL)) { if (classname.equals(classGen.getSuperclassName()) && methodName.equals("")) { this.constructor_is_initialized = true; } @@ -3193,7 +3401,7 @@ private List instrument_clone_call( // push the target class il.add(buildLDCInstruction(poolBuilder.classEntry(ClassDesc.of(classname)))); - if (invoke.opcode().equals(Opcode.INVOKESPECIAL)) { + if (invoke.opcode().equals(INVOKESPECIAL)) { // This is a super call. // Runtime will discover if the object's superclass has an instrumented clone method. @@ -3229,7 +3437,7 @@ private List object_comparison( MethodRefEntry mre = poolBuilder.methodRefEntry( runtimeCD, compareMethod, MethodTypeDesc.of(CD_boolean, objectObjectSig)); - il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + il.add(InvokeInstruction.of(INVOKESTATIC, mre)); il.add(BranchInstruction.of(boolean_if, branch.target())); return il; } @@ -3262,7 +3470,7 @@ private List object_comparison( // If this class doesn't support tag fields, don't load/store them. if (!tag_fields_ok(mgen, owner)) { - if (op.equals(Opcode.GETFIELD) || op.equals(Opcode.GETSTATIC)) { + if (op.equals(GETFIELD) || op.equals(GETSTATIC)) { il.add(dcr_call("push_const", CD_void, noArgsSig)); } else { il.add(loadIntegerConstant(1)); @@ -3274,50 +3482,50 @@ private List object_comparison( return il; } - if (op.equals(Opcode.GETSTATIC)) { + if (op.equals(GETSTATIC)) { MethodRefEntry mre = poolBuilder.methodRefEntry( ownerCD, Premain.tag_method_name(Premain.GET_TAG, owner, fieldName), MethodTypeDesc.of(CD_void, noArgsSig)); - il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); - } else if (op.equals(Opcode.PUTSTATIC)) { + il.add(InvokeInstruction.of(INVOKESTATIC, mre)); + } else if (op.equals(PUTSTATIC)) { MethodRefEntry mre = poolBuilder.methodRefEntry( ownerCD, Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), MethodTypeDesc.of(CD_void, noArgsSig)); - il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); - } else if (op.equals(Opcode.GETFIELD)) { - il.add(StackInstruction.of(Opcode.DUP)); // dup 'this' + il.add(InvokeInstruction.of(INVOKESTATIC, mre)); + } else if (op.equals(GETFIELD)) { + il.add(StackInstruction.of(DUP)); // dup 'this' MethodRefEntry mre = poolBuilder.methodRefEntry( ownerCD, Premain.tag_method_name(Premain.GET_TAG, owner, fieldName), MethodTypeDesc.of(CD_void, noArgsSig)); - il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); - } else { // must be Opcode.PUTFIELD + il.add(InvokeInstruction.of(INVOKEVIRTUAL, mre)); + } else { // must be PUTFIELD if (field_size == 2) { LocalVariable lv = get_tmp2_local(mgen, minfo, field_type); il.add(StoreInstruction.of(TypeKind.from(field_type), lv.slot())); - il.add(StackInstruction.of(Opcode.DUP)); // dup 'this' + il.add(StackInstruction.of(DUP)); // dup 'this' MethodRefEntry mre = poolBuilder.methodRefEntry( ownerCD, Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), MethodTypeDesc.of(CD_void, noArgsSig)); - il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + il.add(InvokeInstruction.of(INVOKEVIRTUAL, mre)); il.add(LoadInstruction.of(TypeKind.from(field_type), lv.slot())); } else { - il.add(StackInstruction.of(Opcode.SWAP)); // swap 'this' and 'value' - il.add(StackInstruction.of(Opcode.DUP)); // dup 'this' + il.add(StackInstruction.of(SWAP)); // swap 'this' and 'value' + il.add(StackInstruction.of(DUP)); // dup 'this' MethodRefEntry mre = poolBuilder.methodRefEntry( ownerCD, Premain.tag_method_name(Premain.SET_TAG, owner, fieldName), MethodTypeDesc.of(CD_void, noArgsSig)); - il.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); - il.add(StackInstruction.of(Opcode.SWAP)); // swap 'value' and 'this' back + il.add(InvokeInstruction.of(INVOKEVIRTUAL, mre)); + il.add(StackInstruction.of(SWAP)); // swap 'value' and 'this' back } } @@ -3353,7 +3561,7 @@ private List load_local( MethodRefEntry mre = poolBuilder.methodRefEntry( runtimeCD, method, MethodTypeDesc.of(CD_void, objectArrayCD, CD_int)); - il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + il.add(InvokeInstruction.of(INVOKESTATIC, mre)); // the original load instruction il.add(load); @@ -3386,7 +3594,7 @@ private List store_local( MethodRefEntry mre = poolBuilder.methodRefEntry( runtimeCD, method, MethodTypeDesc.of(CD_void, objectArrayCD, CD_int)); - il.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); + il.add(InvokeInstruction.of(INVOKESTATIC, mre)); // the original store instruction il.add(store); @@ -3535,7 +3743,7 @@ private List array_load(MethodGen24 mgen, ArrayLoadInstruction inst // which will make the index comparable with the array. In the case // of primtives it will also get the tag for the primitive and push // it on the tag stack. - il.add(StackInstruction.of(Opcode.DUP2)); + il.add(StackInstruction.of(DUP2)); String method = "primitive_array_load"; if (inst.typeKind().equals(TypeKind.REFERENCE)) { method = "ref_array_load"; @@ -3590,7 +3798,7 @@ private List array_length(Instruction inst) { // Duplicate the array ref and pass it to DCRuntime which will push // it onto the tag stack. - il.add(StackInstruction.of(Opcode.DUP)); + il.add(StackInstruction.of(DUP)); il.add(dcr_call("push_array_tag", CD_void, object_arg)); // Perform the original instruction @@ -3613,7 +3821,7 @@ private List new_array(Instruction inst) { // Duplicate the array ref from the top of the stack and pass it // to DCRuntime which will push it onto the tag stack. - il.add(StackInstruction.of(Opcode.DUP)); + il.add(StackInstruction.of(DUP)); il.add(dcr_call("push_array_tag", CD_void, object_arg)); // Make the array and the count comparable. Also, pop the tags for @@ -3634,14 +3842,14 @@ private List multiarray2(Instruction inst) { List il = new ArrayList<>(); // Duplicate both count arguments - il.add(StackInstruction.of(Opcode.DUP2)); + il.add(StackInstruction.of(DUP2)); // Perform the original instruction il.add(inst); // Duplicate the new arrayref and put it below the count arguments // Stack is now: ..., arrayref, count1, count2, arrayref - il.add(StackInstruction.of(Opcode.DUP_X2)); + il.add(StackInstruction.of(DUP_X2)); il.add(dcr_call("multianewarray2", CD_void, new ClassDesc[] {CD_int, CD_int, objectArrayCD})); @@ -3712,7 +3920,7 @@ InvokeInstruction dcr_call( MethodRefEntry mre = poolBuilder.methodRefEntry( runtimeCD, methodName, MethodTypeDesc.of(returnType, paramTypes)); - return InvokeInstruction.of(Opcode.INVOKESTATIC, mre); + return InvokeInstruction.of(INVOKESTATIC, mre); } /** @@ -4109,7 +4317,7 @@ void fix_native(MethodGen24 mgen) { // our wrapper method call in between, we need to increment that number by 1. il.add(LoadInstruction.of(TypeKind.INT, 0)); // load depth il.add(loadIntegerConstant(1)); - il.add(OperatorInstruction.of(Opcode.IADD)); + il.add(OperatorInstruction.of(IADD)); // System.out.printf("adding 1 in %s.%s%n", mgen.getClassName(), // mgen.getName()); @@ -4132,7 +4340,7 @@ void fix_native(MethodGen24 mgen) { ClassDesc.of(mgen.getClassName()), mgen.getName(), MethodTypeDesc.of(returnType, paramTypes)); - Opcode op = mgen.isStatic() ? Opcode.INVOKESTATIC : Opcode.INVOKEVIRTUAL; + Opcode op = mgen.isStatic() ? INVOKESTATIC : INVOKEVIRTUAL; il.add(InvokeInstruction.of(op, mre)); // generate return instruction @@ -4417,9 +4625,9 @@ void create_get_tag(ClassGen24 classGen, FieldModel fm, int tag_offset) { } // make method public - access_flags &= ~ClassFile.ACC_PRIVATE; - access_flags &= ~ClassFile.ACC_PROTECTED; - access_flags |= ClassFile.ACC_PUBLIC; + access_flags &= ~ACC_PRIVATE; + access_flags &= ~ACC_PROTECTED; + access_flags |= ACC_PUBLIC; // Create the get accessor method classGen @@ -4551,9 +4759,9 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions, localsTable)); }; - int access_flags = ClassFile.ACC_PUBLIC; + int access_flags = ACC_PUBLIC; if (classGen.isInterface()) { - access_flags |= ClassFile.ACC_ABSTRACT; + access_flags |= ACC_ABSTRACT; codeHandler1 = methodBuilder -> {}; } @@ -4569,7 +4777,7 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj if (!classInfo.isJunitTestClass) { - instructions.add(ConstantInstruction.ofIntrinsic(Opcode.ACONST_NULL)); // use null for marker + instructions.add(ConstantInstruction.ofIntrinsic(ACONST_NULL)); // use null for marker mtdDComp = MethodTypeDesc.of(CD_boolean, CD_Object, dcomp_marker); } else { // for JUnit test class, the instrumented version has no dcomp arg @@ -4578,7 +4786,7 @@ void add_dcomp_interface(ClassBuilder classBuilder, ClassGen24 classGen, ClassIn MethodRefEntry mre = poolBuilder.methodRefEntry(ClassDesc.of(classGen.getClassName()), "equals", mtdDComp); - instructions.add(InvokeInstruction.of(Opcode.INVOKEVIRTUAL, mre)); + instructions.add(InvokeInstruction.of(INVOKEVIRTUAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); if (!classInfo.isJunitTestClass) { @@ -4639,9 +4847,9 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo methodBuilder.withCode(codeBuilder -> copyCode(codeBuilder, instructions, localsTable)); }; - int access_flags = ClassFile.ACC_PUBLIC; + int access_flags = ACC_PUBLIC; if (classGen.isInterface()) { - access_flags |= ClassFile.ACC_ABSTRACT; + access_flags |= ACC_ABSTRACT; codeHandler1 = methodBuilder -> {}; } @@ -4657,7 +4865,7 @@ void add_equals_method(ClassBuilder classBuilder, ClassGen24 classGen, ClassInfo instructions.add(LoadInstruction.of(TypeKind.REFERENCE, 1)); // load obj MethodRefEntry mre = poolBuilder.methodRefEntry(ClassDesc.of(classGen.getSuperclassName()), "equals", mtdNormal); - instructions.add(InvokeInstruction.of(Opcode.INVOKESPECIAL, mre)); + instructions.add(InvokeInstruction.of(INVOKESPECIAL, mre)); instructions.add(ReturnInstruction.of(TypeKind.BOOLEAN)); if (!classInfo.isJunitTestClass) { @@ -4794,7 +5002,7 @@ void createMainStub(MethodGen24 mgen, ClassBuilder classBuilder, ClassInfo class ClassDesc.of(classInfo.class_name), "main", MethodTypeDesc.of(CD_void, CD_String.arrayType(1))); - instructions.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); // call real main + instructions.add(InvokeInstruction.of(INVOKESTATIC, mre)); // call real main instructions.add(ReturnInstruction.of(TypeKind.VOID)); classBuilder.withMethod( @@ -4976,9 +5184,9 @@ protected LocalVariable createLocalWithMethodScope( */ protected CodeElement buildDUPInstruction(int size) { if (size == 1) { - return StackInstruction.of(Opcode.DUP); + return StackInstruction.of(DUP); } else { - return StackInstruction.of(Opcode.DUP2); + return StackInstruction.of(DUP2); } } @@ -4991,9 +5199,9 @@ protected CodeElement buildDUPInstruction(int size) { */ protected CodeElement buildLDCInstruction(LoadableConstantEntry entry) { if (entry.index() > 255) { - return ConstantInstruction.ofLoad(Opcode.LDC_W, entry); + return ConstantInstruction.ofLoad(LDC_W, entry); } else { - return ConstantInstruction.ofLoad(Opcode.LDC, entry); + return ConstantInstruction.ofLoad(LDC, entry); } } @@ -5005,18 +5213,18 @@ protected CodeElement buildLDCInstruction(LoadableConstantEntry entry) { */ protected CodeElement loadIntegerConstant(final int value) { return switch (value) { - case -1 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_M1); - case 0 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_0); - case 1 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_1); - case 2 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_2); - case 3 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_3); - case 4 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_4); - case 5 -> ConstantInstruction.ofIntrinsic(Opcode.ICONST_5); + case -1 -> ConstantInstruction.ofIntrinsic(ICONST_M1); + case 0 -> ConstantInstruction.ofIntrinsic(ICONST_0); + case 1 -> ConstantInstruction.ofIntrinsic(ICONST_1); + case 2 -> ConstantInstruction.ofIntrinsic(ICONST_2); + case 3 -> ConstantInstruction.ofIntrinsic(ICONST_3); + case 4 -> ConstantInstruction.ofIntrinsic(ICONST_4); + case 5 -> ConstantInstruction.ofIntrinsic(ICONST_5); default -> (value >= Byte.MIN_VALUE && value <= Byte.MAX_VALUE) - ? ConstantInstruction.ofArgument(Opcode.BIPUSH, value) + ? ConstantInstruction.ofArgument(BIPUSH, value) : (value >= Short.MIN_VALUE && value <= Short.MAX_VALUE) - ? ConstantInstruction.ofArgument(Opcode.SIPUSH, value) + ? ConstantInstruction.ofArgument(SIPUSH, value) : buildLDCInstruction(poolBuilder.intEntry(value)); }; } diff --git a/java/daikon/test/split/SplitterFactoryTestUpdater.java b/java/daikon/test/split/SplitterFactoryTestUpdater.java index fa21dd3374..85d07d54df 100644 --- a/java/daikon/test/split/SplitterFactoryTestUpdater.java +++ b/java/daikon/test/split/SplitterFactoryTestUpdater.java @@ -1,7 +1,10 @@ package daikon.test.split; -import daikon.*; -import daikon.split.*; +import daikon.Daikon; +import daikon.FileIO; +import daikon.PptMap; +import daikon.split.PptSplitter; +import daikon.split.SplitterFactory; import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; import java.io.File; From a2941763cc4383c87bdc75eade9c55e4cd4ece05 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 7 Jan 2026 06:37:35 -0800 Subject: [PATCH 203/211] Documentation tweaks --- java/daikon/chicory/Instrument24.java | 4 ++-- java/daikon/dcomp/StackMapUtils24.java | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index ddc2eb39b9..5b825a46d1 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -838,8 +838,8 @@ private void instrumentCode( } /** - * Insert the our instrumentation code into the instruction list for the given method. This - * comprises adding instrumentation code at method entry and at each return from the method. + * Insert our instrumentation code into the instruction list for the given method. This comprises + * adding instrumentation code at method entry and at each return from the method. * * @param instructions instruction list for method * @param mgen describes the given method diff --git a/java/daikon/dcomp/StackMapUtils24.java b/java/daikon/dcomp/StackMapUtils24.java index a3729e4558..adff032328 100644 --- a/java/daikon/dcomp/StackMapUtils24.java +++ b/java/daikon/dcomp/StackMapUtils24.java @@ -15,12 +15,12 @@ import org.checkerframework.checker.signature.qual.Identifier; /** - * This class provides static utility methods for manipulating bytecode structures, including - * operations on local variables, parameter types, and instruction adjustments. It is loosely based - * on StackMapUtils.java located in the plume-lib/bcel-util repository. It implements a very small + * This class provides static methods for manipulating bytecode structures, including operations on + * local variables, parameter types, and instruction adjustments. It is loosely based on + * StackMapUtils.java located in the plume-lib/bcel-util repository. It implements a very small * subset of the methods in StackMapUtils and does no manipulation of StackMaps at all. Its primary - * method is addNewSpecialLocal which is a replacement for the two methods addNewParameter and - * create_method_scope_local in the original StackMapUtils. + * method is {@link #addNewSpecialLocal} which is a replacement for the two methods addNewParameter + * and create_method_scope_local in the original StackMapUtils. * *

                    StackMapUtils24 uses Java's {@code java.lang.classfile} APIs for reading and modifying .class * files. Those APIs were added in JDK 24. Compared to BCEL, these APIs are more complete and robust From cacb911a19f889f685c0aecce532fb0a7f319255 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 7 Jan 2026 15:26:43 -0800 Subject: [PATCH 204/211] Documentation improvements --- java/daikon/dcomp/BuildJDK.java | 12 ++++----- java/daikon/dcomp/BuildJDK24.java | 10 ++++---- java/daikon/dcomp/CalcStack24.java | 10 +++++--- java/daikon/dcomp/ClassGen24.java | 37 ++++++++++++++------------- java/daikon/dcomp/DCInstrument.java | 24 +++++++++-------- java/daikon/dcomp/DCInstrument24.java | 14 +++++----- 6 files changed, 56 insertions(+), 51 deletions(-) diff --git a/java/daikon/dcomp/BuildJDK.java b/java/daikon/dcomp/BuildJDK.java index 9e5220a849..f8e03e4ed0 100644 --- a/java/daikon/dcomp/BuildJDK.java +++ b/java/daikon/dcomp/BuildJDK.java @@ -75,7 +75,7 @@ private BuildJDK() {} /** * Collects names of all methods that DCInstrument could not process. Should be empty. Format is - * <fully-qualified class name>.<method name> + * {@code .}. */ private static List skipped_methods = new ArrayList<>(); @@ -129,8 +129,8 @@ public static void main(String[] args) throws IOException { //

                    We want to share code to read and instrument the Java class file members of a jar file // (JDK 8) or a module file (JDK 9+). However, jar files and module files are located in two // completely different file systems. So we open an InputStream for each class file we wish to - // instrument and save it in the class_stream_map with the file name as the key. From that point - // the code to instrument a class file can be shared. + // instrument and save it in the class_stream_map with the file name as the key. From that + // point the code to instrument a class file can be shared. Map class_stream_map; if (cl_args.length > 1) { @@ -274,8 +274,8 @@ Map gather_runtime_from_jar() { /** * For Java 9+ the Java runtime is located in a series of modules. At this time, we are only * pre-instrumenting the java.base module. This method initializes the DirectoryStream used to - * explore java.base. It calls gather_runtime_from_modules_directory to process the directory - * structure. + * explore java.base. It calls {@link #gather_runtime_from_modules_directory} to process the + * directory structure. * * @return a map from class file name to the associated InputStream */ @@ -333,7 +333,7 @@ void gather_runtime_from_modules_directory( } /** - * Instrument each of the classes indentified by the class_stream_map argument. + * Instrument each of the classes identified by the class_stream_map argument. * * @param dest_dir where to store the instrumented classes * @param class_stream_map maps from class file name to an input stream on that file diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 63174a1f54..4a9075760e 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -84,7 +84,7 @@ private BuildJDK24() {} /** * Collects names of all methods that DCInstrument24 could not process. Should be empty. Format is - * <fully-qualified class name>.<method name> + * {@code .}. */ private static List skipped_methods = new ArrayList<>(); @@ -284,8 +284,8 @@ Map gather_runtime_from_jar() { /** * For Java 9+ the Java runtime is located in a series of modules. At this time, we are only * pre-instrumenting the java.base module. This method initializes the DirectoryStream used to - * explore java.base. It calls gather_runtime_from_modules_directory to process the directory - * structure. + * explore java.base. It calls {@link #gather_runtime_from_modules_directory} to process the + * directory structure. * * @return a map from class file name to the associated InputStream */ @@ -417,7 +417,7 @@ void instrument_classes(File dest_dir, Map class_stream_map inst24.writeDebugClassFiles(buffer, inst24.debug_uninstrumented_dir, classname); } - // As {@code instrumentation_interface} is a static field, we initialize it here rather than + // As `instrumentation_interface` is a static field, we initialize it here rather than // in the DCInstrument24 constructor. if (Premain.jdk_instrumented && Runtime.isJava9orLater()) { dcompPrefix = "java.lang"; @@ -504,7 +504,7 @@ private void finishCreateDCompClass(ClassBuilder classBuilder, boolean dcompInst } } - /** Formats just the time part of a DateTime. */ + /** Formats just the time part of a DateTime, for progress diagnostics. */ private static final DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); /** diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index e53271b684..747b0ee2e3 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -76,7 +76,7 @@ private CalcStack24() { * @param mgen method containing the instruction (currently unused) * @param minfo for the given method's code (currently unused) * @param ce CodeElement to be interpreted - * @param instIndex index of ce in code element list + * @param instIndex index of {@code ce} in code element list * @param stack current state of operand stack; is side-effected * @return true if control falls through to the next instruction, false otherwise (when {@code ce} * is an instruction like jump or return) @@ -871,7 +871,9 @@ static boolean simulateInstruction(Instruction inst, int instIndex, OperandStack case Opcode.INVOKEINTERFACE: case Opcode.INVOKESPECIAL: case Opcode.INVOKEVIRTUAL: - stack.pop(); // discard the objectref + stack.pop(); // Discard the last argument (which is at the top of the stack), + // or the objectref if there are no arguments. + // may actually be removing an arg, but we'll // account for that when we remove args below @@ -976,8 +978,8 @@ static String npaiToElementTypeDescriptor(NewPrimitiveArrayInstruction npai) { /** * Calculate a Java bytecode's result type and push it on the operand stack. If the type is void, - * nothing is pushed. If the type is boolean, byte, char or short an int is pushed. Otherwise, the - * result itself is pushed. + * nothing is pushed. If the type is boolean, byte, char, or short, then an int is pushed. + * Otherwise, the result itself is pushed. * * @param result the result type descriptor to push (may be void or a primitive/reference type) * @param stack state of operand stack diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 27b0c5dea8..de3747345c 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -49,7 +49,7 @@ public class ClassGen24 { /** The name of the class's superclass, in binary name format. */ private final @BinaryName String superclassName; - /** The class's name. */ + /** The name of the class, in binary name format. */ private final @BinaryName String className; // @@ -87,7 +87,8 @@ public ClassGen24( superclassName = getSuperclassName(classModel); - // The original interface list is immutable, so we need to make a copy. + // The original interface list is immutable, so we need to make a copy, to accommodate method + // `addInterface()`. interfaceList = new ArrayList(classModel.interfaces()); } @@ -109,7 +110,7 @@ public void addInterface(@BinaryName String name) { } /** - * Determine if this class contains the indicatated method. + * Returns the indicatated method, or null if this class does not contain it. * * @param name the method's name * @param descriptor the method's type descriptor @@ -126,7 +127,7 @@ public void addInterface(@BinaryName String name) { } /** - * Returns the class's access flags. + * Returns this class's access flags. * * @return the access flags */ @@ -135,45 +136,45 @@ public AccessFlags getAccessFlags() { } /** - * Returns true if the class is an interface. + * Returns true if this class is an interface. * - * @return true if the class is an interface + * @return true if this class is an interface */ public final boolean isInterface() { return isInterface; } /** - * Returns true if the class is static. + * Returns true if this class is static. * - * @return true if the class is static + * @return true if this class is static */ public final boolean isStatic() { return isStatic; } /** - * Returns the class's name. + * Returns this class's name, in binary format. * - * @return the class's name + * @return this class's name, in binary format */ public @BinaryName String getClassName() { return className; } /** - * Returns a {@code ClassModel}'s class name. + * Returns a {@code ClassModel}'s class name, in binary format. * - * @return the class's name + * @return the class's name, in binary format */ public static @BinaryName String getClassName(ClassModel classModel) { return Signatures.internalFormToBinaryName(classModel.thisClass().asInternalName()); } /** - * Returns the name of the superclass of this class. In the case that this class is {@link - * Object}, it will return itself ({@link Object}). This is probably incorrect but is consistent - * with the BCEL version of getSuperclassName. + * Returns the name of the superclass of this class. If this class is {@link Object}, it will + * return itself ({@link Object}). This is probably incorrect but is consistent with the BCEL + * version of getSuperclassName. * * @return the binary name of this class's superclass */ @@ -182,9 +183,9 @@ public final boolean isStatic() { } /** - * Returns the name of the superclass of the argument. In the case that the argument class is - * {@link Object}, it will return itself ({@link Object}). This is probably incorrect but is - * consistent with the BCEL version of getSuperclassName. + * Returns the name of the superclass of the argument. If the argument class is {@link Object}, it + * will return itself ({@link Object}). This is probably incorrect but is consistent with the BCEL + * version of getSuperclassName. * * @param classModel the class to check * @return the binary name of the superclass of classModel or "java.lang.Object" if it has no diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index ba3a3c026b..65745b8588 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -499,17 +499,19 @@ protected enum JunitState { protected static boolean junit_parse_seen = false; /** - * Map from each static field name to its unique integer id. Note that while it's intuitive to - * think that each static should show up exactly once, that is not the case. A static defined in a - * superclass can be accessed through each of its subclasses. Tag accessor methods must be added - * in each subclass and each should return the same id. We thus will lookup the same name multiple - * times. + * Map from each static qualified field name to a unique integer id. Note that while it's + * intuitive to think that each static should show up exactly once, that is not always true. A + * static defined in a superclass can be accessed through each of its subclasses. In this case, + * tag accessor methods must be added in each subclass and each should return the id of the field + * in the superclass. This map is populated in {@link build_field_to_offset_map} and used in + * {@link create_tag_accessors}. */ static Map static_field_id = new LinkedHashMap<>(); /** - * Map from class name to its access_flags. Used to cache the results of the lookup done in {@link - * #getAccessFlags}. If a class is marked ACC_ANNOTATION then it will not have been instrumented. + * Map from binary class name to its access_flags. Used to cache the results of the lookup done in + * {@link #getAccessFlags}. If a class is marked ACC_ANNOTATION then it will not have been + * instrumented. */ static Map accessFlags = new HashMap<>(); @@ -2409,7 +2411,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { } /** - * Returns instructions that will discard any primitive tags corresponding to the specified + * Returns instructions that will discard (pop) any primitive tags corresponding to the specified * parameters. Returns an empty instruction list if there are no primitive arguments to discard. * * @param paramTypes parameter types of target method @@ -2905,9 +2907,9 @@ InstructionList object_comparison( } /** - * Handles load and store field instructions. The instructions must be augmented to either push - * (load) or pop (store) the tag on the tag stack. This is accomplished by calling the tag get/set - * method for this field. + * Handles load and store field instructions. If the field is a primitive the instructions must be + * augmented to either push (load) or pop (store) the tag on the tag stack. This is accomplished + * by calling the tag get/set method for this field. */ @Nullable InstructionList load_store_field(MethodGen mgen, FieldInstruction fi) { diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 91096124c5..2966080878 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -2085,7 +2085,7 @@ LocalVariable createTagFrameLocal(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { /** * Generates the code to create the tag frame for this method and store it in tagFrameLocal. This - * needs to be before the call to DCRuntime.enter (since it passed to that method). + * needs to be before the call to DCRuntime.enter (since it is passed to that method). * * @param mgen describes the given method * @return instruction list for tag_frame setup code @@ -2094,7 +2094,7 @@ private List createTagFrame(MethodGen24 mgen) { ClassDesc paramTypes[] = mgen.getParameterTypes(); - // Determine the offset of the first argument in the frame + // Determine the offset of the first argument in the frame. int offset = 1; if (mgen.isStatic()) { offset = 0; @@ -4422,11 +4422,11 @@ static String stack_contents(OperandStack24 stack, int max_items) { } /** - * Creates tag get and set accessor methods for each field in gen. An accessor is created for each - * field (including final, static, and private fields). The accessors share the modifiers of their - * field (except that all are final). Accessors are named {@code ___$get_tag} and - * {@code ___$set_tag}. The class name must be included because field names can - * shadow one another. + * Creates tag get and set accessor methods for each field in the class. An accessor is created + * for each field (including final, static, and private fields). The accessors share the modifiers + * of their field (except that all are final). Accessors are named {@code + * ___$get_tag} and {@code ___$set_tag}. The class name must be + * included because field names can shadow one another. * *

                    If tag_fields_ok is true for the class, then tag fields are created and the accessor uses * the tag fields. If not, tag storage is created separately and accessed via the field number. From c2d1290f8e748444a70b67b00f58246c54146aed Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 7 Jan 2026 15:44:43 -0800 Subject: [PATCH 205/211] Typo fix --- java/daikon/dcomp/BuildJDK24.java | 2 +- java/daikon/dcomp/ClassGen24.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 63174a1f54..4343573021 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -379,7 +379,7 @@ void instrument_classes(File dest_dir, Map class_stream_map } // Handle non-.class files and Object.class. In JDK 8, copy them unchanged. - // For JDK 9+ they have not be added to class_stream_map. + // For JDK 9+ they have not been added to class_stream_map. if (!classFileName.endsWith(".class") || classFileName.equals("java/lang/Object.class")) { // This File constructor ignores dest_dir if classFileName is absolute. File classFile = new File(dest_dir, classFileName); diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 27b0c5dea8..8bf96114b3 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -109,7 +109,7 @@ public void addInterface(@BinaryName String name) { } /** - * Determine if this class contains the indicatated method. + * Determine if this class contains the indicated method. * * @param name the method's name * @param descriptor the method's type descriptor From c415c8c3e775928d0ae74a624d97f04aedf38f0b Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 7 Jan 2026 17:58:41 -0800 Subject: [PATCH 206/211] Variable renaming --- java/daikon/chicory/Instrument.java | 8 ++++---- java/daikon/chicory/Instrument24.java | 9 +++++---- java/daikon/dcomp/DCInstrument.java | 16 ++++++++-------- java/daikon/dcomp/DCInstrument24.java | 8 ++++---- 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index 0ed7495316..a96dbaf03f 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -1087,15 +1087,15 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int } // Call the specified method. - Type[] methodArgs; + Type[] methodParams; if (methodToCall.equals("exit")) { - methodArgs = new Type[] {CD_Object, CD_int, CD_int, object_arr_typ, CD_Object, CD_int}; + methodParams = new Type[] {CD_Object, CD_int, CD_int, object_arr_typ, CD_Object, CD_int}; } else { - methodArgs = new Type[] {CD_Object, CD_int, CD_int, object_arr_typ}; + methodParams = new Type[] {CD_Object, CD_int, CD_int, object_arr_typ}; } newCode.append( instFactory.createInvoke( - runtime_classname, methodToCall, CD_void, methodArgs, Const.INVOKESTATIC)); + runtime_classname, methodToCall, CD_void, methodParams, Const.INVOKESTATIC)); return newCode; } diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index 5b825a46d1..6420e1b757 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -1174,15 +1174,16 @@ private void callEnterOrExit( } ClassDesc objectArrayCD = CD_Object.arrayType(1); - MethodTypeDesc methodArgs; + MethodTypeDesc methodParams; // Call the specified method. if (methodToCall.equals("exit")) { - methodArgs = + methodParams = MethodTypeDesc.of(CD_void, CD_Object, CD_int, CD_int, objectArrayCD, CD_Object, CD_int); } else { - methodArgs = MethodTypeDesc.of(CD_void, CD_Object, CD_int, CD_int, objectArrayCD); + methodParams = MethodTypeDesc.of(CD_void, CD_Object, CD_int, CD_int, objectArrayCD); } - MethodRefEntry mre = mgen.getPoolBuilder().methodRefEntry(runtimeCD, methodToCall, methodArgs); + MethodRefEntry mre = + mgen.getPoolBuilder().methodRefEntry(runtimeCD, methodToCall, methodParams); newCode.add(InvokeInstruction.of(Opcode.INVOKESTATIC, mre)); } diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 65745b8588..bdd2777585 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -1080,18 +1080,18 @@ public JavaClass instrument() { } /** - * Returns true if the specified classname.method_name is the root of JUnit startup code. + * Returns true if the specified classname.methodName is the root of JUnit startup code. * * @param classname class containing the given method - * @param method_name method to be checked + * @param methodName method to be checked * @return true if the given method is a JUnit trigger */ - boolean isJunitTrigger(String classname, @Identifier String method_name) { - if (classname.contains("JUnitCommandLineParseResult") && method_name.equals("parse")) { + boolean isJunitTrigger(String classname, @Identifier String methodName) { + if (classname.contains("JUnitCommandLineParseResult") && methodName.equals("parse")) { // JUnit 4 return true; } - if (classname.contains("EngineDiscoveryRequestResolution") && method_name.equals("resolve")) { + if (classname.contains("EngineDiscoveryRequestResolution") && methodName.equals("resolve")) { // JUnit 5 return true; } @@ -2891,16 +2891,16 @@ InstructionList instrument_clone_call(InvokeInstruction invoke) { /** * Create the instructions that replace the object eq or ne branch instruction. They are replaced - * by a call to the specified compare_method (which returns a boolean) followed by the specified + * by a call to the specified compareMethod (which returns a boolean) followed by the specified * boolean ifeq or ifne instruction. */ InstructionList object_comparison( - BranchInstruction branch, String compare_method, short boolean_if) { + BranchInstruction branch, String compareMethod, short boolean_if) { InstructionList il = new InstructionList(); il.append( ifact.createInvoke( - dcompRuntimeClassName, compare_method, CD_boolean, objectObjectSig, INVOKESTATIC)); + dcompRuntimeClassName, compareMethod, CD_boolean, objectObjectSig, INVOKESTATIC)); assert branch.getTarget() != null; il.append(InstructionFactory.createBranchInstruction(boolean_if, branch.getTarget())); return il; diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 2966080878..aac9c54074 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -2214,16 +2214,16 @@ private List callEnterOrExit( instructions.add(loadIntegerConstant(line)); } - MethodTypeDesc methodArgs; + MethodTypeDesc methodParams; // Call the specified method. if (enterOrExit.equals("exit")) { - methodArgs = + methodParams = MethodTypeDesc.of( CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD, CD_Object, CD_int); } else { - methodArgs = MethodTypeDesc.of(CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD); + methodParams = MethodTypeDesc.of(CD_void, objectArrayCD, CD_Object, CD_int, objectArrayCD); } - MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, enterOrExit, methodArgs); + MethodRefEntry mre = poolBuilder.methodRefEntry(runtimeCD, enterOrExit, methodParams); instructions.add(InvokeInstruction.of(INVOKESTATIC, mre)); return instructions; From 0b710d9c234d71a718fc0da53b0ce1bb54cacb22 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Wed, 7 Jan 2026 22:45:03 -0800 Subject: [PATCH 207/211] Conditional style --- java/daikon/dcomp/DCInstrument.java | 79 ++++++++++++++++------------- 1 file changed, 45 insertions(+), 34 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index bdd2777585..e62e86648f 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -1685,11 +1685,8 @@ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) Type paramTypes[] = mgen.getArgumentTypes(); - // Determine the offset of the first argument in the frame - int offset = 1; - if (mgen.isStatic()) { - offset = 0; - } + // Determine the offset of the first argument in the frame. + int offset = mgen.isStatic() ? 0 : 1; // allocate an extra slot to save the tag frame depth for debugging int frame_size = mgen.getMaxLocals() + 1; @@ -1753,11 +1750,8 @@ InstructionList callEnterOrExit( il.append(InstructionFactory.createLoad(CD_Object, 0)); } - // Determine the offset of the first parameter - int param_offset = 1; - if (mgen.isStatic()) { - param_offset = 0; - } + // The offset of the first parameter. + int param_offset = mgen.isStatic() ? 0 : 1; // Push the MethodInfo index il.append(ifact.createConstant(method_info_index)); @@ -3538,10 +3532,13 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { op = "dup"; } } else if (is_primitive(top)) { - if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup2_x1"; - else if (is_primitive(stack.peek(1))) op = "dup2"; - else if (is_primitive(stack.peek(2))) op = "dup_x1"; - else { + if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) { + op = "dup2_x1"; + } else if (is_primitive(stack.peek(1))) { + op = "dup2"; + } else if (is_primitive(stack.peek(2))) { + op = "dup_x1"; + } else { // neither value 1 nor value 2 is primitive op = "dup"; } @@ -3570,9 +3567,11 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { String op; if (is_category2(top)) { op = "dup"; - } else if (is_primitive(top) && is_primitive(stack.peek(1))) op = "dup2"; - else if (is_primitive(top) || is_primitive(stack.peek(1))) op = "dup"; - else { + } else if (is_primitive(top) && is_primitive(stack.peek(1))) { + op = "dup2"; + } else if (is_primitive(top) || is_primitive(stack.peek(1))) { + op = "dup"; + } else { // both of the top two items are not primitive, nothing to dup return null; } @@ -3592,10 +3591,13 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { return null; } String op; - if (is_category2(stack.peek(1))) op = "dup_x1"; - else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; - else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; - else { + if (is_category2(stack.peek(1))) { + op = "dup_x1"; + } else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) { + op = "dup_x2"; + } else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) { + op = "dup_x1"; + } else { op = "dup"; } if (debug_dup.enabled) { @@ -3611,10 +3613,13 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { Type top = stack.peek(); String op; if (is_category2(top)) { - if (is_category2(stack.peek(1))) op = "dup_x1"; - else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) op = "dup_x2"; - else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) op = "dup_x1"; - else { + if (is_category2(stack.peek(1))) { + op = "dup_x1"; + } else if (is_primitive(stack.peek(1)) && is_primitive(stack.peek(2))) { + op = "dup_x2"; + } else if (is_primitive(stack.peek(1)) || is_primitive(stack.peek(2))) { + op = "dup_x1"; + } else { // both values are references op = "dup"; } @@ -3628,16 +3633,20 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { op = "dup_x1"; } } else if (is_primitive(stack.peek(1))) { - if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup2_x2"; - else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup2_x1"; - else { + if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) { + op = "dup2_x2"; + } else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) { + op = "dup2_x1"; + } else { // both 2 and 3 are references op = "dup2"; } } else { // 1 is a reference - if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup_x2"; - else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup_x1"; - else { + if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) { + op = "dup_x2"; + } else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) { + op = "dup_x1"; + } else { // both 2 and 3 are references op = "dup"; } @@ -3652,9 +3661,11 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { return null; // nothing to dup } } else if (is_primitive(stack.peek(1))) { - if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) op = "dup_x2"; - else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) op = "dup_x1"; - else { + if (is_primitive(stack.peek(2)) && is_primitive(stack.peek(3))) { + op = "dup_x2"; + } else if (is_primitive(stack.peek(2)) || is_primitive(stack.peek(3))) { + op = "dup_x1"; + } else { // both 2 and 3 are references op = "dup"; } From b22008225c01298287dd2488f6c85fbe076c23d4 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 8 Jan 2026 09:13:30 -0800 Subject: [PATCH 208/211] Reduce diffs with DCInstrument.java --- java/daikon/dcomp/DCInstrument24.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index aac9c54074..9c8323e2b1 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -1776,7 +1776,7 @@ private void instrumentCodeList( MethodGen24.MInfo24 minfo, List instructions) { - List newCode = createTagFrame(mgen); + List newCode = create_tag_frame(mgen); // The start of the list of CodeElements looks as follows: // LocalVariable declarations (if any) @@ -2090,7 +2090,7 @@ LocalVariable createTagFrameLocal(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { * @param mgen describes the given method * @return instruction list for tag_frame setup code */ - private List createTagFrame(MethodGen24 mgen) { + private List create_tag_frame(MethodGen24 mgen) { ClassDesc paramTypes[] = mgen.getParameterTypes(); From 1b0b3dddb9782d4795269535a8645704ec28c2b9 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 8 Jan 2026 09:13:52 -0800 Subject: [PATCH 209/211] Reduce recomputation --- java/daikon/chicory/Instrument.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/java/daikon/chicory/Instrument.java b/java/daikon/chicory/Instrument.java index a96dbaf03f..579dbbb8a6 100644 --- a/java/daikon/chicory/Instrument.java +++ b/java/daikon/chicory/Instrument.java @@ -127,7 +127,7 @@ public class Instrument extends InstructionListUtils implements ClassFileTransfo private static final @InternedDistinct BasicType CD_void = Type.VOID; /** "java.lang.Object[]". */ - protected static Type objectArrayCD = new ArrayType(CD_Object, 1); + protected static Type CD_Object_array = new ArrayType(CD_Object, 1); // protected static ObjectType CD_Throwable = new ObjectType("java.lang.Throwable"); @@ -1048,12 +1048,10 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int newCode.append(instFactory.createConstant(paramTypes.length)); newCode.append(instFactory.createNewArray(CD_Object, (short) 1)); - Type object_arr_typ = new ArrayType("java.lang.Object", 1); - // Put each parameter into the array. int param_index = param_offset; for (int ii = 0; ii < paramTypes.length; ii++) { - newCode.append(InstructionFactory.createDup(object_arr_typ.getSize())); + newCode.append(InstructionFactory.createDup(CD_Object_array.getSize())); newCode.append(instFactory.createConstant(ii)); Type at = paramTypes[ii]; if (at instanceof BasicType) { @@ -1089,9 +1087,9 @@ private InstructionList callEnterOrExit(MethodGen mgen, String methodToCall, int // Call the specified method. Type[] methodParams; if (methodToCall.equals("exit")) { - methodParams = new Type[] {CD_Object, CD_int, CD_int, object_arr_typ, CD_Object, CD_int}; + methodParams = new Type[] {CD_Object, CD_int, CD_int, CD_Object_array, CD_Object, CD_int}; } else { - methodParams = new Type[] {CD_Object, CD_int, CD_int, object_arr_typ}; + methodParams = new Type[] {CD_Object, CD_int, CD_int, CD_Object_array}; } newCode.append( instFactory.createInvoke( From 9fb1c2fa97438ceaa049383417b98801a1193055 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Thu, 8 Jan 2026 09:14:16 -0800 Subject: [PATCH 210/211] Use signature methods --- Makefile | 12 ++++++------ java/daikon/chicory/Runtime.java | 21 +++++++++++++++++++++ java/daikon/dcomp/BuildJDK24.java | 24 +++++++++++++++++++++--- java/daikon/dcomp/ClassGen24.java | 5 +++-- java/daikon/dcomp/DCInstrument24.java | 8 ++++---- 5 files changed, 55 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index 0f818f2fbd..cc7319bdef 100644 --- a/Makefile +++ b/Makefile @@ -751,7 +751,7 @@ endif update-bibtex2web: ifndef NONETWORK - if test -d utils/bibtex2web/.git ; then \ + @if test -d utils/bibtex2web/.git ; then \ (cd utils/bibtex2web && (git pull -q || (sleep 1m && (git pull || true)))) \ elif ! test -d utils/bibtex2web ; then \ (mkdir -p utils && (git clone -q --depth=1 https://github.com/mernst/bibtex2web.git utils/bibtex2web || (sleep 1m && git clone -q --depth=1 https://github.com/mernst/bibtex2web.git utils/bibtex2web))) \ @@ -760,7 +760,7 @@ endif update-checklink: ifndef NONETWORK - if test -d utils/checklink/.git ; then \ + @if test -d utils/checklink/.git ; then \ (cd utils/checklink && (git pull -q || (sleep 1m && (git pull || true)))) \ elif ! test -d utils/checklink ; then \ (mkdir -p utils && (git clone -q --depth=1 https://github.com/plume-lib/checklink.git utils/checklink || (sleep 1m && git clone -q --depth=1 https://github.com/plume-lib/checklink.git utils/checklink))) \ @@ -769,7 +769,7 @@ endif update-git-scripts: ifndef NONETWORK - if test -d utils/git-scripts/.git ; then \ + @if test -d utils/git-scripts/.git ; then \ (cd utils/git-scripts && (git pull -q || (sleep 1m && (git pull || true)))) \ elif ! test -d utils/git-scripts ; then \ (mkdir -p utils && (git clone -q --depth=1 https://github.com/plume-lib/git-scripts.git utils/git-scripts || (sleep 1m && git clone -q --depth=1 https://github.com/plume-lib/git-scripts.git utils/git-scripts))) \ @@ -778,7 +778,7 @@ endif update-html-tools: ifndef NONETWORK - if test -d utils/html-tools/.git ; then \ + @if test -d utils/html-tools/.git ; then \ (cd utils/html-tools && (git pull -q || (sleep 1m && (git pull || true)))) \ elif ! test -d utils/html-tools ; then \ (mkdir -p utils && (git clone -q --depth=1 https://github.com/plume-lib/html-tools.git utils/html-tools || (sleep 1m && git clone -q --depth=1 https://github.com/plume-lib/html-tools.git utils/html-tools))) \ @@ -787,7 +787,7 @@ endif update-plume-scripts-in-utils: ifndef NONETWORK - if test -d utils/plume-scripts/.git ; then \ + @if test -d utils/plume-scripts/.git ; then \ (cd utils/plume-scripts && (git pull -q || (sleep 1m && (git pull || true)))) \ elif ! test -d utils/plume-scripts ; then \ mkdir -p utils && (git clone -q --depth=1 https://github.com/plume-lib/plume-scripts.git utils/plume-scripts || (sleep 1m && git clone -q --depth=1 https://github.com/plume-lib/plume-scripts.git utils/plume-scripts)) \ @@ -796,7 +796,7 @@ endif update-run-google-java-format: ifndef NONETWORK - if test -d utils/run-google-java-format/.git ; then \ + @if test -d utils/run-google-java-format/.git ; then \ (cd utils/run-google-java-format && (git pull -q || (sleep 1m && (git pull || true)))) \ elif ! test -d utils/run-google-java-format ; then \ (mkdir -p utils && (git clone -q --depth=1 https://github.com/plume-lib/run-google-java-format.git utils/run-google-java-format || (sleep 1m && git clone -q --depth=1 https://github.com/plume-lib/run-google-java-format.git utils/run-google-java-format))) \ diff --git a/java/daikon/chicory/Runtime.java b/java/daikon/chicory/Runtime.java index a1e687352a..107c89c5ef 100644 --- a/java/daikon/chicory/Runtime.java +++ b/java/daikon/chicory/Runtime.java @@ -41,6 +41,7 @@ import org.checkerframework.checker.signature.qual.ClassGetName; import org.checkerframework.checker.signature.qual.FieldDescriptor; import org.checkerframework.checker.signature.qual.FqBinaryName; +import org.checkerframework.checker.signature.qual.InternalForm; import org.checkerframework.dataflow.qual.SideEffectFree; /** @@ -1171,6 +1172,26 @@ public static String escapeJava(String orig) { } } + /** + * Given a class name in internal form, return it as a binary name. + * + * @param internalForm a class name in internal form + * @return the class name as a binary name + */ + public static @BinaryName String internalFormToBinaryName(@InternalForm String internalForm) { + return internalForm.replace('/', '.'); + } + + /** + * Given a class name in binary name form, return it in internal form. + * + * @param binaryName a class name in binary name form + * @return the class name in internal form + */ + public static @InternalForm String binaryNameToInternalForm(@BinaryName String binaryName) { + return binaryName.replace('.', '/'); + } + // /////////////////////////////////////////////////////////////////////////// // end of copied code // diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 9265a41747..97a75bdb45 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -44,6 +44,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.signature.qual.BinaryName; import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; +import org.checkerframework.checker.signature.qual.InternalForm; /** * Add comparability instrumentation to Java class files, then stores the modified files into a @@ -195,7 +196,7 @@ public static void main(String[] args) throws IOException { // Class names are written in internal form. try (PrintWriter pw = new PrintWriter(jdk_classes_file, UTF_8.name())) { for (String classFileName : class_stream_map.keySet()) { - pw.println(classFileName.replace(".class", "")); + pw.println(removeSuffix(classFileName, ".class")); } } } @@ -412,7 +413,8 @@ void instrument_classes(File dest_dir, Map class_stream_map } @SuppressWarnings("signature:assignment") // string manipulation - @BinaryName String classname = classFileName.replace(".class", "").replace('/', '.'); + @InternalForm String classnameIF = removeSuffix(classFileName, ".class"); + String classname = Signatures.internalFormToBinaryName(classnameIF); if (DynComp.dump) { inst24.writeDebugClassFiles(buffer, inst24.debug_uninstrumented_dir, classname); } @@ -534,7 +536,8 @@ private void instrumentClassFile( // remove '.class' first @SuppressWarnings("signature:assignment") // type conversion - @BinaryName String classname = classFileName.replace(".class", "").replace('/', '.'); + @InternalForm String classnameIF = removeSuffix(classFileName, ".class"); + String classname = Signatures.internalFormToBinaryName(classnameIF); ClassInfo classInfo = new ClassInfo(classname, loader); DCInstrument24 dci = new DCInstrument24(classFile, classModel, true); byte[] classBytes = dci.instrument_jdk_class(classInfo); @@ -604,4 +607,19 @@ private static void print_skipped_methods() { } } } + + /** + * Returns the given string, with the suffix removed if it was present. + * + * @param s a string + * @param suffix a suffix + * @return {@code s}, with the suffix removed if it was present. + */ + private static String removeSuffix(String s, String suffix) { + if (s.endsWith(suffix)) { + return s.substring(0, s.length() - suffix.length()); + } else { + return s; + } + } } diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index de3747345c..c9a3f6283a 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -1,5 +1,6 @@ package daikon.dcomp; +import daikon.chicory.Runtime; import daikon.plumelib.reflection.Signatures; import java.lang.classfile.AccessFlags; import java.lang.classfile.ClassBuilder; @@ -98,7 +99,7 @@ public ClassGen24( * @param name the interface name, in binary format */ public void addInterface(@BinaryName String name) { - String internalName = name.replace('.', '/'); + String internalName = Runtime.binaryNameToInternalForm(name); for (ClassEntry existing : interfaceList) { if (existing.asInternalName().equals(internalName)) { return; @@ -194,7 +195,7 @@ public final boolean isStatic() { public static @BinaryName String getSuperclassName(ClassModel classModel) { Optional ce = classModel.superclass(); if (ce.isPresent()) { - return ce.get().asInternalName().replace('/', '.'); + return Runtime.internalFormToBinaryName(ce.get().asInternalName()); } else { return "java.lang.Object"; } diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index 9c8323e2b1..eeed39e59f 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -2723,7 +2723,7 @@ private void add_exit( System.out.println("searching interfaces of: " + ClassGen24.getClassName(startClass)); } for (ClassEntry classEntry : startClass.interfaces()) { - @BinaryName String interfaceName = classEntry.asInternalName().replace('/', '.'); + @BinaryName String interfaceName = Runtime.internalFormToBinaryName(classEntry.asInternalName()); if (debugGetDefiningInterface) { System.out.println("interface: " + interfaceName); } @@ -2807,7 +2807,7 @@ private List handleInvokeDynamic(InvokeDynamicInstruction invoke) { private List handleInvoke(InvokeInstruction invoke, MethodGen24 mgen) { // Get information about the call. - @BinaryName String classname = invoke.owner().asInternalName().replace('/', '.'); + @BinaryName String classname = Runtime.internalFormToBinaryName(invoke.owner().asInternalName()); String methodName = invoke.name().stringValue(); MethodTypeDesc mtd = invoke.typeSymbol(); ClassDesc returnType = mtd.returnType(); @@ -3465,7 +3465,7 @@ private List object_comparison( List il = new ArrayList<>(); Opcode op = fi.opcode(); String fieldName = fi.name().stringValue(); - @BinaryName String owner = fi.owner().asInternalName().replace('/', '.'); + @BinaryName String owner = Runtime.internalFormToBinaryName(fi.owner().asInternalName()); ClassDesc ownerCD = fi.owner().asSymbol(); // If this class doesn't support tag fields, don't load/store them. @@ -4518,7 +4518,7 @@ Map build_field_to_offset_map(ClassModel classModel) { } // Get the offsets for each field in the superclass. - String superclassName = ce.get().asInternalName().replace('/', '.'); + String superclassName = Runtime.internalFormToBinaryName(ce.get().asInternalName()); ClassModel super_cm = getClassModel(superclassName); if (super_cm == null) { throw new DynCompError("Can't get superclass for " + superclassName); From b7b41ac340d259f92043018c69603a149e00c25b Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Sun, 1 Feb 2026 12:23:25 -0800 Subject: [PATCH 211/211] Code review changes --- java/daikon/chicory/Runtime.java | 3 + java/daikon/dcomp/BuildJDK24.java | 4 +- java/daikon/dcomp/CalcStack24.java | 3 +- java/daikon/dcomp/ClassGen24.java | 4 +- java/daikon/dcomp/DCInstrument.java | 180 +++++++++++++------------ java/daikon/dcomp/DCInstrument24.java | 27 ++-- java/daikon/dcomp/Instrument.java | 36 ++--- java/daikon/dcomp/Instrument24.java | 36 ++--- java/daikon/dcomp/OperandStack24.java | 8 +- java/daikon/dcomp/StackMapUtils24.java | 22 ++- java/lib/README | 4 +- java/lib/build.gradle | 2 +- 12 files changed, 169 insertions(+), 160 deletions(-) diff --git a/java/daikon/chicory/Runtime.java b/java/daikon/chicory/Runtime.java index 107c89c5ef..90cc301241 100644 --- a/java/daikon/chicory/Runtime.java +++ b/java/daikon/chicory/Runtime.java @@ -1083,6 +1083,9 @@ public static String escapeJava(String orig) { // From class SignaturesUtil // + // Eventually the code should use the library rather than copying its code. + // (As of 2026-01-10, I'm having trouble with the shadowJar plugin.) + /** A map from field descriptor (sach as "I") to Java primitive type (such as "int"). */ private static HashMap fieldDescriptorToPrimitive = new HashMap<>(8); diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index 97a75bdb45..5a983cd978 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -477,8 +477,8 @@ private void createDCompClass( ClassDesc.of(Signatures.addPackage("java.lang", className)), classBuilder -> finishCreateDCompClass(classBuilder, dcompInstrumented)); // Write the byte array to a .class file. - File outputFile = new File(new File(new File(destDir, "java"), "lang"), className + ".class"); - Files.write(outputFile.toPath(), classBytes); + Path outputPath = Path.of(destDir.toString(), "java", "lang", className + ".class"); + Files.write(outputPath, classBytes); } catch (Exception e) { throw new Error(e); } diff --git a/java/daikon/dcomp/CalcStack24.java b/java/daikon/dcomp/CalcStack24.java index 747b0ee2e3..318511077c 100644 --- a/java/daikon/dcomp/CalcStack24.java +++ b/java/daikon/dcomp/CalcStack24.java @@ -49,6 +49,7 @@ import java.util.List; import java.util.Set; import org.checkerframework.checker.nullness.qual.Nullable; +import org.checkerframework.checker.signature.qual.FieldDescriptor; /** * This class calculates the state of the operand stack via simulation. @@ -961,7 +962,7 @@ static ClassDesc lceToCD(LoadableConstantEntry lce) { * @return a String containing the element type descriptor * @throws DynCompError if we don't recognize the type of {@code npai} */ - static String npaiToElementTypeDescriptor(NewPrimitiveArrayInstruction npai) { + static @FieldDescriptor String npaiToElementTypeDescriptor(NewPrimitiveArrayInstruction npai) { return switch (npai.typeKind()) { case BOOLEAN -> "Z"; case BYTE -> "B"; diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index c9a3f6283a..c85bbe8168 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -15,6 +15,7 @@ import org.checkerframework.checker.lock.qual.GuardSatisfied; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.signature.qual.BinaryName; +import org.checkerframework.checker.signature.qual.Identifier; import org.checkerframework.checker.signature.qual.MethodDescriptor; /** @@ -117,7 +118,8 @@ public void addInterface(@BinaryName String name) { * @param descriptor the method's type descriptor * @return the MethodModel if found, null otherwise */ - public @Nullable MethodModel containsMethod(String name, @MethodDescriptor String descriptor) { + public @Nullable MethodModel containsMethod( + @Identifier String name, @MethodDescriptor String descriptor) { for (MethodModel mm : classModel.methods()) { if (mm.methodName().stringValue().equals(name) && mm.methodType().stringValue().equals(descriptor)) { diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index e62e86648f..79f4a2c440 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -317,6 +317,7 @@ import org.checkerframework.checker.signature.qual.ClassGetName; import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; import org.checkerframework.checker.signature.qual.Identifier; +import org.checkerframework.checker.signature.qual.InternalForm; import org.checkerframework.dataflow.qual.Pure; /** @@ -415,7 +416,7 @@ public class DCInstrument extends InstructionListUtils { // Signature descriptors: no parameters /** Type array with no parameters. */ - protected static final Type[] noArgsSig = new Type[0]; + protected static final Type[] noArgsSig = Type.NO_ARGS; // Signature descriptors: one parameter @@ -471,8 +472,11 @@ public class DCInstrument extends InstructionListUtils { /** Keeps track of the methods that were not successfully instrumented. */ protected List skipped_methods = new ArrayList<>(); - /** Either "java.lang" or "daikon.dcomp". */ - protected @DotSeparatedIdentifiers String dcomp_prefix; + /** + * If we're using an instrumented JDK and the JDK version is 9 or higher, then "java.lang"; + * otherwise, "daikon.dcomp". + */ + protected @DotSeparatedIdentifiers String dcompRuntimePrefix; /** Either "daikon.dcomp.DCRuntime" or "java.lang.DCRuntime". */ protected @BinaryName String dcompRuntimeClassName = "daikon.dcomp.DCRuntime"; @@ -488,8 +492,8 @@ protected enum JunitState { STARTING, /** Have seen a JUnit class file that loads JUnit test classes. */ TEST_DISCOVERY, - /** Have completed identifying JUnit test classes. */ - RUNNING + /** Have completed identifying JUnit test classes and are instrumenting the code. */ + INSTRUMENTING } /** Current state of JUnit test discovery. */ @@ -589,15 +593,7 @@ boolean equals(@GuardSatisfied MethodDef this, String name, Type[] arg_types) { if (!name.equals(this.name)) { return false; } - if (this.arg_types.length != arg_types.length) { - return false; - } - for (int ii = 0; ii < arg_types.length; ii++) { - if (!arg_types[ii].equals(this.arg_types[ii])) { - return false; - } - } - return true; + return Arrays.equals(this.arg_types, arg_types); } @EnsuresNonNullIf(result = true, expression = "#1") @@ -618,7 +614,7 @@ public int hashCode(@GuardSatisfied MethodDef this) { } } - /** Initialize with the original class and whether or not the class is part of the JDK. */ + /** Initialize the class information and whether or not that class is part of the JDK. */ @SuppressWarnings("StaticAssignmentInConstructor") // instrumentation_interface public DCInstrument(JavaClass orig_class, boolean in_jdk, @Nullable ClassLoader loader) { super(); @@ -630,15 +626,16 @@ public DCInstrument(JavaClass orig_class, boolean in_jdk, @Nullable ClassLoader ifact = new InstructionFactory(classGen); constructor_is_initialized = false; if (Premain.jdk_instrumented) { - dcomp_prefix = "java.lang"; + dcompRuntimePrefix = "java.lang"; } else { - dcomp_prefix = "daikon.dcomp"; + dcompRuntimePrefix = "daikon.dcomp"; } - dcomp_marker = new ObjectType(Signatures.addPackage(dcomp_prefix, "DCompMarker")); + dcomp_marker = new ObjectType(Signatures.addPackage(dcompRuntimePrefix, "DCompMarker")); if (BcelUtil.javaVersion == 8) { - dcomp_prefix = "daikon.dcomp"; + dcompRuntimePrefix = "daikon.dcomp"; } - DCRuntime.instrumentation_interface = Signatures.addPackage(dcomp_prefix, "DCompInstrumented"); + DCRuntime.instrumentation_interface = + Signatures.addPackage(dcompRuntimePrefix, "DCompInstrumented"); // Turn on some of the logging based on debug option. debugInstrument.enabled = DynComp.debug || Premain.debug_dcinstrument; @@ -765,13 +762,13 @@ public JavaClass instrument() { } if (junit_parse_seen && !local_junit_parse_seen) { junit_parse_seen = false; - junit_state = JunitState.RUNNING; + junit_state = JunitState.INSTRUMENTING; } else if (!junit_parse_seen && local_junit_parse_seen) { junit_parse_seen = true; } break; - case RUNNING: + case INSTRUMENTING: if (debugJunitAnalysis) { stack_trace = Thread.currentThread().getStackTrace(); // [0] is getStackTrace @@ -941,7 +938,7 @@ public JavaClass instrument() { DCRuntime.methods.add(mi); } // Create the local to store the tag frame for this method - tagFrameLocal = create_tagFrameLocal(mgen); + tagFrameLocal = createTagFrameLocal(mgen); build_exception_handler(mgen); assert stackMapTable != null : "@AssumeAssertion(nullness): checked above and not modified since"; @@ -1145,7 +1142,7 @@ public JavaClass instrument_jdk_class() { // the marker argument causes subtle errors if ((classGen.getModifiers() & ACC_ANNOTATION) != 0) { debug_transform.log("Not instrumenting annotation %s%n", classname); - // Return classfile unmodified. + // Return class file unmodified. // MUST NOT RETURN NULL return classGen.getJavaClass().copy(); } @@ -1157,7 +1154,7 @@ public JavaClass instrument_jdk_class() { String packageName = classname.substring(0, i); if (Premain.problem_packages.contains(packageName)) { debug_transform.log("Skipping problem package %s%n", packageName); - // Return classfile unmodified. + // Return class file unmodified. return classGen.getJavaClass().copy(); } } @@ -1167,7 +1164,7 @@ public JavaClass instrument_jdk_class() { // See Premain.java for a list and explanations. if (Premain.problem_classes.contains(classname)) { debug_transform.log("Skipping problem class %s%n", classname); - // Return classfile unmodified. + // Return class file unmodified. return classGen.getJavaClass().copy(); } dcompRuntimeClassName = "java.lang.DCRuntime"; @@ -1240,7 +1237,7 @@ public JavaClass instrument_jdk_class() { // Instrument the method if (has_code) { // Create the local to store the tag frame for this method - tagFrameLocal = create_tagFrameLocal(mgen); + tagFrameLocal = createTagFrameLocal(mgen); build_exception_handler(mgen); assert stackMapTable != null : "@AssumeAssertion(nullness): ??"; assert tagFrameLocal != null @@ -1576,8 +1573,8 @@ public void install_exception_handler(MethodGen mgen) { } /** - * Adds the code to create the tag frame to the beginning of the method. This needs to be before - * the call to DCRuntime.enter (since it passed to that method). + * Generates the code to create the tag frame for this method and store it in tagFrameLocal. This + * needs to be before the call to DCRuntime.enter (since it is passed to that method). */ @SuppressWarnings("nullness") // calls to side-effecting methods @RequiresNonNull({"tagFrameLocal", "stackMapTable"}) @@ -1654,7 +1651,7 @@ public void add_create_tag_frame(MethodGen mgen) { * Adds a call to DCRuntime.enter at the beginning of the method. * * @param mgen method to modify - * @param mi MethodInfo for method + * @param mi MethodInfo for the given method's code * @param method_info_index index for MethodInfo */ @RequiresNonNull({"tagFrameLocal", "insertion_placeholder"}) @@ -1670,7 +1667,7 @@ public void add_enter(MethodGen mgen, MethodInfo mi, int method_info_index) { * @param mgen method to modify * @return LocalVariableGen for the tag_frame local */ - LocalVariableGen create_tagFrameLocal(MethodGen mgen) { + LocalVariableGen createTagFrameLocal(MethodGen mgen) { return create_method_scope_local(mgen, "dcomp_tag_frame$5a", CD_Object_array); } @@ -1693,7 +1690,15 @@ InstructionList create_tag_frame(MethodGen mgen, LocalVariableGen tagFrameLocal) // unsigned byte max = 255. minus the character '0' (decimal 48) // Largest frame size noted so far is 123. - assert frame_size < 207 : frame_size + " " + mgen.getClassName() + "." + mgen.getName(); + if (frame_size > 206) { + throw new DynCompError( + "method too large (" + + frame_size + + ") to instrument: " + + mgen.getClassName() + + "." + + mgen.getName()); + } String params = Character.toString((char) (frame_size + '0')); // Character.forDigit (frame_size, Character.MAX_RADIX); List paramList = new ArrayList<>(); @@ -1743,7 +1748,7 @@ InstructionList callEnterOrExit( // Push the tag frame il.append(InstructionFactory.createLoad(CD_Object_array, tagFrameLocal.getIndex())); - // Push the object. Null if this is a static method or a constructor + // Push the object. Push null if this is a static method or a constructor. if (mgen.isStatic() || (enterOrExit.equals("enter") && BcelUtil.isConstructor(mgen))) { il.append(new ACONST_NULL()); } else { // must be an instance method @@ -1797,17 +1802,17 @@ InstructionList callEnterOrExit( il.append(ifact.createConstant(line)); } - // Call the specified method - Type[] method_params; + // Call the specified method. + Type[] methodParams; if (enterOrExit.equals("exit")) { - method_params = + methodParams = new Type[] {CD_Object_array, CD_Object, CD_int, CD_Object_array, CD_Object, CD_int}; } else { - method_params = new Type[] {CD_Object_array, CD_Object, CD_int, CD_Object_array}; + methodParams = new Type[] {CD_Object_array, CD_Object, CD_int, CD_Object_array}; } il.append( ifact.createInvoke( - dcompRuntimeClassName, enterOrExit, CD_void, method_params, INVOKESTATIC)); + dcompRuntimeClassName, enterOrExit, CD_void, methodParams, INVOKESTATIC)); return il; } @@ -1849,10 +1854,11 @@ InstructionList callEnterOrExit( } // Instanceof pushes either 0 or 1 on the stack depending on whether - // the object on top of stack is of the specified type. We push a + // the object on top of stack is of the specified type. The DynComp runtime will push a + // new, unique // tag for a constant, since nothing is made comparable by this. case INSTANCEOF: - return build_il(dcr_call("push_const", CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call("push_const", CD_void, noArgsSig), inst); // Duplicates the item on the top of stack. If the value on the // top of the stack is a primitive, we need to do the same on the @@ -1911,7 +1917,7 @@ InstructionList callEnterOrExit( case IF_ICMPLT: case IF_ICMPNE: { - return build_il(dcr_call("cmp_op", CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call("cmp_op", CD_void, noArgsSig), inst); } case GETFIELD: @@ -2006,7 +2012,7 @@ InstructionList callEnterOrExit( case LCONST_0: case LCONST_1: { - return build_il(dcr_call("push_const", CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call("push_const", CD_void, noArgsSig), inst); } // Primitive Binary operators. Each is augmented with a call to @@ -2049,7 +2055,7 @@ InstructionList callEnterOrExit( case LSUB: case LUSHR: case LXOR: - return build_il(dcr_call("binary_tag_op", CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call("binary_tag_op", CD_void, noArgsSig), inst); // Computed jump based on the int on the top of stack. Since that int // is not made comparable to anything, we just discard its tag. One @@ -2144,7 +2150,7 @@ InstructionList callEnterOrExit( // Throws an exception. This clears the operand stack of the current // frame. We need to clear the tag stack as well. case ATHROW: - return build_il(dcr_call("throw_op", CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call("throw_op", CD_void, noArgsSig), inst); // Opcodes that don't need any modifications. Here for reference case ACONST_NULL: @@ -2251,7 +2257,7 @@ void add_exit(MethodGen mgen, MethodInfo mi, int method_info_index) { * Returns the interface class containing the implementation of the given method. The interfaces * of {@code startClass} are recursively searched. * - * @param startClass the JavaClass whose interfaces are to be searched + * @param startClass the class whose interfaces are to be searched * @param methodName the target method to search for * @param paramTypes the target method's parameter types * @return the name of the interface class containing target method, or null if not found @@ -2397,7 +2403,7 @@ private InstructionList handleInvoke(InvokeInstruction invoke) { if (debugHandleInvoke) { System.out.printf("push tag for return type of %s%n", invoke.getReturnType(pool)); } - il.append(dcr_call("push_const", CD_void, Type.NO_ARGS)); + il.append(dcr_call("push_const", CD_void, noArgsSig)); } il.append(invoke); return il; @@ -2430,8 +2436,8 @@ private InstructionList discard_primitive_tags(Type[] paramTypes) { * Returns true if the invoked method (the callee) is instrumented. * * @param invoke instruction whose target is to be checked - * @param classname target class of the invoke - * @param methodName target method of the invoke + * @param classname target class of the invoke (the callee) + * @param methodName target method of the invoke (the callee) * @param paramTypes parameter types of target method * @return true if the target is instrumented */ @@ -2663,7 +2669,8 @@ private Integer getAccessFlags(String classname) { } /** - * Returns true if the specified classname is instrumented. + * Returns true if the specified class is instrumented or we presume it will be instrumented by + * the time it is executed. * * @param classname class to be checked * @param methodName method to be checked (currently unused) @@ -2687,7 +2694,9 @@ private boolean isClassnameInstrumented( return false; } - if (daikon.dcomp.Instrument.is_transformer(classname.replace('.', '/'))) { + @SuppressWarnings("signature:assignment") // string conversion + @InternalForm String internalName = classname.replace('.', '/'); + if (daikon.dcomp.Instrument.is_transformer(internalName)) { return false; } @@ -2799,7 +2808,7 @@ private static class SuperclassNameError extends Error { if (class_url != null) { try (InputStream inputStream = class_url.openStream()) { if (inputStream != null) { - // Parse the bytes of the classfile, die on any errors + // Parse the bytes of the class file, die on any errors ClassParser parser = new ClassParser(inputStream, classname + ""); JavaClass result = parser.parse(); javaClasses.put(classname, result); @@ -2918,7 +2927,7 @@ InstructionList object_comparison( // If this class doesn't support tag fields, don't load/store them. if (!tag_fields_ok(mgen, classname)) { if ((fi instanceof GETFIELD) || (fi instanceof GETSTATIC)) { - il.append(dcr_call("push_const", CD_void, Type.NO_ARGS)); + il.append(dcr_call("push_const", CD_void, noArgsSig)); } else { il.append(ifact.createConstant(1)); il.append(dcr_call("discard_tag", CD_void, intSig)); @@ -2935,7 +2944,7 @@ InstructionList object_comparison( classname, Premain.tag_method_name(Premain.GET_TAG, classname, fi.getFieldName(pool)), CD_void, - Type.NO_ARGS, + noArgsSig, INVOKESTATIC)); } else if (fi instanceof PUTSTATIC) { il.append( @@ -2943,7 +2952,7 @@ InstructionList object_comparison( classname, Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), CD_void, - Type.NO_ARGS, + noArgsSig, INVOKESTATIC)); } else if (fi instanceof GETFIELD) { il.append(InstructionFactory.createDup(obj_type.getSize())); @@ -2952,7 +2961,7 @@ InstructionList object_comparison( classname, Premain.tag_method_name(Premain.GET_TAG, classname, fi.getFieldName(pool)), CD_void, - Type.NO_ARGS, + noArgsSig, INVOKEVIRTUAL)); } else { // must be put field if (field_type.getSize() == 2) { @@ -2964,7 +2973,7 @@ InstructionList object_comparison( classname, Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), CD_void, - Type.NO_ARGS, + noArgsSig, INVOKEVIRTUAL)); il.append(InstructionFactory.createLoad(field_type, lv.getIndex())); } else { @@ -2975,7 +2984,7 @@ InstructionList object_comparison( classname, Premain.tag_method_name(Premain.SET_TAG, classname, fi.getFieldName(pool)), CD_void, - Type.NO_ARGS, + noArgsSig, INVOKEVIRTUAL)); il.append(new SWAP()); } @@ -3226,7 +3235,7 @@ void trackClass_init() { new MethodGen( ACC_STATIC, CD_void, - Type.NO_ARGS, + noArgsSig, new String[0], "", classGen.getClassName(), @@ -3356,7 +3365,7 @@ InstructionList new_array(Instruction inst) { // Make the array and the count comparable. Also, pop the tags for // the array and the count off the tag stack. - il.append(dcr_call("cmp_op", CD_void, Type.NO_ARGS)); + il.append(dcr_call("cmp_op", CD_void, noArgsSig)); return il; } @@ -3483,8 +3492,8 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { } /** - * Duplicates the item on the top of stack. If the value on the top of the stack is a primitive, - * we need to do the same on the tag stack. Otherwise, we need do nothing. + * Duplicates a category 1 item on the top of stack. If it is a primitive, we need to do the same + * to the tag stack. Otherwise, we do nothing. */ @Nullable InstructionList dup_tag(Instruction inst, OperandStack stack) { Type top = stack.peek(); @@ -3492,7 +3501,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { debug_dup.log("DUP -> %s [... %s]%n", "dup", stack_contents(stack, 2)); } if (is_primitive(top)) { - return build_il(dcr_call("dup", CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call("dup", CD_void, noArgsSig), inst); } return null; } @@ -3515,7 +3524,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { if (!is_primitive(stack.peek(1))) { method = "dup"; } - return build_il(dcr_call(method, CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call(method, CD_void, noArgsSig), inst); } /** @@ -3555,7 +3564,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { debug_dup.log("DUP2_X1 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - return build_il(dcr_call(op, CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call(op, CD_void, noArgsSig), inst); } /** @@ -3578,7 +3587,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { if (debug_dup.enabled) { debug_dup.log("DUP2 -> %s [... %s]%n", op, stack_contents(stack, 2)); } - return build_il(dcr_call(op, CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call(op, CD_void, noArgsSig), inst); } /** @@ -3603,7 +3612,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { if (debug_dup.enabled) { debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - return build_il(dcr_call(op, CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call(op, CD_void, noArgsSig), inst); } /** @@ -3676,7 +3685,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { if (debug_dup.enabled) { debug_dup.log("DUP_X2 -> %s [... %s]%n", op, stack_contents(stack, 3)); } - return build_il(dcr_call(op, CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call(op, CD_void, noArgsSig), inst); } /** @@ -3722,7 +3731,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { Type type1 = stack.peek(); Type type2 = stack.peek(1); if (is_primitive(type1) && is_primitive(type2)) { - return build_il(dcr_call("swap", CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call("swap", CD_void, noArgsSig), inst); } return null; } @@ -3741,7 +3750,7 @@ InstructionList discard_tag_code(Instruction inst, int tag_count) { if (!(type instanceof BasicType)) { return null; } - return build_il(dcr_call("push_const", CD_void, Type.NO_ARGS), inst); + return build_il(dcr_call("push_const", CD_void, noArgsSig), inst); } /** @@ -3890,7 +3899,7 @@ void fix_native(ClassGen classGen, MethodGen mgen) { // push a tag if there is a primitive return value Type returnType = mgen.getReturnType(); if ((returnType instanceof BasicType) && (returnType != CD_void)) { - il.append(dcr_call("push_const", CD_void, Type.NO_ARGS)); + il.append(dcr_call("push_const", CD_void, noArgsSig)); } // If the method is not static, push the instance on the stack @@ -4012,11 +4021,11 @@ static String stack_contents(OperandStack stack, int max_items) { } /** - * Creates tag get and set accessor methods for each field in classGen. An accessor is created for - * each field (including final, static, and private fields). The accessors share the modifiers of - * their field (except that all are final). Accessors are named {@code ___$get_tag} - * and {@code ___$set_tag}. The class name must be included because field names can - * shadow one another. + * Creates tag get and set accessor methods for each field in the class. An accessor is created + * for each field (including final, static, and private fields). The accessors share the modifiers + * of their field (except that all are final). Accessors are named {@code + * ___$get_tag} and {@code ___$set_tag}. The class name must be + * included because field names can shadow one another. * *

                    If tag_fields_ok is true for the class, then tag fields are created and the accessor uses * the tag fields. If not, tag storage is created separately and accessed via the field number. @@ -4217,14 +4226,7 @@ MethodGen create_get_tag(ClassGen classGen, Field f, int tag_offset) { // Create the get accessor method MethodGen get_method = new MethodGen( - access_flags, - CD_void, - Type.NO_ARGS, - new String[] {}, - accessor_name, - classname, - il, - pool); + access_flags, CD_void, noArgsSig, new String[] {}, accessor_name, classname, il, pool); get_method.isPrivate(false); get_method.isProtected(false); get_method.isPublic(true); @@ -4292,7 +4294,7 @@ MethodGen create_set_tag(ClassGen classGen, Field f, int tag_offset) { // Create the setter method. MethodGen set_method = new MethodGen( - access_flags, CD_void, Type.NO_ARGS, new String[] {}, setter_name, classname, il, pool); + access_flags, CD_void, noArgsSig, new String[] {}, setter_name, classname, il, pool); set_method.setMaxLocals(); set_method.setMaxStack(); // add_line_numbers(set_method, il); @@ -4408,12 +4410,12 @@ void add_equals_method(ClassGen classGen) { void add_clone_and_tostring_interfaces(ClassGen classGen) { Method cl = classGen.containsMethod("clone", "()Ljava/lang/Object;"); if (cl != null) { - classGen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompClone")); + classGen.addInterface(Signatures.addPackage(dcompRuntimePrefix, "DCompClone")); } Method ts = classGen.containsMethod("toString", "()Ljava/lang/String;"); if (ts != null) { - classGen.addInterface(Signatures.addPackage(dcomp_prefix, "DCompToString")); + classGen.addInterface(Signatures.addPackage(dcompRuntimePrefix, "DCompToString")); } } @@ -4567,12 +4569,12 @@ static void restore_static_field_id(File file) throws IOException { /** * Returns the fully-qualified fieldname of the specified field. * - * @param jc class containing the field + * @param c class containing the field * @param f the field * @return string containing the fully-qualified name */ - protected String full_name(JavaClass jc, Field f) { - return jc.getClassName() + "." + f.getName(); + protected String full_name(JavaClass c, Field f) { + return c.getClassName() + "." + f.getName(); } /** diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index eeed39e59f..ca7cda5bdd 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -540,8 +540,8 @@ public record myLocalVariable(int slot, String name, ClassDesc descriptor) {} protected @DotSeparatedIdentifiers String dcompMarkerPrefix; /** - * If we're using an instrumented JDK and the JDK version is > 8, then "java.lang"; otherwise, - * "daikon.dcomp". + * If we're using an instrumented JDK and the JDK version is 9 or higher, then "java.lang"; + * otherwise, "daikon.dcomp". */ protected @DotSeparatedIdentifiers String dcompRuntimePrefix; @@ -2095,10 +2095,7 @@ private List create_tag_frame(MethodGen24 mgen) { ClassDesc paramTypes[] = mgen.getParameterTypes(); // Determine the offset of the first argument in the frame. - int offset = 1; - if (mgen.isStatic()) { - offset = 0; - } + int offset = mgen.isStatic() ? 0 : 1; // allocate an extra slot to save the tag frame depth for debugging int frame_size = mgen.getMaxLocals() + 2; @@ -2106,7 +2103,13 @@ private List create_tag_frame(MethodGen24 mgen) { // unsigned byte max = 255. minus the character '0' (decimal 48) // Largest frame size noted so far is 123. if (frame_size > 206) { - throw new DynCompError("method too large to instrument: " + mgen.getName()); + throw new DynCompError( + "method too large (" + + frame_size + + ") to instrument: " + + mgen.getClassName() + + "." + + mgen.getName()); } String params = Character.toString((char) (frame_size + '0')); // Character.forDigit (frame_size, Character.MAX_RADIX); @@ -2711,7 +2714,7 @@ private void add_exit( * Returns the interface class name containing the implementation of the given method. The * interfaces of {@code startClass} are recursively searched. * - * @param startClass the ClassModel whose interfaces are to be searched + * @param startClass the class whose interfaces are to be searched * @param methodName the target method to search for * @param paramTypes the target method's parameter types * @return the name of the interface class containing target method, or null if not found @@ -5050,12 +5053,12 @@ static void restore_static_field_id(File file) throws IOException { /** * Returns the fully-qualified fieldname of the specified field. * - * @param cm class containing the field - * @param fm the field + * @param c class containing the field + * @param f the field * @return string containing the fully-qualified name */ - protected static String full_name(ClassModel cm, FieldModel fm) { - return ClassGen24.getClassName(cm) + "." + fm.fieldName().stringValue(); + protected static String full_name(ClassModel c, FieldModel f) { + return ClassGen24.getClassName(c) + "." + f.fieldName().stringValue(); } /** diff --git a/java/daikon/dcomp/Instrument.java b/java/daikon/dcomp/Instrument.java index 072ebd2b8e..896c247be3 100644 --- a/java/daikon/dcomp/Instrument.java +++ b/java/daikon/dcomp/Instrument.java @@ -47,22 +47,6 @@ public class Instrument implements ClassFileTransformer { */ protected static final SimpleLog debug_transform = new SimpleLog(false); - /** Create an instrumenter. Setup debug directories, if needed. */ - public Instrument() { - debug_transform.enabled = - DynComp.debug || DynComp.debug_transform || Premain.debug_dcinstrument || DynComp.verbose; - daikon.chicory.Instrument.debug_ppt_omit.enabled = DynComp.debug; - - debug_dir = DynComp.debug_dir; - debug_instrumented_dir = new File(debug_dir, "instrumented"); - debug_uninstrumented_dir = new File(debug_dir, "uninstrumented"); - - if (DynComp.dump) { - debug_instrumented_dir.mkdirs(); - debug_uninstrumented_dir.mkdirs(); - } - } - /** Debug code for printing the current run-time call stack. */ public static void print_call_stack() { StackTraceElement[] stack_trace; @@ -76,7 +60,7 @@ public static void print_call_stack() { } /** - * Output a .class file and a .bcel version of the class file. + * Output a .class file and a .bcel version of it. * * @param c the Java class to output * @param directory output location for the files @@ -103,6 +87,22 @@ private void writeDebugClassFiles(JavaClass c, File directory, @BinaryName Strin // End of diagnostics. // + /** Create an instrumenter. Setup debug directories, if needed. */ + public Instrument() { + debug_transform.enabled = + DynComp.debug || DynComp.debug_transform || Premain.debug_dcinstrument || DynComp.verbose; + daikon.chicory.Instrument.debug_ppt_omit.enabled = DynComp.debug; + + debug_dir = DynComp.debug_dir; + debug_instrumented_dir = new File(debug_dir, "instrumented"); + debug_uninstrumented_dir = new File(debug_dir, "uninstrumented"); + + if (DynComp.dump) { + debug_instrumented_dir.mkdirs(); + debug_uninstrumented_dir.mkdirs(); + } + } + /** * Given a class, return a transformed version of the class that contains instrumentation code. * Because DynComp is invoked as a javaagent, the transform method is called by the Java runtime @@ -300,7 +300,7 @@ private static boolean is_dcomp(@InternalForm String className) { * @return true if className is a known transformer */ @Pure - protected static boolean is_transformer(String className) { + protected static boolean is_transformer(@InternalForm String className) { if (className.startsWith("org/codehaus/groovy")) { return true; diff --git a/java/daikon/dcomp/Instrument24.java b/java/daikon/dcomp/Instrument24.java index 064664c550..b022547aff 100644 --- a/java/daikon/dcomp/Instrument24.java +++ b/java/daikon/dcomp/Instrument24.java @@ -61,22 +61,6 @@ public class Instrument24 implements ClassFileTransformer { */ protected static final SimpleLog debug_transform = new SimpleLog(false); - /** Create an instrumenter. Setup debug directories, if needed. */ - public Instrument24() { - debug_transform.enabled = - DynComp.debug || DynComp.debug_transform || Premain.debug_dcinstrument || DynComp.verbose; - daikon.chicory.Instrument24.debug_ppt_omit.enabled = DynComp.debug; - - debug_dir = DynComp.debug_dir; - debug_instrumented_dir = new File(debug_dir, "instrumented"); - debug_uninstrumented_dir = new File(debug_dir, "uninstrumented"); - - if (DynComp.dump) { - debug_instrumented_dir.mkdirs(); - debug_uninstrumented_dir.mkdirs(); - } - } - /** Debug code for printing the current run-time call stack. */ public static void print_call_stack() { StackTraceElement[] stack_trace; @@ -90,7 +74,7 @@ public static void print_call_stack() { } /** - * Output a .class file and a .bcel version of the class file. + * Output a .class file and a .bcel version of it. * * @param classBytes a byte array of the class file to output * @param directory output location for the files @@ -134,6 +118,22 @@ public void writeDebugClassFiles( // End of diagnostics. // + /** Create an instrumenter. Setup debug directories, if needed. */ + public Instrument24() { + debug_transform.enabled = + DynComp.debug || DynComp.debug_transform || Premain.debug_dcinstrument || DynComp.verbose; + daikon.chicory.Instrument24.debug_ppt_omit.enabled = DynComp.debug; + + debug_dir = DynComp.debug_dir; + debug_instrumented_dir = new File(debug_dir, "instrumented"); + debug_uninstrumented_dir = new File(debug_dir, "uninstrumented"); + + if (DynComp.dump) { + debug_instrumented_dir.mkdirs(); + debug_uninstrumented_dir.mkdirs(); + } + } + /** * Given a class, return a transformed version of the class that contains instrumentation code. * Because DynComp is invoked as a javaagent, the transform method is called by the Java runtime @@ -280,7 +280,7 @@ public void writeDebugClassFiles( } } - // As {@code instrumentation_interface} is a static field, we initialize it here rather than + // As `instrumentation_interface` is a static field, we initialize it here rather than // in the DCInstrument24 constructor. if (Premain.jdk_instrumented && Runtime.isJava9orLater()) { dcompPrefix = "java.lang"; diff --git a/java/daikon/dcomp/OperandStack24.java b/java/daikon/dcomp/OperandStack24.java index 9528f0ef79..54a21ebcce 100644 --- a/java/daikon/dcomp/OperandStack24.java +++ b/java/daikon/dcomp/OperandStack24.java @@ -28,11 +28,11 @@ import org.checkerframework.dataflow.qual.Pure; /** - * This is a modified version of BCEL's OperandStack. We assume that the class file has been - * previously verified, so we check very few error conditions. + * This class implements a stack used for symbolic JVM stack simulation. (It's used as an operand + * stack substitute.) Elements of this stack are {@link ClassDesc} objects. * - *

                    This class implements a stack used for symbolic JVM stack simulation. [It's used as an operand - * stack substitute.] Elements of this stack are {@link ClassDesc} objects. + *

                    This is a modified version of BCEL's OperandStack. We assume that the class file has been + * previously verified, so we check very few error conditions. */ public class OperandStack24 implements Cloneable { diff --git a/java/daikon/dcomp/StackMapUtils24.java b/java/daikon/dcomp/StackMapUtils24.java index adff032328..6bb186c6b5 100644 --- a/java/daikon/dcomp/StackMapUtils24.java +++ b/java/daikon/dcomp/StackMapUtils24.java @@ -42,19 +42,18 @@ private StackMapUtils24() { * * the offset of a byte code from the start of a method's byte codes * * the offset of a variable from the start of a method's stack frame * - * The Java Virtual Machine Specification uses - * 'index into the local variable array of the current frame' - * or 'slot number' to describe this second case. + * The Java Virtual Machine Specification uses 'index into the local variable + * array of the current frame' or 'slot number' to describe this second case. */ /** * Add {@code size} (1 or 2) to the slot number of each Instruction that references a local that - * is equal or higher in the local map than {@code offsetFirstLocalToBeMoved}. Size should be the - * size of the new local that was just inserted at {@code offsetFirstLocalToBeMoved}. + * is equal or higher in the local map than {@code offsetFirstLocalToBeMoved}. * * @param mgen MethodGen to be modified * @param offsetFirstLocalToBeMoved original offset of first local moved "up" - * @param size size of new local added (1 or 2) + * @param size the size (1 or 2) of of the new local that was just inserted at {@code + * offsetFirstLocalToBeMoved} */ static void adjustCodeForLocalsChange(MethodGen24 mgen, int offsetFirstLocalToBeMoved, int size) { @@ -102,7 +101,7 @@ static void adjustCodeForLocalsChange(MethodGen24 mgen, int offsetFirstLocalToBe * Add a new local variable to the method. This will be inserted after any parameters and before * any existing local variables. If there are existing local variables this will have the side * effect of rewritting the method byte codes to adjust the slot numbers for the existing local - * variables - see below for details. + * variables. * *

                    DCInstrument24 uses this routine for two special variables: * @@ -145,7 +144,7 @@ public static LocalVariable addNewSpecialLocal( if (paramTypes.length > 0) { LocalVariable lastArg; newIndex = newIndex + paramTypes.length; - // newIndex is now positive, because paramTypes.length is + // `newIndex` is now strictly positive, because `paramTypes.length` is. lastArg = locals.get(newIndex - 1); newOffset = lastArg.slot() + TypeKind.from(lastArg.typeSymbol()).slotSize(); } @@ -180,10 +179,9 @@ public static LocalVariable addNewSpecialLocal( lv.slot() + argSize, lv.name(), lv.type(), lv.startScope(), lv.endScope())); } - // Now process the instruction list, adding one to the offset - // within each LocalVariableInstruction that references a - // local that is 'higher' in the local map than new local - // we just inserted. + // Now process the instruction list, adding 1 or 2 to the offset within each + // LocalVariableInstruction that references a local that is 'higher' in the + // local map than the new local we just inserted. adjustCodeForLocalsChange(mgen, newOffset, argSize); // DCInstrument24.debugInstrument.log("New LocalVariableTable:%n%s%n", mgen.localsTable); diff --git a/java/lib/README b/java/lib/README index 823ea5a81d..77035f09b0 100644 --- a/java/lib/README +++ b/java/lib/README @@ -44,8 +44,8 @@ commons-lang3-3.19.0.jar : https://commons.apache.org/proper/commons-lang/downlo daikon-plumelib.jar : Contains bcel-util, options, hashmap-util, plume-util, and reflection-util, but in package "daikon.plumelib". # First, adjust version numbers in file `build.gradle`. (TODO: make that unnecessary.) - gradle shadowjar - mv -f build/libs/daikon-plumelib.jar . + gradle shadowjar && \ + mv -f build/libs/daikon-plumelib.jar . && \ rm -rf build error-prone/ : https://repo1.maven.org/maven2/com/google/errorprone/error_prone_core/ diff --git a/java/lib/build.gradle b/java/lib/build.gradle index 249b253202..477bf91828 100644 --- a/java/lib/build.gradle +++ b/java/lib/build.gradle @@ -1,6 +1,6 @@ plugins { id("java") - id("com.gradleup.shadow").version("9.2.2") + id("com.gradleup.shadow").version("9.3.1") } repositories {

      2. `WC_6&|9c5+1ei0JtA0RELdcO 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 Date: Fri, 28 Nov 2025 20:15:22 -0800 Subject: [PATCH 145/211] Typo fix --- java/daikon/dcomp/DCInstrument.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 304e59766f..5ae84977d1 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -1501,7 +1501,7 @@ InstructionList callEnterOrExit( } /** - * Transforms on. instruction to track comparability. Returns a list of instructions that replaces + * Transforms one instruction to track comparability. Returns a list of instructions that replaces * the specified instruction. Returns null if the instruction should not be replaced. * * @param mg method being instrumented From aca11a494bf48865f86944c04e45c51ca6b847d6 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Sat, 29 Nov 2025 08:17:27 -0800 Subject: [PATCH 146/211] Remove unneeded warning suppressions --- java/daikon/dcomp/ClassGen24.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 58ecfa5a62..9601b29f3b 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -165,7 +165,6 @@ public final boolean isStatic() { * @return the class's name */ public static @BinaryName String getClassName(ClassModel classModel) { - @SuppressWarnings("signature:assignment") // type conversion @InternalForm String temp = classModel.thisClass().asInternalName(); return Signatures.internalFormToBinaryName(temp); } @@ -193,7 +192,6 @@ public final boolean isStatic() { public static @BinaryName String getSuperclassName(ClassModel classModel) { Optional ce = classModel.superclass(); if (ce.isPresent()) { - @SuppressWarnings("signature:assignment") // type conversion @BinaryName String scn = ce.get().asInternalName().replace('/', '.'); return scn; } else { From a148661fdd9d2a53c97783e47c3fb287eb966f35 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Sat, 29 Nov 2025 21:03:06 -0800 Subject: [PATCH 147/211] Write `@Identifier` on method names --- java/daikon/chicory/MethodGen24.java | 2 +- java/daikon/dcomp/ClassGen24.java | 7 ++---- java/daikon/dcomp/DCInstrument24.java | 33 +++++++++++++------------ java/lib/checker-framework/checker.jar | Bin 13863793 -> 13864249 bytes 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index 2d62a92b92..e8c47f012a 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -316,7 +316,7 @@ public MethodGen24( public MethodGen24( final @BinaryName String className, ClassBuilder classBuilder, - final String methodName, + final @Identifier String methodName, final int accessFlagsMask, final MethodTypeDesc mtd, List instructions, diff --git a/java/daikon/dcomp/ClassGen24.java b/java/daikon/dcomp/ClassGen24.java index 9601b29f3b..0f3be2fdb6 100644 --- a/java/daikon/dcomp/ClassGen24.java +++ b/java/daikon/dcomp/ClassGen24.java @@ -14,7 +14,6 @@ import org.checkerframework.checker.lock.qual.GuardSatisfied; import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.signature.qual.BinaryName; -import org.checkerframework.checker.signature.qual.InternalForm; import org.checkerframework.checker.signature.qual.MethodDescriptor; /** @@ -165,8 +164,7 @@ public final boolean isStatic() { * @return the class's name */ public static @BinaryName String getClassName(ClassModel classModel) { - @InternalForm String temp = classModel.thisClass().asInternalName(); - return Signatures.internalFormToBinaryName(temp); + return Signatures.internalFormToBinaryName(classModel.thisClass().asInternalName()); } /** @@ -192,8 +190,7 @@ public final boolean isStatic() { public static @BinaryName String getSuperclassName(ClassModel classModel) { Optional ce = classModel.superclass(); if (ce.isPresent()) { - @BinaryName String scn = ce.get().asInternalName().replace('/', '.'); - return scn; + return ce.get().asInternalName().replace('/', '.'); } else { return "java.lang.Object"; } diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index b8f5b2dfec..db6d3e5c61 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -114,7 +114,7 @@ import org.checkerframework.checker.signature.qual.ClassGetName; import org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers; import org.checkerframework.checker.signature.qual.FieldDescriptor; -import org.checkerframework.checker.signature.qual.InternalForm; +import org.checkerframework.checker.signature.qual.Identifier; import org.checkerframework.checker.signature.qual.MethodDescriptor; import org.checkerframework.dataflow.qual.Pure; @@ -1357,7 +1357,7 @@ private void instrumentCode( * @param method_name method to be checked * @return true if the given method is a JUnit trigger */ - boolean isJunitTrigger(String classname, String method_name) { + boolean isJunitTrigger(String classname, @Identifier String method_name) { if (classname.contains("JUnitCommandLineParseResult") && method_name.equals("parse")) { // JUnit 4 return true; @@ -2408,13 +2408,12 @@ private void add_exit( * @return the name of the interface class containing target method, or null if not found */ private @Nullable @BinaryName String getDefiningInterface( - ClassModel startClass, String methodName, ClassDesc[] paramTypes) { + ClassModel startClass, @Identifier String methodName, ClassDesc[] paramTypes) { if (debugGetDefiningInterface) { System.out.println("searching interfaces of: " + ClassGen24.getClassName(startClass)); } for (ClassEntry classEntry : startClass.interfaces()) { - @SuppressWarnings("signature:assignment") // need JDK annotations @BinaryName String interfaceName = classEntry.asInternalName().replace('/', '.'); if (debugGetDefiningInterface) { System.out.println("interface: " + interfaceName); @@ -2497,9 +2496,7 @@ private List handleInvokeDynamic(InvokeDynamicInstruction invoke) { private List handleInvoke(InvokeInstruction invoke, MethodGen24 mgen) { // Get information about the call. - @SuppressWarnings("signature:assignment") // JDK java.lang.classfile 24 is not yet annotated - @InternalForm String classnameInternalForm = invoke.owner().asInternalName(); - @BinaryName String classname = classnameInternalForm.replace('/', '.'); + @BinaryName String classname = invoke.owner().asInternalName().replace('/', '.'); String methodName = invoke.name().stringValue(); MethodTypeDesc mtd = invoke.typeSymbol(); ClassDesc returnType = mtd.returnType(); @@ -2633,7 +2630,7 @@ private boolean isTargetInstrumented( InvokeInstruction invoke, MethodGen24 mgen, @BinaryName String classname, - String methodName, + @Identifier String methodName, ClassDesc[] paramTypes) { boolean targetInstrumented; @@ -2870,7 +2867,8 @@ private Integer getAccessFlags(String classname) { * @param methodName method to be checked (currently unused) * @return true if classname is instrumented */ - private boolean isClassnameInstrumented(@BinaryName String classname, String methodName) { + private boolean isClassnameInstrumented( + @BinaryName String classname, @Identifier String methodName) { if (debugHandleInvoke) { System.out.printf("Checking callee instrumented on %s.%s%n", classname, methodName); @@ -3034,7 +3032,8 @@ private boolean isClassnameInstrumented(@BinaryName String classname, String met * @return true if method is Object.equals() */ @Pure - boolean is_object_equals(String methodName, ClassDesc returnType, ClassDesc[] paramTypes) { + boolean is_object_equals( + @Identifier String methodName, ClassDesc returnType, ClassDesc[] paramTypes) { return (methodName.equals("equals") && returnType.equals(CD_boolean) && paramTypes.length == 1 @@ -3050,7 +3049,8 @@ boolean is_object_equals(String methodName, ClassDesc returnType, ClassDesc[] pa * @return true if method is Object.clone() */ @Pure - boolean is_object_clone(String methodName, ClassDesc returnType, ClassDesc[] paramTypes) { + boolean is_object_clone( + @Identifier String methodName, ClassDesc returnType, ClassDesc[] paramTypes) { return methodName.equals("clone") && returnType.equals(CD_Object) && (paramTypes.length == 0); } @@ -3140,7 +3140,6 @@ private List load_store_field( List il = new ArrayList<>(); Opcode op = fi.opcode(); String fieldName = fi.name().stringValue(); - @SuppressWarnings("signature:assignment") // type conversion @BinaryName String owner = fi.owner().asInternalName().replace('/', '.'); ClassDesc ownerCD = fi.owner().asSymbol(); @@ -3445,7 +3444,7 @@ private List array_load(MethodGen24 mgen, ArrayLoadInstruction inst * @param base_type type of array store * @return instruction list that calls the runtime to handle the array store instruction */ - List array_store(CodeElement inst, String method, ClassDesc base_type) { + List array_store(CodeElement inst, @Identifier String method, ClassDesc base_type) { List il = new ArrayList<>(); ClassDesc array_type = base_type.arrayType(1); // if (method.equals("aastore")) { @@ -3540,7 +3539,8 @@ private List multiarray2(Instruction inst) { * @param pptName ppt to look for * @return true if this ppt should be included */ - boolean should_track(@BinaryName String className, String methodName, String pptName) { + boolean should_track( + @BinaryName String className, @Identifier String methodName, String pptName) { debugInstrument.log( "Considering tracking (24) ppt: %s, %s, %s%n", className, methodName, pptName); @@ -3591,7 +3591,8 @@ static String methodEntryName(String fullClassName, MethodGen24 mgen) { * @param paramTypes array of method parameter types * @return InvokeInstruction for the call */ - InvokeInstruction dcr_call(String methodName, ClassDesc returnType, ClassDesc[] paramTypes) { + InvokeInstruction dcr_call( + @Identifier String methodName, ClassDesc returnType, ClassDesc[] paramTypes) { MethodRefEntry mre = poolBuilder.methodRefEntry( runtimeCD, methodName, MethodTypeDesc.of(returnType, paramTypes)); @@ -4632,7 +4633,7 @@ void add_dcomp_arg(MethodGen24 mgen, MethodGen24.MInfo24 minfo) { * @return true if method is member of Object */ @Pure - boolean is_object_method(String methodName, ClassDesc[] paramTypes) { + boolean is_object_method(@Identifier String methodName, ClassDesc[] paramTypes) { // Note: kind of weird we don't check that classname = Object but it's been // that way forever. Just means foo.finialize(), e.g., will be marked uninstrumented. for (MethodDef md : obj_methods) { diff --git a/java/lib/checker-framework/checker.jar b/java/lib/checker-framework/checker.jar index 60864ac1bbed88c60e40396ce244a961c7f77173..9979f6d27a3d8b0d4d6339d73bd4b010a744a618 100644 GIT binary patch delta 189295 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%0AZfg6GHqBw6O@B!?XhyE%EkKfVNg^ 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⪻;m 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 Date: Mon, 1 Dec 2025 00:33:40 -0800 Subject: [PATCH 148/211] Improve output formatting --- java/daikon/dcomp/BuildJDK.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/daikon/dcomp/BuildJDK.java b/java/daikon/dcomp/BuildJDK.java index 14ff8d80ae..b20ca47cfb 100644 --- a/java/daikon/dcomp/BuildJDK.java +++ b/java/daikon/dcomp/BuildJDK.java @@ -218,7 +218,7 @@ public static void check_java_home() { try { jrt = jrt.getCanonicalFile(); } catch (Exception e) { - System.err.printf("Error getting canonical file for %s: %s", jrt, e.getMessage()); + System.err.printf("Error getting canonical file for %s: %s%n", jrt, e.getMessage()); System.exit(1); } From fd1d97ee0a82860f37a39911755f816bab82abfd Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Mon, 1 Dec 2025 00:53:58 -0800 Subject: [PATCH 149/211] Remove warning suppression --- java/daikon/dcomp/BuildJDK24.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/daikon/dcomp/BuildJDK24.java b/java/daikon/dcomp/BuildJDK24.java index afb65a5d67..75c14c8d35 100644 --- a/java/daikon/dcomp/BuildJDK24.java +++ b/java/daikon/dcomp/BuildJDK24.java @@ -144,7 +144,6 @@ public static void main(String[] args) throws IOException { if (cl_args.length > 1) { // Arguments are [...] - @SuppressWarnings("nullness:assignment") // https://tinyurl.com/cfissue/3224 @NonNull String[] class_files = Arrays.copyOfRange(cl_args, 1, cl_args.length); // Instrumenting a specific list of class files is usually used for testing. From d4c8c2186434c21f3c499a513664489a3a735bb0 Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Mon, 1 Dec 2025 14:06:01 -0800 Subject: [PATCH 150/211] Remove warning suppressions --- java/daikon/chicory/MethodGen24.java | 4 ---- java/daikon/dcomp/DCInstrument24.java | 4 ---- 2 files changed, 8 deletions(-) diff --git a/java/daikon/chicory/MethodGen24.java b/java/daikon/chicory/MethodGen24.java index e8c47f012a..8db3f637c2 100644 --- a/java/daikon/chicory/MethodGen24.java +++ b/java/daikon/chicory/MethodGen24.java @@ -367,7 +367,6 @@ private ClassDesc[] getParamTypes(@UnderInitialization(Object.class) MethodGen24 // incorrect entry from the parameterArray(). This check is ugly. if (methodName.equals("") && result.length > 0 && origLocalVariables.length > 1) { int dollarPos = className.lastIndexOf("$"); - @SuppressWarnings("signature:assignment") // need JDK annotations @FieldDescriptor String arg0Fd = result[0].descriptorString(); String arg0Type = Instrument24.convertDescriptorToFqBinaryName(arg0Fd); // Note for tests below: first local will always be 'this'. @@ -421,7 +420,6 @@ private ClassDesc[] getParamTypes(@UnderInitialization(Object.class) MethodGen24 } else { // UNDONE: should we assert type of paramTypes[pIndex] == type of // origLocalVariables[lindex]? - @SuppressWarnings("signature:assignment") // need JDK annotations @Identifier String paramName = origLocalVariables[lIndex].name().stringValue(); result[pIndex] = paramName; lIndex++; @@ -511,7 +509,6 @@ public boolean fixLocals(MInfo24 minfo) { for (int pIndex = 0; pIndex < paramTypes.length; pIndex++) { lIndex = lBase + pIndex; if (lIndex < localsTable.size()) { - @SuppressWarnings("signature:assignment") // need JDK annotations @Identifier String localName = localsTable.get(lIndex).name().stringValue(); if (!paramNames[pIndex].equals(localName)) { paramNames[pIndex] = localName; @@ -793,7 +790,6 @@ public final String toString(@GuardSatisfied MethodGen24 this) { * @param type the ClassDesc to translate */ private String convertClassDesc(@GuardSatisfied MethodGen24 this, ClassDesc type) { - @SuppressWarnings("signature:assignment") // need JDK annotations @FieldDescriptor String arg0Fd = type.descriptorString(); String result = daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(arg0Fd); if (result.startsWith("java.lang.")) { diff --git a/java/daikon/dcomp/DCInstrument24.java b/java/daikon/dcomp/DCInstrument24.java index db6d3e5c61..67e8dc1f0c 100644 --- a/java/daikon/dcomp/DCInstrument24.java +++ b/java/daikon/dcomp/DCInstrument24.java @@ -867,7 +867,6 @@ private void instrumentAllMethods( String types = "", names = "", locals = ""; for (int j = 0; j < paramTypes.length; j++) { - @SuppressWarnings("signature:assignment") // need JDK annotations @FieldDescriptor String paramFD = paramTypes[j].descriptorString(); types = types + daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(paramFD) + " "; @@ -1214,7 +1213,6 @@ private void instrumentCode( for (LocalVariable lv : mgen.localsTable) { codeBuilder.localVariable( lv.slot(), lv.name().stringValue(), lv.typeSymbol(), lv.startScope(), lv.endScope()); - @SuppressWarnings("signature:assignment") // need JDK annotations @FieldDescriptor String lvFD = lv.typeSymbol().descriptorString(); debugInstrument.log( " %s : %s%n", lv, daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(lvFD)); @@ -1314,7 +1312,6 @@ private void instrumentCode( for (LocalVariable lv : mgen.localsTable) { codeBuilder.localVariable( lv.slot(), lv.name().stringValue(), lv.typeSymbol(), lv.startScope(), lv.endScope()); - @SuppressWarnings("signature:assignment") // need JDK annotations @FieldDescriptor String lvFD = lv.typeSymbol().descriptorString(); debugInstrument.log( " %s : %s%n", lv, daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(lvFD)); @@ -3575,7 +3572,6 @@ static String methodEntryName(String fullClassName, MethodGen24 mgen) { ClassDesc[] paramTypes = mgen.getParameterTypes(); String[] type_names = new String[paramTypes.length]; for (int ii = 0; ii < paramTypes.length; ii++) { - @SuppressWarnings("signature:assignment") // need JDK annotations @FieldDescriptor String paramFD = paramTypes[ii].descriptorString(); type_names[ii] = daikon.chicory.Instrument24.convertDescriptorToFqBinaryName(paramFD); } From d17f2e14f4a61c3f2bebffb84fa7194529a6737f Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Mon, 1 Dec 2025 18:14:11 -0800 Subject: [PATCH 151/211] Add nullness annotation --- java/daikon/chicory/Instrument24.java | 1 + 1 file changed, 1 insertion(+) diff --git a/java/daikon/chicory/Instrument24.java b/java/daikon/chicory/Instrument24.java index cb917da519..e2c345d241 100644 --- a/java/daikon/chicory/Instrument24.java +++ b/java/daikon/chicory/Instrument24.java @@ -955,6 +955,7 @@ private List generateIncrementNonce(MethodGen24 mgen, MethodGen24.M * @param curMethodInfo provides additional information about the method * @param minfo for the given method's code */ + @RequiresNonNull("#4.nonceLocal") private void addInstrumentationAtExits( List instructions, MethodGen24 mgen, From fbd027ceb69f0bb7a60973a1d0210e539ca2eb9a Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Tue, 2 Dec 2025 09:06:35 -0800 Subject: [PATCH 152/211] Reduce diffs --- java/Makefile | 19 + java/daikon/dcomp/DCInstrument.java | 733 +++++++++++++------------- java/daikon/dcomp/DCInstrument24.java | 146 ++--- java/daikon/dcomp/Instrument.java | 22 +- 4 files changed, 488 insertions(+), 432 deletions(-) diff --git a/java/Makefile b/java/Makefile index 0c260068fe..7aea4baed7 100644 --- a/java/Makefile +++ b/java/Makefile @@ -2126,6 +2126,25 @@ else endif +########################################################################### +### Diffs +### + +# TODO: does this correspond to any other file? ./java/daikon/dcomp/CalcStack24.java + +diff24: + -diff -u daikon/dcomp/Instrument.java daikon/dcomp/Instrument24.java + -diff -u daikon/dcomp/DCInstrument.java daikon/dcomp/DCInstrument24.java + -diff -u daikon/dcomp/BuildJDK.java daikon/dcomp/BuildJDK24.java + -diff -u daikon/chicory/Instrument.java daikon/chicory/Instrument24.java + + -diff -u ~/java/plume-lib/bcel-util/src/main/java/org/plumelib/bcelutil/BcelUtil.java daikon/dcomp/BcelUtils24.java + + -diff -u ${CHECKERFRAMEWORK}/../commons-bcel/src/main/java/org/apache/bcel/generic/ClassGen.java daikon/dcomp/ClassGen24.java + -diff -u ${CHECKERFRAMEWORK}/../commons-bcel/src/main/java/org/apache/bcel/generic/MethodGen.java daikon/chicory/MethodGen24.java + -diff -u ${CHECKERFRAMEWORK}/../commons-bcel/src/main/java/org/apache/bcel/verifier/structurals/OperandStack.java daikon/dcomp/OperandStack24.java + + ########################################################################### ### Delete-on-error ### diff --git a/java/daikon/dcomp/DCInstrument.java b/java/daikon/dcomp/DCInstrument.java index 83063278d5..d4867db787 100644 --- a/java/daikon/dcomp/DCInstrument.java +++ b/java/daikon/dcomp/DCInstrument.java @@ -104,9 +104,9 @@ /** * Instruments a class file to perform Dynamic Comparability. * - *

      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

      f!%PAm;i7w&R({ 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
      k}Mx!$a#+|OIRKK*`%{-&GYh=oSM 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%0DpVwK6r?As7BO41Yl|j6gJ;1b-Sz(P*ea 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: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ƒ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�#7#b5eQ2=by@zA{|wkg8Nl%I9sr}E<=nv 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 C`o}8( delta 2280629 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
      8~C$JLo;Qi1CpH}X|j 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
      #FRWrpxEzNV~N}k(-*_q0?N>U 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%0D1Uem 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

    !gxrF^ZN6e#h^#l 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

  • *)t=Ne?*M3gsOo^#^G)?l*k)7i^4Z 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

    ;x0DxV^}FcN6HS(J6y%AIfhJtw|Cna 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�Hf)1xB>!`10nw)G|NkaPt#EfY2-jqR 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 diff --git a/java/lib/plume-util-1.12.1.jar b/java/lib/plume-util-1.12.1.jar deleted file mode 100644 index 15121d90ab9cb16c068247f0f9015fdf9781789b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368104 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