Merge "Updating locked_region_code_injection to use ASM7"

This commit is contained in:
Sorin Basca
2021-12-10 13:57:51 +00:00
committed by Gerrit Code Review
4 changed files with 13 additions and 10 deletions

View File

@@ -12,10 +12,10 @@ java_binary_host {
manifest: "manifest.txt", manifest: "manifest.txt",
srcs: ["src/**/*.java"], srcs: ["src/**/*.java"],
static_libs: [ static_libs: [
"asm-6.0", "asm-7.0",
"asm-commons-6.0", "asm-commons-7.0",
"asm-tree-6.0", "asm-tree-7.0",
"asm-analysis-6.0", "asm-analysis-7.0",
"guava-21.0", "guava-21.0",
], ],
} }

View File

@@ -13,8 +13,6 @@
*/ */
package lockedregioncodeinjection; package lockedregioncodeinjection;
import java.util.ArrayList;
import java.util.List;
import org.objectweb.asm.Type; import org.objectweb.asm.Type;
import org.objectweb.asm.tree.AbstractInsnNode; import org.objectweb.asm.tree.AbstractInsnNode;
import org.objectweb.asm.tree.MethodInsnNode; import org.objectweb.asm.tree.MethodInsnNode;
@@ -22,6 +20,9 @@ import org.objectweb.asm.tree.analysis.AnalyzerException;
import org.objectweb.asm.tree.analysis.BasicInterpreter; import org.objectweb.asm.tree.analysis.BasicInterpreter;
import org.objectweb.asm.tree.analysis.BasicValue; import org.objectweb.asm.tree.analysis.BasicValue;
import java.util.ArrayList;
import java.util.List;
/** /**
* A simple dataflow analysis to determine if the operands on the stack must be one of target lock * A simple dataflow analysis to determine if the operands on the stack must be one of target lock
* class type. * class type.
@@ -31,6 +32,7 @@ public class LockTargetStateAnalysis extends BasicInterpreter {
private final List<LockTarget> targetLocks; private final List<LockTarget> targetLocks;
public LockTargetStateAnalysis(List<LockTarget> targetLocks) { public LockTargetStateAnalysis(List<LockTarget> targetLocks) {
super(Utils.ASM_VERSION);
this.targetLocks = targetLocks; this.targetLocks = targetLocks;
} }

View File

@@ -13,13 +13,14 @@
*/ */
package lockedregioncodeinjection; package lockedregioncodeinjection;
import org.objectweb.asm.Opcodes;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.objectweb.asm.Opcodes;
public class Utils { public class Utils {
public static final int ASM_VERSION = Opcodes.ASM6; public static final int ASM_VERSION = Opcodes.ASM7;
/** /**
* Reads a comma separated configuration similar to the Jack definition. * Reads a comma separated configuration similar to the Jack definition.

View File

@@ -30,7 +30,7 @@ import org.junit.Test;
* rm -fr out/* * rm -fr out/*
* *
* # Make booster * # Make booster
* javac -cp lib/asm-6.0_BETA.jar:lib/asm-commons-6.0_BETA.jar:lib/asm-tree-6.0_BETA.jar:lib/asm-analysis-6.0_BETA.jar:lib/guava-21.0.jar src&#47;*&#47;*.java -d out/ * javac -cp lib/asm-7.0_BETA.jar:lib/asm-commons-7.0_BETA.jar:lib/asm-tree-7.0_BETA.jar:lib/asm-analysis-7.0_BETA.jar:lib/guava-21.0.jar src&#47;*&#47;*.java -d out/
* pushd out * pushd out
* jar cfe lockedregioncodeinjection.jar lockedregioncodeinjection.Main *&#47;*.class * jar cfe lockedregioncodeinjection.jar lockedregioncodeinjection.Main *&#47;*.class
* popd * popd
@@ -43,7 +43,7 @@ import org.junit.Test;
* popd * popd
* *
* # Run tool on unit tests. * # Run tool on unit tests.
* java -ea -cp lib/asm-6.0_BETA.jar:lib/asm-commons-6.0_BETA.jar:lib/asm-tree-6.0_BETA.jar:lib/asm-analysis-6.0_BETA.jar:lib/guava-21.0.jar:out/lockedregioncodeinjection.jar \ * java -ea -cp lib/asm-7.0_BETA.jar:lib/asm-commons-7.0_BETA.jar:lib/asm-tree-7.0_BETA.jar:lib/asm-analysis-7.0_BETA.jar:lib/guava-21.0.jar:out/lockedregioncodeinjection.jar \
* lockedregioncodeinjection.Main \ * lockedregioncodeinjection.Main \
* -i out/test_input.jar -o out/test_output.jar \ * -i out/test_input.jar -o out/test_output.jar \
* --targets 'Llockedregioncodeinjection/TestTarget;' \ * --targets 'Llockedregioncodeinjection/TestTarget;' \