| Index: tools/gen-postmortem-metadata.py
|
| diff --git a/tools/gen-postmortem-metadata.py b/tools/gen-postmortem-metadata.py
|
| index 55f915d3ce7542671e8d61c2c8976da19c4c339c..a9e5b5604150d0e3e214f2d726adfc2e84752aa9 100644
|
| --- a/tools/gen-postmortem-metadata.py
|
| +++ b/tools/gen-postmortem-metadata.py
|
| @@ -50,7 +50,8 @@ import re
|
| import sys
|
|
|
| #
|
| -# Miscellaneous constants, tags, and masks used for object identification.
|
| +# Miscellaneous constants such as tags and masks used for object identification,
|
| +# enumeration values used as indexes in internal tables, etc..
|
| #
|
| consts_misc = [
|
| { 'name': 'FirstNonstringType', 'value': 'FIRST_NONSTRING_TYPE' },
|
| @@ -181,17 +182,46 @@ consts_misc = [
|
| 'value': 'JSArrayBuffer::WasNeutered::kMask' },
|
| { 'name': 'jsarray_buffer_was_neutered_shift',
|
| 'value': 'JSArrayBuffer::WasNeutered::kShift' },
|
| +
|
| + { 'name': 'context_idx_closure',
|
| + 'value': 'Context::CLOSURE_INDEX' },
|
| + { 'name': 'context_idx_native',
|
| + 'value': 'Context::NATIVE_CONTEXT_INDEX' },
|
| + { 'name': 'context_idx_prev',
|
| + 'value': 'Context::PREVIOUS_INDEX' },
|
| + { 'name': 'context_idx_ext',
|
| + 'value': 'Context::EXTENSION_INDEX' },
|
| + { 'name': 'context_min_slots',
|
| + 'value': 'Context::MIN_CONTEXT_SLOTS' },
|
| +
|
| + { 'name': 'namedictionaryshape_prefix_size',
|
| + 'value': 'NameDictionaryShape::kPrefixSize' },
|
| + { 'name': 'namedictionaryshape_entry_size',
|
| + 'value': 'NameDictionaryShape::kEntrySize' },
|
| +
|
| + { 'name': 'namedictionary_prefix_start_index',
|
| + 'value': 'NameDictionary::kPrefixStartIndex' },
|
| +
|
| + { 'name': 'seedednumberdictionaryshape_prefix_size',
|
| + 'value': 'SeededNumberDictionaryShape::kPrefixSize' },
|
| +
|
| + { 'name': 'unseedednumberdictionaryshape_prefix_size',
|
| + 'value': 'UnseededNumberDictionaryShape::kPrefixSize' },
|
| +
|
| + { 'name': 'numberdictionaryshape_entry_size',
|
| + 'value': 'NumberDictionaryShape::kEntrySize' }
|
| ];
|
|
|
| #
|
| # The following useful fields are missing accessors, so we define fake ones.
|
| +# Please note that extra accessors should _only_ be added to expose offsets that
|
| +# can be used to access actual V8 objects' properties. They should not be added
|
| +# for exposing other values. For instance, enumeration values or class'
|
| +# constants should be exposed by adding an entry in the "consts_misc" table, not
|
| +# in this "extras_accessors" table.
|
| #
|
| extras_accessors = [
|
| 'JSFunction, context, Context, kContextOffset',
|
| - 'Context, closure_index, int, CLOSURE_INDEX',
|
| - 'Context, native_context_index, int, NATIVE_CONTEXT_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',
|
| @@ -205,12 +235,6 @@ extras_accessors = [
|
| 'Map, bit_field2, char, kBitField2Offset',
|
| 'Map, bit_field3, int, kBitField3Offset',
|
| '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',
|
| 'Oddball, kind_offset, int, kKindOffset',
|
| 'HeapNumber, value, double, kValueOffset',
|
| 'ConsString, first, String, kFirstOffset',
|
| @@ -254,6 +278,7 @@ header = '''
|
| #include "src/v8.h"
|
| #include "src/frames.h"
|
| #include "src/frames-inl.h" /* for architecture-specific frame constants */
|
| +#include "src/contexts.h"
|
|
|
| using namespace v8::internal;
|
|
|
|
|