src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/trace/TraceBuilderBenchmark.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/trace

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/trace/TraceBuilderBenchmark.java

Print this page




  27 import org.openjdk.jmh.annotations.Warmup;
  28 
  29 import org.graalvm.compiler.core.common.alloc.BiDirectionalTraceBuilder;
  30 import org.graalvm.compiler.core.common.alloc.TraceBuilderResult;
  31 import org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder;
  32 import org.graalvm.compiler.lir.alloc.trace.TraceBuilderPhase;
  33 import org.graalvm.compiler.microbenchmarks.graal.GraalBenchmark;
  34 
  35 @Warmup(iterations = 15)
  36 public class TraceBuilderBenchmark extends GraalBenchmark {
  37 
  38     public static class State extends ControlFlowGraphState {
  39         @MethodDescString @Param({
  40                         "java.lang.String#equals",
  41                         "java.util.HashMap#computeIfAbsent"
  42         }) public String method;
  43     }
  44 
  45     @Benchmark
  46     public TraceBuilderResult uniDirectionalTraceBuilder(State s) {
  47         return UniDirectionalTraceBuilder.computeTraces(s.cfg.getStartBlock(), s.cfg.getBlocks(), TraceBuilderPhase.getTrivialTracePredicate(s.getLIR()));
  48     }
  49 
  50     @Benchmark
  51     public TraceBuilderResult biDirectionalTraceBuilder(State s) {
  52         return BiDirectionalTraceBuilder.computeTraces(s.cfg.getStartBlock(), s.cfg.getBlocks(), TraceBuilderPhase.getTrivialTracePredicate(s.getLIR()));
  53     }
  54 
  55 }


  27 import org.openjdk.jmh.annotations.Warmup;
  28 
  29 import org.graalvm.compiler.core.common.alloc.BiDirectionalTraceBuilder;
  30 import org.graalvm.compiler.core.common.alloc.TraceBuilderResult;
  31 import org.graalvm.compiler.core.common.alloc.UniDirectionalTraceBuilder;
  32 import org.graalvm.compiler.lir.alloc.trace.TraceBuilderPhase;
  33 import org.graalvm.compiler.microbenchmarks.graal.GraalBenchmark;
  34 
  35 @Warmup(iterations = 15)
  36 public class TraceBuilderBenchmark extends GraalBenchmark {
  37 
  38     public static class State extends ControlFlowGraphState {
  39         @MethodDescString @Param({
  40                         "java.lang.String#equals",
  41                         "java.util.HashMap#computeIfAbsent"
  42         }) public String method;
  43     }
  44 
  45     @Benchmark
  46     public TraceBuilderResult uniDirectionalTraceBuilder(State s) {
  47         return UniDirectionalTraceBuilder.computeTraces(s.getLIR().getDebug(), s.cfg.getStartBlock(), s.cfg.getBlocks(), TraceBuilderPhase.getTrivialTracePredicate(s.getLIR()));
  48     }
  49 
  50     @Benchmark
  51     public TraceBuilderResult biDirectionalTraceBuilder(State s) {
  52         return BiDirectionalTraceBuilder.computeTraces(s.getLIR().getDebug(), s.cfg.getStartBlock(), s.cfg.getBlocks(), TraceBuilderPhase.getTrivialTracePredicate(s.getLIR()));
  53     }
  54 
  55 }
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/trace/TraceBuilderBenchmark.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File