Re: [Sablevm-developer] adventures in not understanding the java stack
Brought to you by:
egagnon
From: David <db...@cs...> - 2004-01-17 08:57:59
|
On Sat, Jan 17, 2004 at 12:21:30AM -0500, Chris Pickett wrote: > So ... can somebody explain (3) for me? Can native code affect stack=20 > values or control flow without going through the exception_handler: in=20 > interpreter.c or going through _svmf_stop_the_world? If so, where does= =20 > it do it? Look at NATIVE_STATIC_METHOD and NATIVE_NONSTATIC_METHOD. All the code to unwind the stack is in _svmf_interpreter. Though the exception object is built by the native method or one of the method/function it calls. GC is usually trigger by creating new instance and not enough memory. There is also a native method that forces gc. Java_java_lang_Runtime_gc. There is a single gc entry point that will stop all threads (except the current one) before doing the actual gc. Look in gc_copying.c. David --- David B=E9langer Graduate Student School of Computer Science McGill University Office: MC226 Web page: http://www.cs.mcgill.ca/~dbelan2/ Public key: http://www.cs.mcgill.ca/~dbelan2/public_key.txt |