Skip to content

Commit 6bea1b6

Browse files
committed
8344727: [JVMCI] Export the CompileBroker compilation activity mode for Truffle compiler control
Reviewed-by: dnsimon
1 parent 8858de3 commit 6bea1b6

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

src/hotspot/share/jvmci/jvmciCompilerToVM.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3223,6 +3223,10 @@ C2V_VMENTRY(void, getOopMapAt, (JNIEnv* env, jobject, ARGUMENT_PAIR(method),
32233223
JVMCIENV->copy_longs_from((jlong*)oop_map_buf, oop_map, 0, nwords);
32243224
C2V_END
32253225

3226+
C2V_VMENTRY_0(jint, getCompilationActivityMode, (JNIEnv* env, jobject))
3227+
return CompileBroker::get_compilation_activity_mode();
3228+
}
3229+
32263230
#define CC (char*) /*cast a literal from (const char*)*/
32273231
#define FN_PTR(f) CAST_FROM_FN_PTR(void*, &(c2v_ ## f))
32283232

@@ -3385,6 +3389,7 @@ JNINativeMethod CompilerToVM::methods[] = {
33853389
{CC "notifyCompilerInliningEvent", CC "(I" HS_METHOD2 HS_METHOD2 "ZLjava/lang/String;I)V", FN_PTR(notifyCompilerInliningEvent)},
33863390
{CC "getOopMapAt", CC "(" HS_METHOD2 "I[J)V", FN_PTR(getOopMapAt)},
33873391
{CC "updateCompilerThreadCanCallJava", CC "(Z)Z", FN_PTR(updateCompilerThreadCanCallJava)},
3392+
{CC "getCompilationActivityMode", CC "()I", FN_PTR(getCompilationActivityMode)},
33883393
};
33893394

33903395
int CompilerToVM::methods_count() {

src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/CompilerToVM.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1522,4 +1522,10 @@ void getOopMapAt(HotSpotResolvedJavaMethodImpl method, int bci, long[] oopMap) {
15221522
* @returns false if no change was made, otherwise true
15231523
*/
15241524
native boolean updateCompilerThreadCanCallJava(boolean newState);
1525+
1526+
/**
1527+
* Returns the current {@code CompileBroker} compilation activity mode which is one of:
1528+
* {@code stop_compilation = 0}, {@code run_compilation = 1} or {@code shutdown_compilation = 2}
1529+
*/
1530+
native int getCompilationActivityMode();
15251531
}

src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1488,4 +1488,12 @@ JVMCIError exitHotSpotWithMessage(int status, String format, Object... args) {
14881488
exitHotSpot(status);
14891489
throw JVMCIError.shouldNotReachHere();
14901490
}
1491+
1492+
/**
1493+
* Returns HotSpot's {@code CompileBroker} compilation activity mode which is one of:
1494+
* {@code stop_compilation = 0}, {@code run_compilation = 1} or {@code shutdown_compilation = 2}
1495+
*/
1496+
public int getCompilationActivityMode() {
1497+
return compilerToVm.getCompilationActivityMode();
1498+
}
14911499
}

0 commit comments

Comments
 (0)