At 08:19 AM 8/2/00 -0500, Craig A. Berry wrote:
>At 4:57 AM -0400 8/2/00, lane @ DUPHY4.Physics.Drexel.Edu wrote:
>>In article <p04320401b5ad5cc9c0e9@[192.168.56.173]>, "Craig A. Berry" 
>><[EMAIL PROTECTED]> writes:
>>  > When attempting a threaded build of perl@6409 with DEC C 6.2, it quit
>>>  with the following complaint on av.c:
>>  >         E             extern int Perl___notused
>>>         3   50254             (void)SvREFCNT_inc(sv);
>>>                   ..................1
>>>  %CC-E-BIFPROTO, (1) In this statement, the built-in function,
>>>  "__ATOMIC_INCREMENT_LONG", requires a prototype declaration from
>>  > <builtins.h>.
>
>>I *know* that the __ATOMIC_(IN|DE)CREMENT_LONG is not available for
>>DECC/VAX, VMS7.1 and compiler version (*mumble*).
>>
>>We probably should use _ADAWI which is available for both VAX and AXP
>>although for some reason the number of leading underscores differ.
>>And, of course, it does words not longwords.  Do we use ref counts >64K?
>
>I confess I never figured out how we get from SvREFCNT_inc to 
>__ATOMIC_INCREMENT_LONG; after following the trail through three or four 
>#defines I gave up and just did what the compiler told me to do. So, it's 
>possible the various configure options will pull in an appropriate 
>alternative on other OS/compiler/processor combinations, but I don't know 
>that for sure.

This all looks like it came from a patch I threw out a while ago. I 
probably missed the header file that loaded in builtins.h.

As for refcounts, they're native integers, so they can get big. It's not 
hugely likely, but something like this:

   foreach (1..100000) {
         push @foo, \$bar;
   }

would drive the refcount on $bar past the 64K limit pretty quickly.


                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to