Commit Graph

464 Commits

Author SHA1 Message Date
Olli Pettay
0067bf7bb3 Backout Bug 716014, a=bustage 2012-05-05 18:20:09 +03:00
Olli Pettay
9d18ecc72d Bug 716014, use compartment gc more often, r=billm
--HG--
extra : rebase_source : cf20b7aca16349e4007da24cfb5b19ab7a16cad8
2012-05-05 11:55:30 +03:00
Steve Fink
2c59d5586c Bug 730208 - UnmarkGray fixups for globals and contexts. r=billm
A common source of potential black -> gray edges is JSAPI calls made on objects with gray globals or contexts holding gray globals. (The call could potentially update a black object with a pointer to that global.) This patch mostly traps places where contexts are used, and unmarks their globals. It also includes some more global unmarking.

--HG--
extra : rebase_source : 835c1d6b4a7f7a11571412075ae8847475079edd
2012-03-14 09:32:58 -07:00
Steve Fink
86b2714480 Bug 730208 - UnmarkGray various JS objects to prevent them from being used to create black -> gray edges. r=smaug
--HG--
extra : rebase_source : ba0e5a7c3f9f5f4c76eaa3c8e20d406b9691be9b
2012-03-20 21:29:47 -07:00
Andrew McCreight
3ac11cfc5b Bug 744103, part 2 - Change NoteScriptChild to NoteJSChild. r=smaug 2012-05-03 12:28:10 -07:00
Ed Morley
8266a4291c Merge mozilla-central to mozilla-inbound 2012-05-03 20:13:41 +01:00
Olli Pettay
16f7a14985 Bug 751561 - Call forgetSkippable at least twice before CC, r=mccr8
--HG--
extra : rebase_source : 7434eb9be0bbdfd7fe44e1aeced9698d6c0627e1
2012-05-03 19:17:01 +03:00
Matt Brubeck
d5da39b00f Back out bug 730208 and bug 747543 because of xpcshell test failures 2012-04-24 20:47:16 -07:00
Steve Fink
c7e97d8358 Bug 730208 - UnmarkGray fixups for globals and contexts. r=billm
A common source of potential black -> gray edges is JSAPI calls made on objects with gray globals or contexts holding gray globals. (The call could potentially update a black object with a pointer to that global.) This patch mostly traps places where contexts are used, and unmarks their globals. It also includes some more global unmarking.

--HG--
extra : rebase_source : 1286bdbc4c337956242c292e0fa385629ee8850b
2012-03-14 09:32:58 -07:00
Steve Fink
0f3ecde4b7 Bug 730208 - UnmarkGray various JS objects to prevent them from being used to create black -> gray edges. r=smaug
--HG--
extra : rebase_source : 00bd6f20a900e97173fafa9f5512e2ebbd3a0cac
2012-03-20 21:29:47 -07:00
Mark Capella
329ec5f3aa Bug 744332 - Remove nsXULPrototypeScript::ScriptObjectHolder::mLangID. r=jst, f=Ms2ger 2012-04-24 18:31:28 -04:00
Boris Zbarsky
32c7f6e634 Bug 742217. Reduce the use of nested namespaces in our binding code. r=peterv,bent
In the new setup, all per-interface DOM binding files are exported into
mozilla/dom.  General files not specific to an interface are also exported into
mozilla/dom.

In terms of namespaces, most things now live in mozilla::dom.  Each interface
Foo that has generated code has a mozilla::dom::FooBinding namespace for said
generated code (and possibly a mozilla::bindings::FooBinding_workers if there's
separate codegen for workers).

IDL enums are a bit weird: since the name of the enum and the names of its
entries all end up in the same namespace, we still generate a C++ namespace
with the name of the IDL enum type with "Values" appended to it, with a
::valuelist inside for the actual C++ enum.  We then typedef
EnumFooValues::valuelist to EnumFoo.  That makes it a bit more difficult to
refer to the values, but means that values from different enums don't collide
with each other.

The enums with the proto and constructor IDs in them now live under the
mozilla::dom::prototypes and mozilla::dom::constructors namespaces respectively.
Again, this lets us deal sanely with the whole "enum value names are flattened
into the namespace the enum is in" deal.

