Re: Accelerating exact rooting work

2013-05-04 Thread Boris Zbarsky

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

2013-04-23 Thread Tom Schuster
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

2013-04-23 Thread smaug

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

2013-04-23 Thread Tom Schuster
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

2013-04-23 Thread Till Schneidereit
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

2013-04-23 Thread Kevin Gadd
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

2013-04-23 Thread Ehsan Akhgari

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

2013-04-23 Thread Ehsan Akhgari
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

2013-04-23 Thread Kyle Huey
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

2013-04-23 Thread Boris Zbarsky

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

2013-04-23 Thread Andrew McCreight
- 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

2013-04-22 Thread Robert O'Callahan
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