RTC Thumb2 JIT methods containing exc handlers (take 2)
xerxes at zafena.se
Fri Jan 29 13:42:44 PST 2010
ed at camswl.com wrote:
> Hi folks,
> Well, overnight testing with the previous proposed patch to JIT methods containing
> exception handlers showed up a few problems.
> 1) With nested try catch the exception could be thrown to the outermost catch
> instead of the one it actually occured in.
> 2) The function Thumb2_lr_to_bci returned 0 if it could not find a matching
> entry in the exception table. Unfortunately 0 is a valid byte code index.
> Changed to return -1, and calling code updated to catch -1.
> 3) When an exception occurs some of the local variable may be cached in ARM
> registers because they have been register allocated. The exception handling
> code continues in the interpreter so these need to be decached. This is done
> by having a register map in the compiled method header to enable the
> JITs exception handle do determine which locals were in which registers.
> Other changes:
> - Copyright notices updated to 2010 and added to thumb2.cpp
> - assertions turned off in PRODUCT build
> - Compilation summary and statistics output to stderr instead of stdout
> I have put 3 binaries of the Thumb2 JIT at
These binarys have introduced a new dependency for the binutils
libm.so.6 => /lib/vfp/libm.so.6 (0x4042e000)
libdl.so.2 => /lib/vfp/libdl.so.2 (0x404a4000)
libpthread.so.0 => /lib/vfp/libpthread.so.0 (0x404b0000)
libffi.so.5 => /usr/lib/libffi.so.5 (0x404cf000)
libopcodes-2.20.so => not found
libc.so.6 => /lib/vfp/libc.so.6 (0x404de000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40604000)
The t2 jit compiled from icedtea6 trunk dont show any dependency for
libopcodes so what are causing this new dependency?
More information about the distro-pkg-dev