type_JSPromise__JS_PROMISE_TYPE and
type_JSMessageObject__JS_MESSAGE_OBJECT_TYPE will be used on llnode to
identify Promises in memory and core dumps:
https://github.com/nodejs/llnode/pull/272. Add these to our postmortem
test so we're aware of any changes to this metadata.
PR-URL: https://github.com/nodejs/node/pull/31357
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
The following metadata has changed:
- v8dbg_class_UncompiledData__inferred_name__String
- Implementation was moved to Torque and required
update to gen-postmortem-metadata.py.
- Refs: e4e86b53cf
- v8dbg_class_SharedFunctionInfo__script_or_debug_info__Object
- Renamed to v8dbg_class_SharedFunctionInfo__script_or_debug_info__HeapObject
- Refs: 07fc96c0a8
- v8dbg_type_JSRegExp__JS_REGEXP_TYPE
- Renamed to v8dbg_type_JSRegExp__JS_REG_EXP_TYPE.
- Refs: 61815a22bd
PR-URL: https://github.com/nodejs/node/pull/30020
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
The following metadata has changed:
- v8dbg_class_ConsString__first__String
- Class is now generated via torque.
- Postmortem tools should use v8dbg_class_ConsString__first_offset__int
- Refs: 14274bb16a
- v8dbg_class_ConsString__second__String
- Class is now generated via torque.
- Postmortem tools should use v8dbg_class_ConsString__second_offset__int
- Refs: 14274bb16a
- v8dbg_class_SlicedString__offset__SMI
- Class is now generated via torque.
- Postmortem tools should use v8dbg_class_SlicedString__offset_offset__int
- Refs: 14274bb16a
- v8dbg_class_ThinString__actual__String
- Class is now generated via torque.
- Postmortem tools should use v8dbg_class_ThinString__actual_offset__int
- Refs: 14274bb16a
PR-URL: https://github.com/nodejs/node/pull/28918
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
The following metadata has changed:
- v8dbg_class_FixedTypedArrayBase__base_pointer__Object
- Field moved from FixedTypedArrayBase to JSTypedArray.
- Postmortem tools should use v8dbg_class_JSTypedArray__base_pointer__Object.
- Refs: 70bd7cf0ef
- v8dbg_class_FixedTypedArrayBase__external_pointer__uintptr_t
- Field moved from FixedTypedArrayBase to JSTypedArray.
- Add new constant: v8dbg_class_JSTypedArray__external_pointer__uintptr_t
- Refs: 70bd7cf0ef
- v8dbg_class_Map__instance_descriptors_offset
- Underlying constant was renamed to kInstanceDescriptorsOffset.
- Postmortem tools should not need to update anything for this constant.
- Refs: 15a7e04eec
PR-URL: https://github.com/nodejs/node/pull/28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
This commit updates test-postmortem-metadata to provide a
more useful error message in the scenario where Node is
compiled without postmortem support.
PR-URL: https://github.com/nodejs/node/pull/27828
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
The new V8 seems to be optimizing the functions we use in this test
faster than before. Increasing the sampling frequency for Linux perf
fixes the issue.
PR-URL: https://github.com/nodejs/node/pull/27615
Refs: https://github.com/v8/v8/compare/7.4.288.21...7.4.288.27
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
The V8 7.3 update requires the following adjustments to the
postmortem debugging metadata constants:
- v8dbg_prop_idx_first was removed in
1ad0cd560e
- v8dbg_jsarray_buffer_was_neutered_mask was renamed to
v8dbg_jsarray_buffer_was_detached_mask in
f68ee6e7e4
- v8dbg_jsarray_buffer_was_neutered_shift was renamed to
v8dbg_jsarray_buffer_was_detached_shift in
f68ee6e7e4
- v8dbg_class_Map__instance_descriptors__DescriptorArray moved to
v8dbg_class_Map__raw_instance_descriptors__DescriptorArray and
began using ACCESSORS2 in
799dfad502
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
0f581e4b99
- v8dbg_class_UncompiledData__inferred_name__String changed in
0f581e4b99
- v8dbg_class_JSFunction__shared__SharedFunctionInfo changed in
81620900e9
- v8dbg_class_SharedFunctionInfo__function_data__Object had its
accessor removed in
a55803a15d
This has been fixed in gen-postmortem-metadata.py.
PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
The V8 7.0 update requires the following adjustments to the
postmortem debugging metadata constants:
- v8dbg_class_SharedFunctionInfo__script__Object
Use: v8dbg_class_SharedFunctionInfo__script_or_debug_info__Object
- v8dbg_class_SharedFunctionInfo__function_identifier_or_debug_info__Object
Use: v8dbg_class_UncompiledData__inferred_name__String and
v8dbg_class_SharedFunctionInfo__name_or_scope_info__Object
Refs: c941f11abd
PR-URL: https://github.com/nodejs/node/pull/22754
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit adds a test to validate if Linux perf is working correctly
on Node.js. The test is marked as flaky because its intention is to let
us know when changes on V8 potentially broke Linux perf, so we can fix
it before a new version of V8 lands on Node.js master.
PR-URL: https://github.com/nodejs/node/pull/20783
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
`v8-updates` holds all tests related to V8 updates, for example, testing
for postmortem metadata chages.
PR-URL: https://github.com/nodejs/node/pull/20783
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>