Closed
Bug 1030938
Opened 11 years ago
Closed 11 years ago
Stop copy-constructing frame iterators in SavedStacks, and some other cleanup
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla33
People
(Reporter: bzbarsky, Assigned: bzbarsky)
References
Details
Attachments
(1 file)
| Assignee | ||
Comment 1•11 years ago
|
||
Attachment #8446729 -
Flags: review?(shu)
Comment 2•11 years ago
|
||
Comment on attachment 8446729 [details] [diff] [review]
Stop copy-constructing iterators in SavedStacks code, because that copy constructor is really slow. Also, hash atoms as pointers, not strings
Review of attachment 8446729 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/vm/SavedStacks.cpp
@@ +101,5 @@
> if (source != lookup.source)
> return false;
>
> JSAtom *functionDisplayName = existing->getFunctionDisplayName();
> + if (functionDisplayName != lookup.functionDisplayName)
Oh nice.
@@ +477,5 @@
> // in js/src/jit-test/tests/saved-stacks/bug-1006876-too-much-recursion.js).
> JS_CHECK_RECURSION_DONT_REPORT(cx, return false);
>
> + RootedScript script(cx, iter.script());
> + jsbytecode* pc = iter.pc();
Style nit: I think SM style does jsbytecode *pc
@@ +480,5 @@
> + RootedScript script(cx, iter.script());
> + jsbytecode* pc = iter.pc();
> + RootedFunction callee(cx, iter.maybeCallee());
> + // script and callee should keep compartment alive.
> + JSCompartment* compartment = iter.compartment();
Ditto.
Attachment #8446729 -
Flags: review?(shu) → review+
| Assignee | ||
Comment 3•11 years ago
|
||
Fixed the nits and https://hg.mozilla.org/integration/mozilla-inbound/rev/937b2131d8e2
| Assignee | ||
Updated•11 years ago
|
Flags: in-testsuite?
Target Milestone: --- → mozilla33
Comment 4•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•