[coyotos-dev] IDL compatibility

Jonathan S. Shapiro shap at eros-os.com
Tue Jul 10 01:44:37 EDT 2007


On Mon, 2007-07-09 at 21:44 -0700, Charles Landau wrote:
> >   A. The bad way: add a second declaration with a matching signature
> >      and assign it the same method code point as the first one.
> >
> >      This should not be allowed to work. Future versions of CapIDL
> >      will enforce the "no overlapping code points" rule.
> 
> I don't think any versions of CapIDL have ever allowed you to assign 
> the method code. I agree that for robustness you don't want users 
> specifying method codes.

I think that the syntax is there and presently unsupported. Hmm. Nope. I
just checked the parser, and it isn't there. It clearly should be.

> The solution here is probably to use a tool like sed to reduce the 
> length of the transition period to zero.
> 
> >   3. One less case in a switch statement that is dispatching on
> >      cryptographically assigned identifiers.
> >
> >      On average, this will save exactly one branch instruction
> >      in the switch dispatch sieve. It isn't worth it.
> 
> It appears we've switched sides on this issue. In your message at 
> http://sourceforge.net/mailarchive/message.php?msg_name=1183234315.15542.21.camel%40vmx.eros-os.org, 
> you argued that one branch instruction in the space bank alone was 
> critical.

I think what I argued was that one branch imposed on a common path was
critical. In this case we are talking about a single branch added only
in a rare case.

> Actually, if I'm changing the root name from "eros" to "capros", all 
> the names change, so the number of branches doubles.

Actually, the switch statement code will use a binary search algorithm,
so the number of branches goes up by exactly one.
-- 
Jonathan S. Shapiro, Ph.D.
Managing Director
The EROS Group, LLC



More information about the coyotos-dev mailing list