• mstarzinger@chromium.org's avatar
    Fix setting array length to be ES5 conform. · e24c612a
    mstarzinger@chromium.org authored
    This also refactors the way we set the length of an arrays' backing
    store to use the new elements accessor interface. The actual fix is in
    DictionaryElementsAccessor::SetLengthWithoutNormalize() where we first
    search for non-deletable elements according to ES5 section 15.4.5.2
    specifications.
    
    Snippet from the specification: Attempting to set the length property of
    an Array object to a value that is numerically less than or equal to the
    largest numeric property name of an existing array indexed non-deletable
    property of the array will result in the length being set to a numeric
    value that is one greater than that largest numeric property name.
    
    R=danno@chromium.org
    TEST=test262/15.4.4.??-7-b-16
    
    Review URL: http://codereview.chromium.org/8372064
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    e24c612a
elements.cc 34 KB