Commit Graph

151 Commits

Author SHA1 Message Date
Jim Blandy
df6f0b2ee9 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-03-15 12:18:36 -07:00
Jim Blandy
50a3f48159 Bug 554955: Make JSObject::setMap not pretend to take a const shape. r=jorendorff 2011-03-15 12:18:36 -07:00
Andreas Gal
29c7365b34 Make empty shape initialization lazy (bug 639254, r=billm). 2011-03-07 18:42:04 -08:00
Igor Bukanov
b9b1577eec bug 630209 - (Compile|Execute)Script that are GC-safe. r=jorendorff 2011-02-03 14:06:21 +01:00
Brendan Eich
e2c6050a6b Back out on orange (635548, r/a=shaver). 2011-02-19 22:35:13 -08:00
Brendan Eich
bd1ec738ae Fix spurious "attempt to run compile-and-go script on a cleared scope" errors (635548, r/a=shaver). 2011-02-19 20:56:17 -08:00
Bill McCloskey
42e73fa7bc Bug 631951 - Shrink methodjit memory usage by interpreting a few times before compiling (r=dvander) 2011-02-11 16:31:32 -08:00
Steve Fink
1c6a84e2d8 Bug 633016 - Notify debug hooks of script lifetime when pulling script from the eval cache (r=luke)
--HG--
extra : rebase_source : cec97d3ad0bcbad52bda31fb6148ce1e6a1a3b95
2011-02-11 13:23:18 -08:00
Steve Fink
91fce5cc8a Backout 1b55728f51ad (bug 633016) due to leaking jsdScript objects 2011-02-10 14:33:10 -08:00
Steve Fink
9def74762b Bug 633016 - Notify debug hooks of script lifetime when pulling script from the eval cache (r=luke)
--HG--
extra : rebase_source : b3b5bcc1c9af9f835a3921fd5a84c4a9d1478b25
2011-02-10 12:02:15 -08:00
Jeff Walden
3de322ba70 Bug 629187 - Strict mode keywords are accepted as argument names and function name for strict mode functions. r=jimb
--HG--
extra : rebase_source : adce872db2d58e32a53995d757a85da50c8f63a4
2011-01-26 16:46:38 -08:00
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
074bd0c596 Bug 595691, take 2: fix versioning across VM instances, remove _options. (r=luke,brendan,igor) 2011-01-27 02:54:58 -08:00
Chris Leary
1771b7c232 Backed out changeset b88172246b66 due to Win32 debug failures. 2011-01-25 04:11:47 -08:00
Chris Leary
b462e1fb98 Bug 595691: fix versioning across VM instances, remove _options. (r=luke,brendan,igor) 2011-01-25 02:33:27 -08:00
Brendan Eich
0b7d9754dc Get rid of JSOP_{GET,CALL}UPVAR and simplify code greatly (592202, r=jorendorff). 2010-12-29 23:46:50 -08:00
Nicholas Nethercote
42704598e2 Bug 610070 - Large amount of heap allocation from js::PropertyTable::init. r=brendan. 2011-01-03 17:14:55 -08:00
David Mandelin
530a85948d Fix MSVC warnings. 2011-01-03 13:25:17 -08:00
Jeff Walden
32dfb1669c Followup to bug 614493 to fix GCC overwarning about 'uninitialized' variables in js_XDRScript. r=warnings
--HG--
extra : rebase_source : ce0062c356524ee14dedf39e67c6aa1880259afb
2010-12-30 16:40:21 -06: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
Brian Hackett
be4d109005 Don't generate INITPROP/INITELEM for singleton constant initializers, bug 577359. 2010-12-30 08:07:43 -05:00
Bill McCloskey
9090d0a347 Bug 584860 - TraceMonitor cleanups (r=igor) 2010-12-22 14:00:06 -08:00
Bill McCloskey
c8eee530e2 Bug 584860 - Move TraceMonitor into compartment (r=gal) 2010-12-22 12:02:25 -08:00
Steve Fink
4187f585f2 Bug 610793 - Add a per-script enableSingleStepInterrupts() to JSD [r=dmandelin]
--HG--
extra : rebase_source : 248eb8bf3d3a94cce626614da2be1449c8b27a8f
2010-11-16 15:18:35 -08:00
Jeff Walden
c39f97db70 Convert JSScript::*Offset into offsets from the end of JSScript, not from its start, to escape an offset <= 0xFF requirement failing due to an impending increase in the size of JSScripts for bug 614493. r=brendan
--HG--
extra : rebase_source : 8c4046bdc99b8280d414cba864b7d5e1b1f25331
2010-12-02 14:23:51 -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 Mandelin
6110e0823d Bug 610480 last part: fix MSVC warnings, r=jorendorff 2010-11-29 13:33:17 -08:00
Igor Bukanov
5d06dd5a14 Bug 599610 - making sure that PurgeScriptFragments collects all fragments 2010-10-06 17:21:23 +02:00
David Anderson
c190047dbc Fix bug 602574 - Assertion failure: constOffset != 0 in JSScript::NewScript() on 64-bit platforms. r=gal@uci.edu 2010-10-10 15:47:09 -07:00
Andreas Gal
96223bbef4 Make functions per compartment, and deep copy instead of clone them if needed (584789, r=mrbkap). 2010-09-29 23:17:29 -07:00
David Anderson
dfffa5d871 Fix crash in AtSafePoint (bug 589398, r=dmandelin). 2010-10-05 16:41:06 -07:00
David Anderson
552330f091 ICs for scripted new (bug 589398, r=luke,dmandelin).
--HG--
extra : rebase_source : d7311ce916e8d6c876d1851090806bc7d073bd63
2010-10-04 14:13:33 -07:00
David Anderson
6dbf424efd Backed out changeset de5d1b528b9a 2010-10-04 15:12:00 -07:00
David Anderson
6ddd3429fc ICs for scripted new (bug 589398, r=luke,dmandelin). 2010-10-04 14:13:33 -07:00
Andreas Gal
331dc80c9e Backout bug 584789, has to go into blake's patch queue, event't handlers don't set the right compartment in TM tip. 2010-09-30 00:05:33 -07:00
Andreas Gal
dd4d8530b1 Make functions per compartment, and deep copy instead of clone them if needed (584789, r=mrbkap). 2010-09-29 23:17:29 -07:00
Andreas Gal
e80492a92a Back out bug 584789. 2010-09-29 20:38:03 -07:00
Andreas Gal
650aaf4f01 Make functions per compartment, and deep copy instead of clone them if needed (584789, r=mrbkap). 2010-09-29 19:42:22 -07:00
David Anderson
2f002d500e Add local and argument closure information to JSScript (bug 592973, r=brendan+dmandelin).
--HG--
extra : rebase_source : 3d36a7908230006f2b048835f7526962fac2b32b
2010-09-13 22:33:44 -07:00
Chris Leary
2fa4fedbc1 Bug 540675: eviscerate JSStackFrame::callerVersion. (r=lw) 2010-09-13 09:38:22 -07:00
Brendan Eich
d7abc9c150 Eliminate JSObject::freeslot via monotonic lastProp->freeslot (592556, r=jorendorff,dvander). 2010-09-02 14:50:44 -07:00
Chris Leary
7c740a8dc0 Back out due to mochiserver breakage. (no_r=me) 2010-09-09 16:52:31 -07:00
Chris Leary
7c2ac56dff Bug 540675: remove callerVersion from stack frame. (r=lw) 2010-09-09 14:25:30 -07:00
David Anderson
69b95ea914 ICs for scripted calls (bug 587698, r=dmandelin). 2010-09-02 20:04:33 -07:00
David Mandelin
c056a07f6b Backed out changeset 41e3e584023f -- more tinderbox bustage. 2010-08-27 18:51:14 -07:00
David Anderson
8d3e96d32e [JAEGER] ICs for scripted calls (bug 587698, r=dmandelin). 2010-08-27 17:50:53 -07:00
Sean Stangl
ef6068d3b0 [JAEGER] Backed out changeset 1035fdc5d714. no_r=fire. 2010-08-27 10:42:10 -04:00
Jan de Mooij
5209097cb3 [JAEGER] Added fast-path for >>> (bug 589932, r=dvander). 2010-08-26 01:29:52 -04:00