llnode icon indicating copy to clipboard operation
llnode copied to clipboard

Upcoming metadata changes in V8 7.2

Open cjihrig opened this issue 7 years ago • 3 comments

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: https://github.com/nodejs/node-v8/pull/96

cjihrig avatar Dec 21 '18 19:12 cjihrig

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.

mmarchini avatar Sep 30 '19 23:09 mmarchini

@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.

cjihrig avatar Oct 01 '19 06:10 cjihrig

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

mmarchini avatar Oct 01 '19 14:10 mmarchini