• 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
objects-debug.cc 22.7 KB