• kmillikin@chromium.org's avatar
    Simplify checking during allocation when Heap::always_allocate() is · b74ab450
    kmillikin@chromium.org authored
    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 these rules 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.
    
    Review URL: http://codereview.chromium.org/518007
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    b74ab450
heap-inl.h 13.7 KB