Commit Graph

490 Commits

Author SHA1 Message Date
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
Brendan Eich
30cbd0913a Bugs in dictionary-mode property table maintenance (593256, r=jorendorff). 2010-09-02 18:46:11 -07:00
Brendan Eich
d7abc9c150 Eliminate JSObject::freeslot via monotonic lastProp->freeslot (592556, r=jorendorff,dvander). 2010-09-02 14:50:44 -07:00
Luke Wagner
273362efd0 Bug 583275 - remove unnecessary unboxing cost of obj->getPrivate() on x64 (r=brendan) 2010-09-10 17:06:30 -07:00
Brian Hackett
098817b45a PIC for addprop, bug 561506. r=dmandelin
* * *
Bug 561506, add context owner checks for addprop. no_r=7:00am
2010-09-04 20:12:56 -07:00
Brian Hackett
bdd2836820 Backout changesets b350e3b72c2f and fc7630d987f8. 2010-09-05 07:58:16 -07:00
Brian Hackett
7703748d37 PIC for addprop, bug 561506. r=dmandelin 2010-09-04 20:12:56 -07:00
Brian Hackett
7b0f64dbaa Backed out changeset c85589cb4d0c 2010-09-01 20:19:03 -07:00
Brian Hackett
711fb44e45 Bug 561506 - PIC for addprop. r=dmandelin 2010-09-01 20:00:58 -07:00
Luke Wagner
5e9978f911 Bug 581263 - remove slow natives (r=waldo,mrbkap) 2010-08-16 12:35:04 -07:00
Steve Fink
139d2a2a71 Bug 584175 - Unify various JS probes into a single set of static probe points. r=gal
Part 1: Change dtrace-specific names to probes
Part 2: Stop using the frame pointer for probes.
Part 3: Update the set of available probes

r=gal@uci.edu
a=NPOTB

--HG--
rename : js/src/jsdtracef.cpp => js/src/jsprobes.cpp
rename : js/src/jsdtracef.h => js/src/jsprobes.h
2010-09-01 14:09:54 -07:00
David Mandelin
3dc48e12b2 [JAEGER] Merge from Tracemonkey. 2010-08-30 15:13:32 -07:00
Brendan Eich
790ddc9e99 Merge JSScope into JSObject and JSScopeProperty (now js::Shape; bug 558451, r=jorendorff). 2010-08-29 11:57:08 -07:00
David Mandelin
ab97c995fd [JAEGER] Merge from tracemonkey. 2010-08-26 10:35:24 -07:00
David Mandelin
ef5b0f9077 [JAEGER] Merge from tracemonkey. 2010-08-25 11:00:41 -07:00
Luke Wagner
338d890b00 Bug 589340 - factor out / weaken dummy frames (r=mrbkap) 2010-08-21 16:03:07 -07:00
David Mandelin
d32d792513 [JAEGER] Merge from tracemonkey. Note that we will currently fail one trace test that was recently added. There is a bug in that test that will be fixed posthaste. 2010-08-17 15:32:40 -07:00
Jeff Walden
765b61e1cb Bug 429507 - ES5: Function.prototype.bind. r=brendan 2010-08-13 10:42:33 -07:00
Brian Hackett
466e80d99b [JAEGER] Second try at start/end iterator fast paths, bug 578756. r=dmandelin, dvander, gal 2010-08-12 17:26:07 -04:00
Jeff Walden
88db90ddd5 Bug 516255 - Use different classes for arguments objects created inside and outside strict mode code, with slightly different ops, in preparation for implementing strict mode arguments objects' less magical functionality. r=dmandelin 2010-08-11 23:26:59 -07:00
Jeff Walden
47551e8efe Bug 514563 - ES5 strict mode: arguments.caller and arguments.callee poison pills. r=dmandelin
--HG--
extra : rebase_source : 2f0b258624ec065cb019f61f017115998a8835b2
2010-08-04 14:39:45 -07:00