• jkummerow's avatar
    Introduce {FAST,SLOW}_STRING_WRAPPER_ELEMENTS · f4872f74
    jkummerow authored
    String wrappers (new String("foo")) are special objects: their string
    characters are accessed like elements, and they also have an elements
    backing store. This used to require a bunch of explicit checks like:
    
    if (obj->IsJSValue() && JSValue::cast(obj)->value()->IsString()) {
      /* Handle string characters */
    }
    // Handle regular elements (for string wrappers and other objects)
    obj->GetElementsAccessor()->Whatever(...);
    
    This CL introduces new ElementsKinds for string wrapper objects (one for
    fast elements, one for dictionary elements), which allow folding the
    special-casing into new StringWrapperElementsAccessors.
    
    No observable change in behavior is intended.
    
    Review URL: https://codereview.chromium.org/1612323003
    
    Cr-Commit-Position: refs/heads/master@{#33616}
    f4872f74
Name
Last commit
Last update
..
DEPS Loading commit data...
OWNERS Loading commit data...
bytecode-array-builder.cc Loading commit data...
bytecode-array-builder.h Loading commit data...
bytecode-array-iterator.cc Loading commit data...
bytecode-array-iterator.h Loading commit data...
bytecode-generator.cc Loading commit data...
bytecode-generator.h Loading commit data...
bytecode-register-allocator.cc Loading commit data...
bytecode-register-allocator.h Loading commit data...
bytecode-traits.h Loading commit data...
bytecodes.cc Loading commit data...
bytecodes.h Loading commit data...
constant-array-builder.cc Loading commit data...
constant-array-builder.h Loading commit data...
control-flow-builders.cc Loading commit data...
control-flow-builders.h Loading commit data...
handler-table-builder.cc Loading commit data...
handler-table-builder.h Loading commit data...
interpreter.cc Loading commit data...
interpreter.h Loading commit data...
register-translator.cc Loading commit data...
register-translator.h Loading commit data...