Commit Graph

225 Commits

Author SHA1 Message Date
Jeff Walden
e296c93cd9 Bug 576034 - Remove aliased property implementation details. r=jorendorff
--HG--
extra : rebase_source : 8d87c5b809937b97643b382d49cfae2eee5581a6
2011-08-04 14:38:26 -07:00
Jason Orendorff
f8465f2924 Bug 637985 - Reimplement watchpoints using a JSObject bit. r=jimb. 2011-07-27 17:44:43 -05:00
Jason Orendorff
9b4065b6f0 Bug 651940 - When hashing a jsid, assert that js_CheckForStringIndex(id) == id. r=Waldo. 2011-07-27 17:44:29 -05:00
Bill McCloskey
095fa57be2 Bug 673451 - Add getters and setters to make JS write barriers easier to implement (r=cdleary) 2011-07-13 15:43:33 -07:00
Ehsan Akhgari
8eaf1685d8 Backout bug 670205 and bug 673451 because of build bustage
--HG--
extra : rebase_source : 1125480c0f47d0388876c09648d64bdbd62d1206
2011-07-26 14:41:43 -04:00
Bill McCloskey
eda8607b71 Bug 673451 - Add getters and setters to make JS write barriers easier to implement (r=cdleary) 2011-07-13 15:43:33 -07:00
Nicholas Nethercote
84505fba14 Bug 671150 - Add memory reporter for the JS PropertyTable. r=brendan. 2011-07-24 17:00:56 -07:00
Luke Wagner
c9e1bf13c0 Bug 667915 - Don't let content JS consume all the stack and cause chrome JS to OOM (r=waldo,mrbkap) 2011-06-30 09:26:56 -07:00
Luke Wagner
0319982d42 Bug 665247 - Remove unused metering code (r=igor)
--HG--
extra : rebase_source : 78ec31e4236f63f8a91024f34b1b99a889dc47f5
2011-06-21 10:26:22 -07:00
Gregor Wagner
9ce0f0d1ba Bug 660329 - GC: add reason for GC to GCTimer. r=igor 2011-06-02 13:02:21 -07:00
Paul Biggar
0a66b46e25 Bug 660668: Fix Shape::search() assertion after OOM (r=nnethercote)
Shape::search() assumes hasTable() will be false if Shape::search() OOMs - make it so.
2011-06-02 10:06:36 -07:00
Jason Orendorff
534773d09a Bug 651030 - When removing a property from an object, add its slot to the freelist only if the slot is not reserved. r=cdleary. 2011-05-11 10:24:57 -05:00
Chris Leary
e5b4259e5a Bug 654792: Give Shape::shape and Shape::id better names for great justice. (r=jorendorff) 2011-05-04 12:01:39 -07:00
Chris Leary
71c7cfdc1f Merge mozilla-central and tracemonkey. 2011-04-26 10:42:36 -07:00
Brian Hackett
6e99d2c8df Fix bug 643839. r=brendan, a=clegnitto 2011-04-22 12:32:44 -07:00
Bill McCloskey
3c0cd83aa3 Bug 616666 - Use explicit stack for GC marking (r=gal) 2011-04-15 16:56:08 -07:00
Gregor Wagner
99a0150f57 Bug 627200 - Background Finalization for Strings and Objects r=gal 2011-04-13 13:43:33 -07:00
Luke Wagner
774c050740 Bug 602994 - Preparatory syntactic cleanup (r=waldo) 2011-04-08 10:52:48 -07:00
Paul Biggar
43b850291d Bug 643548: Remove mozalloc_undef_macro_wrappers hack from JS engine. (r=luke,rs=brendan)
mozalloc_undef_macro_wrappers are brittle and have side-effects that are hard
to debug and fix. The alternative is the just stick an underscore on the end of
malloc, free, etc, which is a comparatively small burden.
2011-03-31 01:14:12 -07:00
Paul Biggar
72c7701093 Bug 634155: Account for NewCompartment's memory, and change allocation APIs (r=nnethercote)
This changes the allocation API, in the following way:

  js_malloc -> {cx->,rt->,OffTheBooks::}malloc
  js_calloc -> {cx->,rt->,OffTheBooks::}calloc
  js_realloc -> {cx->,rt->,OffTheBooks::}realloc
  js_free -> {cx->,rt->,Foreground::,UnwantedForeground::}free
  js_new -> {cx->,rt->,OffTheBooks::}new_
  js_new_array -> {cx->,rt->,OffTheBooks::}new_array
  js_delete -> {cx->,rt->,Foreground::,UnwantedForeground::}delete_

