Reviewers: Erik Corry,

Description:
Simplify checking during allocation when Heap::always_allocate() is
true.  The rules are:

1. Heap::AllocateRaw can normally handle allocation requests in new
    space even when always_allocate() is true.  It properly retries
    failed allocation in the second 'retry' space.

2. Heap::Allocate can normally handle allocation requests in new
    space.

3. We only need to check always_allocate() when explicitly requesting
    allocation in new space via Heap::new_space().AllocateRaw().

4. The exception to this rule is fixed arrays with size such that
    MaxObjectSizeInPagedSpace < size <= MaxObjectSizeInNewSpace (ie,
    those that will be allocated in new space and promoted to large
    object space).  They cannot be allocated in new space via
    Heap::Allocate or Heap::AllocateRaw, because the retry logic does
    not know to allocate extra remembered set bits when retrying in
    large object space.


Please review this at http://codereview.chromium.org/518007

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/heap.cc


-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to