Illegal Package-Private Accesses in 3.4

Bryce McKinlay bryce@mckinlay.net.nz
Mon Aug 11 12:16:00 GMT 2003


On Monday, Aug 11, 2003, at 22:12 Pacific/Auckland, Andrew Haley wrote:

>> It would be cleaner to keep these things in the same package wherever
>> possible. If we're worried about user code calling NameFinder being a
>> security risk, we could add a security check to its constructor.
>
>> BTW, I notice some evil use of RawData & _Jv_Malloc in StackTrace.
>> Specifically I don't see 'addrs' getting freed anywhere! I think its
>> better to avoid RawData wherever possible, and use byte[] instead.
>
> No, that's not right.  There are some severe problems with using
> byte[] instead of RawData.  In particular, the previous equivalent of
> this code broke because byte[] and pointer references have differing
> alignments.

Doh. I presume we've tried to go down the path of giving the data field 
of all array types pointer alignment?

>  I suspect that the Right Thing here would be to create an
> array of RawData instead of using _Jv_Malloc.

Either that or JvAllocBytes, and introducing another RawData type which 
doesn't prevent the GC from marking it. Maybe RawData should actually 
be marked, and we could have a separate RawDataUnmarked for the cases 
where thats useful.

Regards

Bryce.



More information about the Java-patches mailing list