Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Mar 2002 10:38:55 +0900
From:      shudo@computer.org
To:        java@FreeBSD.org
Subject:   shuJIT 0.7.11
Message-ID:  <200203140138.KAA32180@cafe.muraoka.info.waseda.ac.jp>

next in thread | raw e-mail | index | archive | help
Hi all,

I have released shuJIT 0.7.11.
  http://www.shudo.net/jit/

Two problem reports came to me last month from Mr. Mike Gratton and
Mr. Maxim Sobolev.  Now the newly released version of shuJIT run
Xindice 1.0rc1 and jEdit 3.2.2 well.  I'd appreciate any report on
this version of shuJIT.

Two bugs of shuJIT and one possible bug of FreeBSD 1.3.1-p6 came to
the front of me.  Bugs of shuJIT were kinds of Java stack destruction
and those could be fixed.  But, the last bug seems to be in JDK
1.3.1-p6, not shuJIT.  I implemented a nasty workaround for it.  It is
automatically enabled if the shuJIT is compiled with 1.3.1-p6.  See
the macro named `WORKAROUND_FOR_FREEBSD_131P6' in config.h.

The version of JDK seems to call JIT-compiled native code as the JDK
leaves SIGTRAP signal blocked.  It's possible that other signals are
also kept blocked.  Native code generated by shuJIT causes SIGTRAP
intentionally for some reasons, but the signal is not delivered until
it is unblocked by sigprocmask(2).  Just when unblocked, it is
delivered and the timing of the delivery is different from one
intended by shuJIT (and me).

We can reproduce the problem by following the below instruction:

 - Configure the shuJIT.
   % ./configure

 - Comment out the following line in config.h.
   #define WORKAROUND_FOR_FREEBSD_131P6 1

 - Change `#define' to `#undef' in the line as follows in compiler.h.
   #define METHOD_INLINING

Now, shuJIT with JDK 1.3.1-p6 aborts.  If we enable the workaround
indicated by the macro in config.h, shuJIT works correctly.  Then, we
can confirm the workaround implemented in runtime.c is effective.

I am not sure there is this problem in the previous releases of JDK
1.3.1 and 1.2.X.  If there is, I have to change the way to judge
whether the workaround should be enabled or not.

I'm running FreeBSD 4.5-STABLE about early in March.  Note that the
signal related problem mentioned above does not occur on Linux, at
least with Blackdown JDK 1.3.1-02a-FCS.

  Kazuyuki Shudo	shudo@computer.org	http://www.shudo.net/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203140138.KAA32180>