Re: [JS-internals] jsid: struct vs int

2013-08-22 Thread Benjamin Peterson
2013/8/22 Nicholas Nethercote : > Hi, > > |jsid| is a struct in debug builds and an integral type in opt builds. > From jspubtd.h: > > /* > * In release builds, jsid is defined to be an integral type. This > * prevents many bugs from being caught at compile time. E.g.: > * > * jsid id = ... >

[JS-internals] jsid: struct vs int

2013-08-22 Thread Nicholas Nethercote
Hi, |jsid| is a struct in debug builds and an integral type in opt builds. From jspubtd.h: /* * In release builds, jsid is defined to be an integral type. This * prevents many bugs from being caught at compile time. E.g.: * * jsid id = ... * if (id) // error *... * * s

Re: [JS-internals] What's in a (handle's) name?

2013-08-22 Thread Nicholas Nethercote
On Thu, Aug 22, 2013 at 8:26 PM, Luke Wagner wrote: > > Just so I understand, was your goal to remove the #include "RootingAPI.h" > from jsapi.h and was the problem you had the inability to forward-declare a > typedef, or was there more too it? Not quite. The problem is that some code outside

Re: [JS-internals] What's in a (handle's) name?

2013-08-22 Thread Luke Wagner
> I can offer one new data point. I've been working on jsapi.h include > minimization (bug 908050). That's pushed me into the option 1 camp, > because having to deal with the typedefs complicates things -- i.e. > forward declarations for Handle aren't enough; you have to include > js/RootingAPI.

Re: [JS-internals] What's in a (handle's) name?

2013-08-22 Thread Nicholas Nethercote
On Thu, Jun 20, 2013 at 7:21 AM, Till Schneidereit wrote: > > We still don't have a clear line on how to name handles, both in- and > outside of the engine. > > Options: > 1. don't use any typedefs at all, so always use (js:: and JS::)Handle > 2. change the template to the form Handle, roughly mat