OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 #ifndef V8_STORE_BUFFER_H_ | 5 #ifndef V8_STORE_BUFFER_H_ |
6 #define V8_STORE_BUFFER_H_ | 6 #define V8_STORE_BUFFER_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/base/logging.h" | 9 #include "src/base/logging.h" |
10 #include "src/base/platform/platform.h" | 10 #include "src/base/platform/platform.h" |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 | 74 |
75 void Compact(); | 75 void Compact(); |
76 | 76 |
77 void GCPrologue(); | 77 void GCPrologue(); |
78 void GCEpilogue(); | 78 void GCEpilogue(); |
79 | 79 |
80 Object*** Limit() { return reinterpret_cast<Object***>(old_limit_); } | 80 Object*** Limit() { return reinterpret_cast<Object***>(old_limit_); } |
81 Object*** Start() { return reinterpret_cast<Object***>(old_start_); } | 81 Object*** Start() { return reinterpret_cast<Object***>(old_start_); } |
82 Object*** Top() { return reinterpret_cast<Object***>(old_top_); } | 82 Object*** Top() { return reinterpret_cast<Object***>(old_top_); } |
83 void SetTop(Object*** top) { | 83 void SetTop(Object*** top) { |
84 ASSERT(top >= Start()); | 84 DCHECK(top >= Start()); |
85 ASSERT(top <= Limit()); | 85 DCHECK(top <= Limit()); |
86 old_top_ = reinterpret_cast<Address*>(top); | 86 old_top_ = reinterpret_cast<Address*>(top); |
87 } | 87 } |
88 | 88 |
89 bool old_buffer_is_sorted() { return old_buffer_is_sorted_; } | 89 bool old_buffer_is_sorted() { return old_buffer_is_sorted_; } |
90 bool old_buffer_is_filtered() { return old_buffer_is_filtered_; } | 90 bool old_buffer_is_filtered() { return old_buffer_is_filtered_; } |
91 | 91 |
92 // Goes through the store buffer removing pointers to things that have | 92 // Goes through the store buffer removing pointers to things that have |
93 // been promoted. Rebuilds the store buffer completely if it overflowed. | 93 // been promoted. Rebuilds the store buffer completely if it overflowed. |
94 void SortUniq(); | 94 void SortUniq(); |
95 | 95 |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 } | 217 } |
218 | 218 |
219 private: | 219 private: |
220 StoreBuffer* store_buffer_; | 220 StoreBuffer* store_buffer_; |
221 bool stored_state_; | 221 bool stored_state_; |
222 }; | 222 }; |
223 | 223 |
224 } } // namespace v8::internal | 224 } } // namespace v8::internal |
225 | 225 |
226 #endif // V8_STORE_BUFFER_H_ | 226 #endif // V8_STORE_BUFFER_H_ |
OLD | NEW |