The main benefit of this setup (and the reason "Binding" got appended to the
per-interface namespaces) is that this way "using mozilla::dom" should Just
Work for consumers and still allow C++ code to sanely use the IDL interface
names for concrete classes, which is fairly desirable.

--HG--
rename : dom/bindings/Utils.cpp => dom/bindings/BindingUtils.cpp
rename : dom/bindings/Utils.h => dom/bindings/BindingUtils.h
2012-05-03 00:35:38 -04:00
Bobby Holley
14988b5704 Bug 743615 - Handle ImageData in the main thread runtime callbacks. r=bent 2012-04-24 12:58:07 +02:00
David Anderson
9e6c5a8a5f Remove simple JS_FrameIterator use from content, DOM, and caps (bug 744617, r=mrbkap).
--HG--
extra : rebase_source : 003a5285b549845d47c9298606d737620db5bb3d
2012-04-16 12:30:00 -07:00
Bobby Holley
ac0a01ac3b Bug 744034 - Link the script context to the outer window earlier to ensure that we always have TI for content. r=mrbkap 2012-04-12 11:21:12 -07:00
Masatoshi Kimura
aeb3f9e55a Bug 743049 - Part 2: Use the new API from NS_ScriptErrorReporter to get an error type name. r=jst 2012-04-11 17:55:22 -04:00
Bill McCloskey
3ace6566fe Bug 742570 - Remove the compartment option for gczeal (r=igor) 2012-04-03 11:41:56 -07:00
Veeraya Pupatwibul
1bdf9d9923 Bug 741333 - Remove PRBool/PR_TRUE/PR_FALSE that crept in r=Ms2ger 2012-04-04 11:15:10 +02:00
Ed Morley
7b8f9d67b3 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-03-31 22:41:59 +01:00
Olli Pettay
aef37dab12 Bug 641821, MutationObserver, r=sicking
--HG--
extra : rebase_source : a680c883b22976edf38eea23fb516215e081084f
2012-03-31 09:30:13 -07:00
Peter Van der Beken
c2e642fbcc Fix for bug 740069 (Generate JS bindings in C++ with a python script for DOM objects on the main thread and in workers. Infrastructure and new bindings for XMLHttpRequest). Patch by bent/bz/bholley/jst/khuey/peterv, r=bent/bz/bholley/jlebar/khuey/peterv/sicking/smaug.
--HG--
rename : js/xpconnect/tests/mochitest/test_bug462428.html => dom/bindings/test/test_lookupGetter.html
2012-03-30 21:42:20 -07:00
Ms2ger
09fa74771d Bug 738761 - Remove nsIScriptTimeoutHandler::GetScriptVersion and pass JSVersion to nsIScriptContext::EvaluateString; r=jst 2012-03-29 23:09:13 +02:00
Neil Rashbrook
ca82fa5a7c Bug 737022 Re-enable debug chrome strict warnings r=jst 2012-03-28 12:09:33 +01:00
Ms2ger
57ac657dfb Bug 734724 - Inline nsIScriptContext::ConnectToInner into its only caller; r=jst 2012-03-24 09:18:22 +01:00
Ms2ger
aafc6a951d Bug 734029 - Move nsJSContext::{Set,Create}OuterObject to nsGlobalWindow; r=bholley 2012-03-24 09:18:21 +01:00
Neil Rashbrook
6a492894d7 Bug 737022 Re-enable strict warnings when parsing XUL r=jst 2012-03-22 08:36:36 +00:00
Igor Bukanov
fbeb82e29f bug 730221 - delegating serialization of script principals to the embedding. r=:luke,:bz
Currently to serialize principals stored in JSScript we have a rather complex
schema. First there is the transcode callback that the embedding must provide
to transcode principals using XDR API. Second we use rather complex glue code
to implement that callback in terms of writing/reading nsIObjectOutputStream/
nsIObjectInputStream. This glue code is duplicated in 3 places. All this can
be avoided if we simply delegate transcoding of principals to the caller. In
addition, at least in the case of the cached startup scripts we do not even
need to transcode the principals as the the cached scripts always have the
system principal so we can skip all the transcode complexity there.

