harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tonny Lau" <tonny.m....@gmail.com>
Subject Re: [drlvm][jit] How to override jit compilation?
Date Mon, 30 Oct 2006 06:54:11 GMT
30 Oct 2006 11:03:50 +0600, Egor Pasko <egor.pasko@gmail.com>:
> On the 0x212 day of Apache Harmony Tonny Lau wrote:
> > Hi,
> >
> > I want to override some specific java methods with native fast path
> > implementations. So I try to override them in
> > compile_do_compilation_jit()(vm/vmcore/src/jit/compile.cpp), that is,
> > I add several entries in
> >
> _stub_override_entries_base[](vm/vmcore/src/util/ia32/base/compile_IA32.cpp),
> > and lookup this table
> > before invoke jit->compile_method_with_params().
> This mechanism is not used (AFAIR and AFAICanSeeNow). The alternative
> way is to support your "magics" within each JIT. (Mikhail does things
> like that in OPT just from JavaByteCodeTranslator.cpp (see
> isMagicClass(...))

Thanks! I'll look it.

> It works for JET, but failed when OPT recompile these method. Does the OPT
> > go different path? If so, how can I override it? Does anyone can help
> me?
> how does it fail? did you try it with -Xem:opt? (That's what I tend
> to always ask about:)
> Just a guess: OPT expects some profile from JET, but cannot find any.

I mean, the overriding succeeds when I use JET only, i.e., "java -
Dem.properties=jet ...". If I use the default configuration "java ...", at
the beginning, the overriding is successful because the code is compiled by
JET. But later, when the EM invoke OPT to re-compile the hot code, the
overriding does not work any longer. It fall back to the original java code.

So, where do you think is the best place in OPT for the overriding code? And
is there a common path for both JET and OPT?

> Egor Pasko, Intel Managed Runtime Division

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message