Commit Graph

12959 Commits

Author SHA1 Message Date
Nicholas Nethercote
51800259db Bug 623428 - TM: avoid bloat caused by multiple mReserve arrays in VMAllocator (NJ-specific part). r=edwsmith.
--HG--
extra : convert_revision : f6016c7c7cd415a26dad9cf39d34141b8b482d43
2011-01-18 14:58:34 -08:00
Andrew Paprocki
224681155f Add JS_NewDateObject, JS_NewDateObjectMsec, JS_ObjectIsDate to the JSAPI. Bug 625870, r=jorendorff, a=shaver. 2011-01-18 16:11:03 -06:00
Jason Orendorff
ab5240165b Fix bug in JSParseNode::become when cloning an empty list node, leading to later memory corruption. Bug 626436, r=jimb.
--HG--
extra : rebase_source : 730e0679bcd3f3372da2425e5b1c664007fd1ffc
2011-01-18 15:58:11 -06:00
Luke Wagner
61c8ce9719 Bug 626599 - Compartment can be null in js_SetDebugMode (r=gal)
--HG--
extra : rebase_source : f901f1f51d6d2bc157705b1713736bb71e877439
2011-01-18 13:36:04 -08:00
David Mandelin
774253d75c Bug 606882: Import YARR changeset 72781, r=cdleary 2011-01-18 13:33:43 -08:00
Andreas Gal
f0d6ca57be Push dummy stack frame while wrapping (bug 626280, r=jst). 2011-01-18 12:51:56 -08:00
Jason Orendorff
b12d9b4edc Backed out changeset 27bf86dbdb52 due to redness. 2011-01-18 12:49:36 -06:00
Andrew Paprocki
187630946a Add JS_NewDateObject, JS_NewDateObjectMsec, JS_ObjectIsDate to the JSAPI. r=jorendorff, a=shaver. 2011-01-18 12:29:35 -06:00
Jason Orendorff
af4b2fd992 Add another method write barrier regression test. no_r=me.
--HG--
extra : rebase_source : 4348354a9d97e5249f4442a0bfc9b61b0220cd4a
2011-01-18 11:46:07 -06:00
Nicholas Nethercote
ed55695802 Bug 624878 - Remove dangerous uses of vanilla (throw-on-failure) |operator new|. r=lw. 2011-01-17 19:44:10 -08:00
Nicholas Nethercote
cc51b5ed72 Bug 581553 - Display bytes values associated with an instruction (TM-specific part). r=dmandelin. 2011-01-17 18:32:38 -08:00
Nicholas Nethercote
544940596f Update nanojit-import-rev stamp. 2011-01-17 18:31:03 -08:00
Nicholas Nethercote
3b27a0ff0e Make accNames[] public; needed for TM. No bug, r=me.
--HG--
extra : convert_revision : 4ca71b4e30e696851c0a7a934a0e73426cf8c2c7
2011-01-17 18:30:36 -08:00
Nicholas Nethercote
4507d99420 Update nanojit-import-rev stamp. 2011-01-17 18:23:05 -08:00
Nicholas Nethercote
0de1758f1b Bug 624439 - Assertion failure: isS32(target - next) (./nanojit/NativeX64.cpp:2012). r=edwsmith.
--HG--
extra : convert_revision : c3c9fa2b440f1fa564b2f6195919e75ec3d00acf
2011-01-16 21:38:25 -08:00
Cédric VINCENT
75dfbc4853 Bug 602390 - New file for SH4 auto-generated code (r+rreitmai) [Cédric VINCENT]
.
. attachment 493930 - SH4: use non-numeric type for Register & move auto-generated code-generator back to a separated file.
.
Bug 599251 introduced the non-numeric Register type.  This back-end doesn't use it yet.  It should.  See the i386/X64 back-ends for examples.

--HG--
extra : convert_revision : eb3a73807a9c8b2cafe10908710f9cb2467d090d
2011-01-05 17:24:39 -08:00
Rick Reitmaier
4ed28d7e05 Bug 602390 - nanojit: make Register a non-numeric type on SH4 (r=nnethercote)
.
. attachment 485873 - fix asserts so we can compile
.
Bug 599251 introduced the non-numeric Register type.  This back-end doesn't use it yet.  It should.  See the i386/X64 back-ends for examples.

