From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?Aur=C3=A9lien_Aptel?= Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Wed, 11 Feb 2015 17:08:56 +0100 Message-ID: References: <87y4t9m76w.fsf@lifelogs.com> <85k31coixa.fsf@stephe-leake.org> <85oapy5kt6.fsf@stephe-leake.org> <83y4oiiw81.fsf@gnu.org> <838ugdf251.fsf@gnu.org> <54D80098.3020209@cs.ucla.edu> <54D85304.1030600@cs.ucla.edu> <54D9AC29.2020603@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1423670954 27990 80.91.229.3 (11 Feb 2015 16:09:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 11 Feb 2015 16:09:14 +0000 (UTC) Cc: Paul Eggert , Stephen Leake , Emacs development discussions To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Feb 11 17:09:14 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YLZqi-0002W3-Sy for ged-emacs-devel@m.gmane.org; Wed, 11 Feb 2015 17:09:13 +0100 Original-Received: from localhost ([::1]:45713 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLZqi-00005R-8d for ged-emacs-devel@m.gmane.org; Wed, 11 Feb 2015 11:09:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55404) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLZqU-00005L-8q for emacs-devel@gnu.org; Wed, 11 Feb 2015 11:08:59 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YLZqT-0005tj-BL for emacs-devel@gnu.org; Wed, 11 Feb 2015 11:08:58 -0500 Original-Received: from mail-ig0-x233.google.com ([2607:f8b0:4001:c05::233]:36416) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLZqT-0005tf-6H for emacs-devel@gnu.org; Wed, 11 Feb 2015 11:08:57 -0500 Original-Received: by mail-ig0-f179.google.com with SMTP id l13so5380985iga.0 for ; Wed, 11 Feb 2015 08:08:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=Z2iBZq3TmUaYGImTXhbNYh2vIcSz9Ae20gpVu+FSaYw=; b=w8eI9KfN7a6uODMsBo/9Hi66ruUwNYNwq/9A0wmiHTeU1qJD7i3P67vmPEXy7HImYW DkN6T6YVMaso0GX5AdxuKp5QlJQG+G8lZcoAhLnEeeqOkjO37nT1djMP8zX1vl0pvVMW flANe5dT089s5702LUntB5MabCFBBqhpCT+zjhXMMYnsSOSWNsjkfddNxX5JeFHWN+wI skAibxZ4ZmGD3h0X8CKCmN/t3Ep7Aj/JDZa9Kv1co+oJZiVFlJcjASRtKJYHzJyqR3Zh EyMCC9yJe3zPg335Kxqmj/kX4al4SLxuAghVY1A835YASIkx+2eJ92SDpSs2imJjhsEC eEzg== X-Received: by 10.43.89.136 with SMTP id be8mr3611499icc.57.1423670936737; Wed, 11 Feb 2015 08:08:56 -0800 (PST) Original-Received: by 10.36.19.71 with HTTP; Wed, 11 Feb 2015 08:08:56 -0800 (PST) In-Reply-To: X-Google-Sender-Auth: pMi9DJ3aGLxCB2cPbDWUXzo0v0A X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4001:c05::233 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:182899 Archived-At: On Wed, Feb 11, 2015 at 4:35 PM, Stefan Monnier wrote: > I think I got confused by the name: these objects don't represent > modules, right (despite the name of their type)? They are objects > created by a particular module (stored in the module-id). Correct. I started with Lisp_Module_Object but thought it was redundant. We could make /module/ module objects too. Let's call them Module Descriptors to avoid any confusions. It could be a struct containing functions pointers for printing, moving, copying, freeing a module object, ... Module objects could then use a pointer to this struct as a module id. I don't have a lot of experience implementing programming languages, especially features like this. I don't want to rush things and end up with a complex C++-like system so feel free to comment if you think this is overengineering it. > The Lisp_Misc union is for objects with up to 5 "words" (or 6 "words" if > you count the word that holds the header). Your objects have only > 2 "words" (or 3 if you count the header where you added the "id"), so > you're perfectly fine, with room to grow. I'm not sure what "words" means here. Pointers are 64 bits wide on 64 bits systems, does this make a difference?