You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Evgeniya Maenkova (JIRA)" <ji...@apache.org> on 2008/01/22 10:12:35 UTC

[jira] Created: (HARMONY-5409) [drlvm]jit] Object.getClass implementation by vmmagics

[drlvm]jit] Object.getClass implementation by vmmagics
------------------------------------------------------

                 Key: HARMONY-5409
                 URL: https://issues.apache.org/jira/browse/HARMONY-5409
             Project: Harmony
          Issue Type: Improvement
          Components: DRLVM
            Reporter: Evgeniya Maenkova


Object.getClass implemented by vmmagics can give significant speedup (8x):

$ /cygdrive/w/UBS/Builds/egm_r613191_getClass/bin/java -Xem:server SimpleGetClassTest 10000
Warmup start...
Warmup end....
result:2016

Administrator@EGMAENKO-MOBL /cygdrive/c/ecl_311_ws/MicroBenches/bin1
$ /cygdrive/w/UBS/Builds/egm_r613191/bin/java -Xem:server SimpleGetClassTest 10000
Warmup start...
Warmup end....
result:16016

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HARMONY-5409) [drlvm]jit] Object.getClass implementation by vmmagics

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov reassigned HARMONY-5409:
---------------------------------------

    Assignee: Mikhail Fursov

> [drlvm]jit] Object.getClass implementation by vmmagics
> ------------------------------------------------------
>
>                 Key: HARMONY-5409
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5409
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Evgeniya Maenkova
>            Assignee: Mikhail Fursov
>         Attachments: getclass.diff, getClass_patch, SimpleGetClassTest.java
>
>
> Object.getClass implemented by vmmagics can give significant speedup (8x):
> $ /cygdrive/w/UBS/Builds/egm_r613191_getClass/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:2016
> Administrator@EGMAENKO-MOBL /cygdrive/c/ecl_311_ws/MicroBenches/bin1
> $ /cygdrive/w/UBS/Builds/egm_r613191/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:16016

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5409) [drlvm]jit] Object.getClass implementation by vmmagics

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov updated HARMONY-5409:
------------------------------------

    Attachment: getclass.diff

Evgeniya, I fixed problems found in initial patch.
Check "getclass.diff" file.


The testcase I used:
public class TT {

    static {
        Object o = Object.class;
    }
     public static void main(String[] args) {
        Object o = new Object();
        Class c = null                 ;
        long t = System.currentTimeMillis();
        for (int i = 0; i < 100*1000*1000; i ++) {
            c = o.getClass();
        }   
        System.out.println("result:" +c.getName() + " time ="+(System.currentTimeMillis()-t)); 
    }
}


The command line params to run it in -Xem:opt mode: 
-Xem:opt -XX:jit.CS_OPT.arg.optimizer.inline.bonus_methods=java/lang/Object::getClass,java/lang/VMClassRegistry::getClass

It shows significant (>10times) improvement for getClass operation.

> [drlvm]jit] Object.getClass implementation by vmmagics
> ------------------------------------------------------
>
>                 Key: HARMONY-5409
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5409
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Evgeniya Maenkova
>         Attachments: getclass.diff, getClass_patch, SimpleGetClassTest.java
>
>
> Object.getClass implemented by vmmagics can give significant speedup (8x):
> $ /cygdrive/w/UBS/Builds/egm_r613191_getClass/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:2016
> Administrator@EGMAENKO-MOBL /cygdrive/c/ecl_311_ws/MicroBenches/bin1
> $ /cygdrive/w/UBS/Builds/egm_r613191/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:16016

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5409) [drlvm]jit] Object.getClass implementation by vmmagics

Posted by "Evgeniya Maenkova (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Evgeniya Maenkova updated HARMONY-5409:
---------------------------------------

    Attachment: SimpleGetClassTest.java

test case

> [drlvm]jit] Object.getClass implementation by vmmagics
> ------------------------------------------------------
>
>                 Key: HARMONY-5409
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5409
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Evgeniya Maenkova
>         Attachments: getClass_patch, SimpleGetClassTest.java
>
>
> Object.getClass implemented by vmmagics can give significant speedup (8x):
> $ /cygdrive/w/UBS/Builds/egm_r613191_getClass/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:2016
> Administrator@EGMAENKO-MOBL /cygdrive/c/ecl_311_ws/MicroBenches/bin1
> $ /cygdrive/w/UBS/Builds/egm_r613191/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:16016

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5409) [drlvm]jit] Object.getClass implementation by vmmagics

Posted by "Evgeniya Maenkova (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Evgeniya Maenkova updated HARMONY-5409:
---------------------------------------

    Attachment: getClass_patch

patch (works on micro tests, but crashes on some apps, need further debug)

> [drlvm]jit] Object.getClass implementation by vmmagics
> ------------------------------------------------------
>
>                 Key: HARMONY-5409
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5409
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Evgeniya Maenkova
>         Attachments: getClass_patch, SimpleGetClassTest.java
>
>
> Object.getClass implemented by vmmagics can give significant speedup (8x):
> $ /cygdrive/w/UBS/Builds/egm_r613191_getClass/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:2016
> Administrator@EGMAENKO-MOBL /cygdrive/c/ecl_311_ws/MicroBenches/bin1
> $ /cygdrive/w/UBS/Builds/egm_r613191/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:16016

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5409) [drlvm]jit] Object.getClass implementation by vmmagics

