You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Egor Pasko (JIRA)" <ji...@apache.org> on 2006/10/09 18:03:20 UTC

[jira] Created: (HARMONY-1788) [drlvm][jit][abcd] Inequality graph generation from HIR

[drlvm][jit][abcd] Inequality graph generation from HIR
-------------------------------------------------------

                 Key: HARMONY-1788
                 URL: http://issues.apache.org/jira/browse/HARMONY-1788
             Project: Harmony
          Issue Type: New Feature
          Components: DRLVM
         Environment: all
            Reporter: Egor Pasko


new files [vm.zip]:
vm/jitrino/src/optimizer/abcd/AbcdFlags.h
vm/jitrino/src/optimizer/abcd/insertpi.cpp
vm/jitrino/src/optimizer/abcd/classic_abcd.h
vm/jitrino/src/optimizer/abcd/insertpi.h
vm/jitrino/src/optimizer/abcd/classic_abcd.cpp
vm/jitrino/config/ia32/abcd_static.emconf

This issue depends on HARMONY-1564.

Features:

* new optimization pass added (classic_abcd), off by default

* old optimization pass (abcd) is preserved to work with no change
  (with bug fixed by Naveen in HARMONY-1564)
  the fix should NOT visibly affect anyone (!!!)

* new EM config file for easier ABCD development (abcd_static.emconf)
  (use java -Xem:abcd_static Hello)

* Pi instructions are now inserted by the separate class (InsertPi)
  that is reused between both old and new ABCD algorithms

* Inequality graph can be printed to a .dot file on request.
  Do it like this for method "main":
  java -Xem:abcd_static -Djit.p.filter=.main -Djit.p.arg.log=ct,irdump,dotdump
  and find inequality.graph.dot
  ("dot -Tpng inequality.graph.dot > viewme.png")

* checked on gcc 3.3.3 Linux/ia32

* HelloWorld passed in the new mode, does not affect other modes

* against r454400

Instructions on how to apply both contributions. 

Suppose you have all files in working_vm/abcd_update:
abcd.patch           (Naveen, HARMONY-1564)
abcd-original.tar.gz (Egor, HARMONY-1564)
naveen_2.patch       (Naveen, HARMONY-1564)
enable-inequality-graph-building.patch.txt
vm.zip

$ cd working_vm
$ patch -p0 <abcd_update/abcd.patch
$ tar zxvf abcd_update/abcd-original.tar.gz
$ patch -p0 <../abcd_update/naveen_2.patch
$ mv * ../vm/jitrino/src/optimizer/abcd/
$ cd ..
$ rm -rf abcd-original/
$ unzip abcd_update/vm.zip
$ patch -p1 <abcd_update/enable-inequality-graph-building.patch.txt

What is left to do for the new ABCD:

* teach the optimization to invoke the solver 
  (detect array lengths, bounds checking operands)

* acquire not-a-small amount of tests

* fix bugs :)

* improve the algorithm supporting semantics of more more operations 
  such as Op_Conv, etc.


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

        

[jira] Updated: (HARMONY-1788) [drlvm][jit][abcd] Inequality graph generation from HIR

Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1788?page=all ]

Egor Pasko updated HARMONY-1788:
--------------------------------

    Attachment: enable-inequality-graph-building.patch.txt

the patch

