• bmeurer's avatar
    [es2015] Remove the @@hasInstance protector cell. · 1a236208
    bmeurer authored
    We cannot skip the @@hasInstance lookup in instanceof depending on a
    global protector cell, as the lookup of the property is observable
    via proxies or accessors. So remove the global protector and properly
    implement CSA::InstanceOf via GetPropertyStub, with an appropriate
    fast-path for Function.prototype[@@hasInstance] where we call the
    builtin code object directly if the function matches, skipping all
    the checks from the call sequence, and also avoid the redundant
    ToBoolean conversion on the result.
    
    R=yangguo@chromium.org
    TBR=ulan@chromium.org
    BUG=v8:5958
    
    Review-Url: https://codereview.chromium.org/2684033012
    Cr-Commit-Position: refs/heads/master@{#43137}
    1a236208
Name
Last commit
Last update
..
OWNERS Loading commit data...
array-buffer-tracker-inl.h Loading commit data...
array-buffer-tracker.cc Loading commit data...
array-buffer-tracker.h Loading commit data...
code-stats.cc Loading commit data...
code-stats.h Loading commit data...
embedder-tracing.cc Loading commit data...
embedder-tracing.h Loading commit data...
gc-idle-time-handler.cc Loading commit data...
gc-idle-time-handler.h Loading commit data...
gc-tracer.cc Loading commit data...
gc-tracer.h Loading commit data...
heap-inl.h Loading commit data...
heap.cc Loading commit data...
heap.h Loading commit data...
incremental-marking-inl.h Loading commit data...
incremental-marking-job.cc Loading commit data...
incremental-marking-job.h Loading commit data...
incremental-marking.cc Loading commit data...
incremental-marking.h Loading commit data...
mark-compact-inl.h Loading commit data...
mark-compact.cc Loading commit data...
mark-compact.h Loading commit data...
marking.h Loading commit data...
memory-reducer.cc Loading commit data...
memory-reducer.h Loading commit data...
object-stats.cc Loading commit data...
object-stats.h Loading commit data...
objects-visiting-inl.h Loading commit data...
objects-visiting.cc Loading commit data...
objects-visiting.h Loading commit data...
page-parallel-job.h Loading commit data...
remembered-set.h Loading commit data...
scavenge-job.cc Loading commit data...
scavenge-job.h Loading commit data...
scavenger-inl.h Loading commit data...
scavenger.cc Loading commit data...
scavenger.h Loading commit data...
slot-set.h Loading commit data...
spaces-inl.h Loading commit data...
spaces.cc Loading commit data...
spaces.h Loading commit data...
store-buffer.cc Loading commit data...
store-buffer.h Loading commit data...