| Index: src/heap/heap.h
|
| diff --git a/src/heap/heap.h b/src/heap/heap.h
|
| index 624744f7ee02e495a9fb8ea281005cce0765911b..101c25fd180b3fc68ebb6f8b09e381070464c3d1 100644
|
| --- a/src/heap/heap.h
|
| +++ b/src/heap/heap.h
|
| @@ -1352,6 +1352,16 @@
|
| survived_since_last_expansion_ += survived;
|
| }
|
|
|
| + inline intptr_t PromotedTotalSize() {
|
| + int64_t total = PromotedSpaceSizeOfObjects() + PromotedExternalMemorySize();
|
| + if (total > std::numeric_limits<intptr_t>::max()) {
|
| + // TODO(erikcorry): Use uintptr_t everywhere we do heap size calculations.
|
| + return std::numeric_limits<intptr_t>::max();
|
| + }
|
| + if (total < 0) return 0;
|
| + return static_cast<intptr_t>(total);
|
| + }
|
| +
|
| inline void UpdateNewSpaceAllocationCounter();
|
|
|
| inline size_t NewSpaceAllocationCounter();
|
| @@ -1794,7 +1804,7 @@
|
| // ===========================================================================
|
|
|
| inline intptr_t OldGenerationSpaceAvailable() {
|
| - return old_generation_allocation_limit_ - PromotedSpaceSizeOfObjects();
|
| + return old_generation_allocation_limit_ - PromotedTotalSize();
|
| }
|
|
|
| // Returns maximum GC pause.
|
|
|