Reland https://dart-review.googlesource.com/c/sdk/+/84683

The timeout issue in app-kernel-linux-product-x64-try seems to have resolved itself.

Bug: https://github.com/dart-lang/sdk/issues/34895
Change-Id: If503aa4e63628c38d8ee86a5b6b5202ea953d6a8
Reviewed-on: https://dart-review.googlesource.com/c/85406
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
diff --git a/runtime/lib/vmservice.cc b/runtime/lib/vmservice.cc
index c288d6a..aa87514 100644
--- a/runtime/lib/vmservice.cc
+++ b/runtime/lib/vmservice.cc
@@ -79,6 +79,7 @@
 #endif  // !PRODUCT
 
 DEFINE_NATIVE_ENTRY(VMService_SendIsolateServiceMessage, 2) {
+#ifndef PRODUCT
   if (!FLAG_support_service) {
     return Bool::Get(false).raw();
   }
@@ -95,25 +96,33 @@
   bool result = PortMap::PostMessage(
       writer.WriteMessage(message, sp.Id(), Message::kOOBPriority));
   return Bool::Get(result).raw();
+#else
+  return Object::null();
+#endif
 }
 
 DEFINE_NATIVE_ENTRY(VMService_SendRootServiceMessage, 1) {
+#ifndef PRODUCT
   GET_NON_NULL_NATIVE_ARGUMENT(Array, message, arguments->NativeArgAt(0));
   if (FLAG_support_service) {
     return Service::HandleRootMessage(message);
   }
+#endif
   return Object::null();
 }
 
 DEFINE_NATIVE_ENTRY(VMService_SendObjectRootServiceMessage, 1) {
+#ifndef PRODUCT
   GET_NON_NULL_NATIVE_ARGUMENT(Array, message, arguments->NativeArgAt(0));
   if (FLAG_support_service) {
     return Service::HandleObjectRootMessage(message);
   }
+#endif
   return Object::null();
 }
 
 DEFINE_NATIVE_ENTRY(VMService_OnStart, 0) {
+#ifndef PRODUCT
   if (FLAG_trace_service) {
     OS::PrintErr("vm-service: Booting dart:vmservice library.\n");
   }
@@ -122,7 +131,6 @@
   if (!FLAG_support_service) {
     return Object::null();
   }
-#ifndef PRODUCT
   // Register running isolates with service.
   RegisterRunningIsolatesVisitor register_isolates(thread);
   if (FLAG_trace_service) {
@@ -134,16 +142,19 @@
 }
 
 DEFINE_NATIVE_ENTRY(VMService_OnExit, 0) {
+#ifndef PRODUCT
   if (FLAG_trace_service) {
     OS::PrintErr("vm-service: processed exit message.\n");
     MessageHandler* message_handler = isolate->message_handler();
     OS::PrintErr("vm-service: live ports = %" Pd "\n",
                  message_handler->live_ports());
   }
+#endif
   return Object::null();
 }
 
 DEFINE_NATIVE_ENTRY(VMService_OnServerAddressChange, 1) {
+#ifndef PRODUCT
   if (!FLAG_support_service) {
     return Object::null();
   }
@@ -153,31 +164,42 @@
   } else {
     ServiceIsolate::SetServerAddress(address.ToCString());
   }
+#endif
   return Object::null();
 }
 
 DEFINE_NATIVE_ENTRY(VMService_ListenStream, 1) {
+#ifndef PRODUCT
   GET_NON_NULL_NATIVE_ARGUMENT(String, stream_id, arguments->NativeArgAt(0));
   bool result = false;
   if (FLAG_support_service) {
     result = Service::ListenStream(stream_id.ToCString());
   }
   return Bool::Get(result).raw();
+#else
+  return Object::null();
+#endif
 }
 
 DEFINE_NATIVE_ENTRY(VMService_CancelStream, 1) {
+#ifndef PRODUCT
   GET_NON_NULL_NATIVE_ARGUMENT(String, stream_id, arguments->NativeArgAt(0));
   if (FLAG_support_service) {
     Service::CancelStream(stream_id.ToCString());
   }
+#endif
   return Object::null();
 }
 
 DEFINE_NATIVE_ENTRY(VMService_RequestAssets, 0) {
+#ifndef PRODUCT
   if (!FLAG_support_service) {
     return Object::null();
   }
   return Service::RequestAssets();
+#else
+  return Object::null();
+#endif
 }
 
 #ifndef PRODUCT