Posted by "Evgeniya Maenkova (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12563420#action_12563420 ] 

Evgeniya Maenkova commented on HARMONY-5409:
--------------------------------------------

Thanks, Mikhail. Let's check in this patch. It gives expected speedup on my apps.

> [drlvm]jit] Object.getClass implementation by vmmagics
> ------------------------------------------------------
>
>                 Key: HARMONY-5409
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5409
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Evgeniya Maenkova
>            Assignee: Mikhail Fursov
>         Attachments: getclass.diff, getClass_patch, SimpleGetClassTest.java
>
>
> Object.getClass implemented by vmmagics can give significant speedup (8x):
> $ /cygdrive/w/UBS/Builds/egm_r613191_getClass/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:2016
> Administrator@EGMAENKO-MOBL /cygdrive/c/ecl_311_ws/MicroBenches/bin1
> $ /cygdrive/w/UBS/Builds/egm_r613191/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:16016

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5409) [drlvm]jit] Object.getClass implementation by vmmagics

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov updated HARMONY-5409:
------------------------------------

    Attachment: getclass2.diff

getclass2: @Inline pragma support was refactored in Jitrino.OPT

> [drlvm]jit] Object.getClass implementation by vmmagics
> ------------------------------------------------------
>
>                 Key: HARMONY-5409
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5409
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Evgeniya Maenkova
>            Assignee: Mikhail Fursov
>         Attachments: getclass.diff, getclass2.diff, getClass_patch, SimpleGetClassTest.java
>
>
> Object.getClass implemented by vmmagics can give significant speedup (8x):
> $ /cygdrive/w/UBS/Builds/egm_r613191_getClass/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:2016
> Administrator@EGMAENKO-MOBL /cygdrive/c/ecl_311_ws/MicroBenches/bin1
> $ /cygdrive/w/UBS/Builds/egm_r613191/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:16016

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HARMONY-5409) [drlvm]jit] Object.getClass implementation by vmmagics

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov resolved HARMONY-5409.
-------------------------------------

    Resolution: Fixed

Committed revision 617509

> [drlvm]jit] Object.getClass implementation by vmmagics
> ------------------------------------------------------
>
>                 Key: HARMONY-5409
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5409
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Evgeniya Maenkova
>            Assignee: Mikhail Fursov
>         Attachments: getclass.diff, getclass2.diff, getClass_patch, SimpleGetClassTest.java
>
>
> Object.getClass implemented by vmmagics can give significant speedup (8x):
> $ /cygdrive/w/UBS/Builds/egm_r613191_getClass/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:2016
> Administrator@EGMAENKO-MOBL /cygdrive/c/ecl_311_ws/MicroBenches/bin1
> $ /cygdrive/w/UBS/Builds/egm_r613191/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:16016

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5409) [drlvm]jit] Object.getClass implementation by vmmagics

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12563422#action_12563422 ] 

Pavel Pervov commented on HARMONY-5409:
---------------------------------------

Mikhail,

one cosmetic comment: please, when committing, rename CLASS_MO_OFFSET and getClassManagedObjectOffset because they actually return offset of j.l.Class _handle_ rather than offset of direct pointer to j.l.Class.

Thanks.

> [drlvm]jit] Object.getClass implementation by vmmagics
> ------------------------------------------------------
>
>                 Key: HARMONY-5409
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5409
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Evgeniya Maenkova
>            Assignee: Mikhail Fursov
>         Attachments: getclass.diff, getClass_patch, SimpleGetClassTest.java
>
>
> Object.getClass implemented by vmmagics can give significant speedup (8x):
> $ /cygdrive/w/UBS/Builds/egm_r613191_getClass/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:2016
> Administrator@EGMAENKO-MOBL /cygdrive/c/ecl_311_ws/MicroBenches/bin1
> $ /cygdrive/w/UBS/Builds/egm_r613191/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:16016

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5409) [drlvm][jit] Object.getClass implementation by vmmagics

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Pervov updated HARMONY-5409:
----------------------------------

    Summary: [drlvm][jit] Object.getClass implementation by vmmagics  (was: [drlvm]jit] Object.getClass implementation by vmmagics)

> [drlvm][jit] Object.getClass implementation by vmmagics
> -------------------------------------------------------
>
>                 Key: HARMONY-5409
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5409
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Evgeniya Maenkova
>            Assignee: Mikhail Fursov
>         Attachments: getclass.diff, getclass2.diff, getClass_patch, SimpleGetClassTest.java
>
>
> Object.getClass implemented by vmmagics can give significant speedup (8x):
> $ /cygdrive/w/UBS/Builds/egm_r613191_getClass/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:2016
> Administrator@EGMAENKO-MOBL /cygdrive/c/ecl_311_ws/MicroBenches/bin1
> $ /cygdrive/w/UBS/Builds/egm_r613191/bin/java -Xem:server SimpleGetClassTest 10000
> Warmup start...
> Warmup end....
> result:16016

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.