0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
Commit Graph

19 Commits

Author SHA1 Message Date
cjihrig
17a6def4e8
deps: update V8 dtrace & postmortem metadata
PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2020-03-18 16:23:32 -07:00
Matheus Marchini
b318926634 test: update postmortem test with v12 constants
Ref: https://github.com/nodejs/llnode/pull/330

PR-URL: https://github.com/nodejs/node/pull/31391
Refs: https://github.com/nodejs/llnode/pull/330
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-01-18 15:43:00 -08:00
Matheus Marchini
cf5624c4d8
test: add promises metadata to postmortem test
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>
2020-01-16 14:02:01 -08:00
cjihrig
a4102a00db
test: update test-postmortem-metadata.js
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>
2019-11-08 15:53:35 +01:00
cjihrig
5a56940d2c
test: update postmortem metadata test for V8 7.7
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>
2019-08-19 09:26:21 +02:00
cjihrig
f53a241447
test: update postmortem metadata test for V8 7.6
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>
2019-08-01 12:57:02 +02:00
Refael Ackermann
546d6cdd9e test,v8: skip less and stabilize test-linux-perf.js
Co-authored-by: Matheus Marchini <mat@mmarchini.me>

PR-URL: https://github.com/nodejs/node/pull/27364
Refs: https://github.com/nodejs/build/issues/1774
Reviewed-By: Matheus Marchini <mat@mmarchini.me>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2019-06-06 18:44:21 -04:00
cjihrig
76b9cf5424
test: detect missing postmortem metadata
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>
2019-05-26 10:40:37 -04:00
Matheus Marchini
3b2633e0bf test: fix test-linux-perf flakiness
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>
2019-05-10 11:20:23 -07:00
Matheus Marchini
8712edf53a
test: fix postmortem metadata test
Recent changes to spawnSync (https://github.com/nodejs/node/pull/23027)
broke our V8 postmortem tests since the output from nm was larger than
the new default maxBuffer for spawnSync. Changing the maxBuffer to
Infinity fixes the issue.

PR-URL: https://github.com/nodejs/node/pull/27265
Refs: https://github.com/v8/v8/compare/7.4.288.18...7.4.288.21
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-04-18 16:57:23 -07:00
cjihrig
afad3b443e test: update postmortem metadata test for V8 7.4
Summary of changes:

- v8dbg_class_FixedTypedArrayBase__external_pointer__Object
  - Type changed in f70bb59b57 (diff-f3f182b0510ba2ee39ae87e421ff110b).
  - Use v8dbg_class_FixedTypedArrayBase__external_pointer__uintptr_t
- v8dbg_class_JSArrayBuffer__backing_store__Object
  - Type changed in f70bb59b57 (diff-f3f182b0510ba2ee39ae87e421ff110b).
  - Use v8dbg_class_JSArrayBuffer__backing_store__uintptr_t
- v8dbg_class_Map__raw_instance_descriptors__DescriptorArray
  - Changed in d7b08b6da2 (diff-59788e25dc5196c356894d5e1fac6425)
  - New constant added to V8: v8dbg_class_Map__instance_descriptors_offset
- v8dbg_PointerSizeLog2
  - Changed in 46d1986812 (diff-f3f182b0510ba2ee39ae87e421ff110b)
  - Refs: https://bugs.chromium.org/p/v8/issues/detail?id=8477
  - Use new constants: v8dbg_SystemPointerSize, v8dbg_SystemPointerSizeLog2,
        v8dbg_TaggedSize, and v8dbg_TaggedSizeLog2

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:39:35 -04:00
cjihrig
01b112a031
test: update postmortem metadata test for V8 7.3
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>
2019-03-14 18:51:34 +01:00
cjihrig
379bf1aa8e
test: update postmortem metadata test for V8 7.1
The V8 7.1 update requires the following adjustments to the
postmortem debugging metadata constants:

- v8dbg_class_JSArrayBuffer__byte_length__Object
  Use: v8dbg_class_JSArrayBuffer__byte_length__size_t

- v8dbg_class_JSArrayBufferView__raw_byte_length__Object
  Use: v8dbg_class_JSArrayBufferView__byte_length__size_t

- v8dbg_class_JSArrayBufferView__raw_byte_offset__Object
  Use: v8dbg_class_JSArrayBufferView__byte_offset__size_t

- v8dbg_class_String__length__SMI
  Use: v8dbg_class_String__length__int32_t

Refs: 5cfe1a6b12
Refs: c7a0049e1b

PR-URL: https://github.com/nodejs/node/pull/23423
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2018-12-06 15:25:53 +01:00
cjihrig
8aca934009
test: update postmortem metadata test for V8 7.0
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>
2018-09-22 18:29:59 +02:00
cjihrig
36cc812d18
test: update postmortem metadata test for V8 6.9
The V8 6.9 update requires the following adjustments to the
postmortem debugging metadata constants:

- v8dbg_class_SharedFunctionInfo__function_identifier__Object
  Use: v8dbg_class_SharedFunctionInfo__function_identifier_or_debug_info__Object

- v8dbg_class_SharedFunctionInfo__end_position__int
  Use: v8dbg_class_UncompiledData__end_position__int32_t

- v8dbg_class_SharedFunctionInfo__start_position_and_type__int
  Use: v8dbg_class_UncompiledData__start_position__int32_t

- v8dbg_sharedfunctioninfo_start_position_mask and
- v8dbg_sharedfunctioninfo_start_position_shift
  Removed. Use: v8dbg_class_UncompiledData__start_position__int32_t

- v8dbg_scopeinfo_idx_nstacklocals has been removed

Refs: 39e2d97bc4
Refs: 467eb1497e
Refs: c51bcd17bb

PR-URL: https://github.com/nodejs/node/pull/21983
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2018-09-07 21:08:10 +02:00
Matheus Marchini
e865acd4db
test: update postmortem metadata test
This commit updates the following postmortem metadata constant:

- v8dbg_class_SharedFunctionInfo__internal_formal_parameter_count__int
  - Renamed: v8dbg_class_SharedFunctionInfo__internal_formal_parameter_count__uint16_t
  - V8 commit: 53d4dfc377

PR-URL: https://github.com/nodejs/node/pull/21983
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2018-09-07 21:07:56 +02:00
cjihrig
8bcb12848f
test: update postmortem metadata test
This commit updates the following postmortem metadata constant:

- v8dbg_context_idx_closure
  - Renamed: v8dbg_context_idx_scope_info
  - V8 commit: 39496a95c5 (diff-f3f182b0510ba2ee39ae87e421ff110b)

Fixes: https://github.com/nodejs/node-v8/issues/59

PR-URL: https://github.com/nodejs/node/pull/21079
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
2018-07-26 08:34:59 +02:00
Matheus Marchini
227ca87abb
test: add test for Linux perf
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>
2018-06-06 11:10:19 -07:00
Matheus Marchini
e1fc52d9e6
test: create new directory v8-updates
`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>
2018-06-06 11:10:12 -07:00