harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Ozhdikhin" <pavel.ozhdik...@gmail.com>
Subject Re: [drlvm][jit] Code review of the following issue - [jira] Commented: (HARMONY-3246) [drlvm][jit][opt] Jitted code can not be executed on non-SSE2 platforms
Date Wed, 18 Apr 2007 06:46:21 GMT
On 4/18/07, Alexey Varlamov <alexey.v.varlamov@gmail.com> wrote:
>
> 2007/4/18, Mikhail Fursov <mike.fursov@gmail.com>:
> > Nathan,
> > I checked the patch and it looks OK except a one issue.
> >
> > I do not really like that we have new p5.emconf in codebase and propose
> the
> > following improvement:
> > 1) add p5 pass to all Jitrino.OPT codegen aliases in every emconf we
> have.
> > (I can update the patch if agreed)
> I suppose you meant all ia32 configs :). This is neccesary step to
> CPUID autodetection, so it a must actually.
>
> >
> > 2) a. After the commit: Make it turned off by default and use additional
> > cmd-line -XX:jit.arg.codegen.p5=on when run on PC without SSE2
> >    b. Start discussion: Use CPUID to detect if SSE2 is available and
> make
> > JIT turn this pass on automatically if needed.
> >
> > We can implement CPUID check for SSE2 in JIT only (a couple of lines of
> > assembly for Linux and Windows)
> > The question is: would it be better if VM provides such service for
> every
> > client? E.g. cpuid_is_sse2_supported()-like methods.
> I'm in serious doubt that it is needed. Too IA-centric, it would have
> little sense in general case. So doing it right in Jit is the right
> thing IMO.



Why do you think this is not needed? We might have several JITs or
interpreter that can use and extended set of instructions. It would be good
to keep these checks in one place in VM.

Thanks,
Pavel

>
> >
> > On 4/18/07, Nathan Beyer <ndbeyer@apache.org> wrote:
> > >
> > > Would anyone else like to review this patch? It's somewhat
> > > significant. I've tested it on a P4/WinXP and DRLVM works without any
> > > noticeable regressions. I've done some initial tests on a Quad
> > > P3/Ubuntu and I can now run a simple Hello World with the default JIT,
> > > which is a huge step.
> > >
> > > If no one has any issues, I'm going to commit this patch.
> > >
> > > -Nathan
> > >
> > > ---------- Forwarded message ----------
> > > From: Nathan Beyer (JIRA) <jira@apache.org>
> > > Date: Apr 18, 2007 12:49 AM
> > > Subject: [jira] Commented: (HARMONY-3246) [drlvm][jit][opt] Jitted
> > > code can not be executed on non-SSE2 platforms
> > > To: commits@harmony.apache.org
> > >
> > >
> > >
> > >     [
> > >
> https://issues.apache.org/jira/browse/HARMONY-3246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12489614
> > > ]
> > >
> > > Nathan Beyer commented on HARMONY-3246:
> > > ---------------------------------------
> > >
> > > I've test this on a Linux P3 and it seems to work. I'm now able to run
> > > a simple hello world. Additionally, everything seems to work as it did
> > > on a P4/WinXP.
> > >
> > > Let's see if we can get a few more people to review the code.
> > >
> > > > [drlvm][jit][opt] Jitted code can not be executed on non-SSE2
> platforms
> > > >
> -----------------------------------------------------------------------
> > > >
> > > >                 Key: HARMONY-3246
> > > >                 URL:
> https://issues.apache.org/jira/browse/HARMONY-3246
> > > >             Project: Harmony
> > > >          Issue Type: Improvement
> > > >          Components: DRLVM
> > > >            Reporter: Nikolay Sidelnikov
> > > >         Assigned To: Nathan Beyer
> > > >         Attachments: p5_fixed_commented.patch
> > > >
> > > >
> > > > Jitrino generates code with SSE and SSE2 instructions which can not
> be
> > > executed on processors older than Pentium 4.
> > >
> > > --
> > > This message is automatically generated by JIRA.
> > > -
> > > You can reply to this email to add a comment to the issue online.
> > >
> >
> >
> >
> > --
> > Mikhail Fursov
> >
>

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