harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Salikh Zakirov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-2223) [drlvm][jit][performance]Inlined int64 arithmetic routines - speedup of 64 arithmetics
Date Thu, 23 Nov 2006 12:06:03 GMT
    [ http://issues.apache.org/jira/browse/HARMONY-2223?page=comments#action_12452213 ] 
            
Salikh Zakirov commented on HARMONY-2223:
-----------------------------------------

With jitrino_codegen.patch, DRLVM fails with assertion on linux/x86_64:
 
  /files/sszakiro/harmony/drlvm/trunk/vm/port/src/encoder/ia32_em64t/enc_tabl.cpp:1540:
  static void EncoderBase::buildMnemonicDesc(const MnemonicInfo*):
  Assertion `opcodesHashMap[minfo->mn][hash] == NOHASH' failed.

The additional patch encoder_assertion_on_intel64_fix.patch fixes the assertion, but any test
involving
garbage collection crashes with a segfault:

$ java gc.LOS
......................
,,segmentation fault

This is still a regression comparing with the DRLVM on linux/x86_64
status before patches r478172 HARMONY-2223 and r478177 HARMONY-2247

> [drlvm][jit][performance]Inlined int64 arithmetic routines - speedup of 64 arithmetics
> --------------------------------------------------------------------------------------
>
>                 Key: HARMONY-2223
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2223
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Alex Astapchuk
>         Assigned To: Alexey Varlamov
>         Attachments: encoder_assertion_on_intel64_fix.patch, jitrino_codegen.patch, jitrino_codegen.patch,
jitrino_codegen.patch, test_longmuldiv_speed.class, test_longmuldiv_speed.java, vm_port_encoder.patch,
vm_port_encoder.patch, vm_port_encoder.patch
>
>
> The attached 2 patches contain IA-32 codegenerator fixes that generate inlined long 64
bit arithmetics 
> code instead of currently used internal or VM helper.
> One of the patches contains Encoder fixes and new instructions (so the whole VM must
be rebuild), and the 
> second one exploits them in Jitrino CG.
> The proposed code generates routines for 64bit multiplications, division and remainder.
> The attached test case shows nearly 20% speedup with the fix. 
> I got from 2954ms to 2344ms on WinXP/Pentium4 on the provided test.
> YMMV: this is a microbenchmark, and results on real apps may vary depending on workload.
> Please, run the test as follows:
> ===== run_measure.sh =====
> #!/bin/bash
> NOINLINE_ARGS="-Djit.arg.inline_mul64=false -Djit.arg.inline_mul64_checks=false -Djit.arg.inline_div64=false
-Djit.arg.inline_rem64=false"
> echo "*** No inlining"
> java ${NOINLINE_ARGS} test_longmuldiv_speed
> echo "***  With inlining"
> java test_longmuldiv_speed
> ==========================

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message