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

Fix postmortem debugging metadata for V8 7.2 #96

Closed
wants to merge 20 commits into from

Conversation

cjihrig
Copy link

@cjihrig cjihrig commented Dec 21, 2018

Fixes: #95

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • commit message follows commit guidelines

nodejs-ci and others added 20 commits December 21, 2018 06:55
Major V8 updates are usually API/ABI incompatible with previous
versions. This commit adapts NODE_MODULE_VERSION for V8 7.3.

Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
Co-authored-by: Ujjwal Sharma <usharma1998@gmail.com>
Bump minimum version of ICU needed to build node to 63.

Refs: v8/v8@30a350f
Co-authored-by: Steven R Loomis <srloomis@us.ibm.com>
New heap space: code_large_object_space
until cb242eded633b55856156da6276f961e63f64253
until 2f852e5e544d97b1b67fef6b68240050d465cf25
until 9362fa94783760a8536d24ef16f17d4489fcd8a9
until 7975e215f7079eef51a0ce484518e463a3741e4e
until a74afec6ba0ddfcec4cc10bf266785612b6ecd91
until d1b4e31bc5a55556de1c9d72905cc0f3af26b080
until 09e405453359000d66cc0faaa102854e626bebeb
until a4993b73c51d1ac1a4ba681f72b015e95d4970d6
This commit updates gen-postmortem-metadata.py to handle the
new ACCESSORS2 macro. Once that migration is complete,
ACCESSORS2 can be dropped from this script.

A constant is also added for SharedFunctionInfo's
kFunctionDataOffset, which was broken in
a55803a15d2b202562d72bb186463ca3ebef0c1c.

See: nodejs#95
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, but do not need to be updated
the test:

- 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 has been fixed in gen-postmortem-metadata.py.
@cjihrig
Copy link
Author

cjihrig commented Dec 21, 2018

The deps commit needs to be upstreamed.

@nodejs-ci nodejs-ci force-pushed the canary branch 5 times, most recently from 6a20999 to f83d9a1 Compare December 27, 2018 08:03
@nodejs-ci nodejs-ci force-pushed the canary branch 6 times, most recently from a0c8d14 to 891adff Compare January 2, 2019 07:02
@cjihrig
Copy link
Author

cjihrig commented Jan 2, 2019

V8 changes upstreamed at https://chromium-review.googlesource.com/c/v8/v8/+/1392449

@nodejs-ci nodejs-ci force-pushed the canary branch 5 times, most recently from f9c6397 to 3d7b7b1 Compare January 7, 2019 07:02
@cjihrig
Copy link
Author

cjihrig commented Jan 7, 2019

The V8 patch landed. @targos is there anything left to do here?

@nodejs-ci nodejs-ci force-pushed the canary branch 5 times, most recently from cd0c07b to d827b28 Compare January 14, 2019 07:53
@nodejs-ci nodejs-ci force-pushed the canary branch 5 times, most recently from 47010f6 to e895333 Compare January 20, 2019 06:57
@targos
Copy link
Member

targos commented Jan 20, 2019

Pushed to canary-base in nodejs/node@4ab8b42. Thanks!

@targos targos closed this Jan 20, 2019
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

Successfully merging this pull request may close these issues.

8 participants