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

801 Коммитов

Автор SHA1 Сообщение Дата
Bobby Holley c8fbffcb9d Bug 899367 - Have nsGlobalWindow go through nsJSContext to access the outer. r=mccr8 2013-09-04 14:06:55 -07:00
Bobby Holley d4eab5f3af 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 6188191d87 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 7367a3a5b8 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 01af9297c7 Bug 883920 - use templates for {Hold,Drop}JSObjects. r=peterv 2013-08-16 13:10:17 -07:00
Boris Zbarsky b8e47c2682 Bug 903419 part 2. Report unhandled rejections in promises. r=smaug,bholley,luke 2013-08-29 00:30:06 -04:00
Boris Zbarsky 08a8354b88 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 d34342055c Bug 910291 - Hide TraceMalloc debug functions from content. r=bz 2013-08-29 07:48:43 +09:00
Nicholas Nethercote 3c5b0c6b29 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 6f0d3838c9 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 702e2628d5 Bug 908903 - Add testing function to toggle jit compiler options. r=jandem 2013-08-27 16:32:04 -07:00
Bobby Holley 3ef78b339d 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 0542144683 Bug 899367 - Remove xpc_UnmarkGrayContext. r=mccr8
Default compartment objects are never gray anymore.
2013-08-27 15:21:39 -07:00
Bobby Holley 0a90738ba7 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 a322d019a4 Bug 899367 - Have nsGlobalWindow go through nsJSContext to access the outer. r=mccr8 2013-08-27 15:21:39 -07:00
Bobby Holley d8ec53aa09 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 a9a3af4e97 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 ba0f5bdd30 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 8955ed2808 Bug 908576 part 3. Get rid of PrototypeIDMap structs. r=smaug 2013-08-23 22:42:41 -04:00
Brian Hackett e6289f59db 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 913bab58b0 Merge PGO-green changeset from inbound to m-c. 2013-08-22 10:31:44 +02:00
Ms2ger 05f294ce31 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 e5e63a48e9 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 b6f4813baa 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 9d466e12cc Bug 901106 - Eliminate the nsJSRuntime namespace. r=mrbkap 2013-08-19 16:24:29 -07:00
Bobby Holley b1f301a7a7 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 ae0d0745b3 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 c334ce29a3 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 b4dde9a0ba 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 9ccecb62c8 Bug 901106 - Inline and remove nsIScriptContext::{Serialize,Deserialize}. r=smaug 2013-08-19 16:24:27 -07:00
Tom Schuster 8812f84312 Bug 884410 - Remove JS_ValueToECMAInt32 and replace it with JS::ToInt32. r=terrence 2013-08-15 17:41:51 -04:00
Ehsan Akhgari 1ed269270a Backed out changeset 3d9664b78ca7 (bug 884410) because of build bustage on a CLOSED TREE 2013-08-15 18:20:00 -04:00
Tom Schuster 63f6d15be9 Bug 884410 - Remove JS_ValueToECMAInt32 and replace it with JS::ToInt32. r=terrence 2013-08-15 17:41:51 -04:00
Ehsan Akhgari 99058b577c 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 dc64810021 Bug 905300 - Remove dead code in SpiderMonkey. r=bhackett 2013-08-15 13:45:30 +02:00
Bobby Holley 27a832e507 Bug 903212 - Remove explicit compartment GC machinery. r=smaug 2013-08-14 14:00:03 -07:00
Bobby Holley 03c1b0ddf4 Bug 903212 - Remove nsIXPCScriptNotify machinery. r=mrbkap 2013-08-14 14:00:03 -07:00
Bobby Holley 0846601377 Bug 903212 - Remove ScriptEvaluated, and simplify callers. r=mrbkap 2013-08-14 14:00:03 -07:00
Bobby Holley 4c9559f8e1 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 3ed72e3e52 Bug 901364 - Remove a bunch of now-unused modal state tracking machinery. r=mrbkap 2013-08-12 12:54:51 -07:00
Bobby Holley 80de28966e Bug 901364 - Make operation callbacks runtime-wide. r=mrbkap 2013-08-12 12:54:50 -07:00
Bobby Holley c73211b3fb Bug 901364 - Switch to the XPConnect operation callback for DOM windows. r=mrbkap 2013-08-12 12:54:49 -07:00
Bobby Holley 3b168e2acb Bug 901364 - Hoist slow script prompt machinery into nsGlobalWindow. r=mrbkap 2013-08-12 12:54:49 -07:00
Nicholas Nethercote 5ec2086f99 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 a4f15f4503 Bug 901362 - Refactor nsJSUtils::EvaluateString to take an EvaluateOptions structure. r=gabor 2013-08-08 16:51:35 -07:00
Bobby Holley d7fb701374 Bug 901162 - Inline ExecuteScript in the one caller. r=bz 2013-08-08 16:51:34 -07:00
Bobby Holley ad01da34e4 Bug 901162 - Inline CompileScript into the one caller. r=bz 2013-08-08 16:51:34 -07:00
Bobby Holley 1315953921 Bug 901162 - Hoist EvaluateString into nsJSUtils. r=bz 2013-08-08 16:51:34 -07:00
Bobby Holley f2b057f9f0 Bug 901162 - Remove unused mExecuteDepth machinery. r=bz 2013-08-08 16:51:34 -07: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
Nicholas Nethercote 9624be5713 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 50634577d5 Merge m-c to inbound. 2013-08-02 11:07:57 +02:00
Ms2ger 0f9d038985 Bug 897945 - Use an XPCOM string for nsContentUtils::ReportToConsole's category argument; r=bholley 2013-08-02 09:09:11 +02:00
Mike Hommey 2e729aa83d 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 b4ad5a68ec Bug 899812 - Error reporters should consistently report errors to stderr (r=bholley) 2013-07-31 17:04:49 -07:00
Bobby Holley 98a0425f0f 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 43974de990 Bug 899245 - Rename JS_SetGlobalObject and move it into jsfriendapi. r=luke 2013-07-29 16:45:26 -07:00
Bobby Holley acaaa3b1a2 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 ae46376c2e Bug 897433 - Telemetry for SnowWhite and more async SnowWhite freeing (patch v4), r=mccr8 2013-07-27 13:48:45 +03:00
Ryan VanderMeulen 496513c7cd Backed out changeset 300f5b7d72e1 (bug 897433) for intermittent Linux dromaeo crashes. 2013-07-25 21:18:20 -04:00
Olli Pettay e05c81b4a4 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 050814f5b7 Bug 895340 - Fix error reporting of JS exceptions from C++ (r=bholley) 2013-07-23 08:32:36 -07:00
Olli Pettay a0d710b2dd Bug 895578 - Make SnowWhiteKiller to use fallible TArray, r=mccr8 2013-07-19 15:53:16 +03:00
Bobby Holley 055a4a328f Bug 887334 - Miscellaneous JSAutoCompartments. r=luke 2013-07-17 11:53:53 -07:00
Olli Pettay b002b30b2a 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 e95fdd5ba8 Bug 890636 - Remove JSOPTION_PCCOUNT, r=jandem. 2013-07-08 09:17:35 -06:00
Bobby Holley 919587b427 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 5fcbe40dc3 Bug 887125 - Allow 0 for Memory GC Preferences. r=bent 2013-06-27 14:40:17 +08:00
Nicolas B. Pierron 9d5fdcde72 Bug 829841 - Add an option to enable eager compilation in the browser. r=dvander 2013-06-24 05:13:05 -07:00
Bobby Holley 6bab803585 Bug 875790 - Add cx push back into nsJSContext::CompileScript. r=me 2013-06-21 09:10:27 -07:00
Bill McCloskey 2e3db4ed09 Bug 871005 - Add a pref for GC decommit threshold (r=gregor) 2013-06-20 18:06:53 -07:00
Bobby Holley 3b1eda0cea Bug 883450 - Miscellaneous requests. r=gabor 2013-06-20 11:05:34 -07:00
Jon Coppeard 5b896f6665 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 defbf4358c 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 48564710fc Backed out changeset 1df122edcf0d (bug 823978) for bustage (again).
CLOSED TREE (again)
2013-06-11 15:27:46 -04:00
Benjamin Peterson 859ae9d3b2 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 a580723853 Backed out changeset 7e69e102a432 (bug 823978) for bustage.
CLOSED TREE
2013-06-11 14:28:17 -04:00
Benjamin Peterson 6a8ee25998 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 3eabb6ea4b Bug 876805. Fix unsafe reference gc hazards in dom/ code. r=smaug 2013-05-29 16:16:04 -04:00
Phil Ringnalda cd38f4feb9 Merge the last PGO-green cset on m-i to m-c 2013-05-27 09:44:40 -07:00
octoploid@yandex.com f7a96e327a Bug 875790 - Revert AutoPushJSContext change in nsJSContext::CompileScript due to crashes. r=bholley 2013-05-27 06:40:37 -07:00
Jon Coppeard a07d2309af Bug 874691 - Make CC participant tracing indirect r=mccr8 r=smaug r=bz 2013-05-27 12:50:49 +01:00
Bobby Holley 8f823bfe9a 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 f2943090bd 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 cdde50556c 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 750d6364fd 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 e7d2092dbd Bug 868130 - Make sure mContext is stack-top in nsJSContext::CompileScript. r=gabor 2013-05-22 10:05:23 -06:00
Jan de Mooij 162bdc21e4 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
Bobby Holley c1533a7e3b Bug 841312 - Remove the termination function API. r=bz
\o/
2013-05-21 11:45:56 -06:00
Bobby Holley cce2e96e58 Bug 860941 - Separate the handling of |dialogArguments| and |arguments|, and use IDL for the |dialogArguments| getter. r=jst
This patch is bigger than I'd like it to be, but there are a lot of interlocked
dependencies and I eventually decided it was easier to just lump it together.

