Closed
Bug 646574
Opened 15 years ago
Closed 15 years ago
dis() is broken when function has upvars
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla7
People
(Reporter: jruderman, Assigned: Waldo)
References
Details
(Keywords: regression, testcase, Whiteboard: fixed-in-tracemonkey)
Attachments
(1 file)
|
16.95 KB,
patch
|
mrbkap
:
review+
|
Details | Diff | Splinter Review |
Regression from rev cc4fdccc1135 (bug 396512).
Works:
dis("-r", function f(v) { return function() { return 5; } })
Doesn't work, returns a mess of question marks:
dis("-r", function k(v) { return function() { return v; } })
| Reporter | ||
Comment 1•15 years ago
|
||
Can trigger the bug without "-r", by using an escaping closure:
dis((function k(v) { return function() { return v; } })(4))
Looks like the "flags" and "upvars" sections got eaten.
Summary: dis("-r", fun) is broken when inner function has upvars → dis() is broken when function has upvars
| Assignee | ||
Comment 2•15 years ago
|
||
2186 if (script->bindings.hasUpvars()) {
2187 Sprint(sp, "\nupvars: {\n");
2188
2189 void *mark = JS_ARENA_MARK(&cx->tempPool);
2190 jsuword *localNames = script->bindings.getLocalNameArray(cx, &cx->tempPool);
2191 if (!localNames)
2192 return false;
I suspect this nested arena-mark here is the problem.
OS: Mac OS X → All
Hardware: x86_64 → All
Comment 3•15 years ago
|
||
This is really being a PITA for debugging things....
| Assignee | ||
Comment 4•15 years ago
|
||
Try not to gag too much.
Updated•15 years ago
|
Attachment #541977 -
Flags: review?(mrbkap) → review+
| Assignee | ||
Comment 5•15 years ago
|
||
Whiteboard: fixed-in-tracemonkey
Target Milestone: --- → mozilla7
Comment 6•15 years ago
|
||
cdleary-bot mozilla-central merge info:
http://hg.mozilla.org/mozilla-central/rev/b79cf02287c6
Updated•15 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Target Milestone: mozilla7 → mozilla8
Updated•14 years ago
|
Target Milestone: mozilla8 → mozilla7
Comment 7•13 years ago
|
||
Filter on qa-project-auto-change:
Bug in removed tracer code, setting in-testsuite- flag.
Flags: in-testsuite-
You need to log in
before you can comment on or make changes to this bug.
Description
•