This is to move as many allocations as possible through a JSContext (so that they may be aken into account by gcMallocBytes) and to move as many deallocations to the background as possible (except on error paths).
2011-03-31 01:13:49 -07:00
Bill McCloskey
0f733168cb Bug 569422 - Allocate js::Shape from the GC heap (r=brendan) 2011-03-23 11:57:44 -07:00
Bill McCloskey
aa21051629 Bug 569422 - Miscellaneous fixes for GCed shapes (r=brendan) 2011-03-23 11:57:19 -07:00
Andreas Gal
436b7e7f79 Don't shrink object slots during GC (bug 639727, r=bhackett). 2011-03-09 00:53:56 -08:00
Andreas Gal
29c7365b34 Make empty shape initialization lazy (bug 639254, r=billm). 2011-03-07 18:42:04 -08:00
Bill McCloskey
5ecac5c965 Bug 635873 - Fix shape marking during per-compartment GCs (r=gal,a=dmandelin) 2011-02-22 12:45:18 -08:00
Jason Orendorff
2c5ad92a64 Silence MSVC warnings about empty statements in jsscope.cpp. rs=Waldo. 2011-02-14 14:50:40 -06:00
Jason Orendorff
1d47bb6518 Bug 631723 - Make js_UpdateWatchpointsForShape return the new shape (and fix a few coding style nits). r=jimb.
--HG--
extra : rebase_source : c09fac13e674d0317f4edd7d64e5938c68c0e28a
2011-02-08 15:45:12 -06:00
Nicholas Nethercote
f9df6712be Bug 631139 - Put Shape::numSearches and Shape::table in a union. r=brendan, a=sayrer. 2011-02-09 15:18:03 -08:00
Jim Blandy
de75b9fa19 Bug 537873: Add a 'strict' argument to C++ property setter functions. r=brendan
This changes the type of setters to JSStrictPropertyOp, which is just like
JSPropertyOp except that it takes a 'JSBool strict' argument. Most of the
patch is introducing distinct types and using the appropriate stubs.

The following are left for subsequent patches:

x Similar fixes to the browser outside SpiderMonkey.

x Actually *using* the newly available strictness information. This patch
  should have no user-visible effect. I didn't want the interesting stuff
  to get lost in this noise.
2011-02-09 11:31:40 -08:00
Bill McCloskey
40b74847a1 Bug 609104 - Move the property tree to the compartment (r=brendan) 2011-02-04 10:59:07 -08:00
Bill McCloskey
4d89be0bd8 Backed out bug 609104 (csets ac3ba38f20c0 and 7717cabaf20c) (orange) 2011-02-02 14:20:06 -08:00
Bill McCloskey
daa16e64bb Bug 609104 - Move the property tree to the compartment (r=brendan) 2011-01-27 15:46:39 -08:00
David Mandelin
4db10dcdc0 Bug 630533: fix minor OOM crash involving shapes, r=brendan 2011-02-01 14:54:50 -08:00
Bill McCloskey
8e7e07dfaa Bug 623297 - Make JS_TRACE_MONITOR more robust by distinguishing callers (r=gal) 2011-02-01 10:18:06 -08:00
Igor Bukanov
276b0a6237 bug 624364 - r=jorendorff
--HG--
extra : rebase_source : 6e410f6a4aaf21779741b19f6b9ae228946b25bc
2011-01-25 00:04:29 +01: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
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
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
Bill McCloskey
238069d8ff Bug 623050 - Move tracerState to compartment (r=gal) 2011-01-12 16:56:23 -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
Luke Wagner
d8719356c0 Bug 609440, part 4 - make JSString::chars() fallible (r=waldo,dvander,igor,dwitte,njn) 2010-12-06 10:26:58 -08:00
Nicholas Nethercote
1f1fbee591 Backed out changeset 0343557b0c7a due to orange. 2010-12-13 18:43:11 -08:00
Nicholas Nethercote
225d4f7e2d Bug 610070 - Large amount of heap allocation from js::PropertyTable::init. r=brendan. 2010-12-13 16:43:39 -08:00
Brendan Eich
5eef9df0a1 Implement method thrash counting, at limit unbrand and stick count to limit; also, brand and unbrand return false on shape overflow, so call them that way instead of as if infallible (597864, r=dvander). 2010-11-22 17:58:53 -08:00
David Mandelin
7da6337736 Bug 601046: fix freelist maintenance and modify shapes in place in changeProperty, r=brendan 2010-12-06 16:27:39 -08:00
Jeff Walden
320e3a4d59 Bug 614325 - Make Shape::initRuntimeState not do its thing with macros, so that a text search for any of the empty*Shape fields actually shows the location where they're assigned. r=dvander
--HG--
extra : rebase_source : c9df7041b8c8c7f12dce958883f4162c87916cf7
2010-11-16 15:30:54 -08:00
David Mandelin
07a579a6d7 Fix MSVC warnings in jsscope.cpp 2010-11-23 14:40:29 -08:00
Brendan Eich
a611a4a1d3 bz/brendan patch to hash function-local shapes in dictionary mode due to too many locals (610370, r=brendan/bz). 2010-11-19 15:53:55 -08:00