28 import org.openjdk.jmh.annotations.BenchmarkMode;
29 import org.openjdk.jmh.annotations.Fork;
30 import org.openjdk.jmh.annotations.Measurement;
31 import org.openjdk.jmh.annotations.Mode;
32 import org.openjdk.jmh.annotations.OutputTimeUnit;
33 import org.openjdk.jmh.annotations.State;
34 import org.openjdk.jmh.annotations.Warmup;
35
36 import java.lang.foreign.Arena;
37 import java.lang.invoke.MethodHandle;
38 import java.lang.invoke.MethodType;
39 import java.util.concurrent.TimeUnit;
40
41 import static java.lang.invoke.MethodHandles.lookup;
42
43 @BenchmarkMode(Mode.AverageTime)
44 @Warmup(iterations = 5, time = 500, timeUnit = TimeUnit.MILLISECONDS)
45 @Measurement(iterations = 10, time = 500, timeUnit = TimeUnit.MILLISECONDS)
46 @State(org.openjdk.jmh.annotations.Scope.Thread)
47 @OutputTimeUnit(TimeUnit.NANOSECONDS)
48 @Fork(value = 3, jvmArgsAppend = { "--enable-native-access=ALL-UNNAMED", "--enable-preview" })
49 public class Upcalls extends CLayouts {
50
51 static final Linker abi = Linker.nativeLinker();
52 static final MethodHandle blank;
53 static final MethodHandle identity;
54 static final MethodHandle args5;
55 static final MethodHandle args10;
56
57 static final MemorySegment cb_blank;
58 static final MemorySegment cb_identity;
59 static final MemorySegment cb_args5;
60 static final MemorySegment cb_args10;
61
62 static final long cb_blank_jni;
63 static final long cb_identity_jni;
64 static final long cb_args5_jni;
65 static final long cb_args10_jni;
66
67 static {
68 System.loadLibrary("UpcallsJNI");
|
28 import org.openjdk.jmh.annotations.BenchmarkMode;
29 import org.openjdk.jmh.annotations.Fork;
30 import org.openjdk.jmh.annotations.Measurement;
31 import org.openjdk.jmh.annotations.Mode;
32 import org.openjdk.jmh.annotations.OutputTimeUnit;
33 import org.openjdk.jmh.annotations.State;
34 import org.openjdk.jmh.annotations.Warmup;
35
36 import java.lang.foreign.Arena;
37 import java.lang.invoke.MethodHandle;
38 import java.lang.invoke.MethodType;
39 import java.util.concurrent.TimeUnit;
40
41 import static java.lang.invoke.MethodHandles.lookup;
42
43 @BenchmarkMode(Mode.AverageTime)
44 @Warmup(iterations = 5, time = 500, timeUnit = TimeUnit.MILLISECONDS)
45 @Measurement(iterations = 10, time = 500, timeUnit = TimeUnit.MILLISECONDS)
46 @State(org.openjdk.jmh.annotations.Scope.Thread)
47 @OutputTimeUnit(TimeUnit.NANOSECONDS)
48 @Fork(value = 3, jvmArgsAppend = { "--enable-native-access=ALL-UNNAMED" })
49 public class Upcalls extends CLayouts {
50
51 static final Linker abi = Linker.nativeLinker();
52 static final MethodHandle blank;
53 static final MethodHandle identity;
54 static final MethodHandle args5;
55 static final MethodHandle args10;
56
57 static final MemorySegment cb_blank;
58 static final MemorySegment cb_identity;
59 static final MemorySegment cb_args5;
60 static final MemorySegment cb_args10;
61
62 static final long cb_blank_jni;
63 static final long cb_identity_jni;
64 static final long cb_args5_jni;
65 static final long cb_args10_jni;
66
67 static {
68 System.loadLibrary("UpcallsJNI");
|