1. 25 Nov, 2009 12 commits
  2. 24 Nov, 2009 6 commits
  3. 23 Nov, 2009 2 commits
  4. 20 Nov, 2009 6 commits
  5. 19 Nov, 2009 1 commit
  6. 18 Nov, 2009 7 commits
  7. 17 Nov, 2009 5 commits
  8. 16 Nov, 2009 1 commit
    • fschneider@chromium.org's avatar
      Re-enable using push instructions for syncing the virtual frame. · 53bee811
      fschneider@chromium.org authored
      This change fixes the problem with the original version of this approach
      (r3032) that may lead to a corrupted stack if we would invoke spilling during 
      syncing a large SMI constant (unsafe SMIs) in the virtual frame.
      
      The new code for storing unsafe SMI constants does not use an extra temporary 
      register. This prevents the compiler from ever having to spill during a 
      virutal frame sync operation.
      
      For storing a large SMI constant we previously generated:
      
        mov ecx, (large_smi & 0x0000ffff)
        xor ecx, (large_smi & 0xffff0000)
        push ecx
      
      we now generate:
      
        push (large_smi & 0x0000ffff)
        or   [esp], (large_smi & 0xffff0000)
      
      Not using a temporary register avoids spilling within an nvocation 
      of VirtualFrame::SyncRange.
      
      Review URL: http://codereview.chromium.org/391079
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      53bee811