OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/snapshot/serializer.h" | 5 #include "src/snapshot/serializer.h" |
6 | 6 |
7 #include "src/assembler-inl.h" | 7 #include "src/assembler-inl.h" |
8 #include "src/deoptimizer.h" | 8 #include "src/deoptimizer.h" |
9 #include "src/heap/heap-inl.h" | 9 #include "src/heap/heap-inl.h" |
10 #include "src/macro-assembler.h" | 10 #include "src/macro-assembler.h" |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 | 92 |
93 void Serializer::SerializeDeferredObjects() { | 93 void Serializer::SerializeDeferredObjects() { |
94 while (deferred_objects_.length() > 0) { | 94 while (deferred_objects_.length() > 0) { |
95 HeapObject* obj = deferred_objects_.RemoveLast(); | 95 HeapObject* obj = deferred_objects_.RemoveLast(); |
96 ObjectSerializer obj_serializer(this, obj, &sink_, kPlain, kStartOfObject); | 96 ObjectSerializer obj_serializer(this, obj, &sink_, kPlain, kStartOfObject); |
97 obj_serializer.SerializeDeferred(); | 97 obj_serializer.SerializeDeferred(); |
98 } | 98 } |
99 sink_.Put(kSynchronize, "Finished with deferred objects"); | 99 sink_.Put(kSynchronize, "Finished with deferred objects"); |
100 } | 100 } |
101 | 101 |
102 void Serializer::VisitPointers(Object** start, Object** end) { | 102 void Serializer::VisitRootPointers(Root root, Object** start, Object** end) { |
103 for (Object** current = start; current < end; current++) { | 103 for (Object** current = start; current < end; current++) { |
104 if ((*current)->IsSmi()) { | 104 if ((*current)->IsSmi()) { |
105 PutSmi(Smi::cast(*current)); | 105 PutSmi(Smi::cast(*current)); |
106 } else { | 106 } else { |
107 SerializeObject(HeapObject::cast(*current), kPlain, kStartOfObject, 0); | 107 SerializeObject(HeapObject::cast(*current), kPlain, kStartOfObject, 0); |
108 } | 108 } |
109 } | 109 } |
110 } | 110 } |
111 | 111 |
112 void Serializer::EncodeReservations( | 112 void Serializer::EncodeReservations( |
(...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
833 if (to_skip != 0 && return_skip == kIgnoringReturn) { | 833 if (to_skip != 0 && return_skip == kIgnoringReturn) { |
834 sink_->Put(kSkip, "Skip"); | 834 sink_->Put(kSkip, "Skip"); |
835 sink_->PutInt(to_skip, "SkipDistance"); | 835 sink_->PutInt(to_skip, "SkipDistance"); |
836 to_skip = 0; | 836 to_skip = 0; |
837 } | 837 } |
838 return to_skip; | 838 return to_skip; |
839 } | 839 } |
840 | 840 |
841 } // namespace internal | 841 } // namespace internal |
842 } // namespace v8 | 842 } // namespace v8 |
OLD | NEW |