From owner-freebsd-java Tue Aug 28 7:38:16 2001 Delivered-To: freebsd-java@freebsd.org Received: from matsulab.is.titech.ac.jp (matsulab.is.titech.ac.jp [131.112.35.129]) by hub.freebsd.org (Postfix) with ESMTP id 2B4CE37B406 for ; Tue, 28 Aug 2001 07:38:13 -0700 (PDT) (envelope-from fuyuhik8@is.titech.ac.jp) Received: from tripper.private by matsulab.is.titech.ac.jp (8.8.8+Sun/3.7W) id XAA21693; Tue, 28 Aug 2001 23:38:07 +0900 (JST) Date: Tue, 28 Aug 2001 23:40:34 +0900 Message-ID: <554rqsqmcd.wl@tripper.private> From: Fuyuhiko Maruyama To: Arun Sharma Cc: Fuyuhiko Maruyama , java@FreeBSD.ORG Subject: Re: JVM and native threads In-Reply-To: <20010827181249.A16093@sharmas.dhs.org> References: <20010824233304.A32099@sharmas.dhs.org> <55vgjcqv87.wl@tripper.private> <20010825095746.A1015@sharmas.dhs.org> <55heuv0xtl.wl@tripper.private> <20010826171010.A6742@gnuppy> <20010827143244.A12305@misty.eyesbeyond.com> <55k7zqnd1x.wl@tripper.private> <20010827095624.B14875@sharmas.dhs.org> <55itf9cmln.wl@tripper.private> <20010827181249.A16093@sharmas.dhs.org> User-Agent: Wanderlust/2.6.0 (Twist And Shout) on XEmacs/21.5.1 (anise) MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya") Content-Type: text/plain; charset=US-ASCII Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org At Mon, 27 Aug 2001 18:12:49 -0700, Arun Sharma wrote: > > On Tue, Aug 28, 2001 at 04:46:28AM +0900, Fuyuhiko Maruyama wrote: > > Thanks, it is interesting. > > > > In fact, it seems quite curious for me because you say nothing about > > thread's context. So I dig the orp-20010727 sources and found that > > current ORP doesn't well support Linux platform. Current ORP may > > cause disaster when GC is happen on Linux, possible senarios are: > > 1. GC system collects live object refered only by register. > > 2. GC system moves live objects refered by register and it doesn't > > treat pointers on register to catch up moving of objects. > > 3. GC system cannot ensure all threads are suspended at GC safepoint. > > > > Do I misunderstand? > > > > Since they claim to run SpecJVM on Linux and it doesn't crash and burn, > they must be doing something right :) Codes at root_set_enum_ia32.cpp says it works as thier papers but it isn't true on Linux because the key function thread_gc_get_context(...) isn't implemented for Linux. See: 1. base_natives/common/thread_manager.cpp 2. mains/orp/stubs.cpp 3. arch/ia32/base_natives/java_lang_thread_ia32.h Why the function isn't implemented in Linux is just the same problem we have, I think -- there is no POSIX API to get context of thread. -- Fuyuhiko MARUYAMA Matsuoka laboratory, Department of Mathematical and Computing Sciences, Graduate School of Information Science and Engineering, Tokyo Institute of Technology. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message