[vm] Remove unused failure delivery port mechanism.

TEST=ci
Change-Id: If8cf1c484b79b8a8410315c28b7c3f8b7f98a5a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221880
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
index 515d1bd..11a73d3 100644
--- a/runtime/vm/isolate.cc
+++ b/runtime/vm/isolate.cc
@@ -1421,9 +1421,6 @@
     } else if (msg_handler.IsNull()) {
       // If the port has been closed then the message will be dropped at this
       // point. Make sure to post to the delivery failure port in that case.
-      if (message->RedirectToDeliveryFailurePort()) {
-        PortMap::PostMessage(std::move(message));
-      }
     } else {
       // The handler closure which was used to successfully handle the message.
     }
diff --git a/runtime/vm/message.cc b/runtime/vm/message.cc
index e4430e6..0f2d2e4 100644
--- a/runtime/vm/message.cc
+++ b/runtime/vm/message.cc
@@ -20,49 +20,32 @@
                  uint8_t* snapshot,
                  intptr_t snapshot_length,
                  MessageFinalizableData* finalizable_data,
-                 Priority priority,
-                 Dart_Port delivery_failure_port)
+                 Priority priority)
     : dest_port_(dest_port),
-      delivery_failure_port_(delivery_failure_port),
       payload_(snapshot),
       snapshot_length_(snapshot_length),
       finalizable_data_(finalizable_data),
       priority_(priority) {
-  ASSERT((priority == kNormalPriority) ||
-         (delivery_failure_port == kIllegalPort));
   ASSERT(IsSnapshot());
 }
 
-Message::Message(Dart_Port dest_port,
-                 ObjectPtr raw_obj,
-                 Priority priority,
-                 Dart_Port delivery_failure_port)
-    : dest_port_(dest_port),
-      delivery_failure_port_(delivery_failure_port),
-      payload_(raw_obj),
-      priority_(priority) {
+Message::Message(Dart_Port dest_port, ObjectPtr raw_obj, Priority priority)
+    : dest_port_(dest_port), payload_(raw_obj), priority_(priority) {
   ASSERT(!raw_obj->IsHeapObject() || raw_obj->untag()->InVMIsolateHeap());
-  ASSERT((priority == kNormalPriority) ||
-         (delivery_failure_port == kIllegalPort));
   ASSERT(IsRaw());
 }
 
 Message::Message(Dart_Port dest_port,
                  PersistentHandle* handle,
-                 Priority priority,
-                 Dart_Port delivery_failure_port)
+                 Priority priority)
     : dest_port_(dest_port),
-      delivery_failure_port_(delivery_failure_port),
       payload_(handle),
       snapshot_length_(kPersistentHandleSnapshotLen),
       priority_(priority) {
-  ASSERT((priority == kNormalPriority) ||
-         (delivery_failure_port == kIllegalPort));
   ASSERT(IsPersistentHandle());
 }
 
 Message::~Message() {
-  ASSERT(delivery_failure_port_ == kIllegalPort);
   if (IsSnapshot()) {
     free(payload_.snapshot_);
   }
@@ -74,15 +57,6 @@
   }
 }
 
-bool Message::RedirectToDeliveryFailurePort() {
-  if (delivery_failure_port_ == kIllegalPort) {
-    return false;
-  }
-  dest_port_ = delivery_failure_port_;
-  delivery_failure_port_ = kIllegalPort;
-  return true;
-}
-
 intptr_t Message::Id() const {
   // Messages are allocated on the C heap. Use the raw address as the id.
   return reinterpret_cast<intptr_t>(this);
@@ -179,9 +153,6 @@
   tail_ = nullptr;
   while (cur != nullptr) {
     std::unique_ptr<Message> next(cur->next_);
-    if (cur->RedirectToDeliveryFailurePort()) {
-      PortMap::PostMessage(std::move(cur));
-    }
     cur = std::move(next);
   }
 }
diff --git a/runtime/vm/message.h b/runtime/vm/message.h
index bbdf5f9..4c82bdf 100644
--- a/runtime/vm/message.h
+++ b/runtime/vm/message.h
@@ -56,20 +56,13 @@
           uint8_t* snapshot,
           intptr_t snapshot_length,
           MessageFinalizableData* finalizable_data,
-          Priority priority,
-          Dart_Port delivery_failure_port = kIllegalPort);
+          Priority priority);
 
   // Message objects can also carry RawObject pointers for Smis and objects in
   // the VM heap. This is indicated by setting the len_ field to 0.
-  Message(Dart_Port dest_port,
-          ObjectPtr raw_obj,
-          Priority priority,
-          Dart_Port delivery_failure_port = kIllegalPort);
+  Message(Dart_Port dest_port, ObjectPtr raw_obj, Priority priority);
 
-  Message(Dart_Port dest_port,
-          PersistentHandle* handle,
-          Priority priority,
-          Dart_Port delivery_failure_port = kIllegalPort);
+  Message(Dart_Port dest_port, PersistentHandle* handle, Priority priority);
 
   ~Message();
 
@@ -119,8 +112,6 @@
     return snapshot_length_ == kPersistentHandleSnapshotLen;
   }
 
-  bool RedirectToDeliveryFailurePort();
-
   void DropFinalizers() {
     if (finalizable_data_ != nullptr) {
       finalizable_data_->DropFinalizers();
@@ -138,7 +129,6 @@
 
   Message* next_ = nullptr;
   Dart_Port dest_port_;
-  Dart_Port delivery_failure_port_;
   union Payload {
     Payload(uint8_t* snapshot) : snapshot_(snapshot) {}
     Payload(ObjectPtr raw_obj) : raw_obj_(raw_obj) {}