The patch implemnts this idea. In particular, the code in JS engine
responsible for transcoding of principals is replaced by the single API
function JS_XDRSetPrincipals that the embedding can use to set principals for
decoded scripts and functions. Then the startup cache uses this to set the
principals for the decoded script to the system principals. The other two
places in nsJSContext::Serialize and  XBL_SerializeFunction that need to
serialize principals together with a function or script now uses common
utilities in nsXPConnect so the serialization complexity resides in the single
 place.
2012-02-13 14:10:04 +01:00
Bill McCloskey
2898570725 Bug 736643 - Add timestamp support to GC/CC JSON output (r=terrence) 2012-03-16 16:36:26 -07:00
Bill McCloskey
bfb7513cfa Bug 735916 - Fix javascript.options.mem.log (r=terrence) 2012-03-14 16:50:35 -07:00
Terrence Cole
620f254a87 Bug 531396 - Expose detailed GC timing information API; r=smaug,billm
Extensions such as MemChaser would really like an easier to parse and more
complete record of GC events than what can be gleaned from the message console.
This patch adds GC and CC observer messages formatted as JSON containing
detailed statistics.
2012-03-05 15:33:24 -08:00
Bill McCloskey
d7a654d0c5 Bug 735014 - Wait longer for PAGE_HIDE GCs (r=smaug) 2012-03-12 16:25:03 -07:00
David Anderson
67bb3e5986 Remove JS_GetScriptedCaller (bug 732652, r=luke,mrbkap,bholley,smaug,bent). 2012-03-06 15:33:12 -08:00
Ms2ger
f86aa6d879 Bug 734481 - Make nsIJSArgArray inherit from nsIArray; r=jst 2012-03-11 09:53:05 +01:00
Ms2ger
51265ab0b6 Bug 734473 - Remove nsIScriptContext::FinalizeContext; r=jst 2012-03-11 09:51:22 +01:00
Ms2ger
584d05b577 Bug 734472 - Pass JSObject to nsIScriptContext::SetProperty; r=jst 2012-03-11 09:50:22 +01:00
Ms2ger
7aad511ab7 Bug 734468 - Make SetTerminationFunction return void; r=jst 2012-03-11 09:49:15 +01:00
Igor Bukanov
30d3de8268 bug 728250 - remove JSPrincipals::codebase. r=:luke,:bz
In just 2 cases where JSPrincipals::codebase is used it can be reconstructed from the values stored in the associated nsJSPrincipal. In addition the patch makes nsJSprincipals to inherit both from nsIPrincipal and JSPrincipals allowing to use static_cast to convert between nsIPrincipal and JSPrincipals pointers and to drop many cases of manual JSPrincipal reference counting.
2012-03-09 10:48:50 +01:00
Jacob Holzinger
acfe99c129 Bug 696242 - Convert NS_RegisterStaticAtoms and nsCSSScanner::ReportUnexpectedParams to take an array-reference rather than a pointer and length, making it impossible to pass a pointer/length that are inconsistent. r=jwalden
--HG--
extra : rebase_source : 882b5b4d500b1fa242c0a3cfa3084e4171cbaa9d
2012-03-08 18:22:57 -08:00
Bill McCloskey
1a94b8704e Bug 730853 - Make sure we occasionally CC with lots of incremental GCs (r=smaug,mccr8) 2012-03-08 15:37:13 -08:00
Bobby Holley
e6b5d5e506 Bug 733606 - Only call FinishInitForWrappedGlobal when we just created a global. r=mrbkap
Without this patch, we call the above when restoring things out of the bfcache, which is bad. It must be called exactly once.
2012-03-08 09:33:30 -08:00
Bobby Holley
87d7f5f353 Bug 720580 - Do the last bit of wrapped global initialization once the dust has settled. r=mrbkap 2012-03-05 15:22:45 -08:00
Bobby Holley
ccb745bc93 Bug 720580 - Stop passing aExtraPtr to InitClassesWithNewWrapedGlobal. r=mrbkap
We only ever pass null here anyway, and this whole infrastructure is going away real soon now.
2012-03-05 15:22:44 -08:00
Bobby Holley
2cb54e998b Bug 720580 - Remove unnecessary aIID parameter from nsIXPConnect::InitClassesWithNewWrappedGlobal. r=mrbkap 2012-03-05 15:22:44 -08:00
Andrew McCreight
7c84ed2c56 Bug 728460, part 2: remove childless nodes in slice before CC. r=smaug 2012-03-05 13:48:33 -08:00
David Mandelin
0be0db4666 Bug 730511: remove obsolete typedefs intN, uintN, r=luke 2012-02-28 15:11:11 -08:00
Peter Van der Beken
b3213dcf89 Fix for bug 637099 (Remove JS_ClearScope calls on windows). r=mrbkap.
--HG--
extra : rebase_source : 8bdadc72a0b28c78e21758fab8f1035ee1dd9f3d
2011-03-15 12:06:39 +01:00
Olli Pettay
ae2af798ac Bug 730753, call CC after full GC, r=mccr8 2012-02-27 16:49:59 +02:00
Andrew McCreight
0439fbfdb6 Bug 697115 - return detailed CC results. r=smaug 2012-02-23 20:16:37 -08:00
Luke Wagner
7a0444dc60 Bug 720289 - Back out most of bug 699974 (r=jst) 2012-02-22 19:39:29 -08:00
Olli Pettay
21bbe4cd7b Bug 728547 - Increase the forgetSkippable timer value, r=mccr8 2012-02-19 20:36:06 +02:00
Bill McCloskey
c6cd982f05 Bug 641025 - Incremental GC (r=igor,smaug,roc,cdleary,gregor) 2012-02-17 14:35:20 -08:00
Chris Leary
355fa9c5a4 Bug 700822: Randomize JIT VirtualAlloc location on win32, sans XP. (r=dmandelin)
--HG--
extra : rebase_source : 155b9cf9bb9fc6e70efd5ca4a2b20e76f3526fc5
2012-02-13 21:36:11 -08:00
Olli Pettay
e87ef6bf98 Bug 726007 - Add telemetry probes for forgetSkippable, r=mccr8
--HG--
extra : rebase_source : aa3a24a53fc95c41bbe460bba732cc5e024107dc
2012-02-11 01:30:20 +02:00
Igor Bukanov
18e6a2e079 bug 724310 - drop cx argument from JSObject field and fixed slots infallible API. r=:Waldo
--HG--
extra : rebase_source : b78519db2ff008eb5143676d2db47935f0e89f45
2012-02-05 21:07:23 +01:00
Igor Bukanov
eb3cfce3dc backout merge for bug 724310. r=irc 2012-02-09 21:28:22 +01:00
Igor Bukanov
efe64d22c0 bug 723517 - drop cx argument from JSObject field and fixed slots infallible API. r=:Waldo
--HG--
extra : rebase_source : c461dfc0e0e0462ab262cc01c2a771d3bb0971cc
2012-02-05 21:07:23 +01:00
Saint Wesonga
dd27ef3bf5 Bug 394769. Remove the additional lateness argument for timeouts and intervals. r=jst 2012-02-07 15:28:08 -05:00
Igor Bukanov
afb57a37a5 bug 723517 - Drop cx argumrent from JS_GetClass(cx, obj). r=luke 2012-02-04 01:54:57 +01:00
Jonathan Kew
d5eafc2a16 backout c18523b51058 (bug 716014) on suspicion of causing Win Debug reftest timeouts. 2012-02-03 14:01:35 +00:00
Olli Pettay
9aeadab10e Bug 716014 - Use CompartmentGC more often, r=billm,mccr8 2012-02-02 22:34:53 +02:00
Olli Pettay
a47dc45e07 Bug 723157 - Call forgetSkippable more often, r=mccr8
--HG--
extra : rebase_source : fdbca61ec4ef1d5898539f24248dd19f2767103e
2012-02-01 19:44:03 +02:00
Olli Pettay
d584597795 Bug 723064 - Many debug xpcshell-tests show leaks of 1 each of Mutex, ReentrantMonitor, nsTArray_base, nsThread, nsTimerImpl, r=mccr8
--HG--
extra : rebase_source : 7ec508569cf5a64cea12fb5f085f4feb1f9234bd
2012-02-01 19:41:17 +02:00
Olli Pettay
ec071d2d29 Bug 721543 - Call forgetSkippable before CC, r=mccr8
--HG--
extra : rebase_source : 4be50f8bcab1418c563394379abb6b4f074697b3
2012-01-30 22:06:18 +02:00
Bill McCloskey
b5b7133e4b Bug 706227 - Add way for JS_GC API users to give detailed reason for invocation (r=mccr8) 2012-01-25 10:59:55 -08:00
Andrew McCreight
c527c0ca61 bug 717711 - telemetry for time in between cycle collections. r=smaug 2012-01-20 12:02:18 -08:00
Ms2ger
b9c45d68a5 Bug 677079 - Part k: Expose outstandingRequests in jsfriendapi.h; r=cdleary 2012-01-15 09:13:09 +01:00
Ms2ger
461985aea6 Bug 677079 - Part h: Expose debuggerHandler in jsfriendapi.h; r=igor 2012-01-15 09:13:09 +01:00
Ms2ger
06db6578d4 Bug 332648 - Part e: Move AutoArrayRooter to jsapi.h; r=evilpie 2012-01-11 09:23:09 +01:00
Ms2ger
25c1f65ab1 Bug 332648 - Part c: Move AutoObjectRooter to jsapi.h; r=evilpie 2012-01-11 09:23:08 +01:00
Igor Bukanov
9963fabdd8 bug 713916 - DOMGCFinishedCallback should schedule just GC buffer shrinking, not a full shrinking GC. r=bent 2011-12-27 12:59:29 +01:00
aceman
eb3ebc1fc0 Bug 711721 - merge nsIScriptError and nsIScriptError2 interfaces; r=neil, sr=bzbarsky 2011-12-21 16:51:29 -05:00
Boris Zbarsky
e0f16fc0f8 Bug 624621 part 3. Use the pre-redirect filename as the script filename and the channel principal as the origin principal, and base our cross-origin check on the origin principal. r=mrbkap 2011-12-19 12:48:12 -05:00
Boris Zbarsky
72db2a36af Bug 624621 part 2. Add an origin principal argument on nsIScriptContext::EvaluateString and pass that through to the JS engine. r=mrbkap 2011-12-19 12:47:52 -05:00
Phil Ringnalda
26b3306837 Back out 316d6a49a603 and 98617f7b667b (bug 624621) for jsreftest failures 2011-12-19 18:40:16 -08:00
Boris Zbarsky
3b568e6b27 Bug 624621 part 3. Use the pre-redirect filename as the script filename and the channel principal as the origin principal, and base our cross-origin check on the origin principal. r=mrbkap 2011-12-19 12:48:12 -05:00
Boris Zbarsky
22d709de28 Bug 624621 part 2. Add an origin principal argument on nsIScriptContext::EvaluateString and pass that through to the JS engine. r=mrbkap 2011-12-19 12:47:52 -05:00
Matt Brubeck
446588a020 Back out c68ddc33f098 and 18332142caa5 (bug 624621) for jsreftest failures 2011-12-19 10:42:27 -08:00
Boris Zbarsky
54be144bc9 Bug 624621 part 3. Use the pre-redirect filename as the script filename and the channel principal as the origin principal, and base our cross-origin check on the origin principal. r=mrbkap 2011-12-19 12:48:12 -05:00
Boris Zbarsky
3960bc9a31 Bug 624621 part 2. Add an origin principal argument on nsIScriptContext::EvaluateString and pass that through to the JS engine. r=mrbkap 2011-12-19 12:47:52 -05:00
Ms2ger
0f59ebf4e8 Bug 709524 - Remove nsIScriptContext::SetDefaultLanguageVersion; r=jst 2011-12-18 11:13:39 +01:00
Ms2ger
a69df32e9b Bug 698420 - Make nsScriptObjectHolder typesafe; r=bz 2011-12-18 11:05:12 +01:00
Jeff Walden
87d3f92e61 Bug 708735 - Use <stdint.h> types in JSAPI and throughout SpiderMonkey. Continue to provide the {u,}int{8,16,32,64} and JS{Uint,Int}{8,16,32,64} integer types through a single header, however, for a simpler backout strategy -- and also to ease the transition for embedders. r=timeless on switching the jsd API to use the <stdint.h> types, r=luke, r=dmandelin 2011-12-08 22:54:10 -05:00
Luke Wagner
a946e99914 Bug 699974 - Plug several holes that prevent stopping slow scripts (r=jst)
--HG--
extra : rebase_source : 220a804295ee3b5fc00c6a23769f05731560c8fe
2011-12-06 13:11:22 -08:00
Nicholas Nethercote
688c469bc9 Bug 704400 - Implement --enable-dmd. r=khuey. 2011-12-08 19:09:36 -08:00
Jeff Muizelaar
9c4d4fff06 Bug 707800. Add more sampler labels. r=bgirard 2011-12-02 17:05:33 -05:00
Ryan VanderMeulen
be7e576362 Bug 705401 - Remove the rest of TraceVis. r=dvander 2011-11-28 16:08:25 -08:00
Ryan VanderMeulen
1bc3807cee Bug 705356 - Remove JSOPTION_JIT and JSOPTION_PROFILING. r=dvander 2011-11-28 14:57:31 -08:00
Terrence Cole
d0ff732f1d Bug 699279 - Run GC_SHRINK collection cycle when under memory pressure; r=mrbkap
GC_SHRINK is a fairly new type of GC that does more aggressive cleanups than a
normal GC.  This patch makes the browser run the GC in this mode when under
memory pressure, or when the user pushes the Minimize Memory Usage button when
on the about:memory page.

