aboutsummaryrefslogtreecommitdiff
path: root/agent/src/jmh/java/com/code_intelligence/jazzer/instrumentor/BUILD.bazel
diff options
context:
space:
mode:
Diffstat (limited to 'agent/src/jmh/java/com/code_intelligence/jazzer/instrumentor/BUILD.bazel')
-rw-r--r--agent/src/jmh/java/com/code_intelligence/jazzer/instrumentor/BUILD.bazel102
1 files changed, 102 insertions, 0 deletions
diff --git a/agent/src/jmh/java/com/code_intelligence/jazzer/instrumentor/BUILD.bazel b/agent/src/jmh/java/com/code_intelligence/jazzer/instrumentor/BUILD.bazel
new file mode 100644
index 00000000..fe68f903
--- /dev/null
+++ b/agent/src/jmh/java/com/code_intelligence/jazzer/instrumentor/BUILD.bazel
@@ -0,0 +1,102 @@
+load("@fmeum_rules_jni//jni:defs.bzl", "cc_jni_library", "java_jni_library")
+load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
+load("//agent/src/jmh/java/com/code_intelligence/jazzer:jmh.bzl", "JMH_TEST_ARGS")
+
+java_binary(
+ name = "CoverageInstrumentationBenchmark",
+ main_class = "org.openjdk.jmh.Main",
+ runtime_deps = [
+ ":coverage_instrumentation_benchmark",
+ ],
+)
+
+java_test(
+ name = "CoverageInstrumentationBenchmarkTest",
+ args = JMH_TEST_ARGS,
+ jvm_flags = [
+ "-XX:CompileCommand=print,*CoverageMap.recordCoverage",
+ ],
+ main_class = "org.openjdk.jmh.Main",
+ # Directly invoke JMH's main without using a testrunner.
+ use_testrunner = False,
+ runtime_deps = [
+ ":coverage_instrumentation_benchmark",
+ ],
+)
+
+java_library(
+ name = "coverage_instrumentation_benchmark",
+ srcs = ["CoverageInstrumentationBenchmark.java"],
+ plugins = ["//agent/src/jmh/java/com/code_intelligence/jazzer:JmhGeneratorAnnotationProcessor"],
+ runtime_deps = [
+ "@maven//:com_mikesamuel_json_sanitizer",
+ ],
+ deps = [
+ ":kotlin_strategies",
+ ":strategies",
+ "//agent/src/main/java/com/code_intelligence/jazzer/instrumentor",
+ "@maven//:org_openjdk_jmh_jmh_core",
+ ],
+)
+
+java_library(
+ name = "strategies",
+ srcs = [
+ "DirectByteBuffer2CoverageMap.java",
+ "DirectByteBufferCoverageMap.java",
+ "Unsafe2CoverageMap.java",
+ "UnsafeBranchfreeCoverageMap.java",
+ "UnsafeCoverageMap.java",
+ "UnsafeSimpleIncrementCoverageMap.java",
+ ],
+ deps = [
+ "//agent/src/main/java/com/code_intelligence/jazzer/instrumentor",
+ "@jazzer_jacoco//:jacoco_internal",
+ "@org_ow2_asm_asm//jar",
+ ],
+)
+
+kt_jvm_library(
+ name = "kotlin_strategies",
+ srcs = ["DirectByteBufferStrategy.kt"],
+ deps = [
+ "//agent/src/main/java/com/code_intelligence/jazzer/instrumentor",
+ "@jazzer_jacoco//:jacoco_internal",
+ "@org_ow2_asm_asm//jar",
+ ],
+)
+
+java_binary(
+ name = "EdgeCoverageInstrumentationBenchmark",
+ main_class = "org.openjdk.jmh.Main",
+ runtime_deps = [
+ ":edge_coverage_instrumentation_benchmark",
+ ],
+)
+
+java_test(
+ name = "EdgeCoverageInstrumentationBenchmarkTest",
+ args = JMH_TEST_ARGS,
+ main_class = "org.openjdk.jmh.Main",
+ # Directly invoke JMH's main without using a testrunner.
+ use_testrunner = False,
+ runtime_deps = [
+ ":edge_coverage_instrumentation_benchmark",
+ ],
+)
+
+java_jni_library(
+ name = "edge_coverage_instrumentation_benchmark",
+ srcs = [
+ "EdgeCoverageInstrumentation.java",
+ "EdgeCoverageTarget.java",
+ ],
+ native_libs = ["//driver/src/main/native/com/code_intelligence/jazzer/driver:jazzer_driver"],
+ plugins = ["//agent/src/jmh/java/com/code_intelligence/jazzer:JmhGeneratorAnnotationProcessor"],
+ deps = [
+ "//agent/src/main/java/com/code_intelligence/jazzer/instrumentor",
+ "//agent/src/main/java/com/code_intelligence/jazzer/runtime:coverage_map",
+ "//agent/src/test/java/com/code_intelligence/jazzer/instrumentor:patch_test_utils",
+ "@maven//:org_openjdk_jmh_jmh_core",
+ ],
+)