https://codereview.chromium.org/35103002/diff/20001/src/mark-compact.cc
File src/mark-compact.cc (right):
https://codereview.chromium.org/35103002/diff/20001/src/mark-compact.cc#newcode2021
src/mark-compact.cc:2021: allocation_size += kPointerSize;
Yes, this is very unlikely, but it might happen. Currently, I think the
only way to keep allocation top aligned and to avoid this scenario is to
round up object sizes to multiple of 8, thus setting allocation
granularity to 8 bytes, but this will have impact on memory footprint.
At least we can try the experiment for MIPS only, as we will
additionally get aligned heap numbers that way.
Regarding code duplication for alignment handling, it can be sorted out
by moving double alignment handling code in AllocateRaw routines and
pass to the additional flag, but this change will be more intrusive.
https://codereview.chromium.org/35103002/diff/20001/src/mark-compact.cc#newcode2948
src/mark-compact.cc:2948: allocation_size += kPointerSize;
According to the definition of Page::kMaxNonCodeHeapObjectSize double
alignment is taken into account.
static const int kMaxNonCodeHeapObjectSize =
kNonCodeObjectAreaSize - kPointerSize;
So, this CHECK could be changed to CHECK(object_size <=
Page::kNonCodeObjectAreaSize) and move after alignment handling.
https://codereview.chromium.org/35103002/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.