Commit Graph

482 Commits

Author SHA1 Message Date
Bill McCloskey
3c0cd83aa3 Bug 616666 - Use explicit stack for GC marking (r=gal) 2011-04-15 16:56:08 -07:00
Andreas Gal
fd2168c3af Implement Harmony weak maps (bug 547941, r=jorendorff). 2011-04-16 21:23:44 -07:00
Jason Orendorff
28a0d1622a Bug 614714 - Change JS_ClearScope to use the new enumeration code. r=Waldo. 2011-04-14 16:59:26 -07:00
Luke Wagner
64207228c7 Bug 602994 - Clean up eval, remove unneeded security checks, assert equivalence of principal lookup (r=waldo,mrbkap) 2011-04-08 10:52:51 -07:00
Luke Wagner
774c050740 Bug 602994 - Preparatory syntactic cleanup (r=waldo) 2011-04-08 10:52:48 -07:00
L. David Baron
0a579a3bbb Back out changeset 7dcd0d16cc08 (bug 547941) for causing jsreftest crashes on debug builds. 2011-04-12 01:28:40 -07:00
Andreas Gal
55fc66a7e0 Bug 547941 - WeakMap. r=jorendorff. 2011-04-11 22:38:11 -07:00
Jeff Walden
484a36371d Bug 640503 - Convert new String().length to use a regular data property and not a shared-permanent property-op getter/setter. r=jorendorff
--HG--
extra : rebase_source : 06bb9b53c0498d20b3afc6e558096c2398559602
2011-03-13 20:38:34 -07:00
Jeff Walden
208cb6e474 Bug 645468 - Remove js_TryMethod: its semantics aren't what most of its users want, and its utility is limited. r=luke 2011-03-28 20:01:53 -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
Jeff Walden
c9809f07b4 class RegExp, not struct RegExp. r=windows-bustage
--HG--
extra : rebase_source : 5c31a9b6a5309548db45d2756f03abeec23ed2f9
2011-03-24 15:04:54 -07:00
Jeff Walden
4dce1d9ffa Bug 640072 - Convert properties of RegExp objects into true data properties, eliminating a use of shared-permanent properties. r=jorendorff 2011-03-05 15:29:30 -08:00
Luke Wagner
a15ba4f804 Bug 636296 - Change meaning of JSStackFrame::hasCallObj to be more sane (r=waldo) 2011-03-14 11:30:36 -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
Igor Bukanov
6990aee491 Bug 633219 - replacing resolve hashtable with a linked list. r=luke 2011-03-07 23:00:00 +01:00
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
0dec3716f6 Inline GC mark path (bug 639729, r=billm). 2011-03-13 18:13:52 -07:00
Jeff Walden
6de99f0675 Bug 638997 - Remove the id field from PropDesc: users who needed it should manage the id separately. r=luke
--HG--
extra : rebase_source : eb2152a2259a81bca1d7a4f5521787f9385a3c6f
2011-03-04 17:24:15 -08:00
Jeff Walden
fc5075d1f7 Bug 608473 - |var eval = otherWindow.eval; eval(...)| should behave like indirectly calling that eval from a script in that other window. r=jorendorff
--HG--
extra : rebase_source : 9accca7e9a2b8304c2c823852cfd71b13c595afe
2011-03-02 20:56:37 -08:00
Jeff Walden
2db290c32a Bug 638312 - Add JS_IsBuiltinEvalFunction and JS_IsBuiltinFunctionConstructor APIs. r=gal 2011-03-02 19:57:44 -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@mozilla.org
649f67b373 Unqualified function invocation doesn't use the global object the property was gotten from as |this| (bug 634590, r=gal). 2011-02-22 22:25:10 -08:00
Jeff Walden
c5252060f7 Back out af1e10bea0f4 from a CLOSED TREE for being orangetastic on one platform. 2011-02-20 21:40:06 -08:00
Andreas Gal
207266110b Unqualified function invocation doesn't use the global object the property was gotten from as |this| (bug 634590, r=brendan). (relanding in a CLOSED TREE) 2011-02-17 17:52:55 -08:00
Jeff Walden
1e41f95c6d #jsapi observed the extent of orange in the TM tree and saw that OS X x86 opt was consistently and totally evil. So jwalden was sorry he had ever pushed changes for bug 631135. It broke his heart. And he said, “I will wipe this tree of every push back to 9105cd721d46. Yes, and I will revert the entire TM CLOSED TREE. I am sorry I ever pushed to it.” But 9105cd721d46 found favor with #jsapi. 2011-02-20 17:46:35 -08:00
Andreas Gal
46930e9e54 Unqualified function invocation doesn't use the global object the property was gotten from as |this| (bug 634590, r=brendan). 2011-02-17 17:52:55 -08:00
David Mandelin
cf9cd62096 Backed out changeset b0aa9c20ffe4 -- orange on tinderbox 2011-02-17 18:54:05 -08:00
Andreas Gal
5267af2eaa Unqualified function invocation doesn't use the global object the property was gotten from as |this| (bug 634590, r=brendan). 2011-02-17 17:52:55 -08:00
Igor Bukanov
e9f9fd9db6 Backed out changeset 510c42c0d472 - bug 633219 2011-02-17 19:39:05 +01:00
Igor Bukanov
8bc1ca45aa Bug 633219 - replacing per context resolving list with per-thread resolving list. r=lw 2011-02-15 13:57:54 +01:00
Brendan Eich
4906480245 Method read barrier requried when changing attributes but not value (634210, r=jorendorff). 2011-02-15 12:11:04 -08:00
Jason Orendorff
e797306b2f Bug 631305 - Deleted watchpoints don't always come back when assigned. r=brendan, a=sayrer. 2011-02-08 15:45:13 -06:00
Andreas Gal
5d4e5b427f js_UnbrandAndClearSlots leaks, use JS_ClearScope and throw if compile-N-go scripts are run after JS_ClearScope (630072, r=brendan). 2011-02-13 20:55:33 -08:00
Luke Wagner
bd58834efa Bug 630064 - Mark floating generator frame slots conservatively (r=dvander)
--HG--
extra : rebase_source : cbddb12142c763e3e20c50e994257cea22f73f8f
2011-02-07 15:55:20 -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
a4880c2f6d Bug 611652: clear values instead of scope when global window is cleared, r=brendan,enn,jeff,mrbkap,smaug
--HG--
extra : rebase_source : 77e3844d35de229817bee767256a96d030a78bf9
2011-01-21 18:37:30 -08:00
Jeff Walden
13fb18a6fe Bug 619283 - Built-in JS methods must not box undefined or null into the global object when called, both to comply with ES5 and to prevent inadvertent global object exposure to secure JS variants. r=dmandelin
--HG--
extra : rebase_source : be6802a24bd58eb6339369e6803d3eb2fbbc07a5
2011-01-26 13:37:45 -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
Jason Orendorff
f1be13e671 js_InitExceptionClasses was skipping part js_InitClass, leading to "Assertion failure: proto->canProvideEmptyShape". Bug 624968, r=Waldo.
--HG--
extra : rebase_source : 08ebb71574a0b1962e8f1c0c3f9a7aa7ec904b03
2011-01-24 17:32:44 -06: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
Chris Leary
001cef1fd8 Merge the backout head. 2011-01-27 16:26:21 -08:00
Chris Leary
8f8ea8fd48 Backed out changeset b5ca98debed0 2011-01-27 16:25:30 -08:00
Bill McCloskey
a4f9ab0da8 Bug 609104 - Move the property tree to the compartment (r=brendan) 2011-01-27 15:46:39 -08:00