_Jv_InitPrimClass?

Bryce McKinlay bryce@waitaki.otago.ac.nz
Sun Mar 3 19:26:00 GMT 2002


Adam Megacz wrote:
>Why is this in _Jv_InitPrimClass?
>> // We must set the vtable for the class; the Java constructor
> // doesn't do this.
> (*(_Jv_VTable **) cl) = java::lang::Class::class$.vtable;
>>It appeared sometime in late December... why do we use it now, and why
>didn't we need it before?
>
As for why it is needed, this is a special case where we are 
constructing a Java object in static .bss data, because gcj-compiled 
code wants to refer to it directly via its symbol name, eg for static 
primitive arrays. The GC (not the constructor!) normally sets the vtable 
pointer for a Java object when "new" is called, but in this case we are 
not GC allocating it so that does not happen.
regards
Bryce.


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /