Commit Graph

66 Commits

Author SHA1 Message Date
Bill McCloskey
42dbf44919 Bug 609104 - Move the property tree to the compartment (r=brendan) 2011-01-27 15:46:39 -08:00
Jim Blandy
0ea68d51ff Bug 554955: Revert fix (changesets 297b1312f534, 18a1effafe19, 26d40e1e80bf, f6117465a979): 14% performance hit as measured by Talos. r=talos 2011-01-31 16:48:26 -08:00
Jim Blandy
1f8bfb5861 Bug 554955: Give blocks and call objects unique shapes when they have parents that may be extended with new bindings. r=jorendorff
The comments for js::Bindings::extensibleParents explain why this is necessary.

AssertValidPropertyCacheHit should have been catching this bug, but for
reasons I don't understand, it is restricted from checking this case. This
patch extends it to assert when the bug is detected.

I've gathered the infallible parts of the initialization for Call objects
and cloned block objects into their own functions.
2011-01-31 12:08:13 -08:00
Jim Blandy
75250eb4a4 Bug 554955: Make JSObject::setMap not pretend to take a const shape. r=jorendorff
Without this patch, JSObject::setMap takes a const js::Shape *, which is
kind of misleading. The object will not actually treat the shape as const
(it does a const_cast). At all but one call site, setMap's argument is not
a const shape --- and in fact, many call sites are installing empty shapes
whose role in life is to be extended.

The only place where a const js::Shape appears is in setSharedNonNativeMap,
which is doing something unusual. The const cast should be there.

Changing js::Bindings::lastShape to return a non-const shape is then
natural, and cleans up the definition of initCall coming in the next patch.
2011-01-31 12:08:13 -08:00
Chris Leary
f5ba03208f Back out changeset 7d82892cb8df. 2011-01-27 19:43:33 -08:00
Bill McCloskey
fe90be1b78 Bug 609104 - Move the property tree to the compartment (r=brendan) 2011-01-27 15:46:39 -08:00
Jeff Walden
1fe4d7a5ad Bug 614493 - Move top-level binding storage (and argument, variable, and upvar counts) out of JSFunction and into js::Bindings, itself stored in JSScript, anticipating the time when strict mode eval scripts will need it. r=brendan 2010-11-16 15:34:24 -08:00
Jeff Walden
010f2cdc7f Bug 614333 - Remove the empty-script singleton optimization: it is effectively disabled with the methodjit, and its use of a single const JSScript for everything (including across compartments) interferes with recording name bindings in scripts, in order to correctly implement strict mode eval. r=brendan
--HG--
extra : rebase_source : 38a7faedb4b090e844cc342c82b273c75ef763bb
2010-11-16 15:30:56 -08:00
David Anderson
8acbb589d6 Remove JSOP_BEGIN and fix tracer integration issues (bug 603044, r=luke+dmandelin). 2010-10-15 11:36:56 -07:00
David Anderson
c531ce8cc1 [JAEGER] Remove tracerecursion (bug 591539, r=luke). 2010-08-27 21:18:58 -07:00
Nicholas Nethercote
e2e917ef22 Bug 556353 - Remove OBJ_IS_NATIVE, HAS_FUNCTION_CLASS. r=brendan. 2010-03-31 22:13:51 -07:00
Nicholas Nethercote
a1a894fc1c Bug 555631 - Convert STOBJ_* macros to inline functions. r=gal. 2010-03-30 14:42:48 -07:00
Brendan Eich
7bbe5bcd01 Don't build a stack frame to execute empty scripts (516827, r=igor). 2009-10-18 17:41:24 -07:00
Brendan Eich
55e3f7a602 Fix js*inlines.h harder (515628, r=jorendorff). 2009-09-10 10:23:52 -07:00
Brendan Eich
1782600815 Followup for 513119, r=jorendorff. 2009-09-10 07:22:20 -07:00
Jason Orendorff
714d4280ea Bug 513119 - Change JSScript macros to methods. r=Waldo. 2009-09-09 18:52:55 -05:00