• mythria's avatar
    [Interpreter] Optimize equality check with null/undefined with a check on the map. · 9119d169
    mythria authored
    Equality with null/undefined is equivalent to a check on the undetectable bit
    on the map of the object. This would be more efficient than performing the entire
    comparison operation.
    
    This cl introduces:
    1. A new bytecode called TestUndetectable that checks if the object is null/undefined.
    2. Updates peeophole optimizer to emit TestUndetectable when a LdaNull/Undefined
    precedes equality check.
    4. TestUndetectable is transformed to ObjectIsUndetectable operator when building
    turbofan graph.
    
    BUG=v8:4280
    
    Review-Url: https://codereview.chromium.org/2547043002
    Cr-Commit-Position: refs/heads/master@{#41514}
    9119d169
Name
Last commit
Last update
..
base Loading commit data...
compiler Loading commit data...
compiler-dispatcher Loading commit data...
heap Loading commit data...
interpreter Loading commit data...
libplatform Loading commit data...
wasm Loading commit data...
zone Loading commit data...
BUILD.gn Loading commit data...
DEPS Loading commit data...
cancelable-tasks-unittest.cc Loading commit data...
char-predicates-unittest.cc Loading commit data...
counters-unittest.cc Loading commit data...
eh-frame-iterator-unittest.cc Loading commit data...
eh-frame-writer-unittest.cc Loading commit data...
locked-queue-unittest.cc Loading commit data...
register-configuration-unittest.cc Loading commit data...
run-all-unittests.cc Loading commit data...
source-position-table-unittest.cc Loading commit data...
test-utils.cc Loading commit data...
test-utils.h Loading commit data...
unicode-unittest.cc Loading commit data...
unittests.gyp Loading commit data...
unittests.isolate Loading commit data...
unittests.status Loading commit data...
value-serializer-unittest.cc Loading commit data...