Граф коммитов

196 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 39004db706 Bug 936964 (part 7, attempt 2) - Make lots of classes report their own memory consumption, instead of using a separate reporter class. r=mccr8,sr=bz.
* * *
Bug 936964 (part 7b) - Fix a use-after-free found by ASan.

--HG--
extra : rebase_source : d38ab6b63e9d576773baf8e55fa4f7182c33915e
2013-11-07 16:35:30 +11:00
Nicholas Nethercote 794c4b6457 Bug 936964 (part 1, attempt 2) - Make StartupCache ref-counted. r=aklotz.
--HG--
extra : rebase_source : d04b799a861c155b89b8dcf9f328ef7a9bfef097
2013-11-25 15:57:40 -08:00
Ehsan Akhgari a903aefdc0 Backed out 9 changesets (bug 943660, bug 936964) because of ASAN use-after-free crashes on browser-chrome and mochitest-other
Backed out changeset 85486c4aa3d8 (bug 936964)
Backed out changeset 25312eb71998 (bug 936964)
Backed out changeset 6dbb8333960c (bug 936964)
Backed out changeset da6465ad476f (bug 936964)
Backed out changeset a87ffc992f38 (bug 936964)
Backed out changeset 4ae3a61182db (bug 936964)
Backed out changeset 34e9c3137804 (bug 936964)
Backed out changeset fd1459e71585 (bug 936964)
Backed out changeset 3e8a701d8bdc (bug 943660)

Landed on a CLOSED TREE

