On 2013/09/26 09:11:33, loislo wrote:
sgtm
https://codereview.chromium.org/22852024/diff/72001/src/spaces-inl.h
File src/spaces-inl.h (right):
https://codereview.chromium.org/22852024/diff/72001/src/spaces-inl.h#newcode310
src/spaces-inl.h:310: MaybeObject* PagedSpace::AllocateRaw(int
size_in_bytes,
I'd rewrite this the next way:
// Raw allocation.
MaybeObject* PagedSpace::AllocateRaw(int size_in_bytes,
AllocationType event) {
HeapObject* object = NULL;
do {
object = AllocateLinearly(size_in_bytes);
if (object != NULL) break;
ASSERT(!heap()->linear_allocation() ||
(anchor_.next_chunk() == &anchor_ &&
anchor_.prev_chunk() == &anchor_));
object = free_list_.Allocate(size_in_bytes);
if (object != NULL) break;
object = SlowAllocateRaw(size_in_bytes);
} while (false);
if (object == NULL) return Failure::RetryAfterGC(identity());
if (identity() == CODE_SPACE) {
SkipList::Update(object->address(), size_in_bytes);
}
if (event == NEW_OBJECT) {
HeapProfiler* profiler = heap()->isolate()->heap_profiler();
if (profiler->is_tracking_allocations()) {
profiler->NewObjectEvent(object->address(), size_in_bytes);
}
}
return object;
}
BTW profiler pointer might be null.
https://codereview.chromium.org/22852024/
--
--
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.