• littledan's avatar
    Add Array support for @@species and subclassing · 6e962237
    littledan authored
    This patch implements @@species, guarded behind the --harmony-species
    flag, on Arrays. Methods which return an Array will instead return
    the appropriate instance based on the ArraySpeciesCreate algorithm.
    The algorithm is implemented in C++ to get access to realm information
    and to implement some Array methods in C++, but it is also accessed
    from JavaScript through a new runtime function. A couple interactive
    Octane runs show no performance regression with the flag turned off,
    but turning --harmony-species on will surely have a significant
    regression, as Array methods now heavily use ObjectDefineProperty.
    
    BUG=v8:4093
    LOG=Y
    R=adamk,cbruni
    
    Review URL: https://codereview.chromium.org/1560763002
    
    Cr-Commit-Position: refs/heads/master@{#33144}
    6e962237
Name
Last commit
Last update
..
runtime-array.cc Loading commit data...
runtime-atomics.cc Loading commit data...
runtime-classes.cc Loading commit data...
runtime-collections.cc Loading commit data...
runtime-compiler.cc Loading commit data...
runtime-date.cc Loading commit data...
runtime-debug.cc Loading commit data...
runtime-forin.cc Loading commit data...
runtime-function.cc Loading commit data...
runtime-futex.cc Loading commit data...
runtime-generator.cc Loading commit data...
runtime-i18n.cc Loading commit data...
runtime-internal.cc Loading commit data...
runtime-interpreter.cc Loading commit data...
runtime-json.cc Loading commit data...
runtime-literals.cc Loading commit data...
runtime-liveedit.cc Loading commit data...
runtime-maths.cc Loading commit data...
runtime-numbers.cc Loading commit data...
runtime-object.cc Loading commit data...
runtime-observe.cc Loading commit data...
runtime-operators.cc Loading commit data...
runtime-proxy.cc Loading commit data...
runtime-regexp.cc Loading commit data...
runtime-scopes.cc Loading commit data...
runtime-simd.cc Loading commit data...
runtime-strings.cc Loading commit data...
runtime-symbol.cc Loading commit data...
runtime-test.cc Loading commit data...
runtime-typedarray.cc Loading commit data...
runtime-uri.cc Loading commit data...
runtime-utils.h Loading commit data...
runtime.cc Loading commit data...
runtime.h Loading commit data...