| Index: vm/raw_object_snapshot.cc
 | 
| ===================================================================
 | 
| --- vm/raw_object_snapshot.cc	(revision 4707)
 | 
| +++ vm/raw_object_snapshot.cc	(working copy)
 | 
| @@ -1181,8 +1181,18 @@
 | 
|    writer->WriteObjectHeader(ObjectStore::kBigintClass, ptr()->tags_);
 | 
|  
 | 
|    // Write out the bigint value as a HEXCstring.
 | 
| -  ptr()->bn_.d = ptr()->data_;
 | 
| -  const char* str = BigintOperations::ToHexCString(&ptr()->bn_, &ZoneAllocator);
 | 
| +  intptr_t length = ptr()->signed_length_;
 | 
| +  bool is_negative = false;
 | 
| +  if (length <= 0) {
 | 
| +    length = -length;
 | 
| +    is_negative = true;
 | 
| +  }
 | 
| +  uword data_start = reinterpret_cast<uword>(ptr()) + sizeof(RawBigint);
 | 
| +  const char* str = BigintOperations::ToHexCString(
 | 
| +      length,
 | 
| +      is_negative,
 | 
| +      reinterpret_cast<void*>(data_start),
 | 
| +      &ZoneAllocator);
 | 
|    bool neg = false;
 | 
|    if (*str == '-') {
 | 
|      neg = true;
 | 
| 
 |