Index: src/heap/spaces-inl.h |
diff --git a/src/heap/spaces-inl.h b/src/heap/spaces-inl.h |
index ef081fa00a6b982132feddce542beb39e59e0ca4..3fbd5b7853ea2db4ed654402f31bce2cb146c452 100644 |
--- a/src/heap/spaces-inl.h |
+++ b/src/heap/spaces-inl.h |
@@ -462,12 +462,18 @@ AllocationResult PagedSpace::AllocateRawAligned(int size_in_bytes, |
AllocationResult PagedSpace::AllocateRaw(int size_in_bytes, |
AllocationAlignment alignment) { |
#ifdef V8_HOST_ARCH_32_BIT |
- return alignment == kDoubleAligned |
- ? AllocateRawAligned(size_in_bytes, kDoubleAligned) |
- : AllocateRawUnaligned(size_in_bytes); |
+ AllocationResult result = |
+ alignment == kDoubleAligned |
+ ? AllocateRawAligned(size_in_bytes, kDoubleAligned) |
+ : AllocateRawUnaligned(size_in_bytes); |
#else |
- return AllocateRawUnaligned(size_in_bytes); |
+ AllocationResult result = AllocateRawUnaligned(size_in_bytes); |
#endif |
+ HeapObject* heap_obj = nullptr; |
+ if (!result.IsRetry() && result.To(&heap_obj)) { |
+ AllocationStep(heap_obj->address(), size_in_bytes); |
+ } |
+ return result; |
} |