Skip to content

Commit 37add07

Browse files
committed
Implementation of Isolate::IsExecutionTerminating().
1 parent 8af31f3 commit 37add07

File tree

5 files changed

+14
-2
lines changed

5 files changed

+14
-2
lines changed

graal-nodejs/deps/v8/src/graal/graal_isolate.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,7 @@ GraalIsolate::GraalIsolate(JavaVM* jvm, JNIEnv* env, v8::Isolate::CreateParams c
723723
ACCESS_METHOD(GraalAccessMethod::isolate_get_heap_statistics, "isolateGetHeapStatistics", "()V")
724724
ACCESS_METHOD(GraalAccessMethod::isolate_terminate_execution, "isolateTerminateExecution", "()V")
725725
ACCESS_METHOD(GraalAccessMethod::isolate_cancel_terminate_execution, "isolateCancelTerminateExecution", "()V")
726+
ACCESS_METHOD(GraalAccessMethod::isolate_is_execution_terminating, "isolateIsExecutionTerminating", "()Z")
726727
ACCESS_METHOD(GraalAccessMethod::isolate_get_int_placeholder, "isolateGetIntPlaceholder", "()Ljava/lang/Object;")
727728
ACCESS_METHOD(GraalAccessMethod::isolate_get_safe_int_placeholder, "isolateGetSafeIntPlaceholder", "()Ljava/lang/Object;")
728729
ACCESS_METHOD(GraalAccessMethod::isolate_get_double_placeholder, "isolateGetDoublePlaceholder", "()Ljava/lang/Object;")
@@ -1262,6 +1263,11 @@ void GraalIsolate::CancelTerminateExecution() {
12621263
}
12631264
}
12641265

1266+
bool GraalIsolate::IsExecutionTerminating() {
1267+
JNI_CALL(jboolean, terminating, this, GraalAccessMethod::isolate_is_execution_terminating, Boolean);
1268+
return terminating;
1269+
}
1270+
12651271
void GraalIsolate::SetFunctionTemplateData(unsigned id, GraalValue* data) {
12661272
while (function_template_data.size() <= id) function_template_data.push_back(nullptr);
12671273
data->ReferenceAdded();

graal-nodejs/deps/v8/src/graal/graal_isolate.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ enum GraalAccessMethod {
205205
isolate_get_heap_statistics,
206206
isolate_terminate_execution,
207207
isolate_cancel_terminate_execution,
208+
isolate_is_execution_terminating,
208209
isolate_get_int_placeholder,
209210
isolate_get_safe_int_placeholder,
210211
isolate_get_double_placeholder,
@@ -473,6 +474,7 @@ class GraalIsolate {
473474

474475
void TerminateExecution();
475476
void CancelTerminateExecution();
477+
bool IsExecutionTerminating();
476478

477479
inline JNIEnv* GetJNIEnv() {
478480
return jni_env_;

graal-nodejs/deps/v8/src/graal/v8.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -583,8 +583,7 @@ namespace v8 {
583583
}
584584

585585
bool Isolate::IsExecutionTerminating() {
586-
TRACE
587-
return false;
586+
return reinterpret_cast<GraalIsolate*> (this)->IsExecutionTerminating();
588587
}
589588

590589
void Isolate::DumpAndResetStats() {

graal-nodejs/mx.graal-nodejs/com.oracle.truffle.trufflenode/src/com/oracle/truffle/trufflenode/GraalJSAccess.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3179,6 +3179,10 @@ public void isolateGetHeapStatistics() {
31793179

31803180
private boolean terminateExecution;
31813181

3182+
public synchronized boolean isolateIsExecutionTerminating() {
3183+
return terminateExecution;
3184+
}
3185+
31823186
public synchronized void isolateCancelTerminateExecution() {
31833187
terminateExecution = false;
31843188
if (Thread.currentThread() == agent.getThread()) {

graal-nodejs/mx.graal-nodejs/com.oracle.truffle.trufflenode/src/svmnodejs.jniconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@
105105
{ "name": "isolateGetIntPlaceholder" },
106106
{ "name": "isolateGetSafeIntPlaceholder" },
107107
{ "name": "isolateInternalErrorCheck" },
108+
{ "name": "isolateIsExecutionTerminating" },
108109
{ "name": "isolateMeasureMemory" },
109110
{ "name": "isolatePerformGC" },
110111
{ "name": "isolateRunMicrotasks" },

0 commit comments

Comments
 (0)