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:
Bryan Cantrill 2014-03-10 18:07:52 -07:00 committed by Timothy J Fontaine
parent e2fcfea46e
commit e496707d39
4 changed files with 505 additions and 120 deletions

595
deps/mdb_v8/mdb_v8.c vendored

File diff suppressed because it is too large Load Diff

View File

@ -106,6 +106,14 @@ consts_misc = [
'value': 'JavaScriptFrameConstants::kFunctionOffset' },
{ 'name': 'off_fp_args',
'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' },
];
#

View File

@ -22,6 +22,7 @@
var common = require('../common');
var assert = require('assert');
var os = require('os');
var path = require('path');
var util = require('util');
if (os.type() != 'SunOS') {
@ -89,7 +90,14 @@ gcore.on('exit', function (code) {
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 | ::jsprint\n');
mdb.stdin.write('::findjsobjects -p OBEY | ');

View File

@ -90,6 +90,14 @@ dtrace.on('exit', function (code) {
*/
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) {
var retained = '; core retained as ' + corefile;
@ -157,7 +165,7 @@ dtrace.on('exit', function (code) {
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.end();
});
@ -170,7 +178,7 @@ dtrace.on('exit', function (code) {
console.log('mdb stderr: ' + data);
});
mdb.stdin.write('::load v8.so\n');
mdb.stdin.write(mod);
mdb.stdin.write('::jsstack -v\n');
mdb.stdin.end();
});