You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Varlamov (JIRA)" <ji...@apache.org> on 2006/11/24 08:33:03 UTC

[jira] Closed: (HARMONY-2223) [drlvm][jit][performance]Inlined int64 arithmetic routines - speedup of 64 arithmetics

     [ http://issues.apache.org/jira/browse/HARMONY-2223?page=all ]

Alexey Varlamov closed HARMONY-2223.
------------------------------------


Applied final fix at r478788

> [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, 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