> [drlvm][jit][abcd] Inequality graph generation from HIR
> -------------------------------------------------------
>
>                 Key: HARMONY-1788
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1788
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>         Environment: all
>            Reporter: Egor Pasko
>         Attachments: enable-inequality-graph-building.patch.txt, vm.zip
>
>
> new files [vm.zip]:
> vm/jitrino/src/optimizer/abcd/AbcdFlags.h
> vm/jitrino/src/optimizer/abcd/insertpi.cpp
> vm/jitrino/src/optimizer/abcd/classic_abcd.h
> vm/jitrino/src/optimizer/abcd/insertpi.h
> vm/jitrino/src/optimizer/abcd/classic_abcd.cpp
> vm/jitrino/config/ia32/abcd_static.emconf
> This issue depends on HARMONY-1564.
> Features:
> * new optimization pass added (classic_abcd), off by default
> * old optimization pass (abcd) is preserved to work with no change
>   (with bug fixed by Naveen in HARMONY-1564)
>   the fix should NOT visibly affect anyone (!!!)
> * new EM config file for easier ABCD development (abcd_static.emconf)
>   (use java -Xem:abcd_static Hello)
> * Pi instructions are now inserted by the separate class (InsertPi)
>   that is reused between both old and new ABCD algorithms
> * Inequality graph can be printed to a .dot file on request.
>   Do it like this for method "main":
>   java -Xem:abcd_static -Djit.p.filter=.main -Djit.p.arg.log=ct,irdump,dotdump
>   and find inequality.graph.dot
>   ("dot -Tpng inequality.graph.dot > viewme.png")
> * checked on gcc 3.3.3 Linux/ia32
> * HelloWorld passed in the new mode, does not affect other modes
> * against r454400
> Instructions on how to apply both contributions. 
> Suppose you have all files in working_vm/abcd_update:
> abcd.patch           (Naveen, HARMONY-1564)
> abcd-original.tar.gz (Egor, HARMONY-1564)
> naveen_2.patch       (Naveen, HARMONY-1564)
> enable-inequality-graph-building.patch.txt
> vm.zip
> $ cd working_vm
> $ patch -p0 <abcd_update/abcd.patch
> $ tar zxvf abcd_update/abcd-original.tar.gz
> $ patch -p0 <../abcd_update/naveen_2.patch
> $ mv * ../vm/jitrino/src/optimizer/abcd/
> $ cd ..
> $ rm -rf abcd-original/
> $ unzip abcd_update/vm.zip
> $ patch -p1 <abcd_update/enable-inequality-graph-building.patch.txt
> What is left to do for the new ABCD:
> * teach the optimization to invoke the solver 
>   (detect array lengths, bounds checking operands)
> * acquire not-a-small amount of tests
> * fix bugs :)
> * improve the algorithm supporting semantics of more more operations 
>   such as Op_Conv, etc.

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

        

[jira] Commented: (HARMONY-1788) [drlvm][jit][abcd] Inequality graph generation from HIR

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-1788?page=comments#action_12440914 ] 
            
Mikhail Fursov commented on HARMONY-1788:
-----------------------------------------

Egor,
Do we really need to include additional em config file into the distribution? 
It serves only for ABCD depelopment and does not represent any 'official' and supported VM mode.

> [drlvm][jit][abcd] Inequality graph generation from HIR
> -------------------------------------------------------
>
>                 Key: HARMONY-1788
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1788
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>         Environment: all
>            Reporter: Egor Pasko
>         Attachments: enable-inequality-graph-building.patch.txt, vm.zip
>
>
> new files [vm.zip]:
> vm/jitrino/src/optimizer/abcd/AbcdFlags.h
> vm/jitrino/src/optimizer/abcd/insertpi.cpp
> vm/jitrino/src/optimizer/abcd/classic_abcd.h
> vm/jitrino/src/optimizer/abcd/insertpi.h
> vm/jitrino/src/optimizer/abcd/classic_abcd.cpp
> vm/jitrino/config/ia32/abcd_static.emconf
> This issue depends on HARMONY-1564.
> Features:
> * new optimization pass added (classic_abcd), off by default
> * old optimization pass (abcd) is preserved to work with no change
>   (with bug fixed by Naveen in HARMONY-1564)
>   the fix should NOT visibly affect anyone (!!!)
> * new EM config file for easier ABCD development (abcd_static.emconf)
>   (use java -Xem:abcd_static Hello)
> * Pi instructions are now inserted by the separate class (InsertPi)
>   that is reused between both old and new ABCD algorithms
> * Inequality graph can be printed to a .dot file on request.
>   Do it like this for method "main":
>   java -Xem:abcd_static -Djit.p.filter=.main -Djit.p.arg.log=ct,irdump,dotdump
>   and find inequality.graph.dot
>   ("dot -Tpng inequality.graph.dot > viewme.png")
> * checked on gcc 3.3.3 Linux/ia32
> * HelloWorld passed in the new mode, does not affect other modes
> * against r454400
> Instructions on how to apply both contributions. 
> Suppose you have all files in working_vm/abcd_update:
> abcd.patch           (Naveen, HARMONY-1564)
> abcd-original.tar.gz (Egor, HARMONY-1564)
> naveen_2.patch       (Naveen, HARMONY-1564)
> enable-inequality-graph-building.patch.txt
> vm.zip
> $ cd working_vm
> $ patch -p0 <abcd_update/abcd.patch
> $ tar zxvf abcd_update/abcd-original.tar.gz
> $ patch -p0 <../abcd_update/naveen_2.patch
> $ mv * ../vm/jitrino/src/optimizer/abcd/
> $ cd ..
> $ rm -rf abcd-original/
> $ unzip abcd_update/vm.zip
> $ patch -p1 <abcd_update/enable-inequality-graph-building.patch.txt
> What is left to do for the new ABCD:
> * teach the optimization to invoke the solver 
>   (detect array lengths, bounds checking operands)
> * acquire not-a-small amount of tests
> * fix bugs :)
> * improve the algorithm supporting semantics of more more operations 
>   such as Op_Conv, etc.

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

        

