Jon Coppeard
8c99b0611f
Bug 918373 - GC: Handlify various public APIs r=sfink r=bholley r=smaug
2013-09-20 10:22:59 +01:00
Joshua Cranmer
b511ee58c5
Bug 904985 - Use Char16.h in favor of NS_LL, Part 3: kill NS_LL. r=dbaron
...
--HG--
extra : rebase_source : bc105a8cbb87cc9b6b2db0734d9841fe599e794b
2013-09-17 22:43:21 -05:00
Olli Pettay
c7708cd597
Bug 915832, don't trigger a new GC if we're in middle of an iGC, r=billm
2013-09-13 02:07:02 +03:00
Brian Hackett
2e644832a0
Bug 906371 - Use off thread JS parsing when loading async scripts, r=bz,billm.
2013-09-11 17:42:09 -06:00
Dan Gohman
8b7074b6dc
Bug 910823 - Constify static js::Class/JSClass instances. r=waldo
2013-09-11 05:49:05 -07:00
Kyle Huey
abebd382da
Bug 910937: Remove xpc_UnmarkGrayObject and use JSAPI directly. r=mccr8
2013-09-08 20:28:48 -07:00
Ehsan Akhgari
36280b9569
Bug 913531 - Remove the unnecessary #includes from nsIXPConnect.idl; r=bholley
2013-09-06 13:50:24 -04:00
Bobby Holley
8c6eaad72a
Bug 899367 - Followup bustage fix for some functions that were renamed out from under me. r=me CLOSED TREE
2013-09-04 14:58:23 -07:00
Bobby Holley
b8f437054d
Bug 899367 - Make GetNativeGlobal consumers call GetWindowProxy and rm the former. r=mccr8
...
Some of the uses of this are a bit nonsensical now, but that's a problem for
another day.
2013-09-04 14:06:57 -07:00
Bobby Holley
401b0ffa0b
Bug 899367 - Remove xpc_UnmarkGrayContext. r=mccr8
...
Default compartment objects are never gray anymore.
2013-09-04 14:06:56 -07:00
Bobby Holley
6d001e824e
Bug 899367 - Stop storing the window proxy on the JSContext. r=mccr8
...
We need to simultaneously report the new Heap Pointer to the cycle collector,
and remove the old machinery for cycle-collecting the default object via the
JSContext.
2013-09-04 14:06:56 -07:00
Bobby Holley
7932b397fb
Bug 899367 - Have nsGlobalWindow go through nsJSContext to access the outer. r=mccr8
2013-09-04 14:06:55 -07:00
Bobby Holley
9ed5f11e8d
Bug 899367 - Explicitly traverse outer windows, rather than doing it via JSContext iteration. r=mccr8
...
Note that this machinery will go away in further patches. But we want to be
deliberate about each of these steps.
2013-09-04 14:06:54 -07:00
Bobby Holley
8abcb2d562
Bug 899367 - Explicitly trace outer windows, rather than doing it via JSContext iteration. r=mccr8
2013-09-04 14:06:54 -07:00
Bobby Holley
5cfc3855a5
Bug 899367 - Only use JSOPTION_UNROOTED_GLOBAL for DOM JSContexts. r=mccr8
...
We don't cycle collect any other kind, so there's no difference between marking
them gray and letting the JS engine mark them black. This also gets rid of that
nasty code which reset the flag, which billm theorizes has to do with faulty
logic in ContextHolder when creating ephemeral sandbox cxes. The assertion in
this patch should catch us if anything goes wrong.
2013-09-04 14:06:54 -07:00
Andrew McCreight
4723c7c5e3
Bug 883920 - use templates for {Hold,Drop}JSObjects. r=peterv
2013-08-16 13:10:17 -07:00
Boris Zbarsky
ec93636aa6
Bug 903419 part 2. Report unhandled rejections in promises. r=smaug,bholley,luke
2013-08-29 00:30:06 -04:00
Boris Zbarsky
7891c84fba
Bug 903419 part 1. Change js::GetErrorTypeName to take a JSRuntime, not a JSContext. r=luke
2013-08-29 00:30:06 -04:00
Masatoshi Kimura
1df155c4fd
Bug 910291 - Hide TraceMalloc debug functions from content. r=bz
2013-08-29 07:48:43 +09:00
Nicholas Nethercote
3f5d413d90
Bug 909597 (part 2) - Rename jsdbgapi.{h,cpp} as {js,vm}OldDebugAPI.{h,cpp}. r=luke.
...
--HG--
rename : js/src/jsdbgapi.h => js/public/OldDebugAPI.h
rename : js/src/jsdbgapi.cpp => js/src/vm/OldDebugAPI.cpp
extra : rebase_source : 9cd65a698e726c43d88d650f40823367bf98feae
2013-08-26 19:05:20 -07:00
Ryan VanderMeulen
2f3de4dea0
Backed out 12 changesets (bug 899367) for Windows and OSX mochitest failures on a CLOSED TREE.
...
Backed out changeset 46cf4c3eb447 (bug 899367)
Backed out changeset d8a876219fc7 (bug 899367)
Backed out changeset d930333f95a7 (bug 899367)
Backed out changeset efae8cc0fff8 (bug 899367)
Backed out changeset 1dd262d146a6 (bug 899367)
Backed out changeset 4c396b8a51d0 (bug 899367)
Backed out changeset c8c30176639a (bug 899367)
Backed out changeset aaa8fbcf9aaf (bug 899367)
Backed out changeset d1a782044a4b (bug 899367)
Backed out changeset b2672ab55046 (bug 899367)
Backed out changeset fc4deb0b06fa (bug 899367)
Backed out changeset b9f1018a609c (bug 899367)
2013-08-27 21:14:54 -04:00
Nicolas Pierron
5779bb4c77
Bug 908903 - Add testing function to toggle jit compiler options. r=jandem
2013-08-27 16:32:04 -07:00
Bobby Holley
6274710e79
Bug 899367 - Make GetNativeGlobal consumers call GetWindowProxy and rm the former. r=mccr8
...
Some of the uses of this are a bit nonsensical now, but that's a problem for
another day.
2013-08-27 15:21:40 -07:00
Bobby Holley
cff26b12ce
Bug 899367 - Remove xpc_UnmarkGrayContext. r=mccr8
...
Default compartment objects are never gray anymore.
2013-08-27 15:21:39 -07:00
Bobby Holley
05b0b5e0f2
Bug 899367 - Stop storing the window proxy on the JSContext. r=mccr8
...
We need to simultaneously report the new Heap Pointer to the cycle collector,
and remove the old machinery for cycle-collecting the default object via the
JSContext.
2013-08-27 15:21:39 -07:00
Bobby Holley
5fe7a003d5
Bug 899367 - Have nsGlobalWindow go through nsJSContext to access the outer. r=mccr8
2013-08-27 15:21:39 -07:00
Bobby Holley
c93dc7b4a1
Bug 899367 - Explicitly traverse outer windows, rather than doing it via JSContext iteration. r=mccr8
...
Note that this machinery will go away in further patches. But we want to be
deliberate about each of these steps.
2013-08-27 15:21:38 -07:00
Bobby Holley
add3235319
Bug 899367 - Explicitly trace outer windows, rather than doing it via JSContext iteration. r=mccr8
2013-08-27 15:21:37 -07:00
Bobby Holley
b7966edcf1
Bug 899367 - Only use JSOPTION_UNROOTED_GLOBAL for DOM JSContexts. r=mccr8
...
We don't cycle collect any other kind, so there's no difference between marking
them gray and letting the JS engine mark them black. This also gets rid of that
nasty code which reset the flag, which billm theorizes has to do with faulty
logic in ContextHolder when creating ephemeral sandbox cxes. The assertion in
this patch should catch us if anything goes wrong.
2013-08-27 15:21:37 -07:00
Boris Zbarsky
a912d1fc13
Bug 908576 part 3. Get rid of PrototypeIDMap structs. r=smaug
2013-08-23 22:42:41 -04:00
Brian Hackett
930150cc7b
Bug 907777 - Add preference for off thread parsing, coalesce with preference for off thread Ion compilation, r=billm.
2013-08-22 07:22:33 -06:00
Ms2ger
87ae95251c
Merge PGO-green changeset from inbound to m-c.
2013-08-22 10:31:44 +02:00
Ms2ger
98ef73b248
Bug 906503 - Remove nsIExceptionProvider; r=bholley
...
It is replaced by a direct special case in the caller.
2013-08-22 08:56:02 +02:00
Olli Pettay
8b41eb2f86
Bug 906269, don't start a GC cycle so likely while we're in middle of a CC cycle, r=mccr8
...
--HG--
extra : rebase_source : 90d3ad3d19159613f2cb83f0d28dd37a1a429b75
2013-08-22 00:02:12 +03:00
Till Schneidereit
566ad3643e
Bug 907201 - Enable activating TI and IonMonkey for chrome scripts via about:config. r=jandem
...
--HG--
extra : rebase_source : ee45b0108b4516cff12ecc91014cb566d432a4fa
2013-08-20 11:26:44 +02:00
Bobby Holley
fd6d48b51f
Bug 901106 - Eliminate the nsJSRuntime namespace. r=mrbkap
2013-08-19 16:24:29 -07:00
Bobby Holley
7c26851804
Bug 901106 - Make nsJSRuntime initialization infallible and do it implicitly in the nsJSContext constructor. r=mrbkap
...
We also move the runtime out of the namespace, which requires some updates.
2013-08-19 16:24:29 -07:00
Bobby Holley
d192e30f6e
Bug 901106 - Get rid of vestigial nsJSRuntime instance and make it a namespace. r=mrbkap
...
We'll rename the namespace shortly.
2013-08-19 16:24:29 -07:00
Bobby Holley
2eb3fdaa86
Bug 901106 - Make sure sure the nsDOMScriptObjectFactory gets instantiated.
...
This used to happen implicitly when we created the first nsJSContext, but that
goes away in the next patch. Without this, we get a couple of odd exception-
related failures in the IPC indexedDB tests.
2013-08-19 16:24:28 -07:00
Bobby Holley
684f16b450
Bug 901106 - Remove nsIScriptRuntime. r=mrbkap
...
All this stuff is now for nsGlobalWindow's use only.
2013-08-19 16:24:28 -07:00
Bobby Holley
ce13d4df7a
Bug 901106 - Inline and remove nsIScriptContext::{Serialize,Deserialize}. r=smaug
2013-08-19 16:24:27 -07:00
Tom Schuster
991ead8d61
Bug 884410 - Remove JS_ValueToECMAInt32 and replace it with JS::ToInt32. r=terrence
2013-08-15 17:41:51 -04:00
Ehsan Akhgari
fcb950e309
Backed out changeset 3d9664b78ca7 (bug 884410) because of build bustage on a CLOSED TREE
2013-08-15 18:20:00 -04:00
Tom Schuster
0cd7a5fca0
Bug 884410 - Remove JS_ValueToECMAInt32 and replace it with JS::ToInt32. r=terrence
2013-08-15 17:41:51 -04:00
Ehsan Akhgari
3ec2c9b451
Bug 905353 - Minimize the #includes in dom/base; r=jst
...
--HG--
extra : rebase_source : e7a1d2262bf6d8c9b78057b8eb6cdbfd98262f68
2013-08-15 14:17:48 -04:00
Jan de Mooij
efb33b1fb3
Bug 905300 - Remove dead code in SpiderMonkey. r=bhackett
2013-08-15 13:45:30 +02:00
Bobby Holley
c695bf8a82
Bug 903212 - Remove explicit compartment GC machinery. r=smaug
2013-08-14 14:00:03 -07:00
Bobby Holley
2ce8f2d13b
Bug 903212 - Remove nsIXPCScriptNotify machinery. r=mrbkap
2013-08-14 14:00:03 -07:00
Bobby Holley
ecce09df53
Bug 903212 - Remove ScriptEvaluated, and simplify callers. r=mrbkap
2013-08-14 14:00:03 -07:00
Bobby Holley
7f8ef2275d
Bug 903212 - Remove activity tracking from nsJSContext. r=smaug
...
This only has an impact when we enable explict compartmental GCs, which have
been preffed off for a while.
2013-08-14 14:00:02 -07:00
Bobby Holley
81026a6fdf
Bug 901364 - Remove a bunch of now-unused modal state tracking machinery. r=mrbkap
2013-08-12 12:54:51 -07:00
Bobby Holley
e923703302
Bug 901364 - Make operation callbacks runtime-wide. r=mrbkap
2013-08-12 12:54:50 -07:00
Bobby Holley
3e44192004
Bug 901364 - Switch to the XPConnect operation callback for DOM windows. r=mrbkap
2013-08-12 12:54:49 -07:00
Bobby Holley
962b3d3ad7
Bug 901364 - Hoist slow script prompt machinery into nsGlobalWindow. r=mrbkap
2013-08-12 12:54:49 -07:00
Nicholas Nethercote
12393b203a
Bug 898263 (part 4) - Move |JSTrapStatus| and related function typedefs out of jsprvtd.h. r=jorendorff.
...
--HG--
extra : rebase_source : 68c1d3aaaa40763e073ee791c1d0078c5d5cf87e
2013-08-08 21:30:15 -07:00
Bobby Holley
819d50ab77
Bug 901362 - Refactor nsJSUtils::EvaluateString to take an EvaluateOptions structure. r=gabor
2013-08-08 16:51:35 -07:00
Bobby Holley
b5464322cb
Bug 901162 - Inline ExecuteScript in the one caller. r=bz
2013-08-08 16:51:34 -07:00
Bobby Holley
4e21a1faaf
Bug 901162 - Inline CompileScript into the one caller. r=bz
2013-08-08 16:51:34 -07:00
Bobby Holley
8fbaba72bb
Bug 901162 - Hoist EvaluateString into nsJSUtils. r=bz
2013-08-08 16:51:34 -07:00
Bobby Holley
252d99069f
Bug 901162 - Remove unused mExecuteDepth machinery. r=bz
2013-08-08 16:51:34 -07:00
Nicholas Nethercote
b756f6b258
Bug 898914 (part 1) - Remove JSBool.
...
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Nicholas Nethercote
25d70fdd97
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
Nicholas Nethercote
ba723f1034
Bug 901750 - Change return type of |JSNative| from |JSBool| to |bool|. code=nnethercote,jandem. r=luke,bz.
...
--HG--
extra : rebase_source : 5b3d7cc339af6d93bde078322e25c6e740d1b617
2013-08-02 00:41:57 -07:00
Ms2ger
5c2b63d2c7
Merge m-c to inbound.
2013-08-02 11:07:57 +02:00
Ms2ger
023dc49091
Bug 897945 - Use an XPCOM string for nsContentUtils::ReportToConsole's category argument; r=bholley
2013-08-02 09:09:11 +02:00
Mike Hommey
d01b5df996
Bug 881323 - Re-implement CycleCollectorParticipant with actual vtables, with constexpr to avoid static initializers. r=mccr8
2013-08-02 10:29:05 +09:00
Bill McCloskey
ca26060518
Bug 899812 - Error reporters should consistently report errors to stderr (r=bholley)
2013-07-31 17:04:49 -07:00
Bobby Holley
c00f6379ec
Bug 899245 - Rename JS_GetGlobalForScopeChain to JS::CurrentGlobalOrNull. r=luke
...
This was done with perl/grep.
2013-07-29 16:45:27 -07:00
Bobby Holley
9dbd7cffb9
Bug 899245 - Rename JS_SetGlobalObject and move it into jsfriendapi. r=luke
2013-07-29 16:45:26 -07:00
Bobby Holley
488031ac4d
Bug 899245 - Rename js::GetDefaultGlobalForContext to js::DefaultObjectForContextOrNull. r=luke
...
This is more correct, since the object very often is not a global.
2013-07-29 16:45:25 -07:00
Olli Pettay
676d2b13e5
Bug 897433 - Telemetry for SnowWhite and more async SnowWhite freeing (patch v4), r=mccr8
2013-07-27 13:48:45 +03:00
Ryan VanderMeulen
37205dbd4a
Backed out changeset 300f5b7d72e1 (bug 897433) for intermittent Linux dromaeo crashes.
2013-07-25 21:18:20 -04:00
Olli Pettay
0da836185c
Bug 897433, Telemetry for SnowWhite and more async SnowWhite freeing, r=mccr8
...
--HG--
extra : rebase_source : 487139a95f50e69d6273c2870ed6623f175544e7
2013-07-25 22:56:20 +03:00
Bill McCloskey
daca74ad0a
Bug 895340 - Fix error reporting of JS exceptions from C++ (r=bholley)
2013-07-23 08:32:36 -07:00
Olli Pettay
5f6b1e810b
Bug 895578 - Make SnowWhiteKiller to use fallible TArray, r=mccr8
2013-07-19 15:53:16 +03:00
Bobby Holley
b6dac750a0
Bug 887334 - Miscellaneous JSAutoCompartments. r=luke
2013-07-17 11:53:53 -07:00
Olli Pettay
2bf2214fbe
bug 789919, (snow-white) make addref/release of CCable objects faster by removing indirect refcnt increase/decrease, r=mccr8, test changes r=ehsan
...
--HG--
extra : rebase_source : 2a3b22425c14d6daedc91d62a652c34431acd2fb
2013-07-09 13:30:58 -04:00
Brian Hackett
0db06b2f79
Bug 890636 - Remove JSOPTION_PCCOUNT, r=jandem.
2013-07-08 09:17:35 -06:00
Bobby Holley
6cca462555
Bug 860085 - Stop using XPConnect::ReleaseJSContext in nsJSEnvironment::DestroyJSContext. r=gabor,mccr8
...
We now have the invariant that any in-use cx must be pushed onto the JSContext
stack with one of our stack-scoped automatic nsCxPusher classes. These classes
hold a strong ref to the nsIScriptContext associated with the JSContext they
push (if any). This means that, if this cx is in use, we will always have at
least one strong reference to the nsJSContext coming from the stack, meaning
that neither the destructor nor the Unlink() implementation will be called.
So we don't need to do any deferred destruction of the cx anymore.
2013-07-03 11:05:19 -06:00
Gregor Wagner
a6bc63ec3b
Bug 887125 - Allow 0 for Memory GC Preferences. r=bent
2013-06-27 14:40:17 +08:00
Nicolas B. Pierron
ec97c44287
Bug 829841 - Add an option to enable eager compilation in the browser. r=dvander
2013-06-24 05:13:05 -07:00
Bobby Holley
0f2c2da28a
Bug 875790 - Add cx push back into nsJSContext::CompileScript. r=me
2013-06-21 09:10:27 -07:00
Bill McCloskey
4c15cc1f08
Bug 871005 - Add a pref for GC decommit threshold (r=gregor)
2013-06-20 18:06:53 -07:00
Bobby Holley
2fa8b1cfb0
Bug 883450 - Miscellaneous requests. r=gabor
2013-06-20 11:05:34 -07:00
Jon Coppeard
59d5490ab4
Bug 877762 - GC: Post-barrier cycle collector participants - 5 Convert JS::Value to use Heap<T> r=smaug
2013-06-18 11:00:37 +01:00
Benjamin Peterson
ca23ac22c9
Bug 823978 - Rename JSOPTION_STRICT to JSOPTION_EXTRA_WARNINGS. r=Waldo
...
--HG--
extra : rebase_source : 34f95fc6017d3f3f4f091083debacbd466b51bf6
2013-06-11 12:49:11 -07:00
Ryan VanderMeulen
23aa576486
Backed out changeset 1df122edcf0d (bug 823978) for bustage (again).
...
CLOSED TREE (again)
2013-06-11 15:27:46 -04:00
Benjamin Peterson
1871556ad9
Bug 823978 - Rename JSOPTION_STRICT to JSOPTION_EXTRA_WARNINGS. r=Waldo
...
--HG--
extra : rebase_source : 1396c8ec5bd99ab35343cfff2b87d22955671243
2013-06-11 11:30:18 -07:00
Ryan VanderMeulen
9855cde4ef
Backed out changeset 7e69e102a432 (bug 823978) for bustage.
...
CLOSED TREE
2013-06-11 14:28:17 -04:00
Benjamin Peterson
e459c55070
Bug 823978 - Rename JSOPTION_STRICT to JSOPTION_EXTRA_WARNINGS. r=Waldo
...
--HG--
extra : rebase_source : f5c0e9c743dadb0431eacef6b46b6e274264d3aa
2013-06-11 10:55:21 -07:00
Boris Zbarsky
e1d7ebf663
Bug 876805. Fix unsafe reference gc hazards in dom/ code. r=smaug
2013-05-29 16:16:04 -04:00
Phil Ringnalda
0f6261fe2e
Merge the last PGO-green cset on m-i to m-c
2013-05-27 09:44:40 -07:00
octoploid@yandex.com
ee81a84ae6
Bug 875790 - Revert AutoPushJSContext change in nsJSContext::CompileScript due to crashes. r=bholley
2013-05-27 06:40:37 -07:00
Jon Coppeard
8a68ce4b84
Bug 874691 - Make CC participant tracing indirect r=mccr8 r=smaug r=bz
2013-05-27 12:50:49 +01:00
Bobby Holley
d1daeb827a
Bug 868110 - Introduce a more private API for the consumers that really do need the default compartment object. r=luke
...
The primary consumer of this is the whole inner/outer DOM window setup, which
uses the default global to track the current inner. But there are few other
random ones as well.
We use this as an opportunity to convert a bunch of consumers from the two-step
GetNativeContext() -> JS_GetGlobalObject() into just |GetNativeGlobal()|. This
will make things much easier to convert when we start tracking the current inner
explicitly.
2013-05-22 15:42:44 -06:00
Bobby Holley
91448a9dac
Bug 868130 - Remove the lion's share of JSAutoRequests in gecko. r=gabor
...
There are still a handful that either are used with other runtimes, or that
happen very early/late in cx the lifetime of various things where it doesn't
necessarily make sense to have a cx on the stack. This should definitely ensure
that we're not doing double-duty with the nsCxPusher change, though.
2013-05-22 10:05:28 -06:00
Bobby Holley
54ef3d2952
Bug 868130 - Include nsCxPusher.h everywhere we need it, and stop including it from nsContentUtils.h. r=gabor
2013-05-22 10:05:26 -06:00
Bobby Holley
3df3babf7b
Bug 868130 - Make sure mContext is stack-top in the various places where nsJSEnvironment uses it. r=gabor
...
I also replaced some uses of mJSContext with AutoJSContext upon auditing that
they're only ever called by other nsJSContext functions that just pushed. This
makes the code much easier to audit because we know that we're just inheriting
the caller's cx (which is stack-top) rather than injecting a potentially-
unrelated cx.
2013-05-22 10:05:24 -06:00
Bobby Holley
fffaff5b13
Bug 868130 - Make sure mContext is stack-top in nsJSContext::CompileScript. r=gabor
2013-05-22 10:05:23 -06:00
Jan de Mooij
d1d46a2f99
Bug 857845 part 3 - Remove JM JSAPI flags, memory reporters and browser prefs. r=djvj
...
--HG--
extra : rebase_source : 8b2ed85801fcd8c8fd0fc16a89b1a275add1a310
2013-05-22 14:50:45 +02:00