--HG--
rename : content/canvas/src/WebGLMemoryTracker.h => content/canvas/src/WebGLMemoryReporterWrapper.h
2013-11-27 20:05:00 -05:00
Nicholas Nethercote bc475c75df Bug 936964 (part 7) - Make lots of classes report their own memory consumption, instead of using a separate reporter class. r=mccr8,sr=bz.
--HG--
rename : content/canvas/src/WebGLMemoryReporterWrapper.h => content/canvas/src/WebGLMemoryTracker.h
extra : rebase_source : 611e8d35907959b163aeced1c4ffe1d265048fe6
2013-11-07 16:35:30 +11:00
Nicholas Nethercote 7b367571d4 Bug 936964 (part 1) - Make StartupCache ref-counted. r=aklotz.
--HG--
extra : rebase_source : 8693264a4347938dde6532730a5bc730384edf51
2013-11-25 15:57:40 -08:00
Ehsan Akhgari 86afd352d7 Bug 941866 - Exclude files which rely on the known bad patterns from unified builds; r=BenWa 2013-11-21 16:36:59 -05:00
Michael Shuen 00aca41e7a Bug 940117 - Build startupcache in unified mode; r=ehsan 2013-11-19 08:17:35 -05:00
Mike Hommey 2812d11fce Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey e06d795c71 Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps 2013-11-19 11:48:10 +09:00
Mike Hommey 26bc04d200 Bug 939044 - Rename remaining MODULE definitions to XPIDL_MODULE. r=mshal 2013-11-19 11:47:43 +09:00
Mike Hommey e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey ffe0380912 Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Brian R. Bondy de8ec8b895 Bug 931846 - Change startup cache location for Metro Firefox. r=jimm, aklotz 2013-11-01 16:21:33 -07:00
Mike Hommey b000a846c2 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Ms2ger e5eac232d0 Merge inbound to m-c. 2013-10-20 10:40:40 +02:00
Ms2ger b7619cd23d Bug 923395 - Part a: Remove completely empty makefiles; r=gps 2013-10-20 09:25:18 +02:00
Ehsan Akhgari c8443f0d24 Bug 928043 - Remove some prtypes.h inclusions from startupcache/, testing/ and toolkit/; r=bsmedberg
--HG--
extra : rebase_source : 5886932dda22ae179e8998ad92758e99495d09bd
2013-10-18 20:34:57 -04:00
Ms2ger f4153f40d4 Bug 900980 - Part a: Move unconditional assignments to EXPORT_LIBRARY to moz.build; rs=gps 2013-10-03 09:11:13 +02:00
Benjamin Smedberg 949b07a020 Bug 921502 - Use a JS component to collect telemetry from the startup cache C++ test, instead of using raw JSAPI, r=nfroyd
--HG--
extra : rebase_source : 6cdeccfb7c4aea34a2f5e2be55530c844afd6ceb
2013-09-30 16:09:28 -04:00
Dan Gohman a50084b38d Bug 910823 - Constify static js::Class/JSClass instances. r=waldo 2013-09-11 05:49:05 -07:00
Nicholas Nethercote 7983bb2a7f Bug 910517 (3rd attempt) - Remove nsIMemoryReporter, and rename nsIMemoryMultiReporter as nsIMemoryReporter. r=mmcr8.
--HG--
rename : content/canvas/src/WebGLMemoryMultiReporterWrapper.h => content/canvas/src/WebGLMemoryReporterWrapper.h
extra : rebase_source : 2b2a1b2667d6562fcf803ec48b4a8c10fdd519a3
2013-08-27 16:24:51 -07:00
Robert O'Callahan 03e7828db2 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Phil Ringnalda 26ceee4fb5 Back out 4537337759b7 (bug 910517) because nobody expects the talos inquisition
--HG--
rename : content/canvas/src/WebGLMemoryReporterWrapper.h => content/canvas/src/WebGLMemoryMultiReporterWrapper.h
2013-09-04 22:42:06 -07:00
Nicholas Nethercote 1f32372424 Bug 910517 - Remove nsIMemoryReporter, and rename nsIMemoryMultiReporter as nsIMemoryReporter. r=mmcr8.
--HG--
rename : content/canvas/src/WebGLMemoryMultiReporterWrapper.h => content/canvas/src/WebGLMemoryReporterWrapper.h
extra : rebase_source : 9142be547b2eeef37a8073a710ce23070f98cf65
2013-08-27 16:24:51 -07:00
Mike Hommey f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Nicholas Nethercote 5d24bdca75 Bug 831193 (part 8) - Don't use NS_MEMORY_REPORTER_IMPLEMENT in StartupCache.cpp. r=nfroyd.
--HG--
extra : rebase_source : 76623535a2667d0b8448b245c345d7290b61f86f
2013-01-17 16:45:11 -08:00
Justin Lebar 35a65ed466 Bug 909514 - Include <new> before mozilla::Maybe (and move Maybe into mfbt/Maybe.h). r=waldo
--HG--
rename : mfbt/Util.h => mfbt/Maybe.h
2013-08-27 15:10:28 -07:00
Ms2ger 3a103a7e9f Bug 883284 - Part f: Move LIBXUL_LIBRARY into moz.build (p-z); r=glandium 2013-08-22 08:56:01 +02:00
Trevor Saunders e62a12b52f bug 886526 - remove IS_COMPONENT and MODULE_NAME makefile vars for things in libxul r=bsmedberg r=glandium 2013-08-08 20:12:37 -04:00
Nicholas Nethercote d8f824e34e Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Nicholas Nethercote 8ce53f9ffd Bug 902332 - Replace JS_{FALSE,TRUE} with {false,true} almost everywhere. r=luke,bz.
--HG--
extra : rebase_source : 25f4de1bfae830b0af6407d260a70b787ab1dc9b
2013-08-06 23:59:54 -07:00
Jon Coppeard fb6671743e Bug 900986 - Convert JS_*Element API to use MutableHandleValue for out params r=terrence r=bholley r=smaug 2013-08-05 14:02:47 +01:00
Bobby Holley 6f87931f0a Bug 897322 - Allow callers to manually fire OnNewGlobalObject when bootstrapping is complete. r=luke 2013-08-01 18:38:47 -07:00
Birunthan Mohanathas d93bd41797 Bug 784739 - Switch from NULL to nullptr in startupcache/; r=ehsan 2013-07-31 11:44:43 -04:00
Trevor Saunders 108b7dd046 backout bug 886526 because it probably made us use a lot more memory to link on windows 2013-07-29 11:03:21 -04:00
Jon Coppeard 20fb51afdd Bug 897484 - GC: Convert JS_GetProperty APIs to take MutableHandleValue r=terrence r=bholley r=smaug 2013-07-26 10:00:38 +01:00
Carsten "Tomcat" Book ce93df92db Backed out changeset ae8d72538dee (bug 897484) for b2g bustage 2013-07-26 12:34:25 +02:00
Jon Coppeard 9709d43d76 Bug 897484 - GC: Convert JS_GetProperty APIs to take MutableHandleValue r=terrence r=bholley r=smaug 2013-07-26 10:00:38 +01:00
Ms2ger 87d5bcc7e7 Bug 896280 - Pass MutableHandleValue to JS::Call(); r=terrence 2013-07-24 09:40:01 +02:00
Ms2ger 10d5739f7a Bug 888643 - Part b: Move CPP_UNIT_TESTS definitions into moz.build files; r=gps 2013-07-24 09:23:06 +02:00
Joshua Cranmer 8c0bca8e57 Bug 884061 - Part 3t: Use NS_DECL_THREADSAFE_ISUPPORTS in startupcache/, r=mwu
--HG--
extra : rebase_source : 8a990b22d5b98b2b25f26530fe1f88ac388ae788
2013-07-18 21:24:14 -05:00
Trevor Saunders 4fda35a773 bug 886526 - disallow MODULE_NAME and IS_COMPONENT for makefiles in libxul r=bsmedberg 2013-06-25 11:15:21 -04:00
Catalin Iacob 6f4758d23e Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn.
--HG--
extra : rebase_source : fc472490dd978d165f02f77ed37f07aed6e5bb61
2013-06-23 14:03:39 +02:00
Brian O'Keefe 11bcc1cd9e Bug 875934 - Move LIBRARY_NAME to moz.build (batch #1); r=mshal
--HG--
extra : rebase_source : 385d3fd65475ffc18ee44ae088753649470e214b
2013-06-17 15:21:01 -04:00
Vladimir Vukicevic f4af325139 b=882906; remove EXTRA_DSO_LIBS; r=ted 2013-06-13 22:58:22 -04:00
Mike Shal 5169c0a913 Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Ehsan Akhgari 30118c874b Bug 868785 - Fix rooting hazards in TestStartupCache.cpp; r=till 2013-05-04 20:01:27 -04:00
Steve Fink 2d851ac486 Bug 866432 - Replace AutoValueRooter with JS::Rooted<JS::Value> in gecko. r=smaug
--HG--
extra : rebase_source : 0897fc8f3968619185b754e13ca6119cb1c0f46d
2013-04-26 21:08:15 -07:00
Bobby Holley f3b8f66f21 Bug 865729 - Use XPConnect directly in C++ unit tests. r=gabor 2013-04-29 11:16:22 -07:00
Bobby Holley fd8f83f7d2 Bug 864363 - Fix standalone unit test to use the JSRuntime from XPConnect. r=bsmedberg
It turns out that the JS engine asserts that we only ever have one JSRuntime
per thread. So when we spin up XPConnect in XPCOM initialization, we run into
assertions when this standalone test does JS_NewRuntime. FWIW, it probably
shouldn't be creating a random runtime and then passing that cx into Gecko
APIs anyway.

