1. 24 Nov, 2015 3 commits
  2. 20 Nov, 2015 3 commits
  3. 18 Nov, 2015 1 commit
  4. 02 Nov, 2015 1 commit
  5. 22 Oct, 2015 1 commit
  6. 16 Oct, 2015 1 commit
  7. 15 Oct, 2015 1 commit
  8. 13 Oct, 2015 1 commit
    • mstarzinger's avatar
      Move builtin JavaScript sources into own directory. · e5320d8a
      mstarzinger authored
      This moves JavaScript source files that are bundled with V8 into a
      separate directory. The goal is to improve code readability and also
      being able to formalize ideal reviewers by subsequently adding the
      OWNERS file. These files almost exclusively contain implementations
      of methods fully specified by ES6.
      
      Note that files in the "debug" directory as well as the "d8.js" file
      aren't affected by this change.
      
      R=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/1398733002
      
      Cr-Commit-Position: refs/heads/master@{#31230}
      e5320d8a
  9. 01 Oct, 2015 1 commit
    • bmeurer's avatar
      [es6] Fix missing bits for full @@toPrimitive support. · 2a0759d3
      bmeurer authored
      Introduce %_ToNumber intrinsic, which just calls to the existing
      ToNumberStub, and remove all uses of our custom JavaScript plus
      intrinsics based ToNumber and friends.
      
      Also replace the TO_NUMBER_INLINE macro with TO_NUMBER,
      which is currently a wrapper for %_ToNumber. Newly written JS
      code should use TO_NUMBER (similar to TO_STRING, TO_INT32,
      and friends).
      
      Also finally remove the DefaultString/DefaultNumber builtins, which
      are basically the ES5 version of ToPrimitive. Now all code uses the
      ES6 version, which is implemented in Object::ToPrimitive and
      JSReceiver::ToPrimitive in C++.
      
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg
      R=jarin@chromium.org
      BUG=v8:4307
      LOG=n
      
      Review URL: https://codereview.chromium.org/1384443002
      
      Cr-Commit-Position: refs/heads/master@{#31054}
      2a0759d3
  10. 28 Aug, 2015 1 commit
  11. 14 Aug, 2015 1 commit
  12. 26 May, 2015 2 commits
    • erikcorry's avatar
      Move hash code from hidden string to a private symbol · eca5b5d7
      erikcorry authored
      * Hash code is now just done with a private own symbol instead of the hidden string, which predates symbols.
      * In the long run we should do all hidden properties this way and get rid of the
      hidden magic 0-length string with the zero hash code.  The advantages include
      less complexity and being able to do things from JS in a natural way.
      * Initially, the performance of weak set regressed, because it's a little harder
      to do the lookup in C++.  Instead of heroics in C++ to make things faster I
      moved some functionality into JS and got the performance back. JS is supposed to be good at looking up named properties on objects.
      * This also changes hash codes of Smis so that they are always Smis.
      
      Performance figures are in the comments to the code review.  Summary: Most of js-perf-test/Collections is neutral.  Set and Map with object keys are 40-50% better.  WeakMap is -5% and WeakSet is +9%.  After the measurements, I fixed global proxies, which cost 1% on most tests and 5% on the weak ones :-(.
      
      In the code review comments is a patch with an example of the heroics we could do in C++ to make lookup faster (I hope we don't have to do this.  Instead of checking for the property, then doing a new lookup to insert it, we could do one lookup and handle the addition immediately).  With the current benchmarks above this buys us nothing, but if we go back to doing more lookups in C++ instead of in stubs and JS then it's a win.
      
      In a similar vein we could give the magic zero hash code to the hash code
      symbol.  Then when we look up the hash code we would sometimes see the table
      with all the hidden properties.  This dual use of the field for either the hash
      code or the table with all hidden properties and the hash code is rather ugly,
      and this CL gets rid of it.  I'd be loath to bring it back.  On the benchmarks quoted above it's slightly slower than moving the hash code lookup to JS like in this CL.
      
      One worry is that the benchmark results above are more monomorphic than real
      world code, so may be overstating the performance benefits of moving to JS.  I
      think this is part of a general issue we have with handling polymorphic code in
      JS and any solutions there will benefit this solution, which boils down to
      regular property access. Any improvement there will lift all boats.
      
      R=adamk@chromium.org, verwaest@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1149863005
      
      Cr-Commit-Position: refs/heads/master@{#28622}
      eca5b5d7
    • yangguo's avatar
      Revert of Revert of Hook up more import/exports in natives. (patchset #1 id:1... · 5cb925e4
      yangguo authored
      Revert of Revert of Hook up more import/exports in natives. (patchset #1 id:1 of https://codereview.chromium.org/1154743003/)
      
      Reason for revert:
      Unrelated failure that was uncovered by this CL has been fixed (https://codereview.chromium.org/1152243002/)
      
      Original issue's description:
      > Revert of Hook up more import/exports in natives. (patchset #3 id:40001 of https://codereview.chromium.org/1154483002/)
      >
      > Reason for revert:
      > [Sheriff] Speculative revert for gc stress failures:
      > http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/481
      >
      > Original issue's description:
      > > Hook up more import/exports in natives.
      > >
      > > R=jkummerow@chromium.org
      > >
      > > Committed: https://crrev.com/7a918ac9658d11778f39593bfcc19d7c506defd9
      > > Cr-Commit-Position: refs/heads/master@{#28573}
      > >
      > > Committed: https://crrev.com/e13a39dd7f4062898709d7c68900677df0513995
      > > Cr-Commit-Position: refs/heads/master@{#28578}
      >
      > TBR=jkummerow@chromium.org,erik.corry@gmail.com,yangguo@chromium.org
      > NOPRESUBMIT=true
      > NOTREECHECKS=true
      > NOTRY=true
      >
      > Committed: https://crrev.com/eb0024d1dbdda5f51b006dd54887404ee6c5cbfc
      > Cr-Commit-Position: refs/heads/master@{#28584}
      
      TBR=jkummerow@chromium.org,erik.corry@gmail.com,machenbach@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review URL: https://codereview.chromium.org/1149773003
      
      Cr-Commit-Position: refs/heads/master@{#28608}
      5cb925e4
  13. 22 May, 2015 4 commits
  14. 21 May, 2015 1 commit
  15. 20 May, 2015 3 commits
  16. 12 May, 2015 3 commits
  17. 11 May, 2015 1 commit
  18. 07 May, 2015 1 commit
  19. 06 May, 2015 2 commits
  20. 05 May, 2015 3 commits
  21. 04 May, 2015 2 commits
  22. 30 Apr, 2015 2 commits
  23. 10 Apr, 2015 1 commit