I think that would be nice.

thanks,
Pavel


On 4/18/07, Mikhail Fursov <[EMAIL PROTECTED]> wrote:

Have we agreed that I rework this patch and add cpuid functionality to
JIT?
(I think I can do it tomorrow)

On 4/18/07, Xiao-Feng Li <[EMAIL PROTECTED]> wrote:
>
> On 4/18/07, Pavel Ozhdikhin <[EMAIL PROTECTED]> wrote:
> > On 4/18/07, Alexey Varlamov <[EMAIL PROTECTED]> wrote:
> > >
> > > 2007/4/18, Mikhail Fursov <[EMAIL PROTECTED]>:
> > > > 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.
>
> This is architecture specific property, hence Alexey may think it
> belongs to code generator (here JIT), since otherwise an interpreter
> in C may not need it. I think Alexey's point is valid. To deal with
> multiple JITs, probably we can put it into some JIT-common files. In
> other words, although multiple JITs may query it, it is not
> necessarily VM's duty to respond. (Or if we view the JIT-common
> support as part of VM, then yes, it can be provided by VM.)
>
> Thanks,
> xiaofeng
>
> > Thanks,
> > Pavel
> >
> > >
> > > >
> > > > On 4/18/07, Nathan Beyer <[EMAIL PROTECTED]> 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) <[EMAIL PROTECTED]>
> > > > > 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: [EMAIL PROTECTED]
> > > > >
> > > > >
> > > > >
> > > > >     [
> > > > >
> > >
>
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
> > > >
> > >
> >
>
>
> --
> http://xiao-feng.blogspot.com
>



--
Mikhail Fursov

Reply via email to