[#7286] Re: ruby-dev summary 28206-28273 — ara.t.howard@...

On Thu, 2 Feb 2006, Minero Aoki wrote:

23 messages 2006/02/02
[#7292] ANDCALL / iff? / &? (was Re: ruby-dev summary 28206-28273) — mathew <meta@...> 2006/02/02

[#7293] Re: ANDCALL / iff? / &? (was Re: ruby-dev summary 28206-28273) — mathew <meta@...> 2006/02/02

mathew wrote:

[#7298] Re: ANDCALL / iff? / &? (was Re: ruby-dev summary 28206-28273) — James Britt <ruby@...> 2006/02/03

mathew wrote:

[#7310] Re: ANDCALL / iff? / &? (was Re: ruby-dev summary 28206-28273) — Evan Webb <evanwebb@...> 2006/02/07

I'm not sure we even need the 'with' syntax. Even if we do, it breaks

[#7311] Re: ANDCALL / iff? / &? (was Re: ruby-dev summary 28206-28273) — Eero Saynatkari <ruby-ml@...> 2006/02/07

On 2006.02.07 10:03, Evan Webb wrote:

[#7313] Re: ANDCALL / iff? / &? (was Re: ruby-dev summary 28206-28273) — Evan Webb <evanwebb@...> 2006/02/07

Umm, on what version are you seeing a warning there? I don't and never

[#7315] Re: ANDCALL / iff? / &? (was Re: ruby-dev summary 28206-28273) — Eero Saynatkari <ruby-ml@...> 2006/02/07

On 2006.02.07 14:47, Evan Webb wrote:

[#7316] Re: ANDCALL / iff? / &? (was Re: ruby-dev summary 28206-28273) — Evan Webb <evanwebb@...> 2006/02/07

I'd by far prefer it never emit a warning. The warning is assumes you

[#7305] Re: Problem with weak references on OS X 10.3 — Mauricio Fernandez <mfp@...>

On Sun, Feb 05, 2006 at 08:33:40PM +0900, Christian Neukirchen wrote:

28 messages 2006/02/05
[#7401] Symbols overlap ordinary objects, especially on OS X (Was: Re: Problem with weak references on OS X 10.3) — Eric Hodel <drbrain@...7.net> 2006/02/22

On Feb 5, 2006, at 5:05 AM, Mauricio Fernandez wrote:

[#7414] Re: Symbols overlap ordinary objects, especially on OS X (Was: Re: Problem with weak references on OS X 10.3) — Mauricio Fernandez <mfp@...> 2006/02/23

On Wed, Feb 22, 2006 at 02:21:24PM +0900, Eric Hodel wrote:

[#7428] Re: Symbols overlap ordinary objects, especially on OS X (Was: Re: Problem with weak references on OS X 10.3) — Tanaka Akira <akr@...17n.org> 2006/02/26

In article <1140968746.321377.18843.nullmailer@x31.priv.netlab.jp>,

[#7444] Re: Symbols overlap ordinary objects, especially on OS X (Was: Re: Problem with weak references on OS X 10.3) — nobu@... 2006/02/28

Hi,

[#7445] Re: Symbols overlap ordinary objects, especially on OS X (Was: Re: Problem with weak references on OS X 10.3) — Tanaka Akira <akr@...17n.org> 2006/02/28

In article <m1FDshr-0006MNC@Knoppix>,

[#7447] Re: Symbols overlap ordinary objects, especially on OS X (Was: Re: Problem with weak references on OS X 10.3) — Tanaka Akira <akr@...17n.org> 2006/02/28

In article <87irr047sx.fsf@m17n.org>,

[#7448] Re: Symbols overlap ordinary objects, especially on OS X (Was: Re: Problem with weak references on OS X 10.3) — Tanaka Akira <akr@...17n.org> 2006/02/28

In article <87vev0hxu5.fsf@m17n.org>,

[#7465] Re: Symbols overlap ordinary objects, especially on OS X (Was: Re: Problem with weak references on OS X 10.3) — "Evan Webb" <evanwebb@...> 2006/03/01

Just my quick 2 cents...

[#7468] Re: Symbols overlap ordinary objects, especially on OS X (Was: Re: Problem with weak references on OS X 10.3) — Tanaka Akira <akr@...17n.org> 2006/03/01

In article <92f5f81d0602281855g27e78f4eua8bf20e0b8e47b68@mail.gmail.com>,

[#7403] Module#define_method "send hack" fails with Ruby 1.9 — Emiel van de Laar <emiel@...>

Hi List,

12 messages 2006/02/22
[#7404] Re: Module#define_method "send hack" fails with Ruby 1.9 — George Ogata <g_ogata@...> 2006/02/22

Emiel van de Laar <emiel@rednode.nl> writes:

[#7406] Re: Module#define_method "send hack" fails with Ruby 1.9 — dblack@... 2006/02/22

Hi --

[#7442] GC Question — zdennis <zdennis@...>

I have been posting to the ruby-talk mailing list about ruby memory and GC, and I think it's ready

17 messages 2006/02/27

Re: Symbols overlap ordinary objects, especially on OS X (Was: Re: Problem with weak references on OS X 10.3)

From: nobu@...
Date: 2006-02-28 00:27:24 UTC
List: ruby-core #7444
Hi,

At Mon, 27 Feb 2006 01:49:33 +0900,
Tanaka Akira wrote in [ruby-core:07428]:
> 32-bit VALUE space:
> 
>                    VALUE
>         MSB ------------------------ LSB
> false   00000000000000000000000000000000
> true    00000000000000000000000000000010
> nil     00000000000000000000000000000100
> undef   00000000000000000000000000000110
> symbol  ssssssssssssssssssssssss00001110
> object  oooooooooooooooooooooooooooooo00
> 
> rb_obj_id generates an integer in different way between
> symbols and objects.
> 
>                    integer
>                                      LSB|FIXNUM_FLAG
> symbol  ssssssssssssssssssssssss00001110|1      LONG2NUM((long)obj)
> object   oooooooooooooooooooooooooooooo0|1      (VALUE)((long)obj|FIXNUM_FLAG)
> 
> # I ignore bignum case.
> 
> If ssssssssssssssssssssssss is 
> 0xxxxxxxxxxxxxxxxxxxxxxx and
> oooooooooooooooooooooooooooooo is 
> xxxxxxxxxxxxxxxxxxxxxxx0000111,
> they will be equal.

Two thoughts;

a) assume any objects never be placed at lowest 32MB area,
   while same problem presumably occurs on systems which
   doesn't have virtual memory feature, such as X68k.

b) use id name pointer instead of ID value, which would causes
   perfomance penalty.

Index: object.c
===================================================================
RCS file: /pub/cvs/ruby/src/ruby/object.c,v
retrieving revision 1.183
diff -U 2 -p -u -r1.183 object.c
--- object.c	17 Jan 2006 14:05:49 -0000	1.183
+++ object.c	27 Feb 2006 10:33:07 -0000
@@ -130,4 +130,13 @@ rb_obj_id(VALUE obj)
 {
     if (SPECIAL_CONST_P(obj)) {
+#if SIZEOF_VOIDP == 32		/* sizeof(VALUE) */
+	if (SYMBOL_P(obj)) {
+# if USE_TINY_OBJECT_ID
+	    return INT2FIX(SYM2ID(obj) << 1);
+# else
+	    return (VALUE)rb_id2name(obj) | FIXNUM_FLAG;
+# endif
+	}
+#endif
 	return LONG2NUM((long)obj);
     }

-- 
Nobu Nakada

In This Thread