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

Upcoming metadata changes in V8 7.2 #255

Closed
cjihrig opened this issue Dec 21, 2018 · 3 comments
Closed

Upcoming metadata changes in V8 7.2 #255

cjihrig opened this issue Dec 21, 2018 · 3 comments

Comments

@cjihrig
Copy link
Contributor

cjihrig commented Dec 21, 2018

The V8 7.2 update requires the following adjustments to the postmortem debugging metadata constants:

  • v8dbg_prop_idx_first was removed in v8/v8@1ad0cd5

  • v8dbg_jsarray_buffer_was_neutered_mask was renamed to v8dbg_jsarray_buffer_was_detached_mask in v8/v8@f68ee6e

  • v8dbg_jsarray_buffer_was_neutered_shift was renamed to v8dbg_jsarray_buffer_was_detached_shift in v8/v8@f68ee6e

  • v8dbg_class_Map__instance_descriptors__DescriptorArray moved to v8dbg_class_Map__raw_instance_descriptors__DescriptorArray and began using ACCESSORS2 in v8/v8@799dfad

The following postmortem debugging constants were also impacted
by V8's introduction of ACCESSORS2:

  • v8dbg_class_ThinString__actual__String changed in v8/v8@0f581e4

  • v8dbg_class_UncompiledData__inferred_name__String changed in v8/v8@0f581e4

  • v8dbg_class_JSFunction__shared__SharedFunctionInfo changed in v8/v8@8162090

  • v8dbg_class_SharedFunctionInfo__function_data__Object had its accessor removed in v8/v8@a55803a. This will be fixed in gen-postmortem-metadata.py.

Refs: nodejs/node-v8#96

@mmarchini
Copy link
Contributor

FYI we'll have to add some constants for DescriptorArray now that it is a HeapObject and not a FixedArray. I'll send a PR to V8 today or tomorrow.

@cjihrig
Copy link
Contributor Author

cjihrig commented Oct 1, 2019

@mmarchini if you add new constants, can you also PR them to Node's postmortem metadata test? I think that makes it a lot easier to know when things are going to break. Alternatively, if you don't want to update the test, just point me to the new constants and I can add them myself.

@mmarchini
Copy link
Contributor

I'll update the metadata test once https://chromium-review.googlesource.com/c/v8/v8/+/1832311 lands on core 👍

mmarchini added a commit to mmarchini/llnode that referenced this issue Nov 8, 2019
mmarchini added a commit to mmarchini/llnode that referenced this issue Dec 9, 2019
mmarchini added a commit that referenced this issue Dec 9, 2019
Ref: #255

PR-URL: #324
Refs: #255
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
mmarchini added a commit to mmarchini/llnode that referenced this issue Dec 9, 2019
V8 changed DescriptorArray from a FixedArray to a proper HeapObject.
These changes update accessors for DescriptorArray fields to make them
compatible with FixedArray-like and HeapObject-like access.

Ref: nodejs#255
mmarchini added a commit to mmarchini/llnode that referenced this issue Dec 10, 2019
V8 changed DescriptorArray from a FixedArray to a proper HeapObject.
These changes update accessors for DescriptorArray fields to make them
compatible with FixedArray-like and HeapObject-like access.

Ref: nodejs#255
mmarchini added a commit to mmarchini/llnode that referenced this issue Jan 2, 2020
V8 changed DescriptorArray from a FixedArray to a proper HeapObject.
These changes update accessors for DescriptorArray fields to make them
compatible with FixedArray-like and HeapObject-like access.

Ref: nodejs#255
MylesBorins pushed a commit to mmarchini/node that referenced this issue Jan 8, 2020
Original commit message:

    [postmortem] add metadata for the new DescriptorArray layout

    R=yangguo@chromium.org

    Ref: nodejs/llnode#255
    Change-Id: Icda271123375db5c381fe1d1bba13dcc26f26d7c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832311
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64169}

Refs: v8/v8@cc5016e
targos pushed a commit to nodejs/node that referenced this issue Jan 14, 2020
Original commit message:

    [postmortem] add metadata for the new DescriptorArray layout

    R=yangguo@chromium.org

    Ref: nodejs/llnode#255
    Change-Id: Icda271123375db5c381fe1d1bba13dcc26f26d7c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832311
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64169}

Refs: v8/v8@cc5016e
PR-URL: #30870
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
mmarchini added a commit to mmarchini/llnode that referenced this issue Jan 16, 2020
V8 changed DescriptorArray from a FixedArray to a proper HeapObject.
These changes update accessors for DescriptorArray fields to make them
compatible with FixedArray-like and HeapObject-like access.

Ref: nodejs#255
mmarchini added a commit that referenced this issue Jan 21, 2020
V8 changed DescriptorArray from a FixedArray to a proper HeapObject.
These changes update accessors for DescriptorArray fields to make them
compatible with FixedArray-like and HeapObject-like access.

Ref: #255

PR-URL: #330
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
BethGriggs pushed a commit to nodejs/node that referenced this issue Feb 6, 2020
Original commit message:

    [postmortem] add metadata for the new DescriptorArray layout

    R=yangguo@chromium.org

    Ref: nodejs/llnode#255
    Change-Id: Icda271123375db5c381fe1d1bba13dcc26f26d7c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1832311
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64169}

Refs: v8/v8@cc5016e
PR-URL: #30870
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
@cjihrig cjihrig closed this as completed Apr 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants