You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Stefan Fuhrmann <st...@alice-dsl.de> on 2010/10/01 08:36:21 UTC

Re: svn commit: r1002898 - in /subversion/trunk: ./ subversion/include/svn_string.h subversion/libsvn_subr/svn_string.c

  On 30.09.2010 02:12, Blair Zajac wrote:
> On 09/29/2010 05:01 PM, stefan2@apache.org wrote:
>> Author: stefan2
>> Date: Thu Sep 30 00:01:45 2010
>> New Revision: 1002898
>>
>> URL: http://svn.apache.org/viewvc?rev=1002898&view=rev
>> Log:
>> Merge r1001413 from the performance branch.
>>
>> Improve documentation on svn_stringbuf_appendbyte.
>>
>> Approved by: Hyrum K. Wright<hyrum_wright_at_mail.utexas.edu>
>>
>
>>   /** Append a single character @a byte onto @a targetstr.
>> + * This is an optimized version of @ref svn_stringbuf_appendbytes
>> + * that is much faster to call and execute. Gains vary with the ABI.
>
> When you say ABI, you actually mean the C calling convention ABI, not 
> the Subversion ABI?  I think this would be a good distinction to 
> document here, since Subversion has its own ABI that we strictly 
> maintain.

I mean calling convention. Where is the Subversion ABI defined?

-- Stefan^2.

Re: svn commit: r1002898 - in /subversion/trunk: ./ subversion/include/svn_string.h subversion/libsvn_subr/svn_string.c

Posted by Stefan Fuhrmann <st...@alice-dsl.de>.
  On 01.10.2010 21:07, Greg Stein wrote:
> On Fri, Oct 1, 2010 at 04:36, Stefan Fuhrmann
> <st...@alice-dsl.de>  wrote:
>> ...
>> I mean calling convention. Where is the Subversion ABI defined?
> subversion/include/
>
> It follows guidelines from:
>    http://apr.apache.org/versioning.html
>
> With some additional clarifications/notes at:
>    http://subversion.apache.org/docs/community-guide/releasing.html#release-numbering
>
>
> Cheers,
> -g
As far as I understand them, these are mere API compatibility
rules, i.e. not to change existing API functions and structures.
As long as the same compiler and target system is being used,
the result will be an unchanged ABI.

For C code, no further formal ABI definitions should be necessary.
The few possible issues are addressed implicitly (APR memory
pools) or decided on demand (exceptions / signaling).

For C++ bindings, that will not be enough. Too many things are
(compiler) implementation dependent.

-- Stefan^2.

Re: svn commit: r1002898 - in /subversion/trunk: ./ subversion/include/svn_string.h subversion/libsvn_subr/svn_string.c

Posted by Greg Stein <gs...@gmail.com>.
On Fri, Oct 1, 2010 at 04:36, Stefan Fuhrmann
<st...@alice-dsl.de> wrote:
>...
> I mean calling convention. Where is the Subversion ABI defined?

subversion/include/

It follows guidelines from:
  http://apr.apache.org/versioning.html

With some additional clarifications/notes at:
  http://subversion.apache.org/docs/community-guide/releasing.html#release-numbering


Cheers,
-g

Re: svn commit: r1002898 - in /subversion/trunk: ./ subversion/include/svn_string.h subversion/libsvn_subr/svn_string.c

Posted by Blair Zajac <bl...@orcaware.com>.
On 10/01/2010 01:36 AM, Stefan Fuhrmann wrote:
>
> On 30.09.2010 02:12, Blair Zajac wrote:
>> On 09/29/2010 05:01 PM, stefan2@apache.org wrote:
>>> Author: stefan2
>>> Date: Thu Sep 30 00:01:45 2010
>>> New Revision: 1002898
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1002898&view=rev
>>> Log:
>>> Merge r1001413 from the perform struct

>
> -- Stefan^2.
>
ance branch.
>>>
>>> Improve documentation on svn_stringbuf_appendbyte.
>>>
>>> Approved by: Hyrum K. Wright<hyrum_wright_at_mail.utexas.edu>
>>>
>>
>>> /** Append a single character @a byte onto @a targetstr.
>>> + * This is an optimized version of @ref svn_stringbuf_appendbytes
>>> + * that is much faster to call and execute. Gains vary with the ABI.
>>
>> When you say ABI, you actually mean the C calling convention ABI, not
>> the Subversion ABI? I think this would be a good distinction to
>> document here, since Subversion has its own ABI that we strictly
>> maintain.
>
> I mean calling convention. Where is the Subversion ABI defined?

By ABI, I mean everything in subversion/include.  We can't change 
function definitions or modify structures in such a way that breaks the ABI.

Blair