• fschneider@chromium.org's avatar
    Fix assert by reordering the initialization of the arguments boilerplate. · 456e5e00
    fschneider@chromium.org authored
    If a GC happened during initialization (when allocating the elements array)
    of the non_strict_arguments_boilerplate, heap verification would fail with the following assert:
    
    ASSERT_EQ((map()->has_fast_elements() || map()->has_fast_smi_only_elements()),
                (elements()->map() == GetHeap()->fixed_array_map() ||
                 elements()->map() == GetHeap()->fixed_cow_array_map()));
    
    This was not harmful since the boilerplate was setup 
    correctly immediatly afterwards.
    
    
    Simplified the setup code by removing a call to GetElementsTransitionMap. It always return the same map as 
    the input object in this case and is therefore unnecessary.
    
    
    Added more assertions to verify well-formed non-strict
    arguments backing store.
    
    BUG=v8:1520
    TEST=no more flaky tests with failing this assert.
     
    Review URL: http://codereview.chromium.org/8336021
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    456e5e00
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
preparser Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
ChangeLog Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
SConstruct Loading commit data...