Commit Graph

15 Commits

Author SHA1 Message Date
Jim Blandy
2016210905 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
a237e87988 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
4b5d129a27 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
6d0cc31d27 Back out changeset 7d82892cb8df. 2011-01-27 19:43:33 -08:00
Bill McCloskey
a4f9ab0da8 Bug 609104 - Move the property tree to the compartment (r=brendan) 2011-01-27 15:46:39 -08:00
Jeff Walden
f7bec8a9e8 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
f432da735d 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
2f0a83a27d Remove JSOP_BEGIN and fix tracer integration issues (bug 603044, r=luke+dmandelin). 2010-10-15 11:36:56 -07:00
David Anderson
d92676b53f [JAEGER] Remove tracerecursion (bug 591539, r=luke). 2010-08-27 21:18:58 -07:00
Nicholas Nethercote
795d4b8ad2 Bug 556353 - Remove OBJ_IS_NATIVE, HAS_FUNCTION_CLASS. r=brendan. 2010-03-31 22:13:51 -07:00
Nicholas Nethercote
684396fb91 Bug 555631 - Convert STOBJ_* macros to inline functions. r=gal. 2010-03-30 14:42:48 -07:00
Brendan Eich
9f9a05b0c3 Don't build a stack frame to execute empty scripts (516827, r=igor). 2009-10-18 17:41:24 -07:00
Brendan Eich
706bd30498 Fix js*inlines.h harder (515628, r=jorendorff). 2009-09-10 10:23:52 -07:00
Brendan Eich
bb9d2c5506 Followup for 513119, r=jorendorff. 2009-09-10 07:22:20 -07:00
Jason Orendorff
b53824855d Bug 513119 - Change JSScript macros to methods. r=Waldo. 2009-09-09 18:52:55 -05:00