Commit Graph

498 Commits

Author SHA1 Message Date
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
Jason Orendorff
46fecd5674 Bug 570169 - Part 2, add assertions that gcthings do not leak across compartments. r=gal.
--HG--
extra : rebase_source : eaa2aee559527dbca94c3279d256833d2293ca67
2010-06-16 16:13:28 -05:00
Brendan Eich
734c3a1ba9 Back out a81f2aed9c9b due to orange. 2010-06-18 17:39:22 -07:00
Brendan Eich
157c408713 Eliminate JSClass::reserveSlots and reserve fixed-per-class slots lazily (535416, r=gal). 2010-06-15 10:06:40 -07:00
Brendan Eich
4b502c156f Fix warnings due to constant JS_MAX size params in MAX_DSLOTS_LENGTH (r=gal).
--HG--
extra : rebase_source : eb93aa51f3ee12ff4711170093434910ff19a125
2010-06-13 06:08:50 +01:00
Andreas Gal
a92e115145 Move proto out of fslots and make it JSObject* (572820, r=jorendorff). 2010-06-17 15:23:17 -07:00
Igor Bukanov
a3a94a3484 bug 572411 - removal of JSObjectOps::checkAccess. r=mrbkap 2010-06-17 14:32:26 +02:00
Jason Orendorff
c1e349137a Back out changeset 4c1fbfcf1d0d due to orange. 2010-06-16 20:03:11 -05:00
Jason Orendorff
2d3b5bbe7a Bug 570169 - Part 2, add assertions that gcthings do not leak across compartments. r=gal. 2010-06-16 16:13:28 -05:00
Jason Orendorff
6472e34dba Bug 570169 - Part 1, preparation. Rearrange some code. r=gal. 2010-06-16 16:13:01 -05:00
Andreas Gal
ffe7358fca Eagerly calculate 'this' for 'with' objects (570655, r=brendan/mrbkap). 2010-06-08 17:09:40 -04:00
Igor Bukanov
02fc618d59 bug 566836 - eliminating JSObjectOps::dropProperty. r=gal
--HG--
extra : rebase_source : cdffca0a863d8a3dddbc77335fc3cdac2eff9f4b
2010-06-05 23:24:54 +02:00
Robert Sayre
37d6a810f7 Merge backout. 2010-06-05 11:43:27 -04:00
Robert Sayre
3a10b5449b Backed out changeset 52be13ea0488. Bug 556277 - Compute this eagerly in more cases. r=brendan. Suspected of performance regression on SunSpider unpack-code. 80ms -> 135ms. 2010-06-05 11:42:59 -04:00
Jason Orendorff
2ab131a259 Bug 556277 - Compute this eagerly in more cases. r=brendan.
--HG--
extra : rebase_source : b295b576f019a95b55d12b86077aaef295e3eec8
2010-06-04 00:34:57 -07:00
Luke Wagner
6950cf8510 Fix misnamed js_DumpStackFrameChain (r=me)
--HG--
extra : rebase_source : c8d4e523cea0909dc190eac3c368d207d9c6abbb
2010-06-04 11:15:23 -07:00
Jeff Walden
2a8187e20b Bug 548671 - Stop using shared-permanent properties "inherited" from the prototype to represent (function(){}).length and [].length. r=jorendorff
--HG--
extra : rebase_source : c5d48e4fe489f9e350798b49bed70f763e3abf37
2010-06-02 23:44:24 -07:00
Andreas Gal
70617110b8 Add an API for compartments (570040, r=jorendorff). 2010-06-04 16:32:10 -07:00
Bill McCloskey
c66ced57da Backed out changeset d75da3b12098 (tree burning) 2010-12-21 16:06:19 -08:00
Bill McCloskey
fbc7978aad Bug 547327 - Estimate optimal number of JSObject slots (r=lw) 2010-12-21 15:54:25 -08:00
Jeff Walden
3ceb4d071b Bug 569471 - Rename js_GetWrappedObject to JSObject::wrappedObject. r=jorendorff 2010-06-01 15:59:02 -07:00
Andreas Gal
c7677875dc Rip out proto cache and store prototypes in the global object (569537, r=jorendorff). 2010-06-02 20:30:45 -07:00
Andreas Gal
966cb32879 Don't re-run resolve hooks after a standard class was delete (569306, r=mrbkap). 2010-06-02 01:18:50 -07:00
Brendan Eich
66e2a9929e Nit patrol flies at dawn, spots minor spacing infractions. 2010-05-30 11:40:14 -07:00
Luke Wagner
926bf1e82a Passing trace-tests 2010-05-20 18:39:06 -07:00
Luke Wagner
72913f6cf1 Bug fixes, cleanups 2010-05-20 10:05:04 -07:00
mozilla@buildmonkey-left.mv.mozilla.com
88fadd2d53 Fix some things so this builds on 64-bit and OS X 2010-05-19 09:55:27 -07:00
Luke Wagner
d3a3926b34 Fix bugs 2010-05-18 17:25:12 -07:00
Andreas Gal
efd9bd790e Implement ES Harmony Proxies (bug 546590, r=mrbkap). 2010-05-18 19:21:43 -07:00
Luke Wagner
19c9bbad15 Turns out function objects can be on parent chains 2010-05-18 14:23:23 -07:00
Luke Wagner
4efd7171cc Started fixing asserts 2010-05-17 22:57:30 -07:00
Luke Wagner
e374a37e1c Remove explicit copy, ObjPtr 2010-05-17 22:15:51 -07:00
Luke Wagner
d1c3253e19 It compiles and links. Time to make it run 2010-05-17 21:21:44 -07:00
Luke Wagner
b3c6d771b1 Fixing shell/js 2010-05-17 18:49:58 -07:00
Robert Sayre
13c247559e Merge mozilla-central to tracemonkey 2010-05-17 13:55:37 -04:00
Luke Wagner
0a7c4f2ffb convert up to jsstr 2010-05-13 14:49:26 -07:00
Luke Wagner
588e08228c jsiter 2010-05-12 19:05:43 -07:00
Luke Wagner
4e6c52c52b New Tag scheme, no SetObject silliness 2010-05-12 16:36:10 -07:00
Luke Wagner
400c4bbaef Finished corrections from rebase 2010-05-12 12:32:34 -07:00
Luke Wagner
bd3571c1b5 Still recovering from rebase 2010-05-11 19:00:59 -07:00
Luke Wagner
6c0883c94f Merge from tracemonkey 2010-05-11 00:41:08 -07:00
Luke Wagner
4e71f5312b (unrebased) fat value patch 2010-05-10 22:01:31 -07:00
Igor Bukanov
b9b1577eec bug 630209 - (Compile|Execute)Script that are GC-safe. r=jorendorff 2011-02-03 14:06:21 +01:00
Luke Wagner
fb7ceb4c78 Bug 547851 - remove JSStackFrame::regs, JSStackFrame::callerFrame.sp (r=dvander) 2010-03-03 18:10:13 -08:00
Igor Bukanov
97039b9427 bug 561364 - removal of JSRuntime::gcLevel. r=jorendorff 2010-05-14 15:55:17 +02:00
Luke Wagner
bddd202c18 (unrebased) remove regs 2010-03-03 18:10:13 -08:00
Luke Wagner
24a4486456 (fake) remove-regs patch 2010-03-03 18:10:13 -08:00
Luke Wagner
777b935aea Bug 558144 - un-macroize OBJ_SCOPE, OBJ_SHAPE, LOCKED_OBJ_SET_SLOT, LOCKED_OBJ_GET_SLOT (r=Waldo) 2010-04-08 11:22:04 -07:00
Nicholas Nethercote
26d8277a75 Bug 413730 - Replace all OBJ_GET_CLASS() macro calls with JSObject::getClass() calls. r=gal. 2010-04-07 16:09:49 -07:00
Nicholas Nethercote
46b653e0e1 Mac bustage fix for bug 556187. r=brendan via IRC. 2010-04-06 12:16:37 +10:00
Nicholas Nethercote
4542317997 Bug 556187 - encapsulate JSSLOT_ARRAY_* within JSObject. r=brendan. 2010-04-05 18:32:16 -07:00
Andreas Gal
2004c301c3 fast object iteration (558754, r=brendan, CLOSED TREE). 2010-05-07 17:52:52 -07:00
Nicholas Nethercote
f824f9ebe3 Bug 563575 - encapsulate jsobj.cpp dslots accesses. r=brendan. 2010-05-04 20:28:38 -07:00
Nicholas Nethercote
45f5c025d0 Bug 563210 - "Assertion failure: isDenseArrayMinLenCapOk()," with gc, gczeal, Array, defineGetter. r=brendan. 2010-05-04 17:29:42 -07:00
Jeff Walden
00f6066393 Bug 552560 - Remove support for __parent__. r=mrbkap 2010-04-11 13:51:00 -07:00
Nicholas Nethercote
1cd832e8d3 Bug 562872 - encapsulate Arguments-related dslots accesses. r=brendan. 2010-05-02 21:42:09 -07:00
Brendan Eich
52ed1d8098 Fix getter/setter built-in vs. scripted type confusion: union getter/setter callable object pointer with raw JSPropertyOp pointer, fix watchpoint assertion/null-deref related to ES5's {get: undefined, set: undefined} new scripted getter/setter state encoding, clean up related code (560796, r=jwalden). 2010-04-30 16:03:37 -07:00
Nicholas Nethercote
d8b33d0d5f Bug 562571 - TM: don't have two bounds checks for array getelem. r=brendan. 2010-04-29 20:22:33 -07:00
Nicholas Nethercote
225ae34fc8 Bug 562251 - JSSLOT_ARRAY_COUNT isn't used for slow arrays. r=brendan. 2010-04-28 18:35:22 -07:00
Nicholas Nethercote
1e5fc26c40 Bug 560774 - encapsulate array-related dslots accesses. r=brendan. 2010-04-26 18:33:36 -07:00
Boris Zbarsky
d319faf7ba Bug 556830 part 1. Change things so a bindname resolve of a global property won't define it on the window in ES5 strict mode. r=jorendorff 2010-04-26 10:06:25 -04:00
Andreas Gal
df7122d975 backing out clean up bug 560167 due to massive conflicts with the iterator patch 2010-04-23 20:49:06 -07:00
Nicholas Nethercote
a46ca032d4 Bug 560167 - encapsulate XML-related JSSLOT_* values within JSObject. r=brendan. 2010-04-22 16:37:41 -07:00
Nicholas Nethercote
4139494dcc Bug 559250 - encapsulate JSSLOT_{PRIMITIVE,DATE,REGEXP}_* within JSObject (take 2). r=brendan. 2010-04-14 18:57:30 -07:00
Nicholas Nethercote
00c793c05f Backed out changeset 681b0067e61b due to massive breakage 2010-04-14 17:09:17 -07:00
Nicholas Nethercote
e240c1f235 Bug 559250 - encapsulate JSSLOT_{PRIMITIVE,DATE,REGEXP}_* within JSObject. r=brendan. 2010-04-14 16:18:03 -07:00
Nicholas Nethercote
6bcbe2ea63 Bug 557713 - encapsulate JSSLOT_ARGS_* within JSObject. r=brendan. 2010-04-11 16:45:20 -07:00
Andreas Gal
a887d81302 Inline the object allocation path (558003, r=sayrer). 2010-04-10 16:16:35 -07:00
Nicholas Nethercote
f0550e09e5 Bug 560167 - encapsulate XML-related JSSLOT_* values within JSObject (attempt 2; attempt 1 was backed out due to conflicts). r=brendan. 2010-05-12 18:57:36 -07:00
Jason Orendorff
bdb491ed34 Backed out changeset 8cb8888c68d3 due to failing mochitests. 2010-05-12 09:34:03 -05:00
Jason Orendorff
2b3384521c Bug 513065 - Part 3, compute scope in the engine before calling the thisObject hook. r=mrbkap. 2010-05-12 08:15:49 -05:00
Jason Orendorff
ab2c2c89d5 Bug 513065 - Part 1, avoid thisObject when unwrapping With objects. r=mrbkap.
--HG--
extra : rebase_source : 129c8592e7f14bb76cc648ba8ae930bfc73507cb
2010-05-12 08:11:46 -05:00
Brian Hackett
8ad86a5d56 Date performance fixes, bug 578259. r=waldo 2010-08-17 10:42:57 -07:00
Brian Hackett
16873a1fb8 Bug 579471 - fast constructors (r=dmandelin,lw) 2010-08-10 16:38:08 -07:00
Jason Orendorff
d354a0998c No bug: fix visibility warnings in GCC, no_r=me 2010-04-01 11:01:14 -05:00
Nicholas Nethercote
795d4b8ad2 Bug 556353 - Remove OBJ_IS_NATIVE, HAS_FUNCTION_CLASS. r=brendan. 2010-03-31 22:13:51 -07:00
Jason Orendorff
24aa3470aa Bug 556315 part 2 - JSObject::getGlobal() and JSStackFrame::getThisObject(). r=gal.
--HG--
extra : rebase_source : 103e73537d3c2f537a914b69a620136451a664ba
2010-03-31 17:57:03 -05:00
Robert Sayre
baeb2d1edf Merge mozilla-central to tracemonkey. 2010-03-30 21:13:01 -07:00
Nicholas Nethercote
684396fb91 Bug 555631 - Convert STOBJ_* macros to inline functions. r=gal. 2010-03-30 14:42:48 -07:00
Brendan Eich
34b1a91d97 Fix arguments objects to share a runtime-wide empty scope, instead of each getting a differently shaped own scope at birth (554626, r=igor). 2010-03-30 00:44:28 -07:00
Jeff Walden
560212f1a8 Readd all jsobj.cpp and related changes from bug 548702. 2010-03-28 20:32:20 -07:00
Jeff Walden
0973dfd6ab Merge. 2010-03-26 21:53:40 -07:00
Jeff Walden
95422c65a3 Backed out changeset e7065853ef79; I'll be repushing this incrementally, attempting to find the precise place where things go bad, in the near future. Happy days are here again! :-\ 2010-03-26 18:01:54 -07:00
Jason Orendorff
d5f9ef6c2a Bug 500431 part 3 - Rename JSPropertyCache to js::PropertyCache and other renamings. r=brendan. 2010-03-24 21:20:44 -05:00
Andreas Gal
06be8164da Public JS API for new ES5 Object functions (551595, r=jwalden). 2010-03-24 12:36:42 -07:00
Jason Orendorff
289a8b3513 Bug 530583 - Delete silly JS_INT32_TO_PTR etc. macros. r=jwalden.
--HG--
extra : rebase_source : ccd52d3c33a3fd984fb5588ef12cbf9a6a80c423
2010-03-16 10:41:28 -05:00
Andreas Gal
5bea94fbab Backed out changeset 1732da7b3164 2010-03-15 16:13:49 -07:00
Andreas Gal
093f809d06 Allow class of native objects to change (552552, r=jorendorff). 2010-03-15 16:07:28 -07:00
Robert Sayre
84b14d6f30 Merge mozilla-central to tracemonkey. 2010-03-13 11:51:12 -05:00
Jeff Walden
106fbd8085 Bug 548702 - Temporary value-rooting scheme should be C++- and RAII-based, not macro-based. r=igor
--HG--
extra : rebase_source : c7bb34662dbd70df49d40880227139537c60356e
2010-01-11 11:52:21 -06:00
Igor Bukanov
9d1cbd468c bug 549010 - folowup to replace PROTO access macros with the inlne function 2010-03-04 23:52:52 -08:00
Mike Moening
0373a2437d bug 549010 - fixing and silencing MSVC warnings. r=brendan,igor 2010-03-04 20:44:09 -08:00
Robert Sayre
5cf27a725e Merge tracemonkey to mozilla-central. 2010-03-26 15:53:14 -07:00
Andreas Gal
18afa9f743 Setters/getters can be callable objects (547912, r=brendan). 2010-02-22 22:25:09 -08:00
Andreas Gal
7fc1c8efb0 Introduce ObjectOps for typeOf and make trace a mandatory ObjectOp (547314, r=brendan). 2010-02-22 16:30:22 -08:00
Andreas Gal
bd338bc100 Test whether obj IsCallable instead of VALUE_IS_FUNCTION for call and apply (547046, r=mrbkap). 2010-02-22 14:07:50 -08:00
Jason Orendorff
68642d97db Bug 547274 - js_InitArrayClass is not thread-safe. r=brendan.
--HG--
extra : rebase_source : 4b9ca0af846d7b77601ebbbf642941ffd136c9c8
2010-02-19 13:05:00 -06:00
Igor Bukanov
debaa592f7 bug 545529 - caching Class.prototype lookups. r=brendan 2010-02-19 20:44:23 +03:00
Jason Orendorff
095bd890ef Bug 539829 - Encapsulate JSScope::flags. r=Waldo.
--HG--
extra : rebase_source : ced4f057e715075d8e4eff343e824d8934152a7e
2010-02-05 18:11:13 -06:00
Igor Bukanov
f74b35769d bug 538463 - caching only single-threaded objects. r=jorendorff 2010-02-03 13:42:07 +03:00
Igor Bukanov
008691b6f9 Backed out changeset b9700adc3951 - the landing for the bug 538463 had wrong changes 2010-02-03 13:37:56 +03:00
Igor Bukanov
7aafadcc76 bug 538463 - caching only single-threaded objects. r=jorendorff 2010-02-03 12:46:10 +03:00
Igor Bukanov
836b8a84eb bug 540805 - using reference counting only for empty scopes. r=jorendorff 2010-01-27 09:50:17 +03:00
David Mandelin
9600769682 Bug 495331: trace JSOP_LAMBDA for non-heavyweight, non-null closures, r=jorendorff,dvander 2010-01-15 11:32:14 -08:00
Brendan Eich
983aa690e9 Analyze module pattern and private-statics pattern in order to despecialize from methods to slots/sprops (536564, r=jorendorff). 2010-01-14 09:33:14 -08:00
Brendan Eich
45c0afef62 Merge. 2009-12-30 13:50:31 -08:00
Brendan Eich
398f5f3b9b Bug 537204 - No more BOGUS_CX bogosities (r=jwalden). 2009-12-30 13:49:26 -08:00
Jeff Walden
cd687c4a78 Bustage fix, r=lumpy 2009-12-29 13:13:49 -06:00
Mike Hommey
dce0218e52 Bug 555920 - Move js_obj_define{G,S}etter declarations in jsobj.h and make resolving_MatchEntry static, as it's not defined in any header [r=jwalden] 2010-05-13 09:45:33 +02:00
Jeff Walden
ad6a89209e Bug 517580 - Unconditionally build with support for getters and setters, remove support for the deprecated { x getter: function() {}} and x getter= function() {} getter syntaxes (mutatis mutandis for setter) now that ES5 provides Object.getOwnPropertyDescriptor and Object.defineProperty and { get x() { } } syntax, and provide __{define,lookup}{G,S}etter__ only if a preprocessor variable is defined (unconditionally provided for the moment). r=luke 2009-10-06 12:35:33 -07:00
Ben Turner
0bdadbfbee Bug 550275 - 'Implement the HTML5 structured clone algorithm'. r=jst+mrbkap, sr=jst. 2010-03-17 12:55:45 -07:00
Sid Stamm
47a3291b46 bug 515443 CSP no-eval support. r=mrbkap,brendan 2010-03-08 00:24:50 -08:00
Jason Orendorff
cbe2891235 Backed out changeset d4caa61e69ab. It turned the tree red. 2010-07-01 20:06:33 -05:00
Andreas Gal
5c69f9ab84 Implement remaining cross compartment wrappers (574924, r=mrbkap). 2010-07-01 15:45:08 -07:00
Jeff Walden
9613c2771b Bug 430133 - Address an overlooked review comment. r=sparky 2009-12-30 14:25:27 -06:00
Igor Bukanov
0553ca4a34 bug 536734 - more finalizer specializations. r=brendan 2009-12-30 14:06:26 +03:00
Jeff Walden
285792a4b4 Bug 430133 - Implement ES3.1's Object.defineProperty and Object.defineProperties. r=jorendorff 2009-06-05 12:56:45 -07:00
Jeff Walden
e9d69cbf2e Bug 529404 - Assignments to a property that has a getter but not a setter should not throw a TypeError per ES5, except in strict mode. r=brendan 2009-12-08 17:00:42 -08:00
Jim Blandy
e1243b3edc Bug 514560: Forbid assignments to undeclared variables in strict mode code. r=jorendorff
--HG--
rename : js/src/tests/ecma_5/strict/shell.js => js/src/tests/js1_8_1/strict/shell.js
2009-11-19 12:35:55 -08:00
Jason Orendorff
cd32782f94 Bug 505523 - Property cache can skip JSClass::resolve or JSClass::addProperty hooks. r=graydon, r=brendan.
--HG--
extra : rebase_source : a77b0e81203010aabe07b92b639762dce83200c0
2009-11-18 14:29:58 -06:00
Jeff Walden
e53d0c2e48 Backed out changeset 2fe1a3d6e672, enough philosophically-vexing orange that I'm unwilling to adjust all the tests without discussion (or, alternately, leave it in place until morning). 2009-11-12 00:57:18 -08:00
Jeff Walden
152d62d222 Bug 523846 - Assignments to a property that has a getter but not a setter should not throw a TypeError per ES5 (at least not until strict mode is supported). r=brendan
--HG--
extra : rebase_source : 7d47eb44d21f17bfa11aeadca2ff980336315eca
2009-11-10 18:03:41 -08:00
David Mandelin
5ee0760ca7 Bug 519363 debugging followup: strip diagnostic instrumentation, r=lw 2009-11-09 16:57:47 -08:00
David Mandelin
fae21d7c3e Bug 519363: more new diagnostic null pointers. r=gal 2009-10-08 19:00:21 -07:00
David Mandelin
dbad0b0f5d Bug 519363 - topcrash [@ js_Interpret], change some code to aid in debugging efforts. r=brendan
--HG--
extra : rebase_source : 51c16011f74f154bee8d124b2dedfd5f2f5a5a62
2009-10-07 17:30:34 -07: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
Robert Sayre
14ef91c61f Merge mozilla-central to tracemonkey. 2009-09-25 11:55:38 -07:00
David Mandelin
99fb23d064 Bug 511695: Fix JS warnings in MSVC8, r=brendan 2009-09-23 11:16:30 -07:00
Luke Wagner
c1a69497a0 Bug 511777 - avoid regexp engine for flat strings (r=waldo)
--HG--
extra : rebase_source : bf121e6918f2174378babc72b3dbe1b2f4ffdbec
2009-09-23 08:54:50 -07:00
Luke Wagner
88b39718d0 Backed out changeset 20ee84099e38 2009-09-22 10:19:59 -07:00
Luke Wagner
ca5191b5f2 Bug 511777 - avoid regexp engine for flat strings
--HG--
extra : rebase_source : 81afb9a486643f4d88dff9bba6ec2cccd07b07f0
2009-09-16 18:23:27 -07:00
Igor Bukanov
8da9fad53a bug 512046 - avoid maintaing a per-runtime iterator list. r=brendan 2009-09-19 13:40:43 +04:00
Brendan Eich
eaabbf253c Bug 516075 - Move shape into JSObjectMap from JSScope, const-ipate and use LIR_ldc* to get to it (r=jorendorff). 2009-09-14 20:29:46 -04:00
Blake Kaplan
e4fc79f8a7 Merge backout. 2009-09-17 15:24:08 -07:00
Blake Kaplan
5e4fdf8802 Backed out changeset af649bce14da. Trying to fix performance regressions. 2009-09-17 15:23:58 -07:00
Andreas Gal
231c6c273f Objects of different JSClass can share scopes (505523, r=jorendorff). 2009-08-25 20:17:11 -07:00
Makoto Kato
7147fd6a28 Bug 510449 - Bug 493457 causes crash on x64 windows build because JSSLOT_CLASS_MASK_BITS is uint32. r=jwalden 2009-08-14 11:09:59 -07:00
Jason Orendorff
9dc4a54a5d Bug 498488 - Change some JSObject macros to methods. r=Waldo. 2009-08-11 15:05:44 -05:00
Jeff Walden
c8f686672d Bug 505587 - Implement ES5 Object.getOwnPropertyDescriptor. r=mrbkap 2009-07-21 19:35:59 -07:00
Jason Orendorff
e170e4b573 Bug 511728 - Misc. cleanup from bug 503080. r=igor.
--HG--
extra : rebase_source : f4b7b385bbece2316912ce67c77a49ac8fca6e5c
2009-09-09 15:53:37 -05:00
Igor Bukanov
6bfe4771cc bug 513190 - avoiding jsint tagging of the private slot data. r=jorendorff 2009-09-05 19:59:11 +04:00
Brendan Eich
cce4dce512 Join lambdas assigned or initialized as methods to the compiler-created function object if we can, with a read barrier to clone on method value extractions other than call expressions (471214, r=jorendorff). 2009-09-03 14:41:19 -07:00
Brendan Eich
932d989110 Fix net vs. gross botches from patch for 489899 (514112, r=gal). 2009-09-01 22:54:02 -07:00
Andreas Gal
c85b53a42a Backout bug 512617. 2009-08-29 18:46:27 -07:00
Andreas Gal
64328a8e94 Consolidate object creation on trace (512617, r=jorendorff). 2009-08-29 12:36:00 -07:00
Igor Bukanov
b919139e8d bug 511425 - removal of JSObjectOps.(get|set)RequiredSlot. r=brendan 2009-08-28 09:53:26 +04:00
Jason Orendorff
dafc9b5d2a Bug 508685 - Remove last parameter of defineProperty op. r=brendan. 2009-08-26 14:28:36 -07:00
Brendan Eich
b063d31520 Back out changeset aff171a8c4f0 (bug 471214). 2009-08-26 09:34:41 -07:00
Brendan Eich
63202434e1 That made things worse, I need to sleep -- calling all static-analysis gurus... little help? 2009-08-26 00:38:13 -07:00
Brendan Eich
e5ce3c156e Try to fix static-analysis probs. 2009-08-26 00:31:04 -07:00
Brendan Eich
bd8f55c0ad Join function objects where possible (471214, r=igor). 2009-08-25 23:42:37 -07:00
Graydon Hoare
fd8a117e2f Bug 503694 - TM: Code run off an event handler is never traced, r=brendan.
--HG--
extra : rebase_source : da2e900baac68f88f06eaa8554b245f7d403153f
2009-08-06 12:40:51 -07:00
Igor Bukanov
ef90f6f522 bug 493457 - uniform access to private slots. r=mrbkap, sr=jwalden 2009-08-04 23:06:55 +02:00
Jason Orendorff
f0ca3c8bd9 Bug 506982 - Fix up jstracer style. r=Waldo. 2009-07-29 11:58:19 -05:00
Robert Sayre
99a0962393 Backed out changeset e09130fcb013 2009-07-28 18:51:35 -04:00
Brendan Eich
8d27b07ec5 Bug 471214 - Join function objects transparently, clone via read barrier to satisfy de-facto standard (r=igor). 2009-07-28 13:20:14 -07:00
Robert Sayre
a025e17aae Merge mozilla-central to tracemonkey. 2009-07-26 10:57:19 -04:00
Robert Sayre
710cad8b2a Merge tracemonkey to mozilla-central. 2009-07-24 13:42:38 -04:00
Rob Campbell
8b46045669 bug 474358 - ASSERTION: Inner window detected in Equality hook, isOuterWindow, p=me, r=timeless, sr=mrbkap 2009-07-24 10:20:34 -03:00
Igor Bukanov
1fcf4af3b3 bug 505460 - preallocating reserved slots. r=brendan 2009-07-24 12:01:37 +02:00
Robert Sayre
a181aec2ed Merge mozilla-central to tracemonkey. 2009-07-23 16:49:14 -04:00
Jason Orendorff
a31f80165c Bug 503080 - Remove prototype-scope-sharing. r=brendan. 2009-07-21 16:25:11 -05:00
Ginn Chen
5e813f70a4 Bug 492720 libgjs failed to compile with js headers of Firefox 3.5 r=brendan 2009-07-23 18:07:09 +08:00
Andreas Gal
f8892ed21b Shrink slots during GC only, split ReallocSlots into Alloc/Grow/ShrinkSlots (504478, r=igor). 2009-07-16 18:42:54 -07:00
Andreas Gal
1af8dfb112 Avoid integer division in NewGCThing path (503157, r=jwalden). 2009-07-14 17:06:09 -07:00
Andreas Gal
3367fcef8e Inline FinalizeObject into js_GC() along with making Scope hold() and drop() inline, too (503461, r=dmandelin). 2009-07-12 07:38:59 -07:00
Andreas Gal
d788e5a1d4 Make CHECK_FOR_STRING_INDEX an inline function (503666, r=jwalden). 2009-07-11 15:41:32 -07:00
Brendan Eich
f60779aef5 Bug 503343 - Change JSScope macros to methods. r=jorendorff 2009-07-09 15:27:21 -05:00
Robert Sayre
878a89a073 Merge mozilla-central to tracemonkey. 2009-07-06 12:20:54 -04:00
Andreas Gal
16a60091ed Shortcut lookup flag calculation when on trace (bug 502145, r=igor). 2009-07-06 06:42:13 +02:00
Jason Orendorff
52fe5a97ba Bug 497618 - Change JSString macros to methods. r=Waldo. 2009-06-10 20:29:44 -05:00
Johnny Stenback
a511964116 Fixing bug 442399. Remove LiveConnect from the tree. r=joshmoz@gmail.com, bclary@bclary.com, sr=brendan@mozilla.org 2009-06-30 15:55:16 -07:00
Jason Orendorff
aa37602c02 Bug 490908 - js_DumpStackFrame. r=Waldo. 2009-05-20 10:10:03 -05:00
Igor Bukanov
0374ee3760 bug 490364 - mutating parent chain shapes only for Call objects and only when adding properties that are not parameter or var names. r=brendan 2009-05-15 11:43:19 +02:00
Igor Bukanov
92f94e451c bug 491126 - sharing object map for non-native objects. r=brendan 2009-05-14 12:35:23 +02:00
Igor Bukanov
3597961095 bug 491013 - fixing shared setter regression and eliminating several useless anonymous prototype objects. r=brendan 2009-05-06 20:33:10 -02:30
jorendorff
93c6d226d3 Record all calls to native functions (487134, r=gal, brendan). 2009-05-05 14:26:06 -07:00
Andreas Gal
fe1ed6adb9 Backed out changeset 6534f8b9aa74 (bug 491013, assert on startup). 2009-05-04 15:07:53 -07:00
Igor Bukanov
d77b8664fb bug 491013 - fixing shared setter regression and eliminating several useless anonymous prototype objects. r=brendan 2009-05-03 20:43:55 -04:00
Igor Bukanov
35116060a2 bug 489501 - consolidating
js_SetProto must mutate the prototype chain. r=brendan
2009-05-01 13:48:27 -07:00
Andreas Gal
cafa156d52 We don't cache access to shared properties in the property cache (490666, r=igor,brendan). 2009-04-30 15:52:13 -07:00
Andreas Gal
a89bbaad23 Stay on trace when reading holes from dense arrays (489899, r=brendan). 2009-04-24 16:28:21 -07:00
Igor Bukanov
e4bc4e81cb bug 488995 - fixing error reporting for getter-only properties. r=mrbkap sr=jst 2009-04-22 12:39:08 +02:00
igor
48c3925a9a js_SetPropertyHelper does not null *entryp for read-only properties (489171, r=gal,brendan). 2009-04-20 17:00:59 -07:00
Jeff Walden
c9680230c4 Bug 473117 - Rejigger how guards use side exits, and fix an erroneous comment. r=graydon 2009-04-18 16:47:23 -07:00
Igor Bukanov
ba556afe6d bug 487039 - caching only white-listed non-globals on the scope chain. r=brendan 2009-04-18 20:10:59 +02:00
Andreas Gal
da0094a55c Backed out changeset 324bb9dc8372 (bug 487204 is implicated in top site failures). 2009-04-17 12:41:00 -07:00
Andreas Gal
6520b20732 Backed out changeset 5bd116148175 (attempting to re-land bug 487204). 2009-04-16 17:56:18 -07:00
Andreas Gal
3b10c56019 Backed out changeset d1a4ee3d0c59 (bug 487204, due to possible leak). 2009-04-16 12:19:24 -07:00
Igor Bukanov
577cb23ac0 bug 487204 - avoiding extra locks for js_Native(Get|Set). r=brendan 2009-04-15 21:13:27 +02:00
Igor Bukanov
95c0598199 bug 488285 - fixing strict mode warnings with DOm window object. r=brendan 2009-04-15 16:09:58 +02:00
Igor Bukanov
6da0ea9b5e bug 462734 - fixing JSOP_BINDNAME caching issues. r=brendan 2009-04-11 10:11:06 +02:00
Igor Bukanov
d738892163 Backed out changeset 595ebe7b82fa - it had wrong patch 2009-04-11 10:07:42 +02:00
Igor Bukanov
de22fe3e47 bug 462734 - fixing JSOP_BINDNAME caching issues. r=brendan 2009-04-11 10:04:24 +02:00
Brendan Eich
962b187fe5 upvar2, aka the big one take 2 (452598, r=mrbkap). 2009-04-05 21:17:22 -07:00
Andreas Gal
706120c0fb Backed out changeset 972c44aa9d1f (bug 452598). 2009-04-04 10:14:52 -07:00
Brendan Eich
5f4d9ff474 upvar2, aka the big one (452598, r=mrbkap). 2009-04-04 10:05:49 +01:00
Igor Bukanov
f48629a9d6 bug 486139 - removal of JSProperty struct definition. r=mrbkap 2009-04-03 09:53:17 +02:00
Igor Bukanov
4df05a423c bug 484861 - removal of unsed fields from JSObjectOps. r=mrbkap 2009-04-01 14:32:51 +02:00
Jason Orendorff
22f1bdf5d6 Bug 483473 - Make JSObjectOps private. r=brendan.
--HG--
extra : rebase_source : 3240cb1f5c047dc92f8d1b525963bcb27e0a3521
2009-03-31 09:02:20 -05:00
Igor Bukanov
20e6be9c80 bug 362910 - js_GetMethod cleanup. r=brendan 2009-03-14 17:41:47 +01:00
Jason Orendorff
dbb0b6a149 Bug 481218 - js_IsCallable returns false for functions. r=brendan.
--HG--
extra : rebase_source : 52d3cba36f3fa1301223cb579bd75ec7bbd5d130
2009-03-11 10:46:45 -05:00
Brendan Eich
0332084955 Bug 481516 - Assertion failure: pobj_ == obj2, at ../jsinterp.cpp:4276 when getting a property that is cached but shadowed (r=jorendorff). 2009-03-06 16:34:19 -08:00
Brendan Eich
53c9096f08 Bug 480759 - TM: trace RegExp constructors (r=gal). 2009-03-04 19:26:16 -08:00
Robert Sayre
100a8e68be Bug 476374 - JSON.parse does not support reviver argument as defined in spec. r=jorendorff 2009-03-03 12:55:11 -05:00
Andreas Gal
4c04aa2f53 Backed out bug 480657. Massive failures across all platforms. 2009-02-28 23:40:04 -08:00
Andreas Gal
7bd6cbad5f Add an API to define traceable constructors (480657, r=brendan). 2009-02-28 18:18:42 -08:00
Jeff Walden
378c7d2cea Kicking Windows... 2009-02-27 22:32:38 -08:00
Jeff Walden
6913144660 Bug 480579 - __proto__ setting does not flag delegate, breaking deep property caching assumptions. Tag-team effort of Brendan and me, r=us 2009-02-27 22:23:09 -08:00
Jeff Walden
ece84ef199 Bug 474501 - JS array and object literals should define properties, not set them, to avoid calling getters or setters along the prototype chain. r=brendan 2009-02-03 23:14:36 -08:00
Jason Orendorff
b7fb9bc849 Bug 460865 - Read barrier for cx->fp. r=mrbkap, r=dmandelin.
--HG--
extra : rebase_source : 19963188b2f9f96336ce6ca28dbaefccf3a639b7
2008-12-09 10:38:32 -06:00
Jeff Walden
5536e7f722 Bug 465476 - SpiderMonkey confusion over "-0" and "0" properties of an object. r=brendan 2008-11-21 11:47:35 -08:00
Jason Orendorff
a27d101dab Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
Jason Orendorff
e63d2c737c Bug 455953 - js_DumpObject debugging function (r=crowder) 2008-09-25 11:29:12 -05:00
Brendan Eich
34a2d3c518 Fix build bustage: parent or proto might be not JSObject* when setting to null. r=brendan, patch by bz. 2008-09-09 12:33:28 -07:00
Brendan Eich
40cf4096c7 Avoid needless prototype-shape purges (454035, r=igor). 2008-09-09 09:57:10 -07:00
Brendan Eich
9cd8e5a539 Upvar, v0.1 (limited to looking up from eval in a function, to the function's args and vars). 2008-08-21 03:47:33 -07:00
Brendan Eich
4a25cf5a32 Defer eval'ed script destruction to next GC; expose js_obj_eval for tracing. 2008-08-20 22:18:42 -07:00
shaver@mozilla.org
5d3ad68bbe merge from mozilla-central 2008-08-20 08:17:17 -07:00
Brendan Eich
d004346b52 Object.prototype.{hasOwnProperty,propertyIsEnumerable}. 2008-08-11 17:47:05 -07:00
Brendan Eich
56fac8fe90 Back out extra gcflag param change (859b9a23adbf), I set bad precedent and will back out previous such shortly. Want cx->gcflags instead. 2008-08-11 10:33:23 -07:00
shaver@mozilla.org
ee67ea9db4 extend js_NewObjectWithGivenProto to permit specifying additional new-thing flags (such as GCX_DONT_BLOCK) 2008-08-10 22:56:10 -04:00
Brendan Eich
eaf4254c15 Merge from mozilla-central. 2008-08-08 18:58:04 -07:00
Igor Bukanov
b16852c1cd bug 412296 - removal of minarg support for fast native 2008-08-08 18:02:50 +02:00