Closed
Bug 822563
Opened 13 years ago
Closed 13 years ago
JS GDB pretty-printers: pretty-print JSObject & values
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla20
People
(Reporter: jimb, Assigned: jimb)
Details
Attachments
(1 file, 2 obsolete files)
|
9.09 KB,
patch
|
sfink
:
review+
|
Details | Diff | Splinter Review |
The GDB pretty-printer should pretty-print references to JSObject instances (including instances of classes derived from JSObject).
That is, instead of this:
$16 = (js::ScopeObject &) @0x7ffff152fc40: {<JSObject> = {<js::ObjectImpl> = {<js::gc::Cell> = {<No data fields>}, shape_ = 0x7ffff15210d8, type_ = 0x7ffff151f040, slots = 0x0, elements = 0xc00510}, }, }
we should get this:
$16 = (js::ScopeObject &) @0x7ffff152fc40: [object Call]
Attachment #693262 -
Flags: review?(sphink)
| Assignee | ||
Comment 1•13 years ago
|
||
New patch; original included stray changes from other work.
Assignee: general → jimb
Attachment #693262 -
Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #693262 -
Flags: review?(sphink)
Attachment #693263 -
Flags: review?(sphink)
| Assignee | ||
Comment 2•13 years ago
|
||
One more try. I was careless in the pretty-printer lookup cleanup. Includes a regression test.
Attachment #693263 -
Attachment is obsolete: true
Attachment #693263 -
Flags: review?(sphink)
Attachment #693266 -
Flags: review?(sphink)
Comment 3•13 years ago
|
||
Comment on attachment 693266 [details] [diff] [review]
Pretty-print references to JSObject and its subclasses.
Review of attachment 693266 [details] [diff] [review]:
-----------------------------------------------------------------
This worked out pretty nicely, unless there's something horrible I'm missing when eyeballing this.
::: js/src/gdb/mozilla/prettyprinters.py
@@ +312,4 @@
> class Pointer(object):
> def __new__(cls, value, cache):
> # Don't try to provide pretty-printers for NULL pointers.
> + if value.type.code == gdb.TYPE_CODE_PTR and value == 0: return None
nit: I like the same-line return for very short conditionals, but I find this one hard to spot.
Attachment #693266 -
Flags: review?(sphink) → review+
| Assignee | ||
Comment 4•13 years ago
|
||
Thanks for the review! I changed the same-line return.
https://hg.mozilla.org/integration/mozilla-inbound/rev/6b17e37a0762
Flags: in-testsuite+
Target Milestone: --- → mozilla20
Comment 5•13 years ago
|
||
Backed out for build error on Windows:
https://hg.mozilla.org/integration/mozilla-inbound/rev/f29149459b0f
The error looks like this:
{
e:/builds/moz2_slave/m-in-w32/build/js/src/gdb/tests/test-JSObject.cpp(23) : error C2027: use of undefined type 'JSObject'
}
https://tbpl.mozilla.org/php/getParsedLog.php?id=18139695&tree=Mozilla-Inbound
https://tbpl.mozilla.org/php/getParsedLog.php?id=18140081&tree=Mozilla-Inbound
Comment 6•13 years ago
|
||
(Clearing target milestone & in-testsuite for the moment, due to backout.)
(Incidentally: you don't have to bother setting Target Milestone when pushing to mozilla-inbound -- our merge-inbound-to-central-and-comment-on-all-the-bugs tool will automatically will do that for you, I'm told.)
Flags: in-testsuite+ → in-testsuite?
Target Milestone: mozilla20 → ---
| Assignee | ||
Comment 7•13 years ago
|
||
"Surely this won't need a try push."
| Assignee | ||
Comment 8•13 years ago
|
||
| Assignee | ||
Comment 9•13 years ago
|
||
Okay, that try run looks clean. Landing again:
https://hg.mozilla.org/integration/mozilla-inbound/rev/723e403c36b1
Flags: in-testsuite? → in-testsuite+
Comment 10•13 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
You need to log in
before you can comment on or make changes to this bug.
Description
•