Jim Blandy
8243d96f08
Bug 501908: Avoid O(n^2) behavior when recycling large trees. r=igor
...
It turns out that the careful effort RecycleTree and NewOrRecycledNode make
to disassemble the recycled tree lazily is wasted: every recycling call
ends up calling UnlinkFunctionBoxes and walking the entire parse node tree
to fix up funbox and method links. There's no locality; you might as well
queue up the parse nodes while you're at it. And the stack doesn't stay
shallow.
This patch replaces the (very clever) lazy recycling with eager recycling,
using a work stack chained through the nodes themselves to avoid creating
deep C++ stacks when recycling deep parse trees. We put off cleaning up the
method lists and funbox tree until just before function analysis, at which
point we do so in a single linear pass. Putting this off to the end avoids
quadratic behavior, as noted in the comments.
The patch localizes the process of adding nodes to the free list in a
single function, ensuring that we don't recycle used/defn nodes. It also
poisons newly freed nodes.
The patch also more clearly distinguishes between function nodes that have
been fully deleted, and function nodes that have been mutated (by
js_FoldConstants) into other kinds of nodes. See the comments before
Parser::cleanFunctionList.
I believe the patch also improves the care with which we handle nodes that
cannot be recycled immediately (those that appear in JSAtomLists, or are
referred to by JSFunctionBoxes). In some cases, those nodes may be picked
up and fiddled with later, so it is important that they not refer to nodes
around them that did get recycled.
2011-01-14 18:09:09 -08:00
Jim Blandy
780bba0f9f
Bug 501908: Pass a JSTreeContext to analyzeFunctions, not bits and pieces. r=igor
...
Proper function recycling may mean eliminating the tree context's entire
function list; it's misleading to pass in the function list, rather than
side-effecting the tc in place.
Let analyzeFunctions take care of testing whether we have any functions to
analyze, instead of making each caller do it. In the next patch in the
series, we won't know whether the function list is really clear or not in
the callers anyway.
Avoid passing tcflags around by non-const reference; SpiderMonkey style is
to use pointers for parameters the callee may mutate, to make call sites
more evidently potential mutations.
2011-01-14 18:09:09 -08:00
Andreas Gal
f5c9522e86
Make Shark work with 64-bit MacOSX builds and rename to start/stopProfiling() (bug 625962, r=sayrer).
2011-01-14 17:58:40 -08:00
David Anderson
232e3ee3c3
Merge backout.
2011-01-14 17:49:43 -08:00
David Anderson
1343e908cb
Backed out changeset 121ac4c0d553
2011-01-14 17:48:42 -08:00
Blake Kaplan
4f05b0d1e1
Fix DumpJSStack on dummy frames to not try to treat arbitrary memory as the |this| value. r=gal NPOTB
2011-01-14 17:28:53 -08:00
David Anderson
08b7658fb4
Get rid of value snapshotting in value iterators (bug 624421, r=luke,gal).
2011-01-14 17:15:21 -08:00
David Anderson
0dca4cbca5
Fix PunboxAssembler interface returning wrong labels (bug 625757, r=cdleary).
2011-01-14 15:42:42 -08:00
Jason Orendorff
2c574f0bc2
Bug 559653 - Record assignment before the interpreter goes, mostly. This reduces record_SetPropHit to a narrower callback, record_AddProperty. r=brendan.
...
--HG--
rename : js/src/jsapi-tests/testSetPropertyWithNativeGetterStubSetter.cpp => js/src/jsapi-tests/testSetProperty.cpp
2011-01-14 16:18:53 -06:00
Chris Leary
3641a2424b
Merge from m-c to fix last bustage.
2011-01-14 12:43:05 -08:00
Chris Leary
ac34fb9cee
Merge tracemonkey changeset.
2011-01-14 12:35:20 -08:00
Chris Leary
19ed1e45c7
Merge last good mozilla-central revision into tracemonkey.
2011-01-14 12:34:23 -08:00
David Anderson
0a0981d8fc
Update NativeIterators properly in the method JIT (bug 625377, r=luke).
2011-01-14 12:16:53 -08:00
Benoit Jacob
b4361a8eb5
Bug 582053 - gl-teximage passes now, remove from failing-tests list - r+a=bustage
2011-01-14 14:21:15 -05:00
Gavin Sharp
431793362b
Back out 6419e802aab0 (bug 624588) due to test failures, a=orange
2011-01-14 14:00:21 -05:00
Vladimir Vukicevic
60b63f3bd0
b=625503; convert NaN correctly with typed array array conversion; r=waldo, a=dvander
2011-01-14 10:46:22 -08:00
Benoit Jacob
7c9342e180
Bug 582053 - Integrate WebGL conformance suite as a mochitest - r=vlad, a=blocking2.0
...
--HG--
rename : content/canvas/test/webgl/failing_tests.txt => content/canvas/test/webgl/failing_tests_linux.txt
2011-01-14 13:40:05 -05:00
Chris Leary
f0dec13d55
Merge mozilla-central into tracemonkey. (a=blockers)
2011-01-14 09:33:29 -08:00
Chris Leary
8faf09db9b
Merge mozilla-central and tracemonkey. (a=blockers)
2011-01-14 09:29:15 -08:00
David Dahl
bb609580fb
Bug 624588 - Change Panorama shortcut to Shift-Ctrl/Cmd-E r=dao a=final+
2011-01-14 11:26:58 -06:00
Jacob Bramley
0f3cd6ceaf
Bug 625701: Sensible fixed width branching. (r=cdleary)
2011-01-14 09:00:56 -08:00
timeless@mozdev.org
28c3bf0042
Bug 619330 Unknown error alert displayed when trying to print from computer that has no installed printer r=mats a=blocking
...
--HG--
extra : rebase_source : 25ce9cb89eb088aa915d5bccbedd4f191267fb31
2011-01-14 18:34:01 +02:00
tim.taubert@gmx.de
0a948d6bf7
Bug 484396 - XMLHttpRequest.open throws exception on empty string url parameter, r=smaug, a=bz
...
--HG--
extra : rebase_source : 73ce4b9fca63e9fd16acac65739fc71603ec843e
2011-01-14 18:11:25 +02:00
Boris Zbarsky
29354bf191
Bug 619220 followup. Nix unused member that was screwing things up. a=orange
2011-01-14 12:22:20 -05:00
Jonathan Protzenko
b5c31dda8a
Move comment for nsTObserverArray near the start of the file, r=bz a=bz over IRC. DONTBUILD
2011-01-14 18:15:27 +01:00
Dão Gottwald
47aeb57be7
Bug 615890 - Reduce Firefox button height in non-maximized windows on Windows XP. r=gavin a=b
2011-01-14 17:22:32 +01:00
Brendan Eich
2c74ffd9ca
Cope with localStorage reifying __iterator__ with null value, and the like (573875, r=gal).
2011-01-14 08:03:45 -08:00
Chris Leary
1a66e5bee4
Bug 625718: Correct SETPROP label offsets. (r=jbramley)
2011-01-14 07:49:59 -08:00
Mounir Lamouri
525143557c
Bug 624187 - r=smaug a=blocking-beta
...
--HG--
extra : rebase_source : e8ed7004507dfcef58d7144d89eb5205d2b0b99c
2011-01-14 16:34:50 +01:00
Mounir Lamouri
a88195a9fc
Bug 623482 - Present error page when someone tries to access remote XUL. r+a=sicking
...
--HG--
extra : rebase_source : 2786e51db70ca0c66f6388376711e74816828c2d
2011-01-14 16:33:57 +01:00
Chris Leary
056facaa7c
Bug 625701: Fixed-width IC cmp/branch is required for x86. (r=dvander)
2011-01-14 02:57:21 -08:00
Chris Leary
4b37828aec
Merge mozilla-central into tracemonkey.
2011-01-14 01:45:33 -08:00
Chris Leary
72a8c1a6b6
Bug 588021: Remove vestigial ifdefs. (r=dmandelin)
2011-01-13 22:42:48 -08:00
Chris Leary
d4f5d475e9
Bug 588021: Port ELEM PICs for ARM. (r=dmandelin)
2011-01-13 22:42:28 -08:00
Chris Leary
24d8b5461c
Bug 588021: Port CALLPROP PIC for ARM. (r=dmandelin)
2011-01-13 22:42:07 -08:00
Chris Leary
cad74eb0f9
Bug 588021: Port SETPROP PIC for ARM. (r=dmandelin)
2011-01-13 22:41:42 -08:00
Jacob Bramley
40fdd878d3
Bug 588021: Port NAME PIC for ARM. (r=cdleary)
2011-01-13 22:41:16 -08:00
Jacob Bramley
19407e2b09
Bug 588021: Port BINDNAME PIC for ARM. (r=cdleary)
2011-01-13 22:40:58 -08:00
Chris Leary
8dc586ec63
Bug 588021: Port GETPROP PIC for ARM. (r=dmandelin)
2011-01-13 22:40:15 -08:00
Chris Leary
9e386e7eeb
Bug 588021: Refactor MICs to work on ARM, ICRepatcher interface. (r=dmandelin, u=jbramley,cdleary)
2011-01-13 22:39:43 -08:00
Chris Leary
fc21ef8fcb
Bug 588021: Cross-platform PIC labels. (r=dmandelin, u=cdleary,dvander,jbramley)
2011-01-13 22:39:11 -08:00
Jacob Bramley
2a3e7b6d4f
Bug 588021: Make stub calls with stub veneer on ARM. (r=cdleary)
2011-01-13 22:38:52 -08:00
Philipp von Weitershausen
5af500f104
Bug 623795 follow-up: forgot to apply my own review comments. r=me a=blocking-betaN
2011-01-13 22:08:57 -08:00
Philipp von Weitershausen
1ab4d81f48
Bug 622408 follow-up: forgot to apply my own review comments. r=me a=blocking-final
2011-01-13 21:52:55 -08:00
Richard Newman
523c19565a
Bug 622408 - Sync layout issues on localized builds. r=philikon a=blocking-final
2011-01-13 21:43:35 -08:00
Richard Newman
fbf56820b5
Bug 623795 - Sync setup and Add a Device wizard should trigger master password dialog. r=philikon a=blocking-betaN
2011-01-13 21:43:25 -08:00
Philipp von Weitershausen
e4d2ecc139
Bug 624982 - Merge fx-sync to mozilla-central. a=blockers
2011-01-13 21:43:02 -08:00
Taras Glek
211f19c661
Bug 625478 - Fix first paint timestamp on OSX and Android r=tn a=Mossop
2011-01-13 20:03:42 -08:00
Nicholas Nethercote
39684e1437
Bug 625333 - tracer generated code reads stack memory it didn't write. r=lw.
2011-01-13 19:14:46 -08:00
Nicholas Nethercote
02b1116cec
Backed out changeset 1548012fa682 due to leaks found by Valgrind.
2011-01-13 19:04:03 -08:00