The semantics of |showModalDialog|/|window.dialogArguments| (an web-exposed
HTML5 feature) and |openDialog|/|window.arguments| (a XUL-proprietary feature)
are quite different. The former is essentially a security-checked JSVal, while
the latter gets converted into an array. We handled them together in the old
world, which led to a lot of confusion and muddled semantics. This patch
separates them.

This patch also eschews the roundabout resolve hook for dialogArguments in favor
of returning them directly from the XPIDL getter. This better matches the
behavior in the spec, especially because it allows dialogArguments to live on
the outer as they're supposed to, rather than the first inner that happens to
end up in the docshell. All in all, this should make this all very
straightforward to convert WebIDL when the time comes.

The current spec on the origin checks here is pretty fictional, so I've filed
https://www.w3.org/Bugs/Public/show_bug.cgi?id=21932 to fix it. This patch
should more or less preserve the current security behavior.
2013-05-17 10:43:19 -07:00
Andrew McCreight 8765722e58 Bug 865320 - Move the logic for deciding when to doing a merging CC into the cycle collector. r=smaug 2013-04-29 16:41:41 -07:00
Ed Morley 4521aa4875 Backed out changeset 0ad1a92ca568 (bug 860941) 2013-05-17 09:08:44 +01:00
Bobby Holley 7b7f24f6d5 Bug 860941 - Separate the handling of |dialogArguments| and |arguments|, and use IDL for the |dialogArguments| getter. r=jst
This patch is bigger than I'd like it to be, but there are a lot of interlocked
dependencies and I eventually decided it was easier to just lump it together.

