• 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
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
x64 Loading commit data...
x87 Loading commit data...
OWNERS Loading commit data...
access-compiler.cc Loading commit data...
access-compiler.h Loading commit data...
call-optimization.cc Loading commit data...
call-optimization.h Loading commit data...
handler-compiler.cc Loading commit data...
handler-compiler.h Loading commit data...
ic-compiler.cc Loading commit data...
ic-compiler.h Loading commit data...
ic-inl.h Loading commit data...
ic-state.cc Loading commit data...
ic-state.h Loading commit data...
ic.cc Loading commit data...
ic.h Loading commit data...
stub-cache.cc Loading commit data...
stub-cache.h Loading commit data...