Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

better handling for add then removed or changed symbols #119

Open
mgerdts opened this issue May 31, 2019 · 0 comments
Open

better handling for add then removed or changed symbols #119

mgerdts opened this issue May 31, 2019 · 0 comments

Comments

@mgerdts
Copy link
Contributor

mgerdts commented May 31, 2019

There are times when symbols change over time. For instance:

        /*
         * V8_SCOPEINFO_IDX_FIRST_VARS' value was 4 in V8 3.7 and up,
         * then 5 when StrongModeFreeVariableCount was added with
         * https://codereview.chromium.org/1005063002, and 6 when
         * ContextGlobalCount was added with
         * https://codereview.chromium.org/1218783005.
         * Since the current V8_CONSTANT_FALLBACK macro doesn't allow
         * us to specify different values for different V8 versions,
         * these are hardcoded below.
         */

Rather than having one case defined in v8_constants or v8_objects and others defined in a series of if statements, it should be possible to mark each v8_constant_t or v8_offset_t with an "add" version and a "remove" version (rather than just one of them). With this, it would be possible to cleanly handle changes using multiple v8_constant_t or v8_object_t elements for the same symbol and non-overlapping versions.

@mgerdts mgerdts self-assigned this May 31, 2019
@mgerdts mgerdts changed the title need more flexible way to configure symbols that are added then removed or changed better handling for add then removed or changed symbols May 31, 2019
@mgerdts mgerdts removed their assignment Dec 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant