• Joyee Cheung's avatar
    [class] parse private accessors · a6dd7f1c
    Joyee Cheung authored
    This patch adds:
    
    - VariableMode::kPrivateMethod
    - VariableMode::kPrivateSetterOnly
    - VariableMode::kPrivateGetterOnly
    - VariableMode::kPrivateGetterAndSetter
    
    And replace the previous RequiresBrandCheckFlag by inferring
    whether the brand check is required from these VariableModes.
    It is then possible to check duplicate non-complementary
    accessors in the parsers and throw early errors, and allow
    complementary accessors to be associated with the same
    private name variable.
    
    This patch also adds the following AssignType:
    
    - PRIVATE_METHOD
    - PRIVATE_GETTER_ONLY
    - PRIVATE_SETTER_ONLY
    - PRIVATE_GETTER_AND_SETTER
    
    corresponding to the new VariableModes so that it's possible
    to generate specialized code for different type of
    private accessor declarations.
    
    Design doc: https://docs.google.com/document/d/10W4begYfs7lmldSqBoQBBt_BKamgT8igqxF9u50RGrI/edit
    
    Bug: v8:8330
    Change-Id: I0fb61b1be248630d1eadd74fb16d7d64a421f4c4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695204
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62988}
    a6dd7f1c
Name
Last commit
Last update
..
OWNERS Loading commit data...
block-coverage-builder.h Loading commit data...
bytecode-array-accessor.cc Loading commit data...
bytecode-array-accessor.h 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-array-random-iterator.cc Loading commit data...
bytecode-array-random-iterator.h Loading commit data...
bytecode-array-writer.cc Loading commit data...
bytecode-array-writer.h Loading commit data...
bytecode-decoder.cc Loading commit data...
bytecode-decoder.h Loading commit data...
bytecode-flags.cc Loading commit data...
bytecode-flags.h Loading commit data...
bytecode-generator.cc Loading commit data...
bytecode-generator.h Loading commit data...
bytecode-jump-table.h Loading commit data...
bytecode-label.cc Loading commit data...
bytecode-label.h Loading commit data...
bytecode-node.cc Loading commit data...
bytecode-node.h Loading commit data...
bytecode-operands.cc Loading commit data...
bytecode-operands.h Loading commit data...
bytecode-register-allocator.h Loading commit data...
bytecode-register-optimizer.cc Loading commit data...
bytecode-register-optimizer.h Loading commit data...
bytecode-register.cc Loading commit data...
bytecode-register.h Loading commit data...
bytecode-source-info.cc Loading commit data...
bytecode-source-info.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-assembler.cc Loading commit data...
interpreter-assembler.h Loading commit data...
interpreter-generator.cc Loading commit data...
interpreter-generator.h Loading commit data...
interpreter-intrinsics-generator.cc Loading commit data...
interpreter-intrinsics-generator.h Loading commit data...
interpreter-intrinsics.cc Loading commit data...
interpreter-intrinsics.h Loading commit data...
interpreter.cc Loading commit data...
interpreter.h Loading commit data...