Index: runtime/vm/dart_api_impl.cc |
diff --git a/runtime/vm/dart_api_impl.cc b/runtime/vm/dart_api_impl.cc |
index 2e739e17e744e5c3cd356dda183cf4ab35d8b6fc..c5abb5ae42dd0318bb2a0e5fbbaa18abc30dc002 100644 |
--- a/runtime/vm/dart_api_impl.cc |
+++ b/runtime/vm/dart_api_impl.cc |
@@ -25,6 +25,7 @@ |
#include "vm/growable_array.h" |
#include "vm/lockers.h" |
#include "vm/isolate_reload.h" |
+#include "vm/kernel_isolate.h" |
#include "vm/message.h" |
#include "vm/message_handler.h" |
#include "vm/native_entry.h" |
@@ -5977,6 +5978,44 @@ DART_EXPORT Dart_Handle Dart_SetPeer(Dart_Handle object, void* peer) { |
} |
+// --- Dart Front-End (Kernel) support --- |
+ |
+DART_EXPORT bool Dart_IsKernelIsolate(Dart_Isolate isolate) { |
+#ifdef DART_PRECOMPILED_RUNTIME |
+ return false; |
+#else |
+ Isolate* iso = reinterpret_cast<Isolate*>(isolate); |
+ return KernelIsolate::IsKernelIsolate(iso); |
+#endif |
+} |
+ |
+ |
+DART_EXPORT bool Dart_KernelIsolateIsRunning() { |
+#ifdef DART_PRECOMPILED_RUNTIME |
+ return false; |
+#else |
+ return KernelIsolate::IsRunning(); |
+#endif |
+} |
+ |
+ |
+DART_EXPORT Dart_Port Dart_ServiceWaitForKernelPort() { |
+#ifdef DART_PRECOMPILED_RUNTIME |
+ return ILLEGAL_PORT; |
+#else |
+ return KernelIsolate::WaitForKernelPort(); |
+#endif |
+} |
+ |
+DART_EXPORT Dart_Port Dart_KernelPort() { |
+#ifdef DART_PRECOMPILED_RUNTIME |
+ return false; |
+#else |
+ return KernelIsolate::KernelPort(); |
+#endif |
+} |
+ |
+ |
// --- Service support --- |
DART_EXPORT bool Dart_IsServiceIsolate(Dart_Isolate isolate) { |