OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 167 matching lines...) Loading... |
178 class RelocInfo; | 178 class RelocInfo; |
179 class Deserializer; | 179 class Deserializer; |
180 class MessageLocation; | 180 class MessageLocation; |
181 class ObjectGroup; | 181 class ObjectGroup; |
182 class TickSample; | 182 class TickSample; |
183 class VirtualMemory; | 183 class VirtualMemory; |
184 class Mutex; | 184 class Mutex; |
185 | 185 |
186 typedef bool (*WeakSlotCallback)(Object** pointer); | 186 typedef bool (*WeakSlotCallback)(Object** pointer); |
187 | 187 |
| 188 typedef bool (*WeakSlotCallbackWithHeap)(Heap* heap, Object** pointer); |
| 189 |
188 // ----------------------------------------------------------------------------- | 190 // ----------------------------------------------------------------------------- |
189 // Miscellaneous | 191 // Miscellaneous |
190 | 192 |
191 // NOTE: SpaceIterator depends on AllocationSpace enumeration values being | 193 // NOTE: SpaceIterator depends on AllocationSpace enumeration values being |
192 // consecutive. | 194 // consecutive. |
193 enum AllocationSpace { | 195 enum AllocationSpace { |
194 NEW_SPACE, // Semispaces collected with copying collector. | 196 NEW_SPACE, // Semispaces collected with copying collector. |
195 OLD_POINTER_SPACE, // May contain pointers to new space. | 197 OLD_POINTER_SPACE, // May contain pointers to new space. |
196 OLD_DATA_SPACE, // Must not have pointers to new space. | 198 OLD_DATA_SPACE, // Must not have pointers to new space. |
197 CODE_SPACE, // No pointers to new space, marked executable. | 199 CODE_SPACE, // No pointers to new space, marked executable. |
(...skipping 13 matching lines...) Loading... |
211 // A flag that indicates whether objects should be pretenured when | 213 // A flag that indicates whether objects should be pretenured when |
212 // allocated (allocated directly into the old generation) or not | 214 // allocated (allocated directly into the old generation) or not |
213 // (allocated in the young generation if the object size and type | 215 // (allocated in the young generation if the object size and type |
214 // allows). | 216 // allows). |
215 enum PretenureFlag { NOT_TENURED, TENURED }; | 217 enum PretenureFlag { NOT_TENURED, TENURED }; |
216 | 218 |
217 enum GarbageCollector { SCAVENGER, MARK_COMPACTOR }; | 219 enum GarbageCollector { SCAVENGER, MARK_COMPACTOR }; |
218 | 220 |
219 enum Executability { NOT_EXECUTABLE, EXECUTABLE }; | 221 enum Executability { NOT_EXECUTABLE, EXECUTABLE }; |
220 | 222 |
221 enum VisitMode { VISIT_ALL, VISIT_ALL_IN_SCAVENGE, VISIT_ONLY_STRONG }; | 223 enum VisitMode { |
| 224 VISIT_ALL, |
| 225 VISIT_ALL_IN_SCAVENGE, |
| 226 VISIT_ALL_IN_SWEEP_NEWSPACE, |
| 227 VISIT_ONLY_STRONG |
| 228 }; |
222 | 229 |
223 // Flag indicating whether code is built into the VM (one of the natives files). | 230 // Flag indicating whether code is built into the VM (one of the natives files). |
224 enum NativesFlag { NOT_NATIVES_CODE, NATIVES_CODE }; | 231 enum NativesFlag { NOT_NATIVES_CODE, NATIVES_CODE }; |
225 | 232 |
226 | 233 |
227 // A CodeDesc describes a buffer holding instructions and relocation | 234 // A CodeDesc describes a buffer holding instructions and relocation |
228 // information. The instructions start at the beginning of the buffer | 235 // information. The instructions start at the beginning of the buffer |
229 // and grow forward, the relocation information starts at the end of | 236 // and grow forward, the relocation information starts at the end of |
230 // the buffer and grows backward. | 237 // the buffer and grows backward. |
231 // | 238 // |
(...skipping 245 matching lines...) Loading... |
477 kStrictMode, | 484 kStrictMode, |
478 // This value is never used, but is needed to prevent GCC 4.5 from failing | 485 // This value is never used, but is needed to prevent GCC 4.5 from failing |
479 // to compile when we assert that a flag is either kNonStrictMode or | 486 // to compile when we assert that a flag is either kNonStrictMode or |
480 // kStrictMode. | 487 // kStrictMode. |
481 kInvalidStrictFlag | 488 kInvalidStrictFlag |
482 }; | 489 }; |
483 | 490 |
484 } } // namespace v8::internal | 491 } } // namespace v8::internal |
485 | 492 |
486 #endif // V8_V8GLOBALS_H_ | 493 #endif // V8_V8GLOBALS_H_ |
OLD | NEW |