harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregory Shimansky <gshiman...@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 17:44:50 GMT
Rana Dasgupta wrote:
> Could be a protocol between the EM and the jits, maybe?

I also think that EM is the right place to chose the correct emconf file 
at runtime based on the CPU detection.

> On 4/18/07, Xiao-Feng Li <xiaofeng.li@gmail.com> wrote:
>> On 4/18/07, Pavel Ozhdikhin <pavel.ozhdikhin@gmail.com> wrote:
>> > 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.
>>
>> 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 <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
>> > > >
>> > >
>> >
>>
>>
>> -- 
>> http://xiao-feng.blogspot.com
>>
> 


-- 
Gregory


Mime
View raw message