Commit Graph

510 Commits

Author SHA1 Message Date
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
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
Jason Orendorff
bfaf004fd7 Merge. 2010-10-22 19:11:26 -05:00
Jason Orendorff
596862d852 Remove JSObject::title. Bug 606029, r=igor. 2010-10-22 19:04:22 -05:00
Andreas Gal
a4b0c37cda Remove obsolete wrappedObject extended class hook (604523, r=mrbkap/vlad/dvander). 2010-10-22 15:40:11 -07:00
Jeff Walden
56ecdd26a0 Bug 604504 - Separate JSOP_EVAL code from JSOP_CALL/JSOP_APPLY code, to disentangle the core functionality of eval from the method in question. r=jorendorff 2010-10-07 13:59:56 -07:00
Andreas Gal
6e672eda05 Backed out changeset 438afef93fd5 (bug 604523) due to suspected orange. 2010-10-20 23:19:05 -07:00
Andreas Gal
e5f45d98a2 Remove obsolete wrappedObject extended class hook (604523, r=mrbkap/vlad/dvander). 2010-10-20 22:41:35 -07:00
Dave Herman
7488e1af91 bug 594060, r=cdleary: Reflect.parse(): make source location information optional 2010-10-19 09:00:51 -07:00
Bill McCloskey
1b9d7cdaa6 Bug 599214 - JM: Add a fast path for object equality (r=dvander,nnethercote) 2010-10-18 17:04:43 -07:00
Nicholas Nethercote
913bd8a149 Bug 584279 - TM: improve alias analysis by adding many more access regions (2nd attempt). r=bhackett. 2010-10-18 12:55:56 -07:00
Nicholas Nethercote
be2aa1d407 Backed out changeset c961a413660c 2010-10-17 23:24:26 -07:00
Nicholas Nethercote
e48a2774f0 Bug 584279 - TM: improve alias analysis by adding many more access regions. r=bhackett. 2010-10-17 18:42:58 -07:00
Jeff Walden
516e962572 Remove declaration for the never-defined js_GetWrappedObject method (obj->wrappedObject(cx) was the long-ago replacement). r=sparky
--HG--
extra : rebase_source : d50bcf859e415469494e53426ba51d0e4304e676
2010-10-07 16:37:38 -07:00
Brian Hackett
f9cf7a5b7d Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
Andreas Gal
3d567b4e1a Bug 580128 - Small cleanups in XrayWrapper and first stab at enumeration. r=mrbkap 2010-10-10 15:37:22 -07:00
Andreas Gal
04c3f3cf48 bug 599503 - Return true compartment info from JSObject::getCompartment(). r=jorendorff/gregor/gal 2010-09-27 13:49:09 -07:00
Blake Kaplan
d8815d1675 Bug 580128 - Fix compartment warnings by entering. r=gal/peterv/jst/mrbkap/jorendorff (and written by all of us too). 2010-09-22 17:34:20 -07:00
Blake Kaplan
03cb31a09c bug 580128 - Rewrite XrayWrapper so the wrapped object is in the wrapped object slot and the holder goes in an extra slot. r=gal 2010-09-20 14:48:01 -07:00
David Anderson
552330f091 ICs for scripted new (bug 589398, r=luke,dmandelin).
--HG--
extra : rebase_source : d7311ce916e8d6c876d1851090806bc7d073bd63
2010-10-04 14:13:33 -07:00
David Anderson
6dbf424efd Backed out changeset de5d1b528b9a 2010-10-04 15:12:00 -07:00
David Anderson
6ddd3429fc ICs for scripted new (bug 589398, r=luke,dmandelin). 2010-10-04 14:13:33 -07:00
Jason Orendorff
630900ee20 Finally get rid of /* Added by JSIFY */ comments. r=Waldo. 2010-10-01 18:46:54 -05:00
David Anderson
2f002d500e Add local and argument closure information to JSScript (bug 592973, r=brendan+dmandelin).
--HG--
extra : rebase_source : 3d36a7908230006f2b048835f7526962fac2b32b
2010-09-13 22:33:44 -07:00
Ginn Chen
5b67866f99 Bug 584305 Define no extern "C" version ObjectOps to fix build issue with Solaris Studio r=brendan 2010-09-28 17:59:25 +08:00
Brendan Eich
4244210552 Object.defineProperty should avoid JS API inside engine, plus a few other cleanups (598176, r=jorendorff). 2010-09-16 23:07:02 -07:00
Gregor Wagner
fdb731becb Bug 558861 - Compartmental GC (r=gal) 2010-09-24 10:54:39 -07:00
Brendan Eich
c27e88caa4 Fix shape vs. slot management under putProperty, plus related layering and error reporting fixes (596805, r=jorendorff). 2010-09-16 11:56:54 -07:00
Jim Blandy
96d7c2007b Bug 492849 - Implement Object.preventExtensions, Object.isExtensible. a=waldo,jimb, r=brendan
--HG--
rename : js/src/jsapi-tests/testSeal.cpp => js/src/jsapi-tests/testDeepFreeze.cpp
2010-09-21 11:35:29 -07:00
Brian Hackett
066d48b6b6 Backed out changeset 09ffb30caa47 2010-09-20 12:05:21 -07:00
Brian Hackett
e8819f33fa Make JSObject flexible length, bug 584917. r=brendan 2010-09-20 11:40:32 -07:00
David Anderson
3bced69ba2 Fix instanceof with bound functions (bug 597167, r=brendan). 2010-09-16 19:31:11 -07:00
Chris Leary
c1efc206b8 Fix windows build breakage. 2010-09-16 01:38:19 -07:00
Chris Leary
204b2a98e5 Bug 596026: PIC-like construct for GETELEM on trace. (r=jorendorff, a=nnethercote,cdleary)
--HG--
extra : rebase_source : 63b57898593b2b178a7ebb1f38071c1058ccb4f7
2010-09-15 21:33:17 -07:00
Jim Blandy
2a3cf83056 Bug 537873, Bug 514574: Have strict mode code report TypeErrors for assignments, deletions. r=brendan
TODO: Fix error messages.
2010-09-15 13:43:55 -07:00
Luke Wagner
562fc49870 Bug 539144 - Make formal args a jit-time const offset from fp; rm argv/argc/thisv/script/callobj (r=brendan,dvander) 2010-08-09 22:43:33 -07:00
Brendan Eich
6ba6389297 Rename freeslot appropriately (593256 separated cosmetics-only patch, r=jorendorff). 2010-09-03 11:05:43 -07:00