211 Commits

Author SHA1 Message Date
igor.bukanov%gmail.com
b619a5e4cb Bug 341877: Infrastructure to root properly native iterator states. r=brendan
git-svn-id: svn://10.0.0.236/trunk@200503 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-21 09:13:24 +00:00
igor.bukanov%gmail.com
aec9cb530b Bug 341877: Reverting the previous commit, the patch was broken.
git-svn-id: svn://10.0.0.236/trunk@200388 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-20 00:50:17 +00:00
igor.bukanov%gmail.com
29013a342d Bug 341877: Infrastructure to properly mark native iterator state during GC without changing public API. r=brendan
git-svn-id: svn://10.0.0.236/trunk@200364 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-19 22:53:51 +00:00
brendan%mozilla.org
9f8a52ce4b Fix iterator to mark opaque state (341877, r=igor).
git-svn-id: svn://10.0.0.236/trunk@200225 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-18 02:04:40 +00:00
brendan%mozilla.org
6274493000 Coroutine generators, a la Python 2.5 (326466, r=igor).
git-svn-id: svn://10.0.0.236/trunk@198979 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-04 02:19:09 +00:00
brendan%mozilla.org
2fb9f8c051 First big wave of js1.7 changes (326466, 336376, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@198099 18797224-902f-48f8-a5cc-f745e15eee43
2006-05-20 22:27:28 +00:00
brendan%mozilla.org
9cef5307bc Awesome patch from Andreas <mqmq87@web.de> to avoid creating unnecessary objects for primitives being operated on via methods (334261, r=me).
git-svn-id: svn://10.0.0.236/trunk@195575 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-27 17:58:55 +00:00
brendan%mozilla.org
dc577b6522 Prep patch for iterators and generators (326466, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@195494 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-27 00:39:43 +00:00
brendan%mozilla.org
d5fb083e40 Second half of fix for 304376 (r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@194732 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-19 23:36:16 +00:00
brendan%mozilla.org
ad4257f410 Memoize standard class.prototype bindings, per ECMA-262 (304376, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@194643 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-19 00:22:43 +00:00
brendan%mozilla.org
9818786b46 Duh... (333398, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@193979 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-10 05:35:12 +00:00
brendan%mozilla.org
67fecc4afc Fix thread- and GC-safety bugs in js_GetAnyName and its evil twin (331782, 325526, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@193734 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-06 20:25:18 +00:00
brendan%mozilla.org
714b7b383f Fix uneval on E4X objects (327534, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@193732 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-06 20:16:06 +00:00
gavin%gavinsharp.com
3c840b3830 Bug 314529: E4X: delete operator misses some descendants - e4x/Types/9.1.1.3.js, patch by Erik Fabert <jerfa@email.it>, r=brendan
git-svn-id: svn://10.0.0.236/trunk@193688 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-06 13:04:54 +00:00
dbaron%dbaron.org
de533b785a Root the result of js_NewXML across js_GetXMLObject. b=331786 r=brendan
git-svn-id: svn://10.0.0.236/trunk@193083 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-27 23:43:40 +00:00
igor%mir2.org
e9732b9053 Bug 331456: Cache of deflated string bytes is per runtime now. To preserve
API compatibility JS_GetStringBytes(JSString *str) calls newly introduced
js_GetGCStringRuntime(JSString *str) to extract JSRuntime* instance based
on the layout of GC structures. r=brendan


git-svn-id: svn://10.0.0.236/trunk@192999 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-25 22:55:00 +00:00
brendan%mozilla.org
2a0d15e8b9 Rooting fixes courtesy dbaron (331678, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@192997 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-25 21:54:18 +00:00
brendan%mozilla.org
e2eaab95ea Fix silly null ptr deref (331664, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@192993 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-25 19:26:20 +00:00
igor%mir2.org
688a6438cf Bug 330692: GC_MARK_DEBUG-only arguments are removed when GC_MARK_DEBUG is not defined. r=brendan
git-svn-id: svn://10.0.0.236/trunk@192847 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-23 11:50:30 +00:00
igor%mir2.org
50e27318b9 Bug 324278: Implementation of GC marking algorithm that uses constant space for
any kind of GC things. r=brendan

The main idea is to put a GC thing to a special "unscanned bag" instead of recursively calling GC_MARK on thing's children when C stack is slow. Then later the code loops through the bag marking the children until the bag is empty.

The unscanned bag is implemented as a linked list of GC arenas where things that belongs to the bug marked with GCF_MARK|GCF_FINAL combination. To avoid long scanning of arenas on the list, the code uses a bitmask per arena to indicate which pages within the arena contains unscanned things and an extra bitmask per page to indicate offset range withing the page of the unscanned things.


git-svn-id: svn://10.0.0.236/trunk@192779 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-22 15:38:43 +00:00
daumling%adobe.com
28710200bb Bug 330169: Replaced early exits in ParseNodeToXML() with a jump to skip_child so js_LeaveLocalRootScope() can be called correctly. r=mrbkap
git-svn-id: svn://10.0.0.236/trunk@192412 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-15 09:23:36 +00:00
timeless%mozdev.org
3e32fc4b98 Bug 329879 Coverity complains that QName null checks argv after asserting it can't be null
r=brendan


git-svn-id: svn://10.0.0.236/trunk@192120 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-09 23:59:40 +00:00
mrbkap%gmail.com
3b157f0284 Flatten before ever reaching CheckCycle, since the way things currently are, it could receive lists of arbitrary length. bug 328769, r=brendan
git-svn-id: svn://10.0.0.236/trunk@191332 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-27 20:33:56 +00:00
mrbkap%gmail.com
cb075c9c2b Detect cycles even when we're inserting a degenerate list of length 1. bug 328249, r=brendan
git-svn-id: svn://10.0.0.236/trunk@191085 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-23 23:00:23 +00:00
brendan%mozilla.org
7f0d4362df Fix an initially hard-to-see bug reported by daumling@adobe.com, plus another one mentioned by mrbkap (327941, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@190812 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-22 06:09:09 +00:00
brendan%mozilla.org
a7679c6f0c Fix duplicate kid overwrite case that avoided cycle detection (327564, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@190398 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-17 21:40:04 +00:00
igor%mir2.org
62f23de8b2 BUG 321985: During xdr decoding of atoms avoid creation of JSString for
the already existing atoms. r=brendan


git-svn-id: svn://10.0.0.236/trunk@189945 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-14 09:33:45 +00:00
mrbkap%gmail.com
0ddbe7986e Actually fill the setting cache when we get boolean properties. bug 324688, r=brendan
git-svn-id: svn://10.0.0.236/trunk@188631 18797224-902f-48f8-a5cc-f745e15eee43
2006-02-01 00:25:50 +00:00
igor%mir2.org
caf466b112 Bug 319719: JS scanner checks for keywords using pregenerated C source
avoiding the cost of atomizing keyword strings. This is an updated version
of the previous rather bad commit to address Makefile issues. r=brendan


git-svn-id: svn://10.0.0.236/trunk@188224 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-26 08:47:51 +00:00
igor%mir2.org
f553d13362 Bug 322772: I added js_EqualStrings which is a faster version of
js_CompareStrings when testing only for string equality. r=brendan


git-svn-id: svn://10.0.0.236/trunk@188223 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-26 08:01:54 +00:00
brendan%mozilla.org
b46c83ef22 Add JS_LeaveLocalRootScopeWithResult API (324592, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@188222 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-26 07:19:25 +00:00
mrbkap%gmail.com
f1ab9ff32e bug 324422: Protect things from being garbage collected out from under us. r=brendan
git-svn-id: svn://10.0.0.236/trunk@188134 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-25 02:27:59 +00:00
igor%mir2.org
9e4fecd594 Reverting commit for bug 319719: Makefile changes broke too much builds.
git-svn-id: svn://10.0.0.236/trunk@188012 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-22 21:08:05 +00:00
igor%mir2.org
d7acf1f679 Bug 319719: JS scanner checks for keywords using pregenerated C source
avoiding the cost of atomizing keyword strings. r=brendan


git-svn-id: svn://10.0.0.236/trunk@187990 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-22 01:14:20 +00:00
mrbkap%gmail.com
b3cf1e2854 bug 319872: Don't free the sentinal value. r=brendan
git-svn-id: svn://10.0.0.236/trunk@187737 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-18 02:22:55 +00:00
brendan%mozilla.org
9034e67d63 Add missing null check (323338, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@187623 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-14 01:09:42 +00:00
igor%mir2.org
f30f3386cc Implementing bug 322001:
JSFunction is shrinked via removal of nref field
and moving interreter-only or native-only fields into union. r=brendan


git-svn-id: svn://10.0.0.236/trunk@187167 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-09 08:26:26 +00:00
brendan%mozilla.org
75ff2136a6 Better GC_MARK_DEBUG code (315783, NPOTB but r=bz).
git-svn-id: svn://10.0.0.236/trunk@187060 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-06 06:32:11 +00:00
shaver%mozilla.org
4d8e4c5bd0 bug 315783: fix GC_MARK_DEBUG crash when marking E4X text nodes, r=mrbkap
git-svn-id: svn://10.0.0.236/trunk@187056 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-06 05:28:19 +00:00
brendan%mozilla.org
467d7aaec9 Remove e4x singleton entrainment hazards and hide naked * as value (322499, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@187050 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-06 02:08:35 +00:00
brendan%mozilla.org
9b98bff4c8 Respect the sacred 80th column.
git-svn-id: svn://10.0.0.236/trunk@186554 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-24 07:03:26 +00:00
mrbkap%gmail.com
6670b4e952 bug 319872: Test for integer overflow while escaping stuff. r=brendan
git-svn-id: svn://10.0.0.236/trunk@186026 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-13 23:18:03 +00:00
mrbkap%gmail.com
c52b3336a1 bug 232182: Allow SpiderMonkey to deal with UTF-8 strings (controlled by a define). Patch from Michael Daumling <daumling@adobe.com>. r=shaver
git-svn-id: svn://10.0.0.236/trunk@184170 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-05 01:06:30 +00:00
brendan%mozilla.org
6486e3be4c Internal invocation result GC protection, after a patch from Igor (313952, r/sr=mrbkap/shaver).
git-svn-id: svn://10.0.0.236/trunk@183202 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-28 18:07:42 +00:00
brendan%mozilla.org
2f02d40a5a Fix xml_child to include leaf types (attributes, PIs, etc.) in its result (313799, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@183144 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-27 21:48:20 +00:00
brendan%mozilla.org
db27dcb877 E4X ISO/ECMA-Edition-2 change to XML.prototype.child, plus common subroutining (313949, r=mrbkap).
git-svn-id: svn://10.0.0.236/trunk@183115 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-27 02:55:51 +00:00
brendan%mozilla.org
87b036c482 mrbkap's fix for 313799, r=me.
git-svn-id: svn://10.0.0.236/trunk@183045 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-26 08:34:13 +00:00
brendan%mozilla.org
69dba07d61 Check for cycles and throw an error (fix to ECMA-357 for Edition 2; 312692, r/sr=mrbkap/shaver).
git-svn-id: svn://10.0.0.236/trunk@182760 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-21 23:50:50 +00:00
brendan%mozilla.org
aaecbd349f Must use js_CheckAccess if you use js_SetProtoOrParent (313080, r/sr=mrbkap/shaver).
git-svn-id: svn://10.0.0.236/trunk@182664 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-21 00:05:47 +00:00
brendan%mozilla.org
4e0f9f6b7d Make __noSuchMethod__ work with E4X (312196, r/sr=mrbkap/shaver).
git-svn-id: svn://10.0.0.236/trunk@182305 18797224-902f-48f8-a5cc-f745e15eee43
2005-10-15 07:30:59 +00:00