Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(308)

Unified Diff: runtime/vm/message_handler.cc

Issue 1499853004: Adds a special case for sending an int over a port with the native API. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/message_handler.cc
diff --git a/runtime/vm/message_handler.cc b/runtime/vm/message_handler.cc
index 30194cd5b4ec4a3074f690712f8bca1c2679a0b3..2abe0bff5e4c3cc9737febd3b2de67c5af4daf72 100644
--- a/runtime/vm/message_handler.cc
+++ b/runtime/vm/message_handler.cc
@@ -132,12 +132,23 @@ void MessageHandler::PostMessage(Message* message, bool before_events) {
if (source_isolate) {
source_name = source_isolate->name();
}
- OS::Print("[>] Posting message:\n"
- "\tlen: %" Pd "\n"
- "\tsource: %s\n"
- "\tdest: %s\n"
- "\tdest_port: %" Pd64 "\n",
- message->len(), source_name, name(), message->dest_port());
+ if (message->type() == Message::kDataType) {
+ OS::Print("[>] Posting data message:\n"
+ "\tlen: %" Pd "\n"
+ "\tsource: %s\n"
+ "\tdest: %s\n"
+ "\tdest_port: %" Pd64 "\n",
+ message->len(), source_name, name(), message->dest_port());
+ } else {
+ ASSERT(message->type() == Message::kIntegerType);
+ OS::Print("[>] Posting integer message:\n"
+ "\tvalue: %" Pd "\n"
+ "\tsource: %s\n"
+ "\tdest: %s\n"
+ "\tdest_port: %" Pd64 "\n",
+ message->integer(), source_name, name(),
+ message->dest_port());
+ }
}
saved_priority = message->priority();
@@ -189,13 +200,21 @@ MessageHandler::MessageStatus MessageHandler::HandleMessages(
: Message::kOOBPriority);
Message* message = DequeueMessage(min_priority);
while (message != NULL) {
- intptr_t message_len = message->len();
if (FLAG_trace_isolates) {
- OS::Print("[<] Handling message:\n"
- "\tlen: %" Pd "\n"
- "\thandler: %s\n"
- "\tport: %" Pd64 "\n",
- message_len, name(), message->dest_port());
+ if (message->type() == Message::kDataType) {
+ OS::Print("[<] Handling data message:\n"
+ "\tlen: %" Pd "\n"
+ "\thandler: %s\n"
+ "\tport: %" Pd64 "\n",
+ message->len(), name(), message->dest_port());
+ } else {
+ ASSERT(message->type() == Message::kIntegerType);
+ OS::Print("[<] Handling integer message:\n"
+ "\tvalue: %" Pd "\n"
+ "\thandler: %s\n"
+ "\tport: %" Pd64 "\n",
+ message->integer(), name(), message->dest_port());
+ }
}
// Release the monitor_ temporarily while we handle the message.
@@ -210,12 +229,22 @@ MessageHandler::MessageStatus MessageHandler::HandleMessages(
message = NULL; // May be deleted by now.
monitor_.Enter();
if (FLAG_trace_isolates) {
- OS::Print("[.] Message handled (%s):\n"
- "\tlen: %" Pd "\n"
- "\thandler: %s\n"
- "\tport: %" Pd64 "\n",
- MessageStatusString(status),
- message_len, name(), saved_dest_port);
+ if (message->type() == Message::kDataType) {
+ OS::Print("[.] Data message handled (%s):\n"
+ "\tlen: %" Pd "\n"
+ "\thandler: %s\n"
+ "\tport: %" Pd64 "\n",
+ MessageStatusString(status),
+ message->len(), name(), saved_dest_port);
+ } else {
+ ASSERT(message->type() == Message::kIntegerType);
+ OS::Print("[.] Integer message handled (%s):\n"
+ "\tvalue: %" Pd "\n"
+ "\thandler: %s\n"
+ "\tport: %" Pd64 "\n",
+ MessageStatusString(status),
+ message->integer(), name(), saved_dest_port);
+ }
}
// If we are shutting down, do not process any more messages.
if (status == kShutdown) {
« runtime/vm/message.h ('K') | « runtime/vm/message.cc ('k') | runtime/vm/native_api_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698