1. 25 Mar, 2010 3 commits
  2. 24 Mar, 2010 1 commit
  3. 23 Mar, 2010 1 commit
    • sgjesse@chromium.org's avatar
      Inline floating point compare · 9240342a
      sgjesse@chromium.org authored
      Inline floating point compare instead of calling the stub when the following conditions are met:
        * Code is in a loop
        * Compare is not a for loop condition
        * Compare is not an equal comparison
      
      This inlined code handles heap number to heap number and heap number to smi compare. It can also handle smi to smi compare, but whenever there is a chance of comparing two smis the smi compare is inlined before the inlined floating point compare. Support for non SSE2 hardware is included.
      
      A new set of variants of the compare stub without the floating point comparison code is called if the inline comapre fails due to the operands not beeing heap numbers or smis.
      
      The virtual frame has been extended with a branch taking two live results to be carried through to the destination. This makes this change much simpler as the inlined code have two live results in registers and a number of bailouts.
      
      CompareStub::GetName needs to be updated as well. I will do that as a separate change.
      
      Also inlined equality check if both operands can't be NaN. This can only provide positive equals if it is the same object.
      Review URL: http://codereview.chromium.org/1117011
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      9240342a
  4. 05 Mar, 2010 1 commit
  5. 26 Feb, 2010 1 commit
  6. 22 Feb, 2010 1 commit
  7. 15 Feb, 2010 1 commit
    • fschneider@chromium.org's avatar
      Introduce number type information in the virtual frame. · dbe99e40
      fschneider@chromium.org authored
      Each frame element gets a new attribute with number type information. A frame element can be: 
      
      - smi 
      - heap number 
      - number (i.e. either of the above) 
      - or something else. 
      
      The type information is propagated along with all virtual frame operations. 
      Results popped from the frame carry the number information with them.
      
      Two optimizations in the code generator make use of the new 
      information: 
      - GenericBinaryOpSyub omits map checks if input operands are numbers. 
      - Boolean conversion for numbers: Emit inline code for converting a number (smi or heap number) to boolean. Do not emit call to ToBoolean stub in this case.
      
      
      Review URL: http://codereview.chromium.org/545007
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      dbe99e40
  8. 10 Aug, 2009 1 commit
  9. 24 Jun, 2009 1 commit
  10. 12 Jun, 2009 2 commits
  11. 27 May, 2009 1 commit
  12. 25 May, 2009 1 commit
  13. 22 May, 2009 1 commit
  14. 20 May, 2009 1 commit
  15. 19 May, 2009 1 commit
  16. 18 May, 2009 1 commit
  17. 15 May, 2009 4 commits
  18. 14 May, 2009 5 commits
  19. 13 May, 2009 2 commits
  20. 11 May, 2009 2 commits
  21. 03 Apr, 2009 1 commit
  22. 02 Apr, 2009 2 commits
  23. 25 Mar, 2009 1 commit
  24. 24 Mar, 2009 1 commit
  25. 20 Mar, 2009 2 commits
  26. 19 Mar, 2009 1 commit