From owner-freebsd-questions@FreeBSD.ORG Fri Mar 12 08:12:33 2010 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C483E106567B for ; Fri, 12 Mar 2010 08:12:33 +0000 (UTC) (envelope-from perryh@pluto.rain.com) Received: from agora.rdrop.com (unknown [IPv6:2607:f678:1010::34]) by mx1.freebsd.org (Postfix) with ESMTP id 9EEF78FC37 for ; Fri, 12 Mar 2010 08:12:33 +0000 (UTC) Received: from agora.rdrop.com (66@localhost [127.0.0.1]) by agora.rdrop.com (8.13.1/8.12.7) with ESMTP id o2C8CPhO013992 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 12 Mar 2010 00:12:25 -0800 (PST) (envelope-from perryh@pluto.rain.com) Received: (from uucp@localhost) by agora.rdrop.com (8.13.1/8.12.9/Submit) with UUCP id o2C8CP83013991; Fri, 12 Mar 2010 00:12:25 -0800 (PST) Received: from fbsd61 by pluto.rain.com (4.1/SMI-4.1-pluto-M2060407) id AA01497; Fri, 12 Mar 10 00:00:30 PST Date: Fri, 12 Mar 2010 00:05:34 -0800 From: perryh@pluto.rain.com To: bennett@cs.niu.edu Message-Id: <4b99f5ce.OOF9VDO0wXySaf5v%perryh@pluto.rain.com> References: <201003120558.o2C5welE022368@mp.cs.niu.edu> In-Reply-To: <201003120558.o2C5welE022368@mp.cs.niu.edu> User-Agent: nail 11.25 7/29/05 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: nlandys@gmail.com, freebsd-questions@freebsd.org, alex@stangl.us Subject: Re: Objective-C 2.0 on FreeBSD; garbage collection, anyone? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Mar 2010 08:12:33 -0000 Scott Bennett wrote: > If your program never frees any memory, then there is never > any garbage to collect. Last I knew, "garbage collection" refers to tracking down and reclaiming allocated memory to which no valid references exist. The particular example given here is sufficiently trivial not to actually need GC -- it could easily free() before losing the (only) reference -- but keeping track can become extremely tricky in complex systems (hence the considerable effort that has been expended in designing and implementing GC systems).