[jira] Updated: (HARMONY-1788) [drlvm][jit][abcd] Inequality graph generation from HIR

Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1788?page=all ]

Egor Pasko updated HARMONY-1788:
--------------------------------

    Attachment: vm.zip

the new files

> [drlvm][jit][abcd] Inequality graph generation from HIR
> -------------------------------------------------------
>
>                 Key: HARMONY-1788
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1788
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>         Environment: all
>            Reporter: Egor Pasko
>         Attachments: enable-inequality-graph-building.patch.txt, vm.zip
>
>
> new files [vm.zip]:
> vm/jitrino/src/optimizer/abcd/AbcdFlags.h
> vm/jitrino/src/optimizer/abcd/insertpi.cpp
> vm/jitrino/src/optimizer/abcd/classic_abcd.h
> vm/jitrino/src/optimizer/abcd/insertpi.h
> vm/jitrino/src/optimizer/abcd/classic_abcd.cpp
> vm/jitrino/config/ia32/abcd_static.emconf
> This issue depends on HARMONY-1564.
> Features:
> * new optimization pass added (classic_abcd), off by default
> * old optimization pass (abcd) is preserved to work with no change
>   (with bug fixed by Naveen in HARMONY-1564)
>   the fix should NOT visibly affect anyone (!!!)
> * new EM config file for easier ABCD development (abcd_static.emconf)
>   (use java -Xem:abcd_static Hello)
> * Pi instructions are now inserted by the separate class (InsertPi)
>   that is reused between both old and new ABCD algorithms
> * Inequality graph can be printed to a .dot file on request.
>   Do it like this for method "main":
>   java -Xem:abcd_static -Djit.p.filter=.main -Djit.p.arg.log=ct,irdump,dotdump
>   and find inequality.graph.dot
>   ("dot -Tpng inequality.graph.dot > viewme.png")
> * checked on gcc 3.3.3 Linux/ia32
> * HelloWorld passed in the new mode, does not affect other modes
> * against r454400
> Instructions on how to apply both contributions. 
> Suppose you have all files in working_vm/abcd_update:
> abcd.patch           (Naveen, HARMONY-1564)
> abcd-original.tar.gz (Egor, HARMONY-1564)
> naveen_2.patch       (Naveen, HARMONY-1564)
> enable-inequality-graph-building.patch.txt
> vm.zip
> $ cd working_vm
> $ patch -p0 <abcd_update/abcd.patch
> $ tar zxvf abcd_update/abcd-original.tar.gz
> $ patch -p0 <../abcd_update/naveen_2.patch
> $ mv * ../vm/jitrino/src/optimizer/abcd/
> $ cd ..
> $ rm -rf abcd-original/
> $ unzip abcd_update/vm.zip
> $ patch -p1 <abcd_update/enable-inequality-graph-building.patch.txt
> What is left to do for the new ABCD:
> * teach the optimization to invoke the solver 
>   (detect array lengths, bounds checking operands)
> * acquire not-a-small amount of tests
> * fix bugs :)
> * improve the algorithm supporting semantics of more more operations 
>   such as Op_Conv, etc.

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

        

