Граф коммитов

237986 Коммитов

Автор SHA1 Сообщение Дата
Jim Blandy 9074c309b8 Bug 576847: Propagate error returns out of CompExprTransplanter::transplant. r=luke 2011-01-20 13:27:05 -08:00
Jim Blandy 653afeadc9 Bug 576847: Remove unused arguments in generator expression parsing functions. r=jorendorff
We always pass NULL as the |pn1| argument to js::Parser::parenExpr; remove
it. We pass NULL for the |genexp| argument in all but one case; give it a
default value. This allows almost all calls to pass no arguments.

We always pass a freshly allocated PN_UNARY node as |generatorExpr|'s first
argument, and never refer to the node again in the caller; move the
allocation into |generatorExpr| itself. This makes |generatorExpr| a
function that takes an expression |E| and returns the immediate application
of a generator function which consists of the nested loops and conditionals
given by the comprehension tail, with a |yield E| at the center.
2011-01-20 13:27:04 -08:00
David Mandelin 41bc5d769b Bug 595208: Add missing call to Pop in GetDebugObject, r=smaug 2011-01-20 11:21:26 -08:00
David Anderson 034b078c22 Use the right JIT script when disabling trace ICs (bug 627150, r=billm). 2011-01-19 15:43:47 -08:00
David Anderson 8b91e29a13 Get rid of value snapshotting in value iterators (bug 624421, r=luke,gal). 2011-01-14 17:15:21 -08:00
Gregor Wagner 61da36bfd5 Bug 624224 - cleanup compartment sweep code, r=brendan 2011-01-18 15:20:39 -08:00
Nicholas Nethercote b29ff62484 Bug 623428 - TM: avoid bloat caused by multiple mReserve arrays in VMAllocator (TM-specific part). r=gal. 2011-01-18 15:05:43 -08:00
Nicholas Nethercote 8534d59bcc Update nanojit-import-rev stamp. 2011-01-18 15:04:48 -08:00
Nicholas Nethercote 0e94e3e2cf 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 f73f9bb25a 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 c00a120cc9 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 5e4181de13 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 97970924f4 Bug 606882: Import YARR changeset 72781, r=cdleary 2011-01-18 13:33:43 -08:00
Andreas Gal fe9eb28c86 Push dummy stack frame while wrapping (bug 626280, r=jst). 2011-01-18 12:51:56 -08:00
Jason Orendorff c0116d8e89 Backed out changeset 27bf86dbdb52 due to redness. 2011-01-18 12:49:36 -06:00
Andrew Paprocki 9f0ac136b2 Add JS_NewDateObject, JS_NewDateObjectMsec, JS_ObjectIsDate to the JSAPI. r=jorendorff, a=shaver. 2011-01-18 12:29:35 -06:00
Jason Orendorff e20d40f925 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 d3f301da5d Bug 624878 - Remove dangerous uses of vanilla (throw-on-failure) |operator new|. r=lw. 2011-01-17 19:44:10 -08:00
Nicholas Nethercote c2006ef7cd Bug 581553 - Display bytes values associated with an instruction (TM-specific part). r=dmandelin. 2011-01-17 18:32:38 -08:00
Nicholas Nethercote 699917f64f Update nanojit-import-rev stamp. 2011-01-17 18:31:03 -08:00
Nicholas Nethercote 30e1985d4e 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 95910d31f9 Update nanojit-import-rev stamp. 2011-01-17 18:23:05 -08:00
Nicholas Nethercote 29cd5e256c 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 46c90b8b05 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 270e8fb6aa 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 7bc2616b55 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 2582d73612 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 60d70b77c1 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 1490428c37 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 68eefec80e 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 fbd83bbc4f Allow entering a compartment with a pending exception (bug 626267, r=luke). 2011-01-17 14:21:03 -08:00
Jason Orendorff e4e610a0d6 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 96fbd99178 Add tracer support for JSOP_UNBRANDTHIS with primitive this. Bug 625399, r=Waldo. 2011-01-17 11:19:26 -06:00
Andreas Gal 57aeaf92d6 document.all('foo') doesn't work (bug 626050, r=brendan). 2011-01-16 23:30:38 -08:00
Cameron Kaiser e6e72b40a9 Bug 623277 - Failed to build with --disable-methodjit r=dmandelin, a=NPOTB 2011-01-08 22:42:00 -08:00
Jim Blandy a9577c45b8 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 3289f9eb57 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 c71d128474 Temporary restore old shark start/stop functions (bug 625993, r=bz). 2011-01-14 19:02:11 -08:00
Andreas Gal 949f18ab0c Makefile rules fix for bug 625962. 2011-01-14 18:42:58 -08:00
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