Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index f1cf40818787b3fa4703ff54f539e4f11c05d40a..ff4346ba9bca2e8e9c0772003763ef188747395d 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -716,13 +716,23 @@ class Heap { |
MUST_USE_RESULT AllocationResult |
CopyJSObject(JSObject* source, AllocationSite* site = NULL); |
- // This method assumes overallocation of one word. It will store a filler |
- // before the object if the given object is not double aligned, otherwise |
- // it will place the filler after the object. |
- MUST_USE_RESULT HeapObject* EnsureAligned(HeapObject* object, int size, |
- AllocationAlignment alignment); |
- |
- MUST_USE_RESULT HeapObject* PrecedeWithFiller(HeapObject* object); |
+ // Calculates the maximum amount of filler that could be required by the |
+ // given alignment. |
+ static int GetMaximumFillToAlign(AllocationAlignment alignment); |
+ // Calculates the actual amount of filler required for a given address at the |
+ // given alignment. |
+ static int GetFillToAlign(Address address, AllocationAlignment alignment); |
+ |
+ // Creates a filler object and returns a heap object immediately after it. |
+ MUST_USE_RESULT HeapObject* PrecedeWithFiller(HeapObject* object, |
+ int filler_size); |
+ // Creates a filler object if needed for alignment and returns a heap object |
+ // immediately after it. If any space is left after the returned object, |
+ // another filler object is created so the over allocated memory is iterable. |
+ MUST_USE_RESULT HeapObject* AlignWithFiller(HeapObject* object, |
+ int object_size, |
+ int allocation_size, |
+ AllocationAlignment alignment); |
// Clear the Instanceof cache (used when a prototype changes). |
inline void ClearInstanceofCache(); |