[#4567] Re: What's the biggest Ruby development? — Aleksi Niemel<aleksi.niemela@...>

Dave said:

18 messages 2000/08/23
[#4568] Q's on Marshal — Robert Feldt <feldt@...> 2000/08/23

[#4580] RubyUnit testcase run for different init params? — Robert Feldt <feldt@...> 2000/08/25

[#4584] Re: RubyUnit testcase run for different init params? — Dave Thomas <Dave@...> 2000/08/25

Robert Feldt <feldt@ce.chalmers.se> writes:

[#4623] Re: RubyUnit testcase run for different init params? — Robert Feldt <feldt@...> 2000/08/28

On Sat, 26 Aug 2000, Dave Thomas wrote:

[#4652] Andy and Dave's European Tour 2000 — Dave Thomas <Dave@...>

24 messages 2000/08/30
[#4653] Re: Andy and Dave's European Tour 2000 — matz@... (Yukihiro Matsumoto) 2000/08/30

Hi,

[#4657] Ruby tutorials for newbie — Kevin Liang <kevin@...> 2000/08/30

Hi,

[ruby-talk:04434] Re: Real world performance problems

From: ts <decoux@...>
Date: 2000-08-11 17:20:08 UTC
List: ruby-talk #4434
>>>>> "A" == Aleksi Niemel=E4?= <iso-8859-1> writes:

A> Perhaps you're not wrong,

 Yes I'm wrong if you look at 1.4.5 :

void
rb_gc()
{
    struct gc_list *list;
    struct FRAME * volatile frame; /* gcc 2.7.2.3 -O2 bug??  */
    jmp_buf save_regs_gc_mark;
#ifdef C_ALLOCA
    VALUE stack_end;
    alloca(0);
# define STACK_END (&stack_end)
#else
    VALUE *stack_end = alloca(1);
# define STACK_END (stack_end)
#endif

    alloc_objects = 0;
    malloc_memories = 0;

    if (during_gc) return;
    during_gc++;

    /* mark frame stack */
 

 but I was looking at the source of 1.5.* where you need to enable the GC
 before a call to rb_gc()

void
rb_gc()
{
    struct gc_list *list;
    struct FRAME * volatile frame; /* gcc 2.7.2.3 -O2 bug??  */
    jmp_buf save_regs_gc_mark;
#ifdef C_ALLOCA
    VALUE stack_end;
    alloca(0);
# define STACK_END (&stack_end)
#else
    VALUE *stack_end = alloca(1);
# define STACK_END (stack_end)
#endif

    if (dont_gc || during_gc || rb_prohibit_interrupt || ruby_in_compile) {
	if (!freelist || malloc_memories > GC_MALLOC_LIMIT) {
	    malloc_memories = 0;
	    add_heap();
	}
	return;
    }



Guy Decoux

In This Thread

Prev Next