Closed
Bug 822563
Opened 12 years ago
Closed 12 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•12 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•12 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•12 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•12 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•12 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•12 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•12 years ago
|
||
"Surely this won't need a try push."
Assignee | ||
Comment 8•12 years ago
|
||
Try: https://tbpl.mozilla.org/?tree=Try&rev=12ce7e3c1409
Assignee | ||
Comment 9•12 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•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/723e403c36b1
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
You need to log in
before you can comment on or make changes to this bug.
Description
•