OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_HEAP_MARK_COMPACT_H_ | 5 #ifndef V8_HEAP_MARK_COMPACT_H_ |
6 #define V8_HEAP_MARK_COMPACT_H_ | 6 #define V8_HEAP_MARK_COMPACT_H_ |
7 | 7 |
8 #include "src/base/bits.h" | 8 #include "src/base/bits.h" |
9 #include "src/heap/spaces.h" | 9 #include "src/heap/spaces.h" |
10 | 10 |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 } | 328 } |
329 | 329 |
330 enum SlotType { | 330 enum SlotType { |
331 EMBEDDED_OBJECT_SLOT, | 331 EMBEDDED_OBJECT_SLOT, |
332 OBJECT_SLOT, | 332 OBJECT_SLOT, |
333 RELOCATED_CODE_OBJECT, | 333 RELOCATED_CODE_OBJECT, |
334 CELL_TARGET_SLOT, | 334 CELL_TARGET_SLOT, |
335 CODE_TARGET_SLOT, | 335 CODE_TARGET_SLOT, |
336 CODE_ENTRY_SLOT, | 336 CODE_ENTRY_SLOT, |
337 DEBUG_TARGET_SLOT, | 337 DEBUG_TARGET_SLOT, |
338 JS_RETURN_SLOT, | |
339 NUMBER_OF_SLOT_TYPES | 338 NUMBER_OF_SLOT_TYPES |
340 }; | 339 }; |
341 | 340 |
342 static const char* SlotTypeToString(SlotType type) { | 341 static const char* SlotTypeToString(SlotType type) { |
343 switch (type) { | 342 switch (type) { |
344 case EMBEDDED_OBJECT_SLOT: | 343 case EMBEDDED_OBJECT_SLOT: |
345 return "EMBEDDED_OBJECT_SLOT"; | 344 return "EMBEDDED_OBJECT_SLOT"; |
346 case OBJECT_SLOT: | 345 case OBJECT_SLOT: |
347 return "OBJECT_SLOT"; | 346 return "OBJECT_SLOT"; |
348 case RELOCATED_CODE_OBJECT: | 347 case RELOCATED_CODE_OBJECT: |
349 return "RELOCATED_CODE_OBJECT"; | 348 return "RELOCATED_CODE_OBJECT"; |
350 case CELL_TARGET_SLOT: | 349 case CELL_TARGET_SLOT: |
351 return "CELL_TARGET_SLOT"; | 350 return "CELL_TARGET_SLOT"; |
352 case CODE_TARGET_SLOT: | 351 case CODE_TARGET_SLOT: |
353 return "CODE_TARGET_SLOT"; | 352 return "CODE_TARGET_SLOT"; |
354 case CODE_ENTRY_SLOT: | 353 case CODE_ENTRY_SLOT: |
355 return "CODE_ENTRY_SLOT"; | 354 return "CODE_ENTRY_SLOT"; |
356 case DEBUG_TARGET_SLOT: | 355 case DEBUG_TARGET_SLOT: |
357 return "DEBUG_TARGET_SLOT"; | 356 return "DEBUG_TARGET_SLOT"; |
358 case JS_RETURN_SLOT: | |
359 return "JS_RETURN_SLOT"; | |
360 case NUMBER_OF_SLOT_TYPES: | 357 case NUMBER_OF_SLOT_TYPES: |
361 return "NUMBER_OF_SLOT_TYPES"; | 358 return "NUMBER_OF_SLOT_TYPES"; |
362 } | 359 } |
363 return "UNKNOWN SlotType"; | 360 return "UNKNOWN SlotType"; |
364 } | 361 } |
365 | 362 |
366 void UpdateSlots(Heap* heap); | 363 void UpdateSlots(Heap* heap); |
367 | 364 |
368 SlotsBuffer* next() { return next_; } | 365 SlotsBuffer* next() { return next_; } |
369 | 366 |
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1028 private: | 1025 private: |
1029 MarkCompactCollector* collector_; | 1026 MarkCompactCollector* collector_; |
1030 }; | 1027 }; |
1031 | 1028 |
1032 | 1029 |
1033 const char* AllocationSpaceName(AllocationSpace space); | 1030 const char* AllocationSpaceName(AllocationSpace space); |
1034 } | 1031 } |
1035 } // namespace v8::internal | 1032 } // namespace v8::internal |
1036 | 1033 |
1037 #endif // V8_HEAP_MARK_COMPACT_H_ | 1034 #endif // V8_HEAP_MARK_COMPACT_H_ |
OLD | NEW |