89 GraalDirectives.blackhole(i);
90 }
91 }
92
93 @Test
94 public void incrementCounter() {
95 Assume.assumeTrue("not a subprocess -> skip", Boolean.getBoolean(SUBPROCESS_PROPERTY));
96 BenchmarkCounters.enabled = true;
97
98 Object[] args = new Object[]{Integer.MAX_VALUE * 4L};
99 ResolvedJavaMethod method = getResolvedJavaMethod("test");
100 executeActualCheckDeopt(getInitialOptions(), method, EMPTY, null, args);
101 }
102
103 @Test
104 public void spawnSubprocess() throws IOException, InterruptedException {
105 Assume.assumeFalse("subprocess already spawned -> skip", Boolean.getBoolean(SUBPROCESS_PROPERTY));
106 List<String> vmArgs = withoutDebuggerArguments(getVMCommandLine());
107 vmArgs.add("-XX:JVMCICounterSize=1");
108 vmArgs.add("-Dgraal." + BenchmarkCounters.Options.AbortOnBenchmarkCounterOverflow.getName() + "=true");
109 vmArgs.add("-D" + SUBPROCESS_PROPERTY + "=true");
110
111 // Disable increment range checks (e.g. HotSpotCounterOp.checkIncrements())
112 vmArgs.add("-dsa");
113 vmArgs.add("-da");
114
115 List<String> mainClassAndArgs = new ArrayList<>();
116 mainClassAndArgs.add("com.oracle.mxtool.junit.MxJUnitWrapper");
117 mainClassAndArgs.add(BenchmarkCounterOverflowTest.class.getName());
118
119 SubprocessUtil.Subprocess proc = SubprocessUtil.java(vmArgs, mainClassAndArgs);
120
121 if (VERBOSE) {
122 System.out.println(proc);
123 }
124
125 Assert.assertNotEquals("Expected non-zero exit status", 0, proc.exitCode);
126
127 Iterator<String> it = proc.output.iterator();
128 boolean foundProblematicFrame = false;
|
89 GraalDirectives.blackhole(i);
90 }
91 }
92
93 @Test
94 public void incrementCounter() {
95 Assume.assumeTrue("not a subprocess -> skip", Boolean.getBoolean(SUBPROCESS_PROPERTY));
96 BenchmarkCounters.enabled = true;
97
98 Object[] args = new Object[]{Integer.MAX_VALUE * 4L};
99 ResolvedJavaMethod method = getResolvedJavaMethod("test");
100 executeActualCheckDeopt(getInitialOptions(), method, EMPTY, null, args);
101 }
102
103 @Test
104 public void spawnSubprocess() throws IOException, InterruptedException {
105 Assume.assumeFalse("subprocess already spawned -> skip", Boolean.getBoolean(SUBPROCESS_PROPERTY));
106 List<String> vmArgs = withoutDebuggerArguments(getVMCommandLine());
107 vmArgs.add("-XX:JVMCICounterSize=1");
108 vmArgs.add("-Dgraal." + BenchmarkCounters.Options.AbortOnBenchmarkCounterOverflow.getName() + "=true");
109 vmArgs.addAll(SubprocessUtil.getPackageOpeningOptions());
110 vmArgs.add("-D" + SUBPROCESS_PROPERTY + "=true");
111
112 // Disable increment range checks (e.g. HotSpotCounterOp.checkIncrements())
113 vmArgs.add("-dsa");
114 vmArgs.add("-da");
115
116 List<String> mainClassAndArgs = new ArrayList<>();
117 mainClassAndArgs.add("com.oracle.mxtool.junit.MxJUnitWrapper");
118 mainClassAndArgs.add(BenchmarkCounterOverflowTest.class.getName());
119
120 SubprocessUtil.Subprocess proc = SubprocessUtil.java(vmArgs, mainClassAndArgs);
121
122 if (VERBOSE) {
123 System.out.println(proc);
124 }
125
126 Assert.assertNotEquals("Expected non-zero exit status", 0, proc.exitCode);
127
128 Iterator<String> it = proc.output.iterator();
129 boolean foundProblematicFrame = false;
|