• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Understanding objc_assign_strongCast
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Understanding objc_assign_strongCast


  • Subject: Re: Understanding objc_assign_strongCast
  • From: Christopher Nebel <email@hidden>
  • Date: Thu, 7 Feb 2008 09:50:38 -0800

On Feb 6, 2008, at 5:23 PM, Ben Trumbull wrote:

objc_assign_strongCast() will issue a write barrier, informing GC that the destination value has changed. But if the only references to this pointer are in unscanned (not GC) memory, than the GC system will think it's dead as no references to that pointer exist in scanned (GC live) memory.

The C++ new operator allocates from malloc(), just as before. malloc() memory is not GC scanned. It's probably easiest to instead use CFRetain and balance it with CFRelease in delete/etc.

You could also define a custom "new" operator for the class in question that allocates its memory using NSAllocateCollectable(..., NSScannedOption), but that might be more trouble than it's worth.



--Chris N. _______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Understanding objc_assign_strongCast
      • From: David Elliott <email@hidden>
References: 
 >re: Understanding objc_assign_strongCast (From: Ben Trumbull <email@hidden>)

  • Prev by Date: Getting the hard link count of a directory (in Time Machine backups)
  • Next by Date: [OT] Re: Getting the hard link count of a directory (in Time Machine backups)
  • Previous by thread: Re: Understanding objc_assign_strongCast
  • Next by thread: Re: Understanding objc_assign_strongCast
  • Index(es):
    • Date
    • Thread