--HG--
extra : convert_revision : b681599a542687e6a9779227f2f21a86b69ee2a9
2011-01-05 17:24:32 -08:00
Rick Reitmaier
b5ae867e4c Bug 581553 - Display bytes values associated with an instruction (r+nnethercote)
--HG--
extra : convert_revision : 8e80b4cfa30dc93557d6fb6d3493758749547e2e
2011-01-05 11:27:35 -08:00
Rick Reitmaier
6b35e95ed3 Bug 614126 - Decouple CodeAlloc block size from allocation size (r+edwsmith,nnethercote)
--HG--
extra : convert_revision : 2c9dc64162bd57c225c4b8cd184dfcf6d03a2e5f
2011-01-05 10:55:31 -08:00
Edwin Smith
0486e22f7d Bug 620406 - Constant folding branch condition leads to assert in Assembler.cpp (r=nnethercote+)
--HG--
extra : convert_revision : 5797090820d1645fad3c0ee05865cecf8b6b190c
2010-12-21 20:30:32 -05:00
Jason Orendorff
cbd5b4f223 Tracer generates bad code for {__proto__: ...}, leading to a crash. Bug 626464, r=brendan.
--HG--
extra : rebase_source : 369a705d51e2bd24f63c0e4f6465a6dba44972df
2011-01-17 17:33:45 -06:00
Luke Wagner
b00fed595e Bug 626118 - Fix RegExp ref-counting leak; record already-incremented-ness in type (r=cdleary) 2011-01-17 14:58:53 -08:00
Andreas Gal
ffad8e83db Allow entering a compartment with a pending exception (bug 626267, r=luke). 2011-01-17 14:21:03 -08:00
Jason Orendorff
ec712fc18c Return the new shape from methodWriteBarrier instead of searching for it again. Bug 623863, r=brendan. 2011-01-17 11:30:08 -06:00
Jason Orendorff
32cd8027b9 Add tracer support for JSOP_UNBRANDTHIS with primitive this. Bug 625399, r=Waldo. 2011-01-17 11:19:26 -06:00
Cameron Kaiser
f00ce6228a Bug 623277 - Failed to build with --disable-methodjit r=dmandelin, a=NPOTB 2011-01-08 22:42:00 -08:00
Jim Blandy
bde8efeae9 Bug 624199: Move code for decompiling strict mode code directives to where it works for JS_DecompileScript, too. r=brendan 2011-01-15 13:48:26 -08:00
Jim Blandy
f20a1f7648 Bug 624199: Correctly skip emitting bytecode for useless string literals and complain, while not flagging directives. r=brendan
Never emit bytecode for expression statements consisting of a single string
literal. Complain about them as useless code only if they are not part of a
Directive Prologue. The comments in recognizeDirectivePrologue explain the
details.

Fix bad names of directive-prologue-related parse node member functions.
2011-01-15 13:48:26 -08:00
Andreas Gal
3d90f3729a Temporary restore old shark start/stop functions (bug 625993, r=bz). 2011-01-14 19:02:11 -08:00
Andreas Gal
3593b7215c Makefile rules fix for bug 625962. 2011-01-14 18:42:58 -08:00
Jim Blandy
62486d8029 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
67b6f164d8 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
6278051362 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
c082e192c8 Merge backout. 2011-01-14 17:49:43 -08:00
David Anderson
a202a88091 Backed out changeset 121ac4c0d553 2011-01-14 17:48:42 -08:00
Blake Kaplan
34f092fdfd 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
a83190f474 Get rid of value snapshotting in value iterators (bug 624421, r=luke,gal). 2011-01-14 17:15:21 -08:00
David Anderson
8a4b770483 Fix PunboxAssembler interface returning wrong labels (bug 625757, r=cdleary). 2011-01-14 15:42:42 -08:00
Jason Orendorff
f224da500c 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
30bb1f498e Merge tracemonkey changeset. 2011-01-14 12:35:20 -08:00
Chris Leary
434b365408 Merge last good mozilla-central revision into tracemonkey. 2011-01-14 12:34:23 -08:00
David Anderson
3c239f940a Update NativeIterators properly in the method JIT (bug 625377, r=luke). 2011-01-14 12:16:53 -08:00
Vladimir Vukicevic
b4fe058f4f b=625503; convert NaN correctly with typed array array conversion; r=waldo, a=dvander 2011-01-14 10:46:22 -08:00
Jacob Bramley
d3366c8fbd Bug 625701: Sensible fixed width branching. (r=cdleary) 2011-01-14 09:00:56 -08:00
Brendan Eich
6e8832e1a8 Cope with localStorage reifying __iterator__ with null value, and the like (573875, r=gal). 2011-01-14 08:03:45 -08:00
Chris Leary
1cad3ed712 Bug 625718: Correct SETPROP label offsets. (r=jbramley) 2011-01-14 07:49:59 -08:00
Chris Leary
a3d07a777f Bug 625701: Fixed-width IC cmp/branch is required for x86. (r=dvander) 2011-01-14 02:57:21 -08:00
Chris Leary
3d7d7e57a8 Merge mozilla-central into tracemonkey. 2011-01-14 01:45:33 -08:00
Chris Leary
2e89de85ee Bug 588021: Remove vestigial ifdefs. (r=dmandelin) 2011-01-13 22:42:48 -08:00
Chris Leary
96f3580160 Bug 588021: Port ELEM PICs for ARM. (r=dmandelin) 2011-01-13 22:42:28 -08:00