Index: runtime/vm/service_test.cc |
diff --git a/runtime/vm/service_test.cc b/runtime/vm/service_test.cc |
index eddb622a868501819dc344788e2bd557b5cebfe6..d55fe3ba3321c5feb9e8ea10927c62b975d0436e 100644 |
--- a/runtime/vm/service_test.cc |
+++ b/runtime/vm/service_test.cc |
@@ -35,10 +35,15 @@ class ServiceTestMessageHandler : public MessageHandler { |
} |
// Parse the message. |
- Thread* thread = Thread::Current(); |
- MessageSnapshotReader reader(message->data(), message->len(), thread); |
- const Object& response_obj = Object::Handle(reader.ReadObject()); |
String& response = String::Handle(); |
+ Object& response_obj = Object::Handle(); |
+ if (message->IsRaw()) { |
+ response_obj = message->raw_obj(); |
+ } else { |
+ Thread* thread = Thread::Current(); |
+ MessageSnapshotReader reader(message->data(), message->len(), thread); |
+ response_obj = reader.ReadObject(); |
+ } |
response ^= response_obj.raw(); |
_msg = strdup(response.ToCString()); |
return kOK; |