| 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;
|
|
|