Closed
Bug 646574
Opened 12 years ago
Closed 12 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•12 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•12 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•12 years ago
|
||
This is really being a PITA for debugging things....
Assignee | ||
Comment 4•12 years ago
|
||
Try not to gag too much.
Updated•12 years ago
|
Attachment #541977 -
Flags: review?(mrbkap) → review+
Assignee | ||
Comment 5•12 years ago
|
||
http://hg.mozilla.org/tracemonkey/rev/b79cf02287c6
Whiteboard: fixed-in-tracemonkey
Target Milestone: --- → mozilla7
Comment 6•12 years ago
|
||
cdleary-bot mozilla-central merge info: http://hg.mozilla.org/mozilla-central/rev/b79cf02287c6
Updated•12 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: mozilla7 → mozilla8
Updated•12 years ago
|
Target Milestone: mozilla8 → mozilla7
Comment 7•10 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
•