--HG--
extra : rebase_source : abdd11ee5fa5eb0e3d58122d3d72e98328d47668
2011-11-09 18:14:11 -08:00
Ms2ger
e1104aa74f Bug 698410 - Pass JSObject to nsIScriptContext::InitClasses; r=jmaher 2011-11-26 11:19:45 +01:00
Ms2ger
facfc166f3 Bug 698408 - Pass JSObject to nsIScriptContext::SetOuterObject; r=jst 2011-11-26 11:19:15 +01:00
Ms2ger
26d0ca20e6 Bug 698404 - Pass JSObject to nsIScriptContext::ConnectToInner; r=khuey 2011-11-26 11:18:28 +01:00
Ms2ger
773133f47e Bug 698400 - Use setObject in nsXBLPrototypeHandler::EnsureEventHandler; r=jst 2011-11-26 11:14:29 +01:00
Ms2ger
5d99363a4c Bug 698397 - Introduce nsScriptObjectHolder::setScript; r=bz 2011-11-26 11:12:18 +01:00
Ms2ger
42eac2ef8e Bug 698395 - Give nsIScriptContext::CreateNativeGlobalForInner a JSObject outparam; r=peterv 2011-11-26 11:12:16 +01:00
Ms2ger
6978939921 Bug 698394 - Pass JSObject handler to nsIScriptContext::BindCompiledEventHandler; r=sicking 2011-11-26 11:11:35 +01:00
Ms2ger
2d2fa7747e Bug 698390 - Make nsIScriptContext::CallEventHandler take a JSObject handler parameter; r=sicking 2011-11-26 11:09:20 +01:00
Ms2ger
13974ab4fc Bug 698389 - Give nsIScriptContext::CompileFunction a JSObject outparam; r=peterv 2011-11-26 11:08:42 +01:00
Ms2ger
a24efdb5cc Bug 698388 - Pass JSObject to nsIScriptContext::CompileFunction; r=sicking 2011-11-26 11:07:55 +01:00
David Anderson
4a1362a06f Remove browser prefs for the tracer (bug 698201 part 7, r+sr=gal). 2011-11-22 17:41:43 -05:00
Ms2ger
433468f9b0 Bug 698380 - Give nsIScriptContext::EvaluateStringWithValue a JS::Value retval parameter; r=peterv 2011-11-16 08:50:20 +01:00