Andrey Chernyshev wrote: > On 6/29/06, Geir Magnusson Jr <[EMAIL PROTECTED]> wrote: >> >> >> Andrey Chernyshev wrote: >> > Hello, >> > >> > In addition to the already proposed generic tasks like 5.0 support or >> > concurrent GC mentioned by Ivan, I'd like to add some more specific >> > things that might be interesting for people to look at as well: >> > >> > (1) Complete Java bytecode verifier >> > Class structure verification and subroutines (e.g. finally blocks) has >> > to be added to the bytecode verifier in order to make it >> > full-functional (as required by JVMS spec). >> >> Do you think that it will be complete at that point? It's my >> understanding that it's fairly difficult and subtle to get it right. >> I'm hoping that we can just get that from Sun :) > > Actually I'm not sure if RI is doing all of this, but if it does, it > could be a problem for us to pass the TCK. Are you saying it might be > possible to somehow borrow a verifier from reference VM? :)
I can always dream, can't I? > >> >> > >> > (2) Handling out of C memory conditions >> > VM must throw OutOfMemoryException when there is a lack of C memory. >> > For example, if local or global handle cannot be allocated then OOME >> > should be thrown – OutOfMemoryException must be thrown (this is >> > required by JNI/JVMTI spec). >> >> What does it do now? > > Most likely it will exit with assert in the debug mode and will crash > in the release mode. The code currently does malloc() and then > memset() > (I was looking at oh_allocate_object_handle() function in > object_handle.cpp. It seems it is eventually called if one does > NewGlobalRef(), for example). > RI fails more gently in that case saying something like: > "Exception in thread "main" java.lang.OutOfMemoryError: requested 152 > bytes for CHeapObj-new. Out of swap space?" An OOM would be good here... it goes without saying... geir --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]