caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Damien Doligez <damien.doligez@inria.fr>
To: cq@htec.demon.co.uk, garrigue@kurims.kyoto-u.ac.jp
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] NULL as a caml value
Date: Mon, 13 May 2002 16:56:49 +0200 (MET DST)	[thread overview]
Message-ID: <200205131456.QAA0000019767@beaune.inria.fr> (raw)

>From: Christopher Quinn <cq@htec.demon.co.uk>
>> Does it even need to be word aligned?
>> If Is_long() tests positive the 'pointer' is also ignored.
>> I hope I have not erred!?

There are three cases to consider:

A. word-aligned
B. odd
C. equal to 2 modulo 4

>From: Jacques Garrigue <garrigue@kurims.kyoto-u.ac.jp>
>Otherwise, looking at the runtime's source, I see nothing that would
>prevent from using any (even non-aligned) pointer outside of the caml
>heaps to be cast to a value, but the manual does not allow it
>explicitly, so this may mean that such non-aligned even values could
>be used for something else. (Actually they are already used for
>compaction.)

Yes, compaction is the reason why non-aligned pointers are not allowed
by the documentation.  The compaction code will crash on case C.

So you can have it word-aligned, or odd, but not all arbitrary
pointers are allowed.  Be careful.  And compaction is now activated by
default (not in 3.04, but in the working version).

Don't ask me what happens on 64-bit machines, I'd have to look at the
source :-)

-- Damien
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


             reply	other threads:[~2002-05-13 14:56 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-13 14:56 Damien Doligez [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-05-12 20:45 Lauri Alanko
2002-05-13  7:20 ` Jacques Garrigue
2002-05-13 10:05   ` Christopher Quinn
2002-05-13 10:56     ` Jacques Garrigue
2002-05-13 19:47   ` Lauri Alanko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200205131456.QAA0000019767@beaune.inria.fr \
    --to=damien.doligez@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=cq@htec.demon.co.uk \
    --cc=garrigue@kurims.kyoto-u.ac.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 NNTP newsgroup(s).