165 public boolean isMethodCompiled(Executable method, boolean isOsr){ 166 Objects.requireNonNull(method); 167 return isMethodCompiled0(method, isOsr); 168 } 169 public boolean isMethodCompilable(Executable method) { 170 return isMethodCompilable(method, -1 /*any*/); 171 } 172 public boolean isMethodCompilable(Executable method, int compLevel) { 173 return isMethodCompilable(method, compLevel, false /*not osr*/); 174 } 175 private native boolean isMethodCompilable0(Executable method, int compLevel, boolean isOsr); 176 public boolean isMethodCompilable(Executable method, int compLevel, boolean isOsr) { 177 Objects.requireNonNull(method); 178 return isMethodCompilable0(method, compLevel, isOsr); 179 } 180 private native boolean isMethodQueuedForCompilation0(Executable method); 181 public boolean isMethodQueuedForCompilation(Executable method) { 182 Objects.requireNonNull(method); 183 return isMethodQueuedForCompilation0(method); 184 } 185 public int deoptimizeMethod(Executable method) { 186 return deoptimizeMethod(method, false /*not osr*/); 187 } 188 private native int deoptimizeMethod0(Executable method, boolean isOsr); 189 public int deoptimizeMethod(Executable method, boolean isOsr) { 190 Objects.requireNonNull(method); 191 return deoptimizeMethod0(method, isOsr); 192 } 193 public void makeMethodNotCompilable(Executable method) { 194 makeMethodNotCompilable(method, -1 /*any*/); 195 } 196 public void makeMethodNotCompilable(Executable method, int compLevel) { 197 makeMethodNotCompilable(method, compLevel, false /*not osr*/); 198 } 199 private native void makeMethodNotCompilable0(Executable method, int compLevel, boolean isOsr); 200 public void makeMethodNotCompilable(Executable method, int compLevel, boolean isOsr) { 201 Objects.requireNonNull(method); 202 makeMethodNotCompilable0(method, compLevel, isOsr); 203 } 204 public int getMethodCompilationLevel(Executable method) { | 165 public boolean isMethodCompiled(Executable method, boolean isOsr){ 166 Objects.requireNonNull(method); 167 return isMethodCompiled0(method, isOsr); 168 } 169 public boolean isMethodCompilable(Executable method) { 170 return isMethodCompilable(method, -1 /*any*/); 171 } 172 public boolean isMethodCompilable(Executable method, int compLevel) { 173 return isMethodCompilable(method, compLevel, false /*not osr*/); 174 } 175 private native boolean isMethodCompilable0(Executable method, int compLevel, boolean isOsr); 176 public boolean isMethodCompilable(Executable method, int compLevel, boolean isOsr) { 177 Objects.requireNonNull(method); 178 return isMethodCompilable0(method, compLevel, isOsr); 179 } 180 private native boolean isMethodQueuedForCompilation0(Executable method); 181 public boolean isMethodQueuedForCompilation(Executable method) { 182 Objects.requireNonNull(method); 183 return isMethodQueuedForCompilation0(method); 184 } 185 // Determine if the compiler corresponding to the compilation level 'compLevel' 186 // and to the compilation context 'compilation_context' provides an intrinsic 187 // for the method 'method'. An intrinsic is available for method 'method' if: 188 // - the intrinsic is enabled (by using the appropriate command-line flag) and 189 // - the platform on which the VM is running provides the instructions necessary 190 // for the compiler to generate the intrinsic code. 191 // 192 // The compilation context is related to using the DisableIntrinsic flag on a 193 // per-method level, see hotspot/src/share/vm/compiler/abstractCompiler.hpp 194 // for more details. 195 public boolean isIntrinsicAvailableForMethod(Executable method, 196 Executable compilationContext, 197 int compLevel) { 198 Objects.requireNonNull(method); 199 return isIntrinsicAvailableForMethod0(method, compilationContext, compLevel); 200 } 201 // If usage of the DisableIntrinsic flag is not expected (or the usage can be ignored), 202 // use the below method that does not require the compilation context as argument. 203 public boolean isIntrinsicAvailableForMethod(Executable method, int compLevel) { 204 return isIntrinsicAvailableForMethod(method, null, compLevel); 205 } 206 private native boolean isIntrinsicAvailableForMethod0(Executable method, 207 Executable compilationContext, 208 int compLevel); 209 public int deoptimizeMethod(Executable method) { 210 return deoptimizeMethod(method, false /*not osr*/); 211 } 212 private native int deoptimizeMethod0(Executable method, boolean isOsr); 213 public int deoptimizeMethod(Executable method, boolean isOsr) { 214 Objects.requireNonNull(method); 215 return deoptimizeMethod0(method, isOsr); 216 } 217 public void makeMethodNotCompilable(Executable method) { 218 makeMethodNotCompilable(method, -1 /*any*/); 219 } 220 public void makeMethodNotCompilable(Executable method, int compLevel) { 221 makeMethodNotCompilable(method, compLevel, false /*not osr*/); 222 } 223 private native void makeMethodNotCompilable0(Executable method, int compLevel, boolean isOsr); 224 public void makeMethodNotCompilable(Executable method, int compLevel, boolean isOsr) { 225 Objects.requireNonNull(method); 226 makeMethodNotCompilable0(method, compLevel, isOsr); 227 } 228 public int getMethodCompilationLevel(Executable method) { |