1. 30 Oct, 2009 2 commits
  2. 29 Oct, 2009 2 commits
  3. 28 Oct, 2009 6 commits
  4. 27 Oct, 2009 8 commits
  5. 26 Oct, 2009 4 commits
  6. 23 Oct, 2009 3 commits
  7. 22 Oct, 2009 4 commits
  8. 21 Oct, 2009 3 commits
  9. 20 Oct, 2009 4 commits
    • kbr@chromium.org's avatar
      Added infrastructure for optimizing new CanvasArray types in WebGL · 46e6297e
      kbr@chromium.org authored
      specification under development. The optimizations are patterned after
      those previously done for CanvasPixelArray. This CL adds all of the
      necessary framework but continues to use the generic KeyedLoadIC and
      KeyedStoreIC code, to create a baseline for benchmarking purposes. The
      next CL will add the optimized ICs to ic-ia32.cc and ic-x64.cc.
      
      These new CanvasArray types have different semantics than
      CanvasPixelArray; out-of-range values are clamped via C cast
      semantics, which is cheaper than the clamping behavior specified by
      CanvasPixelArray. Out-of-range indices raise exceptions instead of
      being silently ignored.
      
      As part of this work, pulled FloatingPointHelper::AllocateHeapNumber
      up to MacroAssembler on ia32 and x64 platforms. Slightly refactored
      KeyedLoadIC and KeyedStoreIC. Fixed encoding for fistp_d on x64 and
      added a few more instructions that are needed for the new ICs. The
      test cases in test-api.cc have been verified by hand to exercise all
      of the generated code paths in the forthcoming specialized ICs.
      
      Review URL: http://codereview.chromium.org/293023
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      46e6297e
    • kmillikin@chromium.org's avatar
      Added support for assignments to global variables in the toplevel code · 4dfd4447
      kmillikin@chromium.org authored
      generator.  We use the normal store IC mechanism with the global
      object as the receiver.  The following code is generated for 'x=true'
      at toplevel.
      
      ======== IA32:
      
      27  mov eax,0xf5d06161          ;; object: 0xf5d06161 <true>
      32  mov ecx,0xf5d09c35          ;; object: 0xf5d09c35 <String[1]: x>
      37  push [esi+0x17]
      40  call StoreIC_Initialize  (0xf5ce75c0)    ;; code: STORE_IC, UNINITIALIZED
      45  mov [esp],eax
      
      ======== X64:
      
      25  movq rax,0x7f867a7b6199    ;; object: 0x7f867a7b6199 <true>
      35  movq rcx,0x7f867a7bae71    ;; object: 0x7f867a7bae71 <String[1]: x>
      45  push [rsi+0x2f]
      49  call StoreIC_Initialize  (0x7f8655929ac0)    ;; code: STORE_IC, UNINITIALIZED
      54  movq [rsp],rax
      
      ======== ARM:
      
      32  e59f0054       ldr r0, [pc, #+84]          ;; object: 0xf5b78161 <true>
      36  e59f2054       ldr r2, [pc, #+84]          ;; object: 0xf5b7bc35 <String[1]: x>
      40  e598c017       ldr ip, [r8, #+23]
      44  e52dc004       str ip, [sp, #-4]!
      48  e1a0e00f       mov lr, pc
      52  e59ff048       ldr pc, [pc, #+72]          ;; debug: statement 0
                                                     ;; code: STORE_IC, UNINITIALIZED
      56  e58d0000       str r0, [sp, #+0]
      
      Review URL: http://codereview.chromium.org/305005
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      4dfd4447
    • sgjesse@chromium.org's avatar
      Fix issue 475 · a637f453
      sgjesse@chromium.org authored
      The check for arguments in registers in one of the three versions of GenericBinaryOpStub::GenerateCall was plain wrong.
      
      BUG=475
      TEST=mjsunit/regress/regress-475.js
      Review URL: http://codereview.chromium.org/307002
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      a637f453
    • ager@chromium.org's avatar
      390fd2a3
  10. 15 Oct, 2009 1 commit
  11. 14 Oct, 2009 3 commits