1. 17 Dec, 2015 1 commit
  2. 02 Dec, 2015 1 commit
  3. 30 Nov, 2015 1 commit
  4. 22 Oct, 2015 1 commit
  5. 15 Oct, 2015 1 commit
  6. 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
  7. 08 Sep, 2015 1 commit
    • bmeurer's avatar
      [runtime] Replace many buggy uses of %_CallFunction with %_Call. · db2ba190
      bmeurer authored
      The semantics of the %_CallFunction intrinsic seem to be very unclear,
      which resulted in a lot of bugs. Especially the combination with
      %IsSloppyModeFunction is always a bug, because the receiver would be
      wrapped in the wrong context. So the %IsSloppyModeFunction helper is
      gone now, and many of the buggy uses of %_CallFunction are also
      eliminated.
      
      If you ever need to call something with a different receiver, then
      %_Call is your friend now. It does what you want and implements the
      call sequence fully (and correct).
      
      BUG=v8:4413
      LOG=n
      
      Review URL: https://codereview.chromium.org/1325573004
      
      Cr-Commit-Position: refs/heads/master@{#30634}
      db2ba190
  8. 03 Sep, 2015 1 commit
    • bmeurer's avatar
      [es6] Initial steps towards a correct implementation of IsCallable. · 8a378f46
      bmeurer authored
      This turns the has_instance_call_handler bit on Map into an is_callable
      bit, that matches the spec definition of IsCallable (i.e. instances have
      [[Call]] internal methods).
      
      Also fix the typeof operator to properly say "function" for everything
      that is callable.
      
      Also remove the (unused) premature %_GetPrototype optimization from
      Crankshaft, which just complicated the Map bit swap.
      
      R=mstarzinger@chromium.org, rossberg@chromium.org, yangguo@chromium.org
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg
      
      Review URL: https://codereview.chromium.org/1316933002
      
      Cr-Commit-Position: refs/heads/master@{#30552}
      8a378f46
  9. 28 Aug, 2015 1 commit
  10. 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
  11. 22 May, 2015 4 commits
  12. 21 May, 2015 1 commit
  13. 20 May, 2015 2 commits
  14. 15 May, 2015 1 commit
  15. 11 May, 2015 1 commit
  16. 05 May, 2015 2 commits
  17. 04 May, 2015 2 commits
  18. 30 Apr, 2015 2 commits
  19. 17 Apr, 2015 1 commit
  20. 16 Apr, 2015 4 commits
  21. 13 Apr, 2015 1 commit
  22. 10 Apr, 2015 1 commit
  23. 18 Mar, 2015 1 commit
  24. 24 Feb, 2015 1 commit
  25. 23 Feb, 2015 1 commit
  26. 19 Feb, 2015 1 commit
  27. 19 Nov, 2014 1 commit
  28. 21 Oct, 2014 1 commit
  29. 19 Aug, 2014 1 commit