1. 09 Dec, 2015 2 commits
  2. 07 Dec, 2015 1 commit
  3. 07 Oct, 2015 1 commit
  4. 06 Oct, 2015 1 commit
  5. 05 Oct, 2015 1 commit
  6. 10 Sep, 2015 1 commit
  7. 31 Aug, 2015 2 commits
    • hablich's avatar
      Revert of [heap] More flag cleanup. (patchset #8 id:140001 of... · 6eb83769
      hablich authored
      Revert of [heap] More flag cleanup. (patchset #8 id:140001 of https://codereview.chromium.org/1314863003/ )
      
      Reason for revert:
      Breaks http://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20debug%20-%202/builds/2372
      
      Original issue's description:
      > [heap] GC flag cleanup/restructuring.
      >
      > * GC's flags are now proper flags and not int.
      > * Callback flags are not threaded through but only set once like gc flags
      > * Callers of methods that trigger GCs need to pass a reason when not using
      >   the default parameters.
      >
      > Furthermore, each GC invocation can be passed the GC and GCCallback flags. We
      > usually override the currently set flags upon finishing a GC cylce, but are able
      > to restore the previously set if desired. This is useful for explicitely
      > triggered scavenges or external requests that interrupt the current behaviour.
      >
      > BUG=
      >
      > Committed: https://crrev.com/f4f3b431b9ce0778d926acf03c0d36dae5c0cba4
      > Cr-Commit-Position: refs/heads/master@{#30457}
      
      TBR=hpayer@chromium.org,yangguo@chromium.org,mlippautz@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=
      
      Review URL: https://codereview.chromium.org/1303393004
      
      Cr-Commit-Position: refs/heads/master@{#30463}
      6eb83769
    • mlippautz's avatar
      [heap] GC flag cleanup/restructuring. · f4f3b431
      mlippautz authored
      * GC's flags are now proper flags and not int.
      * Callback flags are not threaded through but only set once like gc flags
      * Callers of methods that trigger GCs need to pass a reason when not using
        the default parameters.
      
      Furthermore, each GC invocation can be passed the GC and GCCallback flags. We
      usually override the currently set flags upon finishing a GC cylce, but are able
      to restore the previously set if desired. This is useful for explicitely
      triggered scavenges or external requests that interrupt the current behaviour.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1314863003
      
      Cr-Commit-Position: refs/heads/master@{#30457}
      f4f3b431
  8. 26 Aug, 2015 1 commit
  9. 01 Jun, 2015 1 commit
  10. 26 May, 2015 1 commit
    • 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
  11. 23 Apr, 2015 1 commit
  12. 15 Apr, 2015 2 commits
  13. 07 Apr, 2015 1 commit
  14. 27 Mar, 2015 1 commit
  15. 19 Mar, 2015 1 commit
  16. 18 Mar, 2015 1 commit
  17. 24 Feb, 2015 1 commit
    • michael_dawson's avatar
      Contribution of PowerPC port (continuation of 422063005) - PPC opt 2 · bf3691ae
      michael_dawson authored
      Contribution of PowerPC port (continuation of 422063005, 817143002,
      866843003, and 901083004. The bulk of the changes are to remove some
      hard coded assumptions about heap page size within existing tests.
      The remaining change is to use a larger heap page size for PPC linux
      as this provides a performance benefit due to the larger memory page size.
      
      	modified:   src/base/build_config.h
      	modified:   src/heap/heap.cc
      	modified:   test/cctest/test-alloc.cc
      	modified:   test/cctest/test-constantpool.cc
      	modified:   test/cctest/test-heap.cc
      	modified:   test/cctest/test-spaces.cc
      	modified:   test/cctest/test-weakmaps.cc
      	modified:   test/cctest/test-weaksets.cc
      
      R=danno@chromium.org, svenpanne@chromium.org
      
      BUG=
      
      Review URL: https://codereview.chromium.org/910333004
      
      Cr-Commit-Position: refs/heads/master@{#26833}
      bf3691ae
  18. 05 Feb, 2015 1 commit
    • yurys's avatar
      Add NativeWeakMap to v8.h · a5593679
      yurys authored
      A new map wich references its keys weakly is added to v8.h. Internally it uses the same storage as JSWeakMap but doesn't depend on the JavaScript part of WeakMap implementation in weak-collection.js, hence it can be instantiated without entering any context.
      
      BUG=chromium:437416
      LOG=Y
      
      Review URL: https://codereview.chromium.org/900123003
      
      Cr-Commit-Position: refs/heads/master@{#26451}
      a5593679
  19. 04 Feb, 2015 4 commits
  20. 03 Feb, 2015 2 commits
  21. 02 Dec, 2014 1 commit
  22. 05 Aug, 2014 1 commit
  23. 04 Aug, 2014 1 commit
  24. 03 Jun, 2014 1 commit
  25. 28 May, 2014 1 commit
  26. 09 May, 2014 1 commit
  27. 25 Apr, 2014 1 commit
  28. 22 Apr, 2014 1 commit
  29. 14 Apr, 2014 1 commit
  30. 18 Dec, 2013 1 commit
  31. 22 Nov, 2013 1 commit
  32. 05 Nov, 2013 1 commit
  33. 03 Sep, 2013 1 commit