v8/include
Michael Lippautz 143e6a74d8 cppgc: Check for correct base class inheritance
The only valid way to define a GCed type T is by inheriting from
GarbageCollected<T>. Since this is prone to typos (see tests), add a
simple check that covers most interesting use cases.

The static assert covers
  A -> B -> GarbageCollected<C>

The static assert does not cover
 A -> B -> C -> GarbageCollected<B>

(In order to do so, we would need __direct_bases() support which is
not yet available for C++.)

Bug: pdfium:1670, chromium:1056170
Change-Id: I494de48992f8ba9a1f0f9daad60584d828717403
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2810415
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73854}
2021-04-08 09:23:57 +00:00
..
cppgc cppgc: Check for correct base class inheritance 2021-04-08 09:23:57 +00:00
libplatform Step 1 (of 3-ish): Basic ETW Instrumentation in V8 2021-01-05 20:11:03 +00:00
APIDesign.md Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
DEPS cppgc: Implement process-global state accessors. 2021-02-17 22:37:24 +00:00
DIR_METADATA Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
js_protocol-1.2.json Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
js_protocol-1.3.json Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
js_protocol.pdl [inspector] Add wasmvalue to all subtype enums. 2021-02-11 16:53:18 +00:00
OWNERS Update include/OWNERS 2021-02-25 14:27:28 +00:00
v8-cppgc.h Reland "cppgc: Rework testing GC infrastructure" 2021-02-26 21:29:42 +00:00
v8-fast-api-calls.h Reland "[fastcall] Add fast API testing facilities to d8" 2021-04-06 11:26:09 +00:00
v8-inspector-protocol.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-inspector.h Delegate unique id generation to embedder 2020-12-22 18:40:10 +00:00
v8-internal.h Reland^2 "[ptr-cage] Rename IsolateRoot to PtrComprCageBase" 2021-04-06 01:55:28 +00:00
v8-metrics.h [api, heap] Add GC events to v8::metrics::Recorder 2021-01-27 13:10:18 +00:00
v8-platform.h [Jobs]: Cleanup in v8 platform. 2021-04-07 16:00:22 +00:00
v8-profiler.h [Callback] Execute DiscardedSamplesDelegate Callback when 2021-02-16 22:09:21 +00:00
v8-unwinder-state.h Add RISC-V backend 2021-02-09 17:06:36 +00:00
v8-util.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-value-serializer-version.h Expose the ValueSerializer data format version as a compile-time constant. 2017-04-27 15:14:41 +00:00
v8-version-string.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-version.h Changed version number to 9.1 2021-02-25 11:54:10 +00:00
v8-wasm-trap-handler-posix.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-wasm-trap-handler-win.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8.h [api] Expand comments on consuming cached data when compile script 2021-03-31 14:30:56 +00:00
v8config.h [build] Add header for externally-visible defines 2021-01-18 16:57:26 +00:00