-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reland "[dart2wasm] Use row displacement table for representing RTT c…
…lass relationships" No changes from original CL. Original CL description: The main RTT information we need is whether a subclass is that of another and if so how to translate type arguments from the subclass to the super class. This CL switches the data structure we use to represent this relationship to a row-displacement table (simlar to how we do method dispatch). => With two array lookups we can determine if a class is a superclass of another => With one more array lookup we obtain the type argument substitution array. The packing of the row displacement table is 80-90%. Issue #55516 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/374720 Change-Id: I7ef7f74d999fd211f075a47dffaa7c9c3d5f2a30 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/375281 Commit-Queue: Martin Kustermann <[email protected]> Reviewed-by: Slava Egorov <[email protected]>
- Loading branch information
1 parent
48599f5
commit 3b62508
Showing
5 changed files
with
285 additions
and
188 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.