Commit Graph

445 Commits

Author SHA1 Message Date
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
Jeff Walden
de8c94c378 Bug 514568 - Use a fresh variable environment for strict mode code run by eval, and give strict mode eval code frames a Call object backed by those variables. r=igor 2010-10-12 11:38:06 -07:00
Tom Schuster
010f1cebb4 Bug 557353 - JM: PIC for object-wrapped string length. r=dvander 2010-12-30 13:25:03 -06:00
Jeff Walden
a6ce2e1493 Bug 622053 - Streamline and greatly clarify Call object PropertyOp getters and setters, for easier reading and more bounds-checking assertions than the none (!) we had before. r=dmandelin 2010-12-29 22:21:18 -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
Jeff Walden
001fbb6163 Update comments on the structure of arguments objects in jsobj.h to account for strict mode arguments. r=commentsonlyfix 2010-12-29 16:45:44 -06:00
Chris Leary
5c3dd7b9ca Merge mozilla-central to tracemonkey. 2010-12-30 00:36:53 -05:00
Chris Leary
272d457a20 Merge mozilla-central to tracemonkey. 2010-12-29 19:25:04 -05:00
David Mandelin
c3e8135c6a Bug 595975 diagnostic 2: shape markers and object data, r=billm, a=blocker
--HG--
extra : rebase_source : ddc486824d5f4a4e3dfe114ccde7e4841033ebaa
2010-12-28 14:50:01 -08:00
David Mandelin
625946d567 Backed out changeset c35a4e6ea3ca -- done with diagnotics. 2010-12-29 17:46:14 -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
Brendan Eich
4a77e53dc1 Add more to {alloc,free}Slot comment, pick closing comment style nit. 2010-12-07 08:36:21 -08:00
David Mandelin
9dd8742e99 Fix tiny formatting botch. 2010-12-06 16:30:47 -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
Blake Kaplan
6deeefba3d bug 601803 - Support adopting a node cross-compartment. r=gal/jst 2010-11-15 17:21:25 -08:00
Blake Kaplan
bd44733edc Backout due to bustage 2010-12-02 17:13:20 -08:00
Blake Kaplan
439ca83a7b bug 601803 - Support adopting a node cross-compartment. r=gal/jst 2010-11-15 17:21:25 -08:00
Igor Bukanov
f110aa58b7 bug 603318 - make dense array slow during array growth, not during the GC. r=bhackett 2010-10-14 16:12:19 +02:00
Gregor Wagner
a9ae1a03f4 Bug 612015 - Put all external strings in one arena r=igor 2010-11-15 12:39:00 -08:00
Jeff Walden
f8c046f85d Bug 599464 - Object.preventExtensions should be idempotent. r=brendan 2010-11-12 16:15:55 -08:00
Bill McCloskey
5ad697399b Bug 610437 - Add equality flag syncing to JSAPI (r=lw) 2010-11-12 10:40:12 -08:00
Brendan Eich
a1f16f2371 Lots of MISMATCH_EXITS exits due to protohazardshape on voxel rendering demo (550391, r=mrbkap). 2010-11-10 10:59:02 -08:00
Brendan Eich
126b6b5647 Prebrand standard classes with standard methods (610698, r=jorendorff). 2010-11-09 11:40:56 -08:00
Jeff Walden
b5ac7e26bd Bug 608959 - Don't call non-scripted getters with a proxy as its |this|, because that would require most non-scripted getters to unwrap and maybe do some prototype-chain walking. r=mrbkap 2010-11-04 15:53:50 -07:00
Luke Wagner
3e678c7088 Fix strict-aliasing warning from 18d56745c3e6
--HG--
extra : rebase_source : 446fc01cba89ea45825cd1dc10716a05b9ec9818
2010-11-08 14:35:06 -08:00
Luke Wagner
977a639eeb Bug 605192 - JM: make f.apply(x, obj) fast, part 1 (r=waldo)
--HG--
extra : rebase_source : cceaabf5a68cae8bfa67320b4a47f0673ade86c6
2010-10-20 23:52:55 -07:00
Luke Wagner
0499a94583 Bug 607659 - Avoid calling getters/setters from TraceRecorder::callNative (r=jorendorff)
--HG--
extra : rebase_source : f1cd30d6a50c12fc7884122aebeb69d9010b04d6
2010-11-02 17:36:26 -07:00
Blake Kaplan
c0e2873909 Bug 596031 - 'this' is wrong in getters and setters when a proxy object is on the prototype chain. r=brendan/jorendorff/gal
--HG--
extra : rebase_source : 609b96c4b461e33f0f79dc74f714edfa882d1da0
2010-10-29 10:42:35 -07:00
Jeff Walden
630aabe371 Bug 604504 - Implement an eval kernel that obj_eval and JSOP_EVAL can each call. r=jorendorff,dvander 2010-10-21 14:31:29 -07:00