1. 18 Oct, 2012 1 commit
  2. 16 Oct, 2012 1 commit
  3. 11 Oct, 2012 1 commit
    • svenpanne@chromium.org's avatar
      Added a simple dead code removal phase. · f03fd70d
      svenpanne@chromium.org authored
      We iteratively remove all dead Hydrogen instruction until we reach a fixed point. We consider an instruction dead if it is unused, has no observable side effects and is deletable. The last part of the condition is currently not very nice: We basically have to whitelist "safe" instructions, because we are missing more detailed dependencies and/or more detailed tracking of side effects.
      
      We disable dead code elimination for now in our test runners, because we have tons of poorly written tests which wouldn't test anymore what they are supposed to test with this phase enabled. To get test coverage for dead code elimination itself, we should enable it on a few build bots. This is not really a perfect state, but the best we can do for now.
      
      This patch includes a few const-correctness fixes, most of them were necessary for this CL.
      
      Review URL: https://codereview.chromium.org/11088027
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      f03fd70d
  4. 09 Oct, 2012 1 commit
  5. 08 Oct, 2012 1 commit
  6. 05 Oct, 2012 1 commit
  7. 02 Oct, 2012 1 commit
  8. 01 Oct, 2012 2 commits
  9. 28 Sep, 2012 4 commits
  10. 26 Sep, 2012 2 commits
  11. 24 Sep, 2012 1 commit
  12. 20 Sep, 2012 1 commit
  13. 06 Sep, 2012 1 commit
  14. 05 Sep, 2012 1 commit
  15. 23 Aug, 2012 1 commit
  16. 22 Aug, 2012 1 commit
  17. 08 Aug, 2012 1 commit
  18. 30 Jul, 2012 1 commit
  19. 27 Jul, 2012 1 commit
  20. 26 Jul, 2012 1 commit
  21. 23 Jul, 2012 4 commits
  22. 19 Jul, 2012 2 commits
  23. 18 Jul, 2012 3 commits
  24. 16 Jul, 2012 2 commits
  25. 11 Jul, 2012 1 commit
  26. 05 Jul, 2012 1 commit
    • verwaest@chromium.org's avatar
      Separating transitions from descriptors. · d7a5b7d5
      verwaest@chromium.org authored
      In this design maps contain descriptor arrays, which in turn can contain transition arrays. If transitions are needed when no descriptor array is present, a descriptor array without real descriptors is inserted just so it can point at the transition array.
      
      The transition array does not contain details about the field it transitions to. In order to weed out transitions to FIELDs from CONSTANT_FUNCTION (what used to be MAP_TRANSITION vs CONSTANT_TRANSITION), the transition needs to be followed and the details need to be looked up in the target map. CALLBACKS transitions are still easy to recognize since the transition targets are stored as an AccessorPair containing the maps, rather than the maps directly.
      
      Currently AccessorPairs containing a transition and an accessor are shared between the descriptor array and the transition array. This simplifies lookup since we only have to look in one of both arrays. This will change in subsequent revisions, when descriptor arrays will become shared between multiple maps, since transitions cannot be shared.
      
      Review URL: https://chromiumcodereview.appspot.com/10697015
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      d7a5b7d5
  27. 03 Jul, 2012 2 commits