1. 21 Aug, 2017 1 commit
  2. 16 Aug, 2017 1 commit
  3. 14 Aug, 2017 1 commit
  4. 10 Aug, 2017 1 commit
  5. 03 Aug, 2017 1 commit
  6. 01 Aug, 2017 1 commit
  7. 31 Jul, 2017 2 commits
  8. 28 Jul, 2017 1 commit
  9. 26 Jul, 2017 1 commit
    • Sathya Gunasekaran's avatar
      [tests] Async test framework · 61ed6a00
      Sathya Gunasekaran authored
      - No need for multiple assertAsyncRan() calls, just do t.plan(count)
      
      - Previously, if you forget to call assertAsyncRan(), the test will still
        pass, which is no longer true.
      
      - No longer hold global state (with
        asyncAssertsExpected). Previously if one assert wasn't hit then
        there's no way to find out which test failed. You'd have to
        comment each test and try again.
      
      - Each test runs independently in the microtask queue.
      
      - Better failure reporting by printing the entire function.
      
      Example error :
      === mjsunit/harmony/promise-prototype-finally ===
      abort: Expected asserts: 2, Actual asserts: 1
      in test: reject/finally/then
      assert => {
        assert.plan(2);
        Promise.reject(3).finally().then(
          assert.unreachable,
          x => {
            assert.equals(3, x);
          });
      }
      
      
      Change-Id: Ic3f6272e1e87b8b0121b8c8c7cce19cf90d1f1be
      Reviewed-on: https://chromium-review.googlesource.com/455555
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarDaniel Ehrenberg <littledan@chromium.org>
      Reviewed-by: 's avatarCaitlin Potter <caitp@igalia.com>
      Cr-Commit-Position: refs/heads/master@{#46910}
      61ed6a00
  10. 25 Jul, 2017 1 commit
  11. 14 Jul, 2017 1 commit
  12. 13 Jul, 2017 1 commit
  13. 06 Jul, 2017 1 commit
  14. 30 Jun, 2017 1 commit
  15. 28 Jun, 2017 1 commit
  16. 27 Jun, 2017 3 commits
  17. 22 Jun, 2017 1 commit
  18. 13 Jun, 2017 1 commit
  19. 02 Jun, 2017 1 commit
    • jarin's avatar
      This is a first step towards reducing the number of stores/loads when... · f0645612
      jarin authored
      This is a first step towards reducing the number of stores/loads when suspending/resuming a generator.
      
      Unfortunately, even for an empty generator, we still use 8 register for various things (try-finally, copies of generator object, parser-introduced temporaries). I will try to get rid of these in separate CLs.
      
      Changes:
      
      - SuspendGenerator bytecode now takes register list to save.
      - ResumeGenerator was split into two bytecodes:
        * Resume generator reads the state out and marks the generator as
            'executing'.
        * RestoreGeneratorRegisters reloads the registers from
            the generator.
          + this required adding support for output register list.
      
      - Introduced generator_object_ register in the bytecode generator.
        * in subsequent CLs, I will make better use of it, the goal is
            to get rid if the .generator_object local variable.
      
      - Taught register optimizer to flush unassigned registers.
      
      BUG=v8:6379
      
      Review-Url: https://codereview.chromium.org/2894293003
      Cr-Commit-Position: refs/heads/master@{#45675}
      f0645612
  20. 31 May, 2017 1 commit
  21. 24 May, 2017 1 commit
  22. 04 May, 2017 1 commit
  23. 28 Apr, 2017 1 commit
  24. 25 Apr, 2017 2 commits
  25. 18 Apr, 2017 2 commits
  26. 13 Apr, 2017 1 commit
  27. 12 Apr, 2017 1 commit
    • binji's avatar
      [SAB] Validate index before value conversion using ToIndex · 7b300ba2
      binji authored
      It's required by the spec -- and observable -- that the index be validated
      before the conversion of the value(s) via ToInteger.
      
      The previous implementation also had an old test for validating the atomic
      index, which has now been switched to ToIndex.
      
      This also exposed an issue in the ia32 code generator: cmpxchg_b requires a
      byte register, but the ia32 instruction selector was ensuring that the
      new_value was a byte register, not the TempRegister. This change forces the
      temp register to use edx, which always can be used as a byte register (dl).
      This is the same behavior as currently used in UseByteRegister.
      
      BUG=v8:4614
      R=jarin@chromium.org,jkummerow@chromium.org
      
      Review-Url: https://codereview.chromium.org/2814753003
      Cr-Commit-Position: refs/heads/master@{#44626}
      7b300ba2
  28. 11 Apr, 2017 6 commits
  29. 10 Apr, 2017 1 commit
  30. 08 Apr, 2017 1 commit