From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.devel Subject: Re: Modules: definition of emacs_value Date: Wed, 02 Mar 2016 18:30:08 +0000 Message-ID: References: <56D4D127.5020505@dancol.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a114451d0e55c2e052d15124d X-Trace: ger.gmane.org 1456943428 870 80.91.229.3 (2 Mar 2016 18:30:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 2 Mar 2016 18:30:28 +0000 (UTC) To: Daniel Colascione , Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 02 19:30:27 2016 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 1abBXU-0007t9-WF for ged-emacs-devel@m.gmane.org; Wed, 02 Mar 2016 19:30:25 +0100 Original-Received: from localhost ([::1]:58252 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abBXU-00006i-3E for ged-emacs-devel@m.gmane.org; Wed, 02 Mar 2016 13:30:24 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58039) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abBXP-00006V-Uz for emacs-devel@gnu.org; Wed, 02 Mar 2016 13:30:20 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1abBXO-00017p-Vy for emacs-devel@gnu.org; Wed, 02 Mar 2016 13:30:19 -0500 Original-Received: from mail-wm0-x22c.google.com ([2a00:1450:400c:c09::22c]:36836) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abBXO-00017l-Pp for emacs-devel@gnu.org; Wed, 02 Mar 2016 13:30:18 -0500 Original-Received: by mail-wm0-x22c.google.com with SMTP id n186so99225459wmn.1 for ; Wed, 02 Mar 2016 10:30:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=M/8yVaofrO47qKYqWkTor8mPMHnxKFhbcW5wau3OhPA=; b=RXpYkmiB4JyhIueBS0ySDBuQ9JA9O9MUmvbXtIknAPsBpnEcycTibGWpq7HmshRwoX lkyi5OkNpYBxRh68p17/v6AT6RgzvQgUoNhh/ESsETAay8ZZ1FryC1A0aujBs5zMGXbJ EtnTk8OBgzjrmVq7KyPjboyOx3l2VZ7pRkw8d6uhvKP0oFHnyf6qLU13rYhFVRfzGnd9 McgkRM/ri5owiXhbs1a9ng6A0eSpSaUis9px1VdEXixV3e+WZ54XE2zHjLKoNVczV5q0 VBxqvU6pe8dS4MFpPr0zLAXkSl99k/6ydDMltTGW5+Y7Gp9duBxQd8EYP7wsZUejHDe3 4ofA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=M/8yVaofrO47qKYqWkTor8mPMHnxKFhbcW5wau3OhPA=; b=gla4ajrDa9NeUa6K5uk2lHXvkF2Dpbh7ue91/5FxO6CQaUZfeg+Rfav+hBSowHsLKI aNzi4a1yAe6g9m0PX1f1ia5MNK8G9HwnaVawrdNdIMLbuh2nZksiExjsPYmS7HNEy6yO uyxSZw9Oacy/KxekENOsBDbKlZNkAsOmExRprKhmEZcDTEqsYmNz9ZTY2U14E8Ly7XEi s6PlyBK3K8mcgTomW0uZLSUhkGPiBk5jAOQPgXagb5mcHJth+T4ZmNAVuqPZqsDX5CVY 85QOFX0lYnHkz+8H7HP0JG6gesx+OoOi3xy5DaOreRniW1Cvng2Y7O/gJFwpGyxHBJJj emmA== X-Gm-Message-State: AD7BkJL85bdiLPATYn9Mas67mivcnQPfcKE7wY3bhKas0flh5xF65Y1xakbALXUJ34ZtSvw5Egu5vw7ER64PFw== X-Received: by 10.28.51.74 with SMTP id z71mr1338054wmz.15.1456943418135; Wed, 02 Mar 2016 10:30:18 -0800 (PST) In-Reply-To: <56D4D127.5020505@dancol.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::22c 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:200869 Archived-At: --001a114451d0e55c2e052d15124d Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Daniel Colascione schrieb am Di., 1. M=C3=A4rz 2016 um 00:15 Uhr: > On 02/29/2016 03:03 PM, Philipp Stephani wrote: > > Is it a strict requirement that emacs_value be a pointer? If not, > > couldn't we simply define it as int64 and assume that that will be larg= e > > enough to hold a Lisp_Object for the foreseeable future? Or do we expec= t > > Lisp_Object to ever grow beyond 64 bits? > > I don't like giving users raw Lisp_Objects. But we are already doing that in most cases (64-bit pointers and Lisp_Objects): the pointer is not a real pointer, just a Lisp_Object cast to a pointer type. > I really don't like making > 32-bit callers cope with 64-bit values. It's been a while since I did 32-bit programming, but what issues could arise? We're not doing any arithmetic or other processing on the values, just passing them around. > If emacs_value is a pointer, we > have complete freedom with respect to runtime behavior. Putting a > Lisp_Object directly in an emacs_value is a false economy. > As said above, we're already doing that. --001a114451d0e55c2e052d15124d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


Daniel= Colascione <dancol@dancol.org&= gt; schrieb am Di., 1. M=C3=A4rz 2016 um 00:15=C2=A0Uhr:
On 02/29/2016 03:03 PM, Philipp Stephani wrote:
> Is it a strict requirement that emacs_value be a pointer? If not,
> couldn't we simply define it as int64 and assume that that will be= large
> enough to hold a Lisp_Object for the foreseeable future? Or do we expe= ct
> Lisp_Object to ever grow beyond 64 bits?

I don't like giving users raw Lisp_Objects.

But we are already doing that in most cases (64-bit pointers and Lisp= _Objects): the pointer is not a real pointer, just a Lisp_Object cast to a = pointer type.
=C2=A0
I really= don't like making
32-bit callers cope with 64-bit values.

It&= #39;s been a while since I did 32-bit programming, but what issues could ar= ise? We're not doing any arithmetic or other processing on the values, = just passing them around.
=C2=A0
If emacs_value is a pointer, we
have complete freedom with respect to runtime behavior. Putting a
Lisp_Object directly in an emacs_value is a false economy.
=

As said above, we're already doing that.=C2=A0
--001a114451d0e55c2e052d15124d--