-
Notifications
You must be signed in to change notification settings - Fork 100
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
Upcoming metadata changes in V8 7.7 #287
Comments
Interesting, the type of those fields didn't change, but they are all prefixed by |
|
So I renamed the String metadata back to their previous names in: https://chromium-review.googlesource.com/c/v8/v8/+/1847783. I also added the missing metadata for symbols. Will update the tests once this is merged to core. |
If the above gets merged, no changes will be necessary on llnode for 7.7 (and then we can close this issue). I already have patches to fix 7.2, 7.4 and 7.6 (I haven't opened PRs with all of them yet because some are blocked by #303), so once the metadata lands upstream and is backported to core, we'll have llnode working on Node.js v12 :) |
Original commit message: [postmortem] update Symbol and *String metadata Symbol and *String classes are now declared on Torque with generateCppClass, which means they don't use macro accessors anymore. As such, the gen-postmortem-metadata script is not able to automatically detect fields for those classes. Define metadata for those fields manually for now. In the future we might want to generate it from Torque for consistency. Also renamed a few *String fields metadata to match the expected format (className__fieldName__fieldType). For more context: nodejs/llnode#287 (comment). [email protected], [email protected], [email protected], [email protected] Change-Id: I82fe8315cdbfd1b8c64c6a8d5dc011b1edaec39e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847783 Reviewed-by: Toon Verwaest <[email protected]> Commit-Queue: Toon Verwaest <[email protected]> Cr-Commit-Position: refs/heads/master@{#64313} Refs: v8/v8@b38dfaf
Original commit message: [postmortem] update Symbol and *String metadata Symbol and *String classes are now declared on Torque with generateCppClass, which means they don't use macro accessors anymore. As such, the gen-postmortem-metadata script is not able to automatically detect fields for those classes. Define metadata for those fields manually for now. In the future we might want to generate it from Torque for consistency. Also renamed a few *String fields metadata to match the expected format (className__fieldName__fieldType). For more context: nodejs/llnode#287 (comment). [email protected], [email protected], [email protected], [email protected] Change-Id: I82fe8315cdbfd1b8c64c6a8d5dc011b1edaec39e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847783 Reviewed-by: Toon Verwaest <[email protected]> Commit-Queue: Toon Verwaest <[email protected]> Cr-Commit-Position: refs/heads/master@{#64313} Refs: v8/v8@b38dfaf PR-URL: #30870 Reviewed-By: Michael Dawson <[email protected]>
Original commit message: [postmortem] update Symbol and *String metadata Symbol and *String classes are now declared on Torque with generateCppClass, which means they don't use macro accessors anymore. As such, the gen-postmortem-metadata script is not able to automatically detect fields for those classes. Define metadata for those fields manually for now. In the future we might want to generate it from Torque for consistency. Also renamed a few *String fields metadata to match the expected format (className__fieldName__fieldType). For more context: nodejs/llnode#287 (comment). [email protected], [email protected], [email protected], [email protected] Change-Id: I82fe8315cdbfd1b8c64c6a8d5dc011b1edaec39e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847783 Reviewed-by: Toon Verwaest <[email protected]> Commit-Queue: Toon Verwaest <[email protected]> Cr-Commit-Position: refs/heads/master@{#64313} Refs: v8/v8@b38dfaf PR-URL: #30870 Reviewed-By: Michael Dawson <[email protected]>
@cjihrig We discussed the issue of breaking changes in a recent diagnostics meeting. |
There used to be a test in core that verified the existence of the metadata used by llnode. However, that test was removed in nodejs/node@9a0aaa6. After that, I think @mmarchini had her own way of detecting the breaking changes. You'll definitely want some automated way to detect the breaking changes because they happen frequently with V8 updates. |
The V8 7.7 update requires the following adjustments to the postmortem debugging metadata constants:
v8dbg_class_ConsString__first__String
v8dbg_class_ConsString__second__String
v8dbg_class_SlicedString__offset__SMI
v8dbg_class_ThinString__actual__String
Refs: nodejs/node#28918
The text was updated successfully, but these errors were encountered: