mdb_v8: update to latest version
* ::jsstack -v prints function defintion * ::jsprint works with objects with only numeric properties * update tests to use builtin mdb_v8 * add more symbols to postmortem script - pending upstream inclusion
This commit is contained in:
parent
e2fcfea46e
commit
e496707d39
571
deps/mdb_v8/mdb_v8.c
vendored
571
deps/mdb_v8/mdb_v8.c
vendored
File diff suppressed because it is too large
Load Diff
8
deps/v8/tools/gen-postmortem-metadata.py
vendored
8
deps/v8/tools/gen-postmortem-metadata.py
vendored
@ -106,6 +106,14 @@ consts_misc = [
|
|||||||
'value': 'JavaScriptFrameConstants::kFunctionOffset' },
|
'value': 'JavaScriptFrameConstants::kFunctionOffset' },
|
||||||
{ 'name': 'off_fp_args',
|
{ 'name': 'off_fp_args',
|
||||||
'value': 'JavaScriptFrameConstants::kLastParameterOffset' },
|
'value': 'JavaScriptFrameConstants::kLastParameterOffset' },
|
||||||
|
|
||||||
|
{ 'name': 'elements_kind_shift',
|
||||||
|
'value': 'Map::kElementsKindShift' },
|
||||||
|
{ 'name': 'elements_kind_bitcount',
|
||||||
|
'value': 'Map::kElementsKindBitCount' },
|
||||||
|
{ 'name': 'elements_fast_elements', 'value': 'FAST_ELEMENTS' },
|
||||||
|
{ 'name': 'elements_fast_holey_elements', 'value': 'FAST_HOLEY_ELEMENTS' },
|
||||||
|
{ 'name': 'elements_dictionary_elements', 'value': 'DICTIONARY_ELEMENTS' },
|
||||||
];
|
];
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
var common = require('../common');
|
var common = require('../common');
|
||||||
var assert = require('assert');
|
var assert = require('assert');
|
||||||
var os = require('os');
|
var os = require('os');
|
||||||
|
var path = require('path');
|
||||||
var util = require('util');
|
var util = require('util');
|
||||||
|
|
||||||
if (os.type() != 'SunOS') {
|
if (os.type() != 'SunOS') {
|
||||||
@ -89,7 +90,14 @@ gcore.on('exit', function (code) {
|
|||||||
console.log('mdb stderr: ' + data);
|
console.log('mdb stderr: ' + data);
|
||||||
});
|
});
|
||||||
|
|
||||||
mdb.stdin.write('::load v8.so\n');
|
var mod = util.format('::load %s\n',
|
||||||
|
path.join(__dirname,
|
||||||
|
'..',
|
||||||
|
'..',
|
||||||
|
'out',
|
||||||
|
'Release',
|
||||||
|
'mdb_v8.so'));
|
||||||
|
mdb.stdin.write(mod);
|
||||||
mdb.stdin.write('::findjsobjects -c LanguageH | ');
|
mdb.stdin.write('::findjsobjects -c LanguageH | ');
|
||||||
mdb.stdin.write('::findjsobjects | ::jsprint\n');
|
mdb.stdin.write('::findjsobjects | ::jsprint\n');
|
||||||
mdb.stdin.write('::findjsobjects -p OBEY | ');
|
mdb.stdin.write('::findjsobjects -p OBEY | ');
|
||||||
|
@ -90,6 +90,14 @@ dtrace.on('exit', function (code) {
|
|||||||
*/
|
*/
|
||||||
var mdb = spawn('mdb', args, { stdio: 'pipe' });
|
var mdb = spawn('mdb', args, { stdio: 'pipe' });
|
||||||
|
|
||||||
|
var mod = util.format('::load %s\n',
|
||||||
|
path.join(__dirname,
|
||||||
|
'..',
|
||||||
|
'..',
|
||||||
|
'out',
|
||||||
|
'Release',
|
||||||
|
'mdb_v8.so'));
|
||||||
|
|
||||||
mdb.on('exit', function (code) {
|
mdb.on('exit', function (code) {
|
||||||
var retained = '; core retained as ' + corefile;
|
var retained = '; core retained as ' + corefile;
|
||||||
|
|
||||||
@ -157,7 +165,7 @@ dtrace.on('exit', function (code) {
|
|||||||
console.log('mdb (second) stderr: ' + data);
|
console.log('mdb (second) stderr: ' + data);
|
||||||
});
|
});
|
||||||
|
|
||||||
mdb.stdin.write('::load v8.so\n');
|
mdb.stdin.write(mod);
|
||||||
mdb.stdin.write(straddr + '::v8str\n');
|
mdb.stdin.write(straddr + '::v8str\n');
|
||||||
mdb.stdin.end();
|
mdb.stdin.end();
|
||||||
});
|
});
|
||||||
@ -170,7 +178,7 @@ dtrace.on('exit', function (code) {
|
|||||||
console.log('mdb stderr: ' + data);
|
console.log('mdb stderr: ' + data);
|
||||||
});
|
});
|
||||||
|
|
||||||
mdb.stdin.write('::load v8.so\n');
|
mdb.stdin.write(mod);
|
||||||
mdb.stdin.write('::jsstack -v\n');
|
mdb.stdin.write('::jsstack -v\n');
|
||||||
mdb.stdin.end();
|
mdb.stdin.end();
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user