Bug 66107 - JSC verbose debugging output sometimes doesn't work as expected.
: JSC verbose debugging output sometimes doesn't work as expected.
Status: RESOLVED FIXED
: WebKit
JavaScriptGlue
: 528+ (Nightly build)
: All All
: P2 Normal
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2011-08-11 15:38 PST by
Modified: 2011-08-17 13:54 PST (History)


Attachments
the patch (4.03 KB, patch)
2011-08-11 15:40 PST, Filip Pizlo
no flags Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2011-08-11 15:38:14 PST
There are a few holes in our verbose debugging output:

CodeBlock::dump():
- Will crash when printing JSCell constants, if converting them to string requires calling into JS code.
- Will crash on op_new_regexp because of an out-of-bounds.

DFG verbose mode:
- Reports only the bottom address of generated code, and not the top, making it somewhat harder to mentally map executing code to the debug dumps.
------- Comment #1 From 2011-08-11 15:40:12 PST -------
Created an attachment (id=103688) [details]
the patch
------- Comment #2 From 2011-08-11 15:58:49 PST -------
(From update of attachment 103688 [details])
tests pass.
------- Comment #3 From 2011-08-17 12:56:22 PST -------
(From update of attachment 103688 [details])
View in context: https://bugs.webkit.org/attachment.cgi?id=103688&action=review

> Source/JavaScriptCore/bytecode/CodeBlock.cpp:549
> +                printf("bad_regexp(%d)\n", re0);

There is something a little odd about making our dumping robust against bad regexp numbers here, since I don't think we're robust against other forms of bad bytecode in dumping.  Still, this is debug code, if this is helpful, sure! why not!
------- Comment #4 From 2011-08-17 13:54:46 PST -------
(From update of attachment 103688 [details])
Clearing flags on attachment: 103688

Committed r93238: <http://trac.webkit.org/changeset/93238>
------- Comment #5 From 2011-08-17 13:54:50 PST -------
All reviewed patches have been landed.  Closing bug.