unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* (elisp)Object Internals
@ 2003-12-19  0:57 Luc Teirlinck
  2003-12-19  1:29 ` Luc Teirlinck
  0 siblings, 1 reply; 8+ messages in thread
From: Luc Teirlinck @ 2003-12-19  0:57 UTC (permalink / raw)


Is the following quote from `(elisp)Object Internals' still
"essentially accurate"?

    Depending on the operating system and type of machine for which you
    compile Emacs, twenty-eight bits are used to address the object, and
    the remaining four bits are used for a GC mark bit and the tag that
    identifies the object's type.

I know that this is not true for integers any more, but is it still
true for most other objects?

Sincerely,

Luc.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (elisp)Object Internals
  2003-12-19  0:57 (elisp)Object Internals Luc Teirlinck
@ 2003-12-19  1:29 ` Luc Teirlinck
  2003-12-19 11:45   ` Kim F. Storm
  2003-12-22  0:21   ` Stefan Monnier
  0 siblings, 2 replies; 8+ messages in thread
From: Luc Teirlinck @ 2003-12-19  1:29 UTC (permalink / raw)
  Cc: emacs-devel

I believe I understand now that the quote from `(elisp)Object
Internals' should be changed to:

    Depending on the operating system and type of machine for which
    you compile Emacs, twenty-nine bits are used to address the
    object, and the remaining three bits are used for a GC mark bit and
    the tag that identifies the object's type.

Is this accurate?

Sincerely,

Luc.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (elisp)Object Internals
  2003-12-19  1:29 ` Luc Teirlinck
@ 2003-12-19 11:45   ` Kim F. Storm
  2003-12-19 11:56     ` Luc Teirlinck
                       ` (2 more replies)
  2003-12-22  0:21   ` Stefan Monnier
  1 sibling, 3 replies; 8+ messages in thread
From: Kim F. Storm @ 2003-12-19 11:45 UTC (permalink / raw)
  Cc: emacs-devel

Luc Teirlinck <teirllm@dms.auburn.edu> writes:

> I believe I understand now that the quote from `(elisp)Object
> Internals' should be changed to:
> 
>     Depending on the operating system and type of machine for which
>     you compile Emacs, twenty-nine bits are used to address the
>     object, and the remaining three bits are used for a GC mark bit and
>     the tag that identifies the object's type.
> 
> Is this accurate?

I think so.  

But I don't know if there are systems where this doesn't apply.

When I see "Depending on..." in a text, I would expect to see various
alternatives following that.  In this case there is nothing in the
text that suggests it actually depends on anything...

Perhaps a "may" in the right spot would is needed?

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (elisp)Object Internals
  2003-12-19 11:45   ` Kim F. Storm
@ 2003-12-19 11:56     ` Luc Teirlinck
  2003-12-19 12:06     ` Luc Teirlinck
  2003-12-20 17:18     ` Richard Stallman
  2 siblings, 0 replies; 8+ messages in thread
From: Luc Teirlinck @ 2003-12-19 11:56 UTC (permalink / raw)
  Cc: emacs-devel

Kim Storm wrote:

   But I don't know if there are systems where this doesn't apply.

What about 64 bit systems?

   When I see "Depending on..." in a text, I would expect to see various
   alternatives following that.

The entire description of the C code internals in the Elisp manual is
not very detailed.

Sincerely,

Luc.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (elisp)Object Internals
  2003-12-19 11:45   ` Kim F. Storm
  2003-12-19 11:56     ` Luc Teirlinck
@ 2003-12-19 12:06     ` Luc Teirlinck
  2003-12-20 17:18     ` Richard Stallman
  2 siblings, 0 replies; 8+ messages in thread
From: Luc Teirlinck @ 2003-12-19 12:06 UTC (permalink / raw)
  Cc: emacs-devel

Kim Storm wrote:

   When I see "Depending on..." in a text, I would expect to see various
   alternatives following that.  In this case there is nothing in the
   text that suggests it actually depends on anything...

I should have quoted the entire paragraph:

    GNU Emacs Lisp manipulates many different types of data.  The
    actual data are stored in a heap and the only access that programs
    have to it is through pointers.  Pointers are thirty-two bits wide
    in most implementations.  Depending on the operating system and
    type of machine for which you compile Emacs, twenty-eight bits are
    used to address the object, and the remaining four bits are used
    for a GC mark bit and the tag that identifies the object's type.

To me, that suggests that one thing it depends on is pointer size.

Sincerely,

Luc.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (elisp)Object Internals
  2003-12-19 11:45   ` Kim F. Storm
  2003-12-19 11:56     ` Luc Teirlinck
  2003-12-19 12:06     ` Luc Teirlinck
@ 2003-12-20 17:18     ` Richard Stallman
  2 siblings, 0 replies; 8+ messages in thread
From: Richard Stallman @ 2003-12-20 17:18 UTC (permalink / raw)
  Cc: teirllm, emacs-devel

    >     Depending on the operating system and type of machine for which
    >     you compile Emacs, twenty-nine bits are used to address the
    >     object, and the remaining three bits are used for a GC mark bit and
    >     the tag that identifies the object's type.
    > 
    > Is this accurate?

    I think so.  

    But I don't know if there are systems where this doesn't apply.

It is only meant to describe the most common systems, not all
systems.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (elisp)Object Internals
  2003-12-19  1:29 ` Luc Teirlinck
  2003-12-19 11:45   ` Kim F. Storm
@ 2003-12-22  0:21   ` Stefan Monnier
  2003-12-22  1:47     ` Luc Teirlinck
  1 sibling, 1 reply; 8+ messages in thread
From: Stefan Monnier @ 2003-12-22  0:21 UTC (permalink / raw)
  Cc: emacs-devel

> I believe I understand now that the quote from `(elisp)Object
> Internals' should be changed to:

>     Depending on the operating system and type of machine for which
>     you compile Emacs, twenty-nine bits are used to address the
>     object, and the remaining three bits are used for a GC mark bit and
>     the tag that identifies the object's type.

Actually, the recent change was to remove the mark bit, so something like
the following would be better:

     Depending on the operating system and type of machine for which
     you compile Emacs, twenty-nine bits are used to address the
     object, and the remaining three bits are used for
     the tag that identifies the object's type.


-- Stefan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (elisp)Object Internals
  2003-12-22  0:21   ` Stefan Monnier
@ 2003-12-22  1:47     ` Luc Teirlinck
  0 siblings, 0 replies; 8+ messages in thread
From: Luc Teirlinck @ 2003-12-22  1:47 UTC (permalink / raw)
  Cc: emacs-devel

Stefan Monnier wrote:

   Actually, the recent change was to remove the mark bit, so something like
   the following would be better:

	Depending on the operating system and type of machine for which
	you compile Emacs, twenty-nine bits are used to address the
	object, and the remaining three bits are used for
	the tag that identifies the object's type.

Thanks for clarifying.  I will use the text you suggested.

Sincerely,

Luc.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2003-12-22  1:47 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-19  0:57 (elisp)Object Internals Luc Teirlinck
2003-12-19  1:29 ` Luc Teirlinck
2003-12-19 11:45   ` Kim F. Storm
2003-12-19 11:56     ` Luc Teirlinck
2003-12-19 12:06     ` Luc Teirlinck
2003-12-20 17:18     ` Richard Stallman
2003-12-22  0:21   ` Stefan Monnier
2003-12-22  1:47     ` Luc Teirlinck

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).