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
David Mandelin
62ff5f09d8
Bug 611653: clear values instead of scope when global window shuts down, r=brendan,smaug
2011-01-21 18:37:30 -08:00
timeless@mozdev.org
313f426282
Bug 615834 warning: inline function ‘JSCompartment* JSObject::getCompartment() const’ used but never defined. r=gal
...
r=mrbkap
--HG--
extra : rebase_source : fe12e4864bb95a55802be395bd119a064af64baf
2011-01-18 14:25:46 -08:00
Andreas Gal
3c34eab945
Follow-up fix for bug 625559.
2011-01-26 19:19:33 -08:00
Andreas Gal
927855f788
Cache eval CSP check (bug 614137, r=mrbkap, a=dmandelin).
2011-01-22 14:28:37 -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
Jeff Walden
7b5179a175
Bug 514568 - Add JSObject::callIsForEval rather than using JSObject::getCallObjCallee() == NULL. r=igor
2011-01-05 14:54:04 -06:00
Robert Sayre
5001e2565e
Backed out changeset feb6682a10af
2011-01-06 21:40:54 -05:00
Jeff Walden
cf77bbb8be
Bug 514568 - Add JSObject::callIsForEval rather than using JSObject::getCallObjCallee() == NULL. r=igor
2011-01-05 14:54:04 -06:00