• Tobias Tebbi's avatar
    Reland "[torque] allow exported classes with custom C++ class" · bd75b0ba
    Tobias Tebbi authored
    This is a reland of 26f10ecd
    
    Change compared to original CL:
    The deserializer changes StrongDescriptorArray to DescriptorArray.
    Since this CL uses separate BodyDescriptors for the two kinds of
    descriptor arrays, this caused a DCHECK failure when the deserializer
    changes the map while the object is visited from the concurrent marking
    thread. Fix this by disabling the corresponding checks.
    
    
    Original change's description:
    > [torque] allow exported classes with custom C++ class
    >
    > Introduce a new annotation @customCppClass that can be used for
    > non-extern @export classes, that is, generate everything, remove
    > boilerplate from all the internal lists and switches, but allow
    > a custom C++ class, which in turn also allows overwriting the generated
    > print and verify functions.
    >
    > Port DescriptorArray and StrongDescriptorArray as an example.
    >
    > Bug: v8:7793
    > Change-Id: I744e52fb4102ac49c0097f1c95bb17d301975bf0
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2489687
    > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    > Reviewed-by: Seth Brenith <seth.brenith@microsoft.com>
    > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#70989}
    
    Bug: v8:7793
    Change-Id: I7505fb111896991d16d7d113704c8c3676669f34
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2526383Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71048}
    bd75b0ba
objects-body-descriptors-inl.h 45.2 KB