This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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 thought of it, and then dismissed the idea fairly quickly. It's wasteful and unnecessary apart from these weird corner cases.
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.
Well, how exactly could you do that? RawData isn't necessarily a pointer to memory that is accessible to the gc.
Maybe RawData should actually be marked, and we could have a separate RawDataUnmarked for the cases where thats useful.
Umm. Just using an array of RawData is surely the cleanest solution.
// Our native data - points to an instance of struct natThread. private Object data;
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |