| 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_HEAP_H_ | 5 #ifndef V8_HEAP_HEAP_H_ |
| 6 #define V8_HEAP_HEAP_H_ | 6 #define V8_HEAP_HEAP_H_ |
| 7 | 7 |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <map> | 9 #include <map> |
| 10 | 10 |
| (...skipping 743 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 754 // Strict mode arguments has no callee so it is smaller. | 754 // Strict mode arguments has no callee so it is smaller. |
| 755 static const int kStrictArgumentsObjectSize = | 755 static const int kStrictArgumentsObjectSize = |
| 756 JSObject::kHeaderSize + 1 * kPointerSize; | 756 JSObject::kHeaderSize + 1 * kPointerSize; |
| 757 // Indicies for direct access into argument objects. | 757 // Indicies for direct access into argument objects. |
| 758 static const int kArgumentsLengthIndex = 0; | 758 static const int kArgumentsLengthIndex = 0; |
| 759 // callee is only valid in sloppy mode. | 759 // callee is only valid in sloppy mode. |
| 760 static const int kArgumentsCalleeIndex = 1; | 760 static const int kArgumentsCalleeIndex = 1; |
| 761 | 761 |
| 762 // Finalizes an external string by deleting the associated external | 762 // Finalizes an external string by deleting the associated external |
| 763 // data and clearing the resource pointer. | 763 // data and clearing the resource pointer. |
| 764 inline void FinalizeExternalString(String* string); | 764 void FinalizeExternalString(String* string); |
| 765 | 765 |
| 766 // Initialize a filler object to keep the ability to iterate over the heap | 766 // Initialize a filler object to keep the ability to iterate over the heap |
| 767 // when introducing gaps within pages. | 767 // when introducing gaps within pages. |
| 768 void CreateFillerObjectAt(Address addr, int size); | 768 void CreateFillerObjectAt(Address addr, int size); |
| 769 | 769 |
| 770 bool CanMoveObjectStart(HeapObject* object); | 770 bool CanMoveObjectStart(HeapObject* object); |
| 771 | 771 |
| 772 // Indicates whether live bytes adjustment is triggered | 772 // Indicates whether live bytes adjustment is triggered |
| 773 // - from within the GC code before sweeping started (SEQUENTIAL_TO_SWEEPER), | 773 // - from within the GC code before sweeping started (SEQUENTIAL_TO_SWEEPER), |
| 774 // - or from within GC (CONCURRENT_TO_SWEEPER), | 774 // - or from within GC (CONCURRENT_TO_SWEEPER), |
| (...skipping 1952 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2727 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2727 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
| 2728 | 2728 |
| 2729 private: | 2729 private: |
| 2730 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2730 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
| 2731 }; | 2731 }; |
| 2732 #endif // DEBUG | 2732 #endif // DEBUG |
| 2733 } | 2733 } |
| 2734 } // namespace v8::internal | 2734 } // namespace v8::internal |
| 2735 | 2735 |
| 2736 #endif // V8_HEAP_HEAP_H_ | 2736 #endif // V8_HEAP_HEAP_H_ |
| OLD | NEW |