| Index: src/serialize.cc
|
| diff --git a/src/serialize.cc b/src/serialize.cc
|
| index 3c333d068893408078b321408c2f6e3646d297bf..47a320e2b273cbb3ce0e02406756f898b4882bb8 100644
|
| --- a/src/serialize.cc
|
| +++ b/src/serialize.cc
|
| @@ -1097,7 +1097,7 @@ void Serializer::Serialize() {
|
| InitializeAllocators();
|
| reference_encoder_ = new ExternalReferenceEncoder();
|
| PutHeader();
|
| - Heap::IterateRoots(this);
|
| + Heap::IterateRoots(this, VISIT_ONLY_STRONG);
|
| PutLog();
|
| PutContextStack();
|
| Disable();
|
| @@ -1200,7 +1200,7 @@ void Serializer::PutHeader() {
|
| writer_->PutC('G');
|
| writer_->PutC('[');
|
| GlobalHandlesRetriever ghr(&global_handles_);
|
| - GlobalHandles::IterateRoots(&ghr);
|
| + GlobalHandles::IterateStrongRoots(&ghr);
|
| for (int i = 0; i < global_handles_.length(); i++) {
|
| writer_->PutC('N');
|
| }
|
| @@ -1437,7 +1437,7 @@ class GlobalHandleDestroyer : public ObjectVisitor {
|
| void Deserializer::Deserialize() {
|
| // No global handles.
|
| NoGlobalHandlesChecker checker;
|
| - GlobalHandles::IterateRoots(&checker);
|
| + GlobalHandles::IterateStrongRoots(&checker);
|
| // No active threads.
|
| ASSERT_EQ(NULL, ThreadState::FirstInUse());
|
| // No active handles.
|
| @@ -1446,12 +1446,12 @@ void Deserializer::Deserialize() {
|
| // By setting linear allocation only, we forbid the use of free list
|
| // allocation which is not predicted by SimulatedAddress.
|
| GetHeader();
|
| - Heap::IterateRoots(this);
|
| + Heap::IterateRoots(this, VISIT_ONLY_STRONG);
|
| GetContextStack();
|
| // Any global handles that have been set up by deserialization are leaked
|
| // since noone is keeping track of them. So we discard them now.
|
| GlobalHandleDestroyer destroyer;
|
| - GlobalHandles::IterateRoots(&destroyer);
|
| + GlobalHandles::IterateStrongRoots(&destroyer);
|
| }
|
|
|
|
|
| @@ -1854,7 +1854,7 @@ void Deserializer2::Deserialize() {
|
| ASSERT(HandleScopeImplementer::instance()->blocks()->is_empty());
|
| ASSERT(external_reference_decoder_ == NULL);
|
| external_reference_decoder_ = new ExternalReferenceDecoder();
|
| - Heap::IterateRoots(this);
|
| + Heap::IterateRoots(this, VISIT_ONLY_STRONG);
|
| ASSERT(source_->AtEOF());
|
| delete external_reference_decoder_;
|
| external_reference_decoder_ = NULL;
|
| @@ -2125,7 +2125,7 @@ void Serializer2::Serialize() {
|
| CHECK_EQ(0, GlobalHandles::NumberOfWeakHandles());
|
| ASSERT(external_reference_encoder_ == NULL);
|
| external_reference_encoder_ = new ExternalReferenceEncoder();
|
| - Heap::IterateRoots(this);
|
| + Heap::IterateRoots(this, VISIT_ONLY_STRONG);
|
| delete external_reference_encoder_;
|
| external_reference_encoder_ = NULL;
|
| }
|
|
|