Commit Graph

420 Commits

Author SHA1 Message Date
Bill McCloskey
ef892730c4 Bug 735099 - Re-enable incremental GC (r=dmandelin) 2012-05-31 08:17:13 -07:00
Jason Orendorff
d0e13c7d3f Bug 753885 - Part 2: Add JSOPTION_ALLOW_XML, making E4X support optional per-context. r=Waldo. 2012-05-30 15:05:59 -05:00
Nils Maier
be802ad709 Bug 754771 - Add identifying information to all system compartments. r=bz 2012-05-16 19:42:10 +02:00
Andrew McCreight
1154f7352e Bug 757537 - use nsCString for forced GC message. r=smaug 2012-05-22 13:10:37 -07:00
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Olli Pettay
c7525b178b Bug 716014 Investigate if we could use CompartmentGC more often, r=billm+terrence
--HG--
extra : rebase_source : f0cfb9cdd2e2823898f4c18402df53e7b6041bac
2012-05-09 21:53:23 +03:00
Olli Pettay
9d5d8db7e0 Backout Bug 716014, a=bustage 2012-05-05 18:20:09 +03:00
Olli Pettay
b36d55e20b Bug 716014, use compartment gc more often, r=billm
--HG--
extra : rebase_source : cf20b7aca16349e4007da24cfb5b19ab7a16cad8
2012-05-05 11:55:30 +03:00
Steve Fink
68da1345a6 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
19c2240067 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
38b851ba07 Bug 744103, part 2 - Change NoteScriptChild to NoteJSChild. r=smaug 2012-05-03 12:28:10 -07:00
Ed Morley
2d35fc9b56 Merge mozilla-central to mozilla-inbound 2012-05-03 20:13:41 +01:00
Olli Pettay
23e1d57c14 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
657b0b8a57 Back out bug 730208 and bug 747543 because of xpcshell test failures 2012-04-24 20:47:16 -07:00
Steve Fink
f05afcc260 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
5843a0733d 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
2577075a7a Bug 744332 - Remove nsXULPrototypeScript::ScriptObjectHolder::mLangID. r=jst, f=Ms2ger 2012-04-24 18:31:28 -04:00
Boris Zbarsky
224115946f 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
6af4b3543d Bug 743615 - Handle ImageData in the main thread runtime callbacks. r=bent 2012-04-24 12:58:07 +02:00
David Anderson
38bfcb0aba 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
babe364f16 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
f09712023c 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
210b823250 Bug 742570 - Remove the compartment option for gczeal (r=igor) 2012-04-03 11:41:56 -07:00
Veeraya Pupatwibul
26e9a6a204 Bug 741333 - Remove PRBool/PR_TRUE/PR_FALSE that crept in r=Ms2ger 2012-04-04 11:15:10 +02:00
Ed Morley
651aa424a1 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-03-31 22:41:59 +01:00
Olli Pettay
f198500ad9 Bug 641821, MutationObserver, r=sicking
--HG--
extra : rebase_source : a680c883b22976edf38eea23fb516215e081084f
2012-03-31 09:30:13 -07:00
Peter Van der Beken
09128a75d3 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
09e5acca2c Bug 738761 - Remove nsIScriptTimeoutHandler::GetScriptVersion and pass JSVersion to nsIScriptContext::EvaluateString; r=jst 2012-03-29 23:09:13 +02:00
Neil Rashbrook
8cc5335d19 Bug 737022 Re-enable debug chrome strict warnings r=jst 2012-03-28 12:09:33 +01:00
Ms2ger
d1ba1fe158 Bug 734724 - Inline nsIScriptContext::ConnectToInner into its only caller; r=jst 2012-03-24 09:18:22 +01:00
Ms2ger
57b8d41a26 Bug 734029 - Move nsJSContext::{Set,Create}OuterObject to nsGlobalWindow; r=bholley 2012-03-24 09:18:21 +01:00
Neil Rashbrook
198703fe5f Bug 737022 Re-enable strict warnings when parsing XUL r=jst 2012-03-22 08:36:36 +00:00
Igor Bukanov
5542df3342 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
8a370df06f Bug 736643 - Add timestamp support to GC/CC JSON output (r=terrence) 2012-03-16 16:36:26 -07:00
Bill McCloskey
c34cd398f5 Bug 735916 - Fix javascript.options.mem.log (r=terrence) 2012-03-14 16:50:35 -07:00
Terrence Cole
2fc27e9994 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
357ce73929 Bug 735014 - Wait longer for PAGE_HIDE GCs (r=smaug) 2012-03-12 16:25:03 -07:00
David Anderson
47563b2221 Remove JS_GetScriptedCaller (bug 732652, r=luke,mrbkap,bholley,smaug,bent). 2012-03-06 15:33:12 -08:00
Ms2ger
b60bdc70f6 Bug 734481 - Make nsIJSArgArray inherit from nsIArray; r=jst 2012-03-11 09:53:05 +01:00
Ms2ger
fdc871b475 Bug 734473 - Remove nsIScriptContext::FinalizeContext; r=jst 2012-03-11 09:51:22 +01:00
Ms2ger
a6baed04c8 Bug 734472 - Pass JSObject to nsIScriptContext::SetProperty; r=jst 2012-03-11 09:50:22 +01:00
Ms2ger
041916ca61 Bug 734468 - Make SetTerminationFunction return void; r=jst 2012-03-11 09:49:15 +01:00
Igor Bukanov
f0bddf0e88 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
86f648606c 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
7a09a537af 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
676be52242 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
73485885f8 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
d3868262e8 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
1a5208e617 Bug 720580 - Remove unnecessary aIID parameter from nsIXPConnect::InitClassesWithNewWrappedGlobal. r=mrbkap 2012-03-05 15:22:44 -08:00
Andrew McCreight
001abedc5d Bug 728460, part 2: remove childless nodes in slice before CC. r=smaug 2012-03-05 13:48:33 -08:00