[jira] Commented: (HARMONY-1788) [drlvm][jit][abcd] Inequality graph generation from HIR

Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-1788?page=comments#action_12440923 ] 
            
Egor Pasko commented on HARMONY-1788:
-------------------------------------

It is useful for development, and I wanted to share it as a usage example.
a) it is not necessary to commit this file, I do not insist
b) I see no danger in an extra .emconf. Besides, there are a lot of switched in JIT, and not all of them are correct, some switches are useful for further development and performance estimations. And it is not dangerous. Users running DRLVM with "unsupported" switches triggered should know what they are doing. 

> [drlvm][jit][abcd] Inequality graph generation from HIR
> -------------------------------------------------------
>
>                 Key: HARMONY-1788
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1788
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>         Environment: all
>            Reporter: Egor Pasko
>         Attachments: enable-inequality-graph-building.patch.txt, vm.zip
>
>
> new files [vm.zip]:
> vm/jitrino/src/optimizer/abcd/AbcdFlags.h
> vm/jitrino/src/optimizer/abcd/insertpi.cpp
> vm/jitrino/src/optimizer/abcd/classic_abcd.h
> vm/jitrino/src/optimizer/abcd/insertpi.h
> vm/jitrino/src/optimizer/abcd/classic_abcd.cpp
> vm/jitrino/config/ia32/abcd_static.emconf
> This issue depends on HARMONY-1564.
> Features:
> * new optimization pass added (classic_abcd), off by default
> * old optimization pass (abcd) is preserved to work with no change
>   (with bug fixed by Naveen in HARMONY-1564)
>   the fix should NOT visibly affect anyone (!!!)
> * new EM config file for easier ABCD development (abcd_static.emconf)
>   (use java -Xem:abcd_static Hello)
> * Pi instructions are now inserted by the separate class (InsertPi)
>   that is reused between both old and new ABCD algorithms
> * Inequality graph can be printed to a .dot file on request.
>   Do it like this for method "main":
>   java -Xem:abcd_static -Djit.p.filter=.main -Djit.p.arg.log=ct,irdump,dotdump
>   and find inequality.graph.dot
>   ("dot -Tpng inequality.graph.dot > viewme.png")
> * checked on gcc 3.3.3 Linux/ia32
> * HelloWorld passed in the new mode, does not affect other modes
> * against r454400
> Instructions on how to apply both contributions. 
> Suppose you have all files in working_vm/abcd_update:
> abcd.patch           (Naveen, HARMONY-1564)
> abcd-original.tar.gz (Egor, HARMONY-1564)
> naveen_2.patch       (Naveen, HARMONY-1564)
> enable-inequality-graph-building.patch.txt
> vm.zip
> $ cd working_vm
> $ patch -p0 <abcd_update/abcd.patch
> $ tar zxvf abcd_update/abcd-original.tar.gz
> $ patch -p0 <../abcd_update/naveen_2.patch
> $ mv * ../vm/jitrino/src/optimizer/abcd/
> $ cd ..
> $ rm -rf abcd-original/
> $ unzip abcd_update/vm.zip
> $ patch -p1 <abcd_update/enable-inequality-graph-building.patch.txt
> What is left to do for the new ABCD:
> * teach the optimization to invoke the solver 
>   (detect array lengths, bounds checking operands)
> * acquire not-a-small amount of tests
> * fix bugs :)
> * improve the algorithm supporting semantics of more more operations 
>   such as Op_Conv, etc.

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