Commit Graph

494 Commits

Author SHA1 Message Date
Jeff Walden
4641c09f96 Bug 645464 - js::ClassMethodIsNative doesn't return false when the object has a property of the given name which isn't the specified native method. r=luke
--HG--
extra : rebase_source : a9c6944975bec3b155dc537733643e0faa5f6b0b
2011-03-28 19:27:14 -07:00
Luke Wagner
fe7b0581ce Bug 656462, part 2 - Merge ContextStack::get* and push* operations (r=waldo)
--HG--
extra : rebase_source : bdc7a7ba9ee21435a20e77bf6cea8c4d34a840c9
2011-05-24 16:04:18 -07:00
Luke Wagner
78dc696e0e Bug 656462, part 1 - Remove StackSegment::initialVarObj (r=waldo)
--HG--
extra : rebase_source : 54ae58bec51c4c7fcc58db2148167be828dda8a3
2011-05-24 15:05:30 -07:00
Igor Bukanov
f4c246e790 bug 627016 - remove JSProperty out param from DefineNativeProperty. r=jorendorff
--HG--
extra : rebase_source : 673c7471fc963cb59d11ab667bd9e8523297617a
2011-01-21 14:10:16 +01:00
Jeff Walden
5d29251946 Bug 652746 - Implement js::ArgumentsObject, js::NormalArgumentsObject, and js::StrictArgumentsObject. r=njn
--HG--
extra : rebase_source : 84258ffa658ba09928ab9b86f8017fa6683f3146
2011-04-25 22:40:00 -04:00
Jeff Walden
76a4343e93 Bug 652215 - Add a js::StringObject subtype of JSObject. r=njn
--HG--
extra : rebase_source : 7cdfe72d0932b51408b9ec5dc38219605e1925ce
2011-04-20 16:33:05 -04:00
Paul Biggar
e4d6748cc4 Bug 642772: Don't recreate a class during enumeration, if it has been deleted (r=bhackett)
In SM, classes are lazily resolved. If we detect that a class about to be used
has not yet been resolved, then we resolve it. However, the way that we decided
that they were resolved was broken. If the global object had a String property,
then it had been resolved. So what happened when we deleted the String
property? Well, it got resolved again.

Instead of using the String property of the global object, we now use the
contructor slot on the global object. This works fine for String, but some
classes don't have a constructor, like Math and JSON. For those classes, we set
the constructor slot to True. In either case, we can now tell that a class is
resolved if the constructor slot in not Undefined.
2011-04-27 04:13:56 -07:00
Luke Wagner
05d2002b66 Bug 644074 - Simplify and consolidate VM stack code into js/src/vm/Stack* 2011-04-13 09:27:37 -07:00
Jeff Walden
a8a0234d77 Bug 641655 - Add a js::GlobalObject subtype of JSObject. r=njn 2011-04-18 16:50:47 -04:00
Jeff Walden
77e6fd7646 Backed out changeset c8ba5bd72b0c, we have too many test harnesses and I forgot to run one. r=tree-decorator 2011-04-21 16:29:54 -04:00
Jeff Walden
f7e9104cd4 Bug 641655 - Add a js::GlobalObject subtype of JSObject. r=njn 2011-04-18 16:50:47 -04:00
Bill McCloskey
4a9bde3182 Bug 648647 - Eliminate JSObjectMap (r=jorendorff) 2011-04-08 14:21:08 -07:00
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