Re: Accelerating exact rooting work
On 4/23/13 11:18 AM, Ehsan Akhgari wrote: Can the stuff in objdir/dom/bindings be fixed whole-sale by changing the WebIDL codegen? This is nearly done: we're down to the issues in bug 868715, which largely affect the js-implemented codegen at the moment, and the problem of what to do with TypedArray structs. Sadly, this last doesn't fall into the easy and tedious bucket. :( David Zbarsky has also fixed all the hazards in classinfo and a bunch more in various other files under dom/, so we're down to about 350 rooting hazards in the browser, from about 2500 a week or so ago. If people want to help out, I'm including the full list of browser hazards at the end of this mail. Please comment in bug 867844 if you plan to fix the content/ hazards and please comment in bug 868312 if you plan to fix things in dom/, and in other cases file bugs blocking 831379, just so we can avoid duplicating work. -Boris P.S. Full hazard list can be found at http://people.mozilla.org/~sfink/analysis/browser/rootingHazards.txt and the list of relevant files as of this morning is: 1 hazards in js/src/jsapi-tests/testXDR.cpp 1 hazards in js/xpconnect/src/XPCConvert.cpp 1 hazards in dom/ipc/StructuredCloneUtils.cpp 1 hazards in js/src/ion/AsmJS.cpp 1 hazards in dist/include/mozilla/dom/CallbackFunction.h 1 hazards in js/xpconnect/src/XPCVariant.cpp 1 hazards in content/media/webaudio/AudioBuffer.cpp 1 hazards in dom/workers/Exceptions.cpp 1 hazards in js/src/ctypes/typedefs.h 1 hazards in dom/workers/ChromeWorkerScope.cpp 1 hazards in js/src/ion/Lowering.cpp 1 hazards in clude/molude/mozilla/dom/TypedArray.h 1 hazards in content/xul/document/src/XULDocument.cpp 1 hazards in js/src/ctypes/CTypes.cpp 1 hazards in js/src/vm/ParallelDo.cpp 1 hazards in content/base/src/EventSource.cpp 1 hazards in content/base/src/nsNodeUtils.cpp 1 hazards in js/xpconnect/src/XPCJSRuntime.cpp 1 hazards in toolkit/xre/nsEmbedFunctions.cpp 1 hazards in dist/include/mozilla/dom/BindingUtils.h 1 hazards in dom/indexedDB/IDBRequest.cpp 1 hazards in dom/indexedDB/IDBDatabase.cpp 1 hazards in clude/jslude/js/Vector.h 1 hazards in content/events/src/nsEventListenerManager.cpp 1 hazards in content/base/src/nsContentUtils.cpp 1 hazards in content/html/content/src/UndoManager.cpp 1 hazards in content/xbl/src/nsXBLSerialize.cpp 1 hazards in content/html/content/src/HTMLMediaElement.cpp 1 hazards in dom/workers/ImageData.cpp 1 hazards in dom/camera/CameraControlImpl.cpp 1 hazards in content/xslt/src/xslt/txMozillaXSLTProcessor.cpp 1 hazards in js/jsd/jsd_obj.cpp 1 hazards in content/events/src/nsEventListenerService.cpp 1 hazards in security/manager/ssl/src/nsCrypto.cpp 1 hazards in content/html/content/src/nsGenericHTMLElement.cpp 1 hazards in tools/profiler/TableTicker.cpp 1 hazards in js/xpconnect/src/nsDOMQS.h 1 hazards in content/xul/document/src/nsXULPrototypeDocument.cpp 1 hazards in js/xpconnect/src/XPCQuickStubs.cpp 1 hazards in content/xbl/src/nsXBLBinding.cpp 1 hazards in widget/xpwidgets/GfxInfoBase.cpp 1 hazards in js/xpconnect/src/XPCQuickStubs.h 1 hazards in content/xbl/src/nsXBLDocumentInfo.cpp 1 hazards in toolkit/components/telemetry/Telemetry.cpp 1 hazards in dom/camera/DOMCameraControl.cpp 1 hazards in content/base/src/nsInProcessTabChildGlobal.h 1 hazards in dom/mobilemessage/src/ipc/SmsIPCService.cpp 1 hazards in js//inclst/include/mozilla/dom/workers/bindings/EventTarget.h 1 hazards in dom/indexedDB/IndexedDatabaseManager.cpp 1 hazards in dist/include/mozilla/dom/EventListenerBinding.h 1 hazards in content/base/src/nsContentList.cpp 1 hazards in content/canvas/src/CanvasUtils.h 1 hazards in storage/src/mozStorageAsyncStatementParams.cpp 1 hazards in js/src/vm/Shape.cpp 1 hazards in tools/profiler/ProfileEntry.cpp 1 hazards in content/base/src/nsDOMBlobBuilder.cpp 1 hazards in dom/mobilemessage/src/SmsManager.cpp 1 hazards in clude/molude/mozilla/jsipc/ContextWrapperChild.h 1 hazards in dom/file/ArchiveRequest.cpp 1 hazards in content/html/document/src/nsHTMLDocument.cpp 1 hazards in content/base/src/nsDocument.h 1 hazards in js/src/ion/IonCaches.cpp 1 hazards in content/xul/content/src/nsXULElement.cpp 1 hazards in js/src/vm/Debugger.cpp 1 hazards in dom/base/DOMRequest.cpp 2 hazards in dom/network/src/TCPSocketChild.cpp 2 hazards in dom/system/OSFileConstants.cpp 2 hazards in content/xul/document/src/nsXULPrototypeCache.cpp 2 hazards in content/base/src/nsXMLHttpRequest.cpp 2 hazards in dom/devicestorage/nsDeviceStorage.cpp 2 hazards in storage/src/mozStorageStatementParams.cpp 2 hazards in content/base/src/WebSocket.cpp 2 hazards in storage/src/mozStorageStatementRow.cpp 2 hazards in js/jsd/jsd_stak.cpp 2 hazards in content/xul/templates/src/nsXULTemplateBuilder.cpp 2 hazards in js/src/jswrapper.cpp 3 hazards in tools/profiler/JSObjectBuilder.cpp 3 hazards in dom/workers/EventTarget.cpp 3 hazards in js/xpconnect/src/XPCWrappedNative.cpp 3 hazards in dist/include/nsTArrayHelpers.h 3 hazards in
Re: Accelerating exact rooting work
At the moment it's really just Jono working full time on this, and terrence and other people reviewing. This stuff is actually quite easy and you can expect really fast review times from our side. In some parts of the code rooting could literally just mean to replace JS::Value to JS::RootedValue and fixing the references to the variable. It's really easy once you did it a few times. Here is a list of all files that still have rooting problems: http://pastebin.mozilla.org/2340241 And the details for each and every problem: https://people.mozilla.com/~sfink/analysis/browser/rootingHazards.txt We are using https://bugzilla.mozilla.org/show_bug.cgi?id=831379 to track the rooting progress, make sure to file every bug as blocking this one. I would appreciate if every module peer or owner would just take a look at his/her module and tried to fix some of the issue. If you are unsure or need help, ask us on #jsapi. Thanks, Tom On Tue, Apr 23, 2013 at 3:03 AM, Robert O'Callahan rob...@ocallahan.org wrote: On Tue, Apr 23, 2013 at 5:36 AM, Terrence Cole tc...@mozilla.com wrote: Our exact rooting work is at a spot right now where we could easily use more hands to accelerate the process. The main problem is that the work is easy and tedious: a hard sell for pretty much any hacker at mozilla. It sounds worthwhile to encourage developers who aren't currently working on critical-path projects to pile onto the exact rooting project. Getting GGC over the line reaps some pretty large benefits and it's an all-or-nothing project, unlike say pursuing the long tail of WebIDL conversions. If that sounds right, put out a call for volunteers (by which I include paid staff) to help push on exact rooting, with detailed instructions. I know some people who could probably help. Rob -- q“qIqfq qyqoquq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qtqhqeqmq.q qAqnqdq qiqfq qyqoquq qdqoq qgqoqoqdq qtqoq qtqhqoqsqeq qwqhqoq qaqrqeq qgqoqoqdq qtqoq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qdqoq qtqhqaqtq.q ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Accelerating exact rooting work
On 04/23/2013 04:07 PM, Tom Schuster wrote: At the moment it's really just Jono working full time on this, and terrence and other people reviewing. This stuff is actually quite easy and you can expect really fast review times from our side. In some parts of the code rooting could literally just mean to replace JS::Value to JS::RootedValue and fixing the references to the variable. It's really easy once you did it a few times. Here is a list of all files that still have rooting problems: http://pastebin.mozilla.org/2340241 And the details for each and every problem: https://people.mozilla.com/~sfink/analysis/browser/rootingHazards.txt We are using https://bugzilla.mozilla.org/show_bug.cgi?id=831379 to track the rooting progress, make sure to file every bug as blocking this one. I would appreciate if every module peer or owner would just take a look at his/her module and tried to fix some of the issue. If you are unsure or need help, ask us on #jsapi. Thanks, Tom I found http://mxr.mozilla.org/mozilla-central/source/js/public/RootingAPI.h quite useful, but there are few things to clarify. For example some code uses HandleObject and some code HandleJSObject* and having two ways to do the same thing just makes the code harder to read. On Tue, Apr 23, 2013 at 3:03 AM, Robert O'Callahan rob...@ocallahan.org wrote: On Tue, Apr 23, 2013 at 5:36 AM, Terrence Cole tc...@mozilla.com wrote: Our exact rooting work is at a spot right now where we could easily use more hands to accelerate the process. The main problem is that the work is easy and tedious: a hard sell for pretty much any hacker at mozilla. It sounds worthwhile to encourage developers who aren't currently working on critical-path projects to pile onto the exact rooting project. Getting GGC over the line reaps some pretty large benefits and it's an all-or-nothing project, unlike say pursuing the long tail of WebIDL conversions. If that sounds right, put out a call for volunteers (by which I include paid staff) to help push on exact rooting, with detailed instructions. I know some people who could probably help. Rob -- q“qIqfq qyqoquq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qtqhqeqmq.q qAqnqdq qiqfq qyqoquq qdqoq qgqoqoqdq qtqoq qtqhqoqsqeq qwqhqoq qaqrqeq qgqoqoqdq qtqoq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qdqoq qtqhqaqtq.q ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Accelerating exact rooting work
You wont have to bother with HandleObject or RootedObject etc. These are internal to js/ and we take care of these cases. Just use JS::HandleJSObject* or JS::RootedJSObject*. Thanks for pointing people to this file. PS: The correct handle for Jon Coppeard is of course jonco! On Tue, Apr 23, 2013 at 3:58 PM, smaug sm...@welho.com wrote: On 04/23/2013 04:07 PM, Tom Schuster wrote: At the moment it's really just Jono working full time on this, and terrence and other people reviewing. This stuff is actually quite easy and you can expect really fast review times from our side. In some parts of the code rooting could literally just mean to replace JS::Value to JS::RootedValue and fixing the references to the variable. It's really easy once you did it a few times. Here is a list of all files that still have rooting problems: http://pastebin.mozilla.org/2340241 And the details for each and every problem: https://people.mozilla.com/~sfink/analysis/browser/rootingHazards.txt We are using https://bugzilla.mozilla.org/show_bug.cgi?id=831379 to track the rooting progress, make sure to file every bug as blocking this one. I would appreciate if every module peer or owner would just take a look at his/her module and tried to fix some of the issue. If you are unsure or need help, ask us on #jsapi. Thanks, Tom I found http://mxr.mozilla.org/mozilla-central/source/js/public/RootingAPI.h quite useful, but there are few things to clarify. For example some code uses HandleObject and some code HandleJSObject* and having two ways to do the same thing just makes the code harder to read. On Tue, Apr 23, 2013 at 3:03 AM, Robert O'Callahan rob...@ocallahan.org wrote: On Tue, Apr 23, 2013 at 5:36 AM, Terrence Cole tc...@mozilla.com wrote: Our exact rooting work is at a spot right now where we could easily use more hands to accelerate the process. The main problem is that the work is easy and tedious: a hard sell for pretty much any hacker at mozilla. It sounds worthwhile to encourage developers who aren't currently working on critical-path projects to pile onto the exact rooting project. Getting GGC over the line reaps some pretty large benefits and it's an all-or-nothing project, unlike say pursuing the long tail of WebIDL conversions. If that sounds right, put out a call for volunteers (by which I include paid staff) to help push on exact rooting, with detailed instructions. I know some people who could probably help. Rob -- q“qIqfq qyqoquq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qtqhqeqmq.q qAqnqdq qiqfq qyqoquq qdqoq qgqoqoqdq qtqoq qtqhqoqsqeq qwqhqoq qaqrqeq qgqoqoqdq qtqoq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qdqoq qtqhqaqtq.q ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Accelerating exact rooting work
There's a rooting guide on the wiki here: https://developer.mozilla.org/en-US/docs/SpiderMonkey/GC_Rooting_Guide It's not very thorough, but it's something. On Tue, Apr 23, 2013 at 3:14 PM, Tom Schuster t...@schuster.me wrote: You wont have to bother with HandleObject or RootedObject etc. These are internal to js/ and we take care of these cases. Just use JS::HandleJSObject* or JS::RootedJSObject*. Thanks for pointing people to this file. PS: The correct handle for Jon Coppeard is of course jonco! On Tue, Apr 23, 2013 at 3:58 PM, smaug sm...@welho.com wrote: On 04/23/2013 04:07 PM, Tom Schuster wrote: At the moment it's really just Jono working full time on this, and terrence and other people reviewing. This stuff is actually quite easy and you can expect really fast review times from our side. In some parts of the code rooting could literally just mean to replace JS::Value to JS::RootedValue and fixing the references to the variable. It's really easy once you did it a few times. Here is a list of all files that still have rooting problems: http://pastebin.mozilla.org/2340241 And the details for each and every problem: https://people.mozilla.com/~sfink/analysis/browser/rootingHazards.txt We are using https://bugzilla.mozilla.org/show_bug.cgi?id=831379 to track the rooting progress, make sure to file every bug as blocking this one. I would appreciate if every module peer or owner would just take a look at his/her module and tried to fix some of the issue. If you are unsure or need help, ask us on #jsapi. Thanks, Tom I found http://mxr.mozilla.org/mozilla-central/source/js/public/RootingAPI.h quite useful, but there are few things to clarify. For example some code uses HandleObject and some code HandleJSObject* and having two ways to do the same thing just makes the code harder to read. On Tue, Apr 23, 2013 at 3:03 AM, Robert O'Callahan rob...@ocallahan.org wrote: On Tue, Apr 23, 2013 at 5:36 AM, Terrence Cole tc...@mozilla.com wrote: Our exact rooting work is at a spot right now where we could easily use more hands to accelerate the process. The main problem is that the work is easy and tedious: a hard sell for pretty much any hacker at mozilla. It sounds worthwhile to encourage developers who aren't currently working on critical-path projects to pile onto the exact rooting project. Getting GGC over the line reaps some pretty large benefits and it's an all-or-nothing project, unlike say pursuing the long tail of WebIDL conversions. If that sounds right, put out a call for volunteers (by which I include paid staff) to help push on exact rooting, with detailed instructions. I know some people who could probably help. Rob -- q“qIqfq qyqoquq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qtqhqeqmq.q qAqnqdq qiqfq qyqoquq qdqoq qgqoqoqdq qtqoq qtqhqoqsqeq qwqhqoq qaqrqeq qgqoqoqdq qtqoq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qdqoq qtqhqaqtq.q ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Accelerating exact rooting work
Related nitpick: *Warning:* The information at SpiderMonkey Garbage Collection Tipshttps://developer.mozilla.org/en-US/docs/SpiderMonkey_Garbage_Collection_Tipsand in the JSAPI User Guidehttps://developer.mozilla.org/en-US/docs/SpiderMonkey/JSAPI_User_Guideis woefully out of date and should be ignored completely. If that's true, why are the linked pages still around? Is it really hard to remove the out of date/incorrect information? Seeing messages like this on MDN alongside blatantly wrong information *without* a disclaimer causes me to intrinsically distrust everything I read there. :) On Tue, Apr 23, 2013 at 7:18 AM, Till Schneidereit tschneider...@gmail.comwrote: There's a rooting guide on the wiki here: https://developer.mozilla.org/en-US/docs/SpiderMonkey/GC_Rooting_Guide It's not very thorough, but it's something. On Tue, Apr 23, 2013 at 3:14 PM, Tom Schuster t...@schuster.me wrote: You wont have to bother with HandleObject or RootedObject etc. These are internal to js/ and we take care of these cases. Just use JS::HandleJSObject* or JS::RootedJSObject*. Thanks for pointing people to this file. PS: The correct handle for Jon Coppeard is of course jonco! On Tue, Apr 23, 2013 at 3:58 PM, smaug sm...@welho.com wrote: On 04/23/2013 04:07 PM, Tom Schuster wrote: At the moment it's really just Jono working full time on this, and terrence and other people reviewing. This stuff is actually quite easy and you can expect really fast review times from our side. In some parts of the code rooting could literally just mean to replace JS::Value to JS::RootedValue and fixing the references to the variable. It's really easy once you did it a few times. Here is a list of all files that still have rooting problems: http://pastebin.mozilla.org/2340241 And the details for each and every problem: https://people.mozilla.com/~sfink/analysis/browser/rootingHazards.txt We are using https://bugzilla.mozilla.org/show_bug.cgi?id=831379 to track the rooting progress, make sure to file every bug as blocking this one. I would appreciate if every module peer or owner would just take a look at his/her module and tried to fix some of the issue. If you are unsure or need help, ask us on #jsapi. Thanks, Tom I found http://mxr.mozilla.org/mozilla-central/source/js/public/RootingAPI.h quite useful, but there are few things to clarify. For example some code uses HandleObject and some code HandleJSObject* and having two ways to do the same thing just makes the code harder to read. On Tue, Apr 23, 2013 at 3:03 AM, Robert O'Callahan rob...@ocallahan.org wrote: On Tue, Apr 23, 2013 at 5:36 AM, Terrence Cole tc...@mozilla.com wrote: Our exact rooting work is at a spot right now where we could easily use more hands to accelerate the process. The main problem is that the work is easy and tedious: a hard sell for pretty much any hacker at mozilla. It sounds worthwhile to encourage developers who aren't currently working on critical-path projects to pile onto the exact rooting project. Getting GGC over the line reaps some pretty large benefits and it's an all-or-nothing project, unlike say pursuing the long tail of WebIDL conversions. If that sounds right, put out a call for volunteers (by which I include paid staff) to help push on exact rooting, with detailed instructions. I know some people who could probably help. Rob -- q“qIqfq qyqoquq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qtqhqeqmq.q qAqnqdq qiqfq qyqoquq qdqoq qgqoqoqdq qtqoq qtqhqoqsqeq qwqhqoq qaqrqeq qgqoqoqdq qtqoq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qdqoq qtqhqaqtq.q ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform -- -kg ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Accelerating exact rooting work
On 2013-04-23 9:07 AM, Tom Schuster wrote: At the moment it's really just Jono working full time on this, and terrence and other people reviewing. This stuff is actually quite easy and you can expect really fast review times from our side. In some parts of the code rooting could literally just mean to replace JS::Value to JS::RootedValue and fixing the references to the variable. It's really easy once you did it a few times. Does this also apply to code holding on to JSObject*s? I've been adding a whole bunch of those cases lately. Here is a list of all files that still have rooting problems: http://pastebin.mozilla.org/2340241 And the details for each and every problem: https://people.mozilla.com/~sfink/analysis/browser/rootingHazards.txt Can the stuff in objdir/dom/bindings be fixed whole-sale by changing the WebIDL codegen? Cheers, Ehsan ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Accelerating exact rooting work
Hmm, another question. Your list includes a bunch of stuff under tools/profiler, and I took a quick look and picked JSObjectBuilder.cpp. Changing the JS::Value's there to JS::RootedValue's cause compiler errors about conversion from jsvals when using macros such as INT_TO_JSVAL, STRING_TO_JSVAL, etc. It's not clear to me what the correct fix there is. Cheers, Ehsan On 2013-04-23 9:07 AM, Tom Schuster wrote: At the moment it's really just Jono working full time on this, and terrence and other people reviewing. This stuff is actually quite easy and you can expect really fast review times from our side. In some parts of the code rooting could literally just mean to replace JS::Value to JS::RootedValue and fixing the references to the variable. It's really easy once you did it a few times. Here is a list of all files that still have rooting problems: http://pastebin.mozilla.org/2340241 And the details for each and every problem: https://people.mozilla.com/~sfink/analysis/browser/rootingHazards.txt We are using https://bugzilla.mozilla.org/show_bug.cgi?id=831379 to track the rooting progress, make sure to file every bug as blocking this one. I would appreciate if every module peer or owner would just take a look at his/her module and tried to fix some of the issue. If you are unsure or need help, ask us on #jsapi. Thanks, Tom On Tue, Apr 23, 2013 at 3:03 AM, Robert O'Callahan rob...@ocallahan.org wrote: On Tue, Apr 23, 2013 at 5:36 AM, Terrence Cole tc...@mozilla.com wrote: Our exact rooting work is at a spot right now where we could easily use more hands to accelerate the process. The main problem is that the work is easy and tedious: a hard sell for pretty much any hacker at mozilla. It sounds worthwhile to encourage developers who aren't currently working on critical-path projects to pile onto the exact rooting project. Getting GGC over the line reaps some pretty large benefits and it's an all-or-nothing project, unlike say pursuing the long tail of WebIDL conversions. If that sounds right, put out a call for volunteers (by which I include paid staff) to help push on exact rooting, with detailed instructions. I know some people who could probably help. Rob -- q“qIqfq qyqoquq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qtqhqeqmq.q qAqnqdq qiqfq qyqoquq qdqoq qgqoqoqdq qtqoq qtqhqoqsqeq qwqhqoq qaqrqeq qgqoqoqdq qtqoq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qdqoq qtqhqaqtq.q ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Accelerating exact rooting work
On Tue, Apr 23, 2013 at 8:18 AM, Ehsan Akhgari ehsan.akhg...@gmail.comwrote: Can the stuff in objdir/dom/bindings be fixed whole-sale by changing the WebIDL codegen? Yes. bz is looking into it. - Kyle ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Accelerating exact rooting work
On 4/23/13 11:18 AM, Ehsan Akhgari wrote: Does this also apply to code holding on to JSObject*s? If you're holding them on the heap... sigh. Just trace them and use fromMarkedLocation as needed; there is nothing better at the moment. You can't use JS::Rooted on the heap. Can the stuff in objdir/dom/bindings be fixed whole-sale by changing the WebIDL codegen? Yes, and it's being done. See https://bugzilla.mozilla.org/show_bug.cgi?id=864727 and https://bugzilla.mozilla.org/show_bug.cgi?id=861022 which cover most of it. -Boris ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: Accelerating exact rooting work
- Original Message - Does this also apply to code holding on to JSObject*s? I've been adding a whole bunch of those cases lately. If you are telling the cycle collector about those JSObjects, then it should get fixed whenever CCed stuff is fixed. Andrew ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Accelerating exact rooting work
On Tue, Apr 23, 2013 at 5:36 AM, Terrence Cole tc...@mozilla.com wrote: Our exact rooting work is at a spot right now where we could easily use more hands to accelerate the process. The main problem is that the work is easy and tedious: a hard sell for pretty much any hacker at mozilla. It sounds worthwhile to encourage developers who aren't currently working on critical-path projects to pile onto the exact rooting project. Getting GGC over the line reaps some pretty large benefits and it's an all-or-nothing project, unlike say pursuing the long tail of WebIDL conversions. If that sounds right, put out a call for volunteers (by which I include paid staff) to help push on exact rooting, with detailed instructions. I know some people who could probably help. Rob -- q“qIqfq qyqoquq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qtqhqeqmq.q qAqnqdq qiqfq qyqoquq qdqoq qgqoqoqdq qtqoq qtqhqoqsqeq qwqhqoq qaqrqeq qgqoqoqdq qtqoq qyqoquq,q qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq qdqoq qtqhqaqtq.q ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform