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)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla33

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

Details

Attachments

(1 file)

Blocks: 857648
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+
Flags: in-testsuite?
Target Milestone: --- → mozilla33
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.

Attachment

General

Created:
Updated:
Size: