• jgruber's avatar
    [regexp] Use consistent map checks for fast paths · bac992a1
    jgruber authored
    These map checks were implemented for TF code already. This CL makes
    sure that parts implemented in C++ follow the same logic, which is:
    
    An object is an unmodified regexp if:
    1) it's a receiver,
    2) its map is the initial regexp map,
    3) its prototype is a receiver,
    4) and its prototype's map is the initial prototype's initial map.
    
    We can now be smarter in @@replace and @@split since checking maps
    (unlike the previous check of RegExp.prototype.exec) is not observable,
    so we can perform fast-path checks at a time of our choosing.
    
    BUG=v8:5339,v8:5434,v8:5123
    
    Review-Url: https://chromiumcodereview.appspot.com/2434983002
    Cr-Commit-Position: refs/heads/master@{#40495}
    bac992a1
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-error.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-literals.cc Loading commit data...
runtime-liveedit.cc Loading commit data...
runtime-maths.cc Loading commit data...
runtime-module.cc Loading commit data...
runtime-numbers.cc Loading commit data...
runtime-object.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-utils.h Loading commit data...
runtime-wasm.cc Loading commit data...
runtime.cc Loading commit data...
runtime.h Loading commit data...