1. 22 May, 2017 1 commit
  2. 11 Apr, 2017 1 commit
  3. 16 Mar, 2017 1 commit
  4. 13 Mar, 2017 1 commit
    • binji's avatar
      Reland moving Atomics builtins to C++ · 65200967
      binji authored
      This reverts the previous revert, commit
      5a04f4fd.
      
      Previously reverted changes:
      
      >    Revert "[SAB] Move Atomics builtins to C++"
      >
      >     This reverts commit 2b9840d8.
      >
      >     Revert "[SAB] Remove unreachable Uint8Clamped atomics paths"
      >
      >     This reverts commit d1160fb1.
      >
      >     Revert "Remove tiny unit test for MinSimple/MaxSimple"
      >
      >     This reverts commit 837760ec.
      >
      >     Revert "Remove infrastructure for experimental JS natives"
      >
      >     This reverts commit 8cfe45b6.
      
      These changes were reverted to improve a perf regression on a Chrome
      bot. Since then, the regression has reappeared, then disappeared again
      all from seemingly unrelated changes.
      
      BUG=v8:6033
      TBR=adamk@chromium.org,hpayer@chromium.org,yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/2732213005
      Cr-Commit-Position: refs/heads/master@{#43758}
      65200967
  5. 27 Feb, 2017 1 commit
  6. 20 Feb, 2017 1 commit
    • littledan's avatar
      [SAB] Move Atomics builtins to C++ · 2b9840d8
      littledan authored
      This patch refactors the Atomics builtins so that they are implemented
      as C++ builtins rather than experimental JS builtins. Previously, each
      of these functions called out to a runtime function, so no significant
      change in performance is anticipated. The goal of this patch is to
      remove the last user of experimental JS builtins so that the mechanism
      can be removed, for performance reasons. The patch includes a drive-by
      fix of a check-fail. For the most part, the patch is just moving code
      without modification from runtime-atomics.cc to
      builtins-sharedarraybuffer.cc .
      
      BUG=v8:5880
      
      Review-Url: https://codereview.chromium.org/2698813004
      Cr-Commit-Position: refs/heads/master@{#43335}
      2b9840d8
  7. 05 Jan, 2017 1 commit
  8. 08 Aug, 2016 1 commit
  9. 13 Jul, 2016 1 commit
  10. 08 Jun, 2016 1 commit
  11. 03 May, 2016 1 commit
  12. 13 Apr, 2016 2 commits
  13. 12 Apr, 2016 1 commit
    • binji's avatar
      [Atomics] code stubs for atomic operations · 10b5febe
      binji authored
      * New atomic code stubs for x64, ia32, arm, arm64
      * Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue
        to macro-assembler-ia32 (API based on x64 macro assembler)
      * Remove runtime implementation of Atomics.load, the code stub should always be
        called instead
      * Add new test to mjsunit atomics test; check that Smi values of different
        sizes are supported when possible, else fall back to HeapNumbers
      
      These changes were needed to add another codestub:
      * Bump kStubMajorKeyBits from 7 to 8
      * Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12
      
      BUG=v8:4614
      LOG=y
      
      Review URL: https://codereview.chromium.org/1617503003
      
      Cr-Commit-Position: refs/heads/master@{#35427}
      10b5febe
  14. 04 Jan, 2016 1 commit
  15. 18 Nov, 2015 1 commit
  16. 30 Sep, 2015 1 commit
  17. 15 Sep, 2015 1 commit
  18. 09 Sep, 2015 1 commit
  19. 18 Aug, 2015 1 commit
  20. 12 Aug, 2015 1 commit
  21. 15 Jul, 2015 1 commit
    • brucedawson's avatar
      Fix runtime-atomics for Win 10 SDK and remove volatile · b2ed2530
      brucedawson authored
      For unclear and probably accidental reasons the Windows 10 SDK
      renamed some _Interlocked* functions to _InlineInterlocked. This
      leads to these errors:
      
      runtime-atomics.cc(159): error C3861: '_InterlockedExchange64': identifier not found
      runtime-atomics.cc(159): error C3861: '_InterlockedExchangeAdd64': identifier not found
      runtime-atomics.cc(159): error C3861: '_InterlockedAnd64': identifier not found
      runtime-atomics.cc(159): error C3861: '_InterlockedOr64': identifier not found
      runtime-atomics.cc(159): error C3861: '_InterlockedXor64': identifier not found
      
      Fixing this requires either adding defines to map these five _Interlocked*
      functions to _InlineInterlocked*, or else changing to using the
      non-underscore versions. It appears that using the non-underscore versions
      is preferable so I went that way. This also requires adding three  new
      defines because there is a huge lack of consistency, probably due to these
      macros being defined sometimes in <intrin.h> and sometimes in <winnt.h>
      
      All five of the renamed 64-bit functions were manually checked to ensure
      that the change to the non-underscore versions would make no differences -
      the inline functions that they map to were identical. Other functions were
      spot-checked.
      
      Also, the 'volatile' qualifiers were removed. Volatile has no no useful
      meaning for multi-threaded programming. It only exists in the Interlocked*
      prototypes to *allow* volatile variables to be passed. Since this is a bad
      habit to encourage there is no reason for us to permit it, and we can
      still call the Microsoft functions (T* converts to volatile T*, just not
      vice-versa).
      
      The updated code builds with the Windows 8.1 SDK and with the Windows 10 SDK.
      
      R=jarin@chromium.org
      LOG=Y
      BUG=440500,491424
      
      Review URL: https://codereview.chromium.org/1228063005
      
      Cr-Commit-Position: refs/heads/master@{#29687}
      b2ed2530
  22. 22 Jun, 2015 1 commit
  23. 19 Jun, 2015 1 commit
  24. 03 Jun, 2015 1 commit