Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index d398599f1d591faebe488d1adb56f6965c3422e3..04d1b95228f2d5f064bf4ec254fe95cd03136029 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(); |