The semantics of |showModalDialog|/|window.dialogArguments| (an web-exposed
HTML5 feature) and |openDialog|/|window.arguments| (a XUL-proprietary feature)
are quite different. The former is essentially a security-checked JSVal, while
the latter gets converted into an array. We handled them together in the old
world, which led to a lot of confusion and muddled semantics. This patch
separates them.

This patch also eschews the roundabout resolve hook for dialogArguments in favor
of returning them directly from the XPIDL getter. This better matches the
behavior in the spec, especially because it allows dialogArguments to live on
the outer as they're supposed to, rather than the first inner that happens to
end up in the docshell. All in all, this should make this all very
straightforward to convert WebIDL when the time comes.

The current spec on the origin checks here is pretty fictional, so I've filed
https://www.w3.org/Bugs/Public/show_bug.cgi?id=21932 to fix it. This patch
should more or less preserve the current security behavior.
2013-05-16 23:33:14 -07:00
David Zbarsky bd907d5829 Bug 868312 - Rooting fixes for dom r=bz 2013-05-12 01:17:42 -04:00
David Zbarsky 480bf64980 Bug 868312 - Rooting fixes for dom r=bz 2013-05-10 14:22:21 -04:00
David Zbarsky b287cc2cb5 Bug 868312: Root dom/workers r=bz 2013-05-09 03:27:40 -04:00
Bobby Holley 768211fa86 Bug 868635 - Make merging CC heuristics go through scx. r=mccr8 2013-05-07 14:18:03 -07:00
Luke Wagner 262b462c83 Bug 868184 - OdinMonkey: enable by default on beta/release (r=vlad)
--HG--
extra : rebase_source : c97bf37723eded74f95aae21e2baa692cf059c2e
2013-05-07 13:34:17 -07:00
Bobby Holley 31412343f1 Bug 868122 - Remove nsIScriptContextPrincipal. r=gabor
\o/
2013-05-06 16:53:10 -07:00