Xiao-Feng, I answered in JIRA. I think we should ask commiters to commit it ASAP. I have several new patches for the same files, so if H2652 is not commited soon we have to update it again.
On 12/20/06, Xiao-Feng Li <[EMAIL PROTECTED]> wrote:
Btw, Mikhail, Yu-Nan did some work to make JIRA2652 WB inlining to work with SVN head. It would be great if you can adjust your patch and submit it as a ready patch for Harmony. We really want it can be committed as early as possible. The emconf file is only for your reference, attached is a new one based on the emconf in SVN head. Thanks, xiaofeng On 12/19/06, Xiao-Feng Li <[EMAIL PROTECTED]> wrote: > Mikhail, interesting idea. > > Two questions: > 1. How does JIT knows which API to inline? Does it require the lib > developers to annotate their code? > 2. Is it possible to summarize some common ops that are shared by many > APIs so that only the common ops are inlined. > > I am wondering if it's possible to avoid the API case-by-case specific > inlining, which looks to me not very elegant. :-( Although the APIs > are standardized, I feel it's still a little weird to tightly couple > too many detailed information in JVM. I don't if I am overconcerned. > > Btw, VM helper inlining boosts GCv5 performance substantially, > especially due to the write barrer inlining. :-) Thanks for your big > helps. > > Thanks, > xiaofeng > > On 12/18/06, Mikhail Fursov <[EMAIL PROTECTED]> wrote: > > All, > > Some of API methods like java/lang/Math or Integer/Long bits related ones on > > some platforms could be replaced with effective native instructions. > > I call these methods API magics, because they are close to vmmagics we use > > to inline VM helper: when a set of known Java methods is replaced by JIT > > with associated native code. > > Some of API magics like Math.min/max/abs are processed in translator to HIR > > -> they have analogous ops in HIR. > > In http://issues.apache.org/jira/browse/HARMONY-2778 I have added > > codegenerator's part of the framework for the methods that have LIR > > analogues. Now code contains inlining for some bits manipulation methods for > > IA32/EM64T platform for Integer and Long classes. I chose these methods > > because of the SpecJBB2000 impact (rather small but measurable). > > > > I'm asking to review the code of fast-path methods versions and to collect > > the whole list of API magics JIT can inline. > > The implementation of new "api magics" could be an interesting task for new > > JIT developers. > > > > AFAIK the current list is > > > > *java/lang/Math:[any platform] > > max > > min > > abs > > > > *java/lang/Integer:[x86] > > numberOfTrailingZeros > > numberOfLeadingZeros > > > > *java/lang/Long:[x86] > > numberOfTrailingZeros > > numberOfLeadingZeros > > > > > > So it's very, very short today. > > > > -- > > Mikhail Fursov > > > > >
-- Mikhail Fursov
