Index: runtime/vm/snapshot.cc |
diff --git a/runtime/vm/snapshot.cc b/runtime/vm/snapshot.cc |
index 881613fa021114f22b5a60a970146eb1d84a072c..edaaa2b5c12d1a37c9dcc3801e3e2a35448554df 100644 |
--- a/runtime/vm/snapshot.cc |
+++ b/runtime/vm/snapshot.cc |
@@ -573,6 +573,20 @@ void MessageWriter::WriteCObject(Dart_CObject* object) { |
case Dart_CObject::kInt64: |
WriteInt64(object); |
break; |
+ case Dart_CObject::kBigint: { |
+ // Write out the serialization header value for this object. |
+ WriteInlinedHeader(object); |
+ // Write out the class and tags information. |
+ WriteObjectHeader(ObjectStore::kBigintClass, 0); |
+ // Write hex string length and content |
+ char* hex_string = object->value.as_bigint; |
+ intptr_t len = strlen(hex_string); |
+ WriteIntptrValue(len); |
+ for (intptr_t i = 0; i < len; i++) { |
+ Write<uint8_t>(hex_string[i]); |
+ } |
+ break; |
+ } |
case Dart_CObject::kDouble: |
// Write out the serialization header value for this object. |
WriteInlinedHeader(object); |