Re: Interface and clinit

Date view Thread view Subject view Author view

From: Godmar Back (gback@marker.cs.utah.edu)
Date: Tue Jan 05 1999 - 15:06:25 EST


 Back to this mail from Edouard from the last year:

>
> For the previous patch about walkMethod(), I don't think
> a test case could be write for regression suite as the gc
> should be run after trampolines are build (CSTATE_PREPARED)
> and before <clinit>() is called (CSTATE_COMPLETE).
>
> In any case, the fix in walkMethod() is the best one as if
> ncode is a trampoline for a normal class, it's an entry in
> the dtable[] and gc_head_isobject() called by markObject()
> should return false.
>
> The comment in buildDispatchTable() about the GC reasons is
> now wrong. You can change it to:
> /* Allocate the dispatch table and this class' trampolines all in
> * one block of memory. This works out for space reasons. */
> The space reasons should be studied, as trampolines are now
> freeable by the GC (holds in meth->ncode if !METHOD_TRANSLATED()).
>

I would very much like to reexamine this and find a solution that
does not require a call to gc_heap_isobject when walking a method.
Any ideas?

        - Godmar


Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 19:57:29 EDT