It sure would be nice if C++ unit tests could run with internal linkage... :-(
2013-04-22 16:49:52 -04:00
Mike Shal df7deac25b Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Jeff Walden 763718651b Bug 858677 - Fix up code not built by SpiderMonkey to use the newly-changed deletion signatures. r=bholley, r=billm 2013-04-05 21:22:55 -07:00
Justin Lebar a2c21d678e Bug 857834 - Remove a warning in the startupcache. r=mwu 2013-04-08 20:31:44 -04:00
Trevor Saunders 910e36a49a bug 856349 - remove useless SHORT_LIBNAME assignments r=glandium 2013-03-30 15:42:45 -04:00
Ryan VanderMeulen efd19ae990 Bug 856247 - Disable TestStartupCache on B2G desktop builds. r=mhommey, f=fabrice 2013-04-04 11:47:13 -04:00
Kyle Machulis 72a717a860 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis 43628a7867 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis 334c0800cf Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Mike Shal e3efc3a646 Bug 852534 - Remove GRE_MODULE from Makefile.in; r=gps 2013-03-21 08:41:00 -07:00
Mike Shal 7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Jose Cortes 172ead2b07 Bug 842186 - Replace jsvals with JS::Values in .cpp and .h files inside the ipc, security, tools, caps, xpfe and startupcache directories. r=jwalden
--HG--
extra : rebase_source : 17f26bc48a8ce01b7349adc178a4e62f7d4b3a5e
2013-03-15 22:22:01 -07:00
Gregory Szorc c865547d94 Bug 818246 - Part 4: Move XPIDLSRCS into moz.build (auto); rs=glandium
This is the result of running
|mach mozbuild-migrate --list XPIDLSRCS SDK_XPIDLSRCS XPIDL_SOURCES| and
reverting xpcom/sample/*.
2013-03-12 10:17:46 -07:00
Gregory Szorc 5d74e09655 Bug 784841 - Part 18v: Convert misc remaining parts; f=Ms2ger rs=ted 2013-02-25 12:47:23 -08:00
Martin Stransky 13a5407605 Bug 239254 - [Linux] Support disk cache on a local path, r=michal.novotny 2013-02-11 15:47:21 +01:00
Nathan Froyd 2130eab9d9 Bug 833127 - fix startupcache test issues identified by asan; r=mwu 2013-01-21 19:17:20 -05:00
Chris Peterson de411b5fd0 Bug 829685 - Remove #include "prtypes.h" from some files that no longer use PR types. r=ehsan 2013-01-10 08:19:36 -08:00
Nicholas Nethercote b7723e3c58 Bug 819819 (part 2) - Remove |name| from NS_MEMORY_REPORTER_MALLOC_SIZEOF_FUN. r=jlebar.
--HG--
rename : dom/tests/mochitest/localstorage/test_localStorageQuotaPrivateBrowsing_perwindowpb.html => dom/tests/mochitest/localstorage/test_localStorageQuotaPrivateBrowsing.html
rename : toolkit/components/places/tests/browser/browser_favicon_privatebrowsing_perwindowpb.js => toolkit/components/places/tests/browser/browser_favicon_privatebrowsing.js
extra : rebase_source : 557cc60522970ce7eea3b006d357284d9b4694c4
2012-12-23 16:59:51 -08:00
Benoit Girard fe1473bc12 Bug 816656 - Don't write the startup cache on shutdown. r=mwu
--HG--
extra : rebase_source : abf25650361272f478a237d72c48953d1b0c7269
2012-12-05 14:09:30 -05:00
Ed Morley 284e6886f0 Backout bc20093cfc9d (bug 816656) for build failures during prepare-package 2012-12-03 18:47:04 +00:00
Benoit Girard 5b9b17617a Bug 816656 - Don't write the startup cache on shutdown. r=taras
The startup cache will be saved in the background ~10 seconds after startup. If 10 seconds haven't elapsed yet don't bother write the cache on shutdown.
2012-12-03 13:10:11 -05:00
Ehsan Akhgari fe6567581a Bug 579517 follow-up: Remove NSPR types that crept in 2012-11-07 20:34:50 -05:00
Graeme McCutcheon 7c6e0f8608 Bug 724513 - Part 3 - Add telemetry for the invalid disk cache situation. r=taras 2012-10-11 09:50:41 +01:00
Graeme McCutcheon 75b6269d53 Bug 724513 - Part 1 - Add StartupCache method for disregarding disk file. r=mwu 2012-10-11 09:17:15 +01:00
Ehsan Akhgari 59dacf4015 Backed out 3 changesets (bug 724513) for a 20-30% Ts regression across the board
Backed out changeset 006eb98e9d6f (bug 724513)
Backed out changeset f418d97d12ac (bug 724513)
Backed out changeset 1baac3f2334c (bug 724513)

--HG--
extra : rebase_source : e361496807916c968524446d32d3eb1d6af346eb
2012-10-31 11:28:21 -04:00
Graeme McCutcheon bc8e0bbbbd Bug 724513 - Part 3 - Add telemetry for the invalid disk cache situation. r=taras 2012-10-11 09:50:41 +01:00
Graeme McCutcheon 34d7a161c5 Bug 724513 - Part 1 - Add StartupCache method for disregarding disk file. r=mwu 2012-10-11 09:17:15 +01:00
Tim Taubert 25e28ddb85 Bug 805971 - Don't create and discard StartupCache instances on not-main processes r=mwu 2012-10-27 00:27:53 +02:00
Bill McCloskey fadcc33157 Bug 714050 - Add support for optional JS helper threads (r=luke) 2012-10-16 11:57:09 -07:00
Trevor Saunders 000b6e89a1 bug 798595 - remove useless prmem.h includes r=ehsan 2012-10-04 02:14:06 -04:00
Nathan Froyd b0fc73509d Bug 767406 - don't assume the tables are initialized in StartupCache::WriteToDisk; r=mwu 2012-10-10 10:37:50 -04:00
Isaac Aggrey 481e7dfb0b Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Mike Hommey a413e8f1da Bug 792347 - Fix PathifyURI to properly return a resource/app path for resource://app/ urls when the application is in a subdirectory of the GRE. r=mwu 2012-09-20 09:52:12 +02:00
Ehsan Akhgari 8cc30b88b2 Bug 792502 - Kill the FunctionTimer code; r=vlad 2012-09-19 16:59:38 -04:00
Randell Jesup 65539ef89c Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Luke Wagner 93c480d9c9 Bug 786068 - make JS_EnterCrossCompartmentCall infallible (and call it JS_EnterCompartment) (r=sfink) 2012-08-27 13:32:51 -07:00
Ehsan Akhgari e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Honza Bambas 15daadba69 Bug 215450: Allow uploading of files greater than 2gb in size. Involves making input streams 64-bit capable. Significant work done by Makoto Kato, finished by Honza Bambas. r=hbambas,bsmedberg,jdrew,sicking 2012-08-10 22:44:11 -04:00
Mike Hommey 70d7c821af Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Aryeh Gregor d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Ehsan Akhgari d0798fee41 Bug 758992 - Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor (startupcache parts); r=jrmuizel 2012-06-19 23:45:32 -04:00
Luke Wagner 026cc7a4de Bug 755186 - s/JS_NewCompartmentAndGlobalObject/JS_NewGlobalObject/ (r=jorendorff)
--HG--
extra : rebase_source : f1ead9226915f72473a01db0a1019cdbe50c8e92
2012-06-20 08:57:29 -07:00
Honza Bambas fc7084f564 Bug 720778 - Important threads should have a name for better debugability, r=bsmith, sr=bsmedberg+glandium 2012-06-12 19:06:20 +02:00
Geoff Lankow 5cefea8480 Bug 749930 - Replace uses of nsILocalFile with nsIFile (compiled code only); r=bsmedberg 2012-06-06 14:08:30 +12:00
Gervase Markham 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Nicholas Nethercote 43f329dbbd Bug 744311 (part 1) - Preliminary whitespace and code order changes. r=jlebar.
--HG--
extra : rebase_source : f700733d8aa1aed1ae1f9206b4ee9063f9a03341
2012-04-09 22:52:33 -07:00
Igor Bukanov 45a458920c bug 736978 - remove JS_FinalizeStub. r=:billm
Currently the GC finalizes on the background thread only objects with null
JSClass::finalize. However, this implies that any object that uses
JS_FinalizeStub for the finalizer would be prevented from the background
finalization.

To fix this the patch removes JS_FinalizeStub replacing it with NULL in all
cases when the class has no custom finalizer. For style consistency the patch
also removed the usage of JSCLASS_NO_OPTIONAL_MEMBERS in the static
declarations as the compiler fills the missing fields with null in any cases.
2012-03-19 15:27:58 +01:00
David Mandelin 0822e24e67 Bug 733260 followup: use uint32_t for array and string lengths, r=luke
--HG--
extra : rebase_source : 1729b4b927fde0678872b9de62a7466381aa07c3
2012-03-06 15:52:55 -08:00
David Mandelin fb07fe8847 Bug 733260: remove typedef jsuint, r=luke
--HG--
extra : rebase_source : e8f576e1b5b189b47807c613c0cff79f5c8038e7
2012-03-05 18:43:45 -08:00
Nathan Froyd bf66a10cd6 Bug 711297 - add tests for STARTUP_CACHE_AGE_HOURS histogram; r=mwu 2012-02-22 14:11:32 -05:00
Nathan Froyd 512a941bbe Bug 711297 - add recordAgesAlways method to nsIStartupCache; r=mwu 2012-02-22 14:07:18 -05:00