diff options
author | Fedor Indutny <fedor@indutny.com> | 2015-11-11 14:32:06 -0500 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2016-01-21 16:54:38 -0800 |
commit | 113d1f38217d7d42ca5b9374be78ee410b7128db (patch) | |
tree | dfff142f5969116e8ee2c190f1709abc9ca2aae9 /deps/v8/tools | |
parent | ef4170ea03a80b21b2d8a65ce432efaa370fe2fa (diff) | |
download | node-new-113d1f38217d7d42ca5b9374be78ee410b7128db.tar.gz |
deps: cherry-pick 68e89fb from v8's upstream
Original commit message:
This commit adds some postmortem data that is otherwise unavailable.
I have discovered need in those values when writing:
https://github.com/indutny/llnode
BUG=
Review URL: https://codereview.chromium.org/1436473002
Cr-Commit-Position: refs/heads/master@{#31947}
This postmortem information is useful for both object inspection, and
function's context variables inspection.
Ref: https://github.com/nodejs/node/pull/3779
PR-URL: https://github.com/nodejs/node/pull/4106
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaƫl Zasso <mic.besace@gmail.com>
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Diffstat (limited to 'deps/v8/tools')
-rw-r--r-- | deps/v8/tools/gen-postmortem-metadata.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/deps/v8/tools/gen-postmortem-metadata.py b/deps/v8/tools/gen-postmortem-metadata.py index 1b6a6bbcf0..433fc55d58 100644 --- a/deps/v8/tools/gen-postmortem-metadata.py +++ b/deps/v8/tools/gen-postmortem-metadata.py @@ -98,6 +98,30 @@ consts_misc = [ 'value': 'PropertyDetails::FieldIndexField::kMask' }, { 'name': 'prop_index_shift', 'value': 'PropertyDetails::FieldIndexField::kShift' }, + { 'name': 'prop_representation_mask', + 'value': 'PropertyDetails::RepresentationField::kMask' }, + { 'name': 'prop_representation_shift', + 'value': 'PropertyDetails::RepresentationField::kShift' }, + { 'name': 'prop_representation_integer8', + 'value': 'Representation::Kind::kInteger8' }, + { 'name': 'prop_representation_uinteger8', + 'value': 'Representation::Kind::kUInteger8' }, + { 'name': 'prop_representation_integer16', + 'value': 'Representation::Kind::kInteger16' }, + { 'name': 'prop_representation_uinteger16', + 'value': 'Representation::Kind::kUInteger16' }, + { 'name': 'prop_representation_smi', + 'value': 'Representation::Kind::kSmi' }, + { 'name': 'prop_representation_integer32', + 'value': 'Representation::Kind::kInteger32' }, + { 'name': 'prop_representation_double', + 'value': 'Representation::Kind::kDouble' }, + { 'name': 'prop_representation_heapobject', + 'value': 'Representation::Kind::kHeapObject' }, + { 'name': 'prop_representation_tagged', + 'value': 'Representation::Kind::kTagged' }, + { 'name': 'prop_representation_external', + 'value': 'Representation::Kind::kExternal' }, { 'name': 'prop_desc_key', 'value': 'DescriptorArray::kDescriptorKey' }, @@ -121,6 +145,10 @@ consts_misc = [ 'value': 'Map::ElementsKindBits::kShift' }, { 'name': 'bit_field3_dictionary_map_shift', 'value': 'Map::DictionaryMap::kShift' }, + { 'name': 'bit_field3_number_of_own_descriptors_mask', + 'value': 'Map::NumberOfOwnDescriptorsBits::kMask' }, + { 'name': 'bit_field3_number_of_own_descriptors_shift', + 'value': 'Map::NumberOfOwnDescriptorsBits::kShift' }, { 'name': 'off_fp_context', 'value': 'StandardFrameConstants::kContextOffset' }, @@ -139,14 +167,31 @@ consts_misc = [ 'value': 'ScopeInfo::kStackLocalCount' }, { 'name': 'scopeinfo_idx_ncontextlocals', 'value': 'ScopeInfo::kContextLocalCount' }, + { 'name': 'scopeinfo_idx_ncontextglobals', + 'value': 'ScopeInfo::kContextGlobalCount' }, { 'name': 'scopeinfo_idx_first_vars', 'value': 'ScopeInfo::kVariablePartIndex' }, + + { 'name': 'sharedfunctioninfo_start_position_mask', + 'value': 'SharedFunctionInfo::kStartPositionMask' }, + { 'name': 'sharedfunctioninfo_start_position_shift', + 'value': 'SharedFunctionInfo::kStartPositionShift' }, + + { 'name': 'jsarray_buffer_was_neutered_mask', + 'value': 'JSArrayBuffer::WasNeutered::kMask' }, + { 'name': 'jsarray_buffer_was_neutered_shift', + 'value': 'JSArrayBuffer::WasNeutered::kShift' }, ]; # # The following useful fields are missing accessors, so we define fake ones. # extras_accessors = [ + 'JSFunction, context, Context, kContextOffset', + 'Context, closure_index, int, CLOSURE_INDEX', + 'Context, global_object_index, int, GLOBAL_OBJECT_INDEX', + 'Context, previous_index, int, PREVIOUS_INDEX', + 'Context, min_context_slots, int, MIN_CONTEXT_SLOTS', 'HeapObject, map, Map, kMapOffset', 'JSObject, elements, Object, kElementsOffset', 'FixedArray, data, uintptr_t, kHeaderSize', @@ -162,6 +207,7 @@ extras_accessors = [ 'Map, prototype, Object, kPrototypeOffset', 'NameDictionaryShape, prefix_size, int, kPrefixSize', 'NameDictionaryShape, entry_size, int, kEntrySize', + 'NameDictionary, prefix_start_index, int, kPrefixStartIndex', 'SeededNumberDictionaryShape, prefix_size, int, kPrefixSize', 'UnseededNumberDictionaryShape, prefix_size, int, kPrefixSize', 'NumberDictionaryShape, entry_size, int, kEntrySize', @@ -173,6 +219,7 @@ extras_accessors = [ 'SeqOneByteString, chars, char, kHeaderSize', 'SeqTwoByteString, chars, char, kHeaderSize', 'SharedFunctionInfo, code, Code, kCodeOffset', + 'SharedFunctionInfo, scope_info, ScopeInfo, kScopeInfoOffset', 'SlicedString, parent, String, kParentOffset', 'Code, instruction_start, uintptr_t, kHeaderSize', 'Code, instruction_size, int, kInstructionSizeOffset', |