1. 13 Jun, 2016 3 commits
  2. 08 Jun, 2016 1 commit
  3. 06 Jun, 2016 1 commit
  4. 26 May, 2016 1 commit
    • lpy's avatar
      Reland: Create libsampler as V8 sampler library. · a0198c0f
      lpy authored
      This patch does five things:
      
      1. Extracts sampler as libsampler to provide sampling functionality support.
      2. Makes SampleStack virtual so embedders can override the behaviour of sample collecting.
      3. Removes sampler.[h|cc].
      4. Moves sampling thread into log.cc as workaround to keep the --prof functionality.
      5. Creates SamplerManager to manage the relationship between samplers and threads.
      
      The reason we port hashmap.h is that in debug mode, STL containers are using
      mutexes from a mutex pool, which may lead to deadlock when using asynchronously
      signal handler.
      
      Currently libsampler is used in V8 temporarily.
      
      BUG=v8:4789
      LOG=n
      
      Committed: https://crrev.com/06cc9b7c176a6223971deaa9fbcafe1a05058c7b
      Cr-Commit-Position: refs/heads/master@{#36527}
      
      Review-Url: https://codereview.chromium.org/1922303002
      Cr-Commit-Position: refs/heads/master@{#36532}
      a0198c0f
  5. 25 May, 2016 2 commits
    • lpy's avatar
      Revert of Create libsampler as V8 sampler library. (patchset #24 id:460001 of... · 636f1e8e
      lpy authored
      Revert of Create libsampler as V8 sampler library. (patchset #24 id:460001 of https://codereview.chromium.org/1922303002/ )
      
      Reason for revert:
      V8 Linux64 TSAN failure because ThreadSanitizer indicated data race.
      
      Original issue's description:
      > Create libsampler as V8 sampler library.
      >
      > This patch does five things:
      >
      > 1. Extracts sampler as libsampler to provide sampling functionality support.
      > 2. Makes SampleStack virtual so embedders can override the behaviour of sample collecting.
      > 3. Removes sampler.[h|cc].
      > 4. Moves sampling thread into log.cc as workaround to keep the --prof functionality.
      > 5. Creates SamplerManager to manage the relationship between samplers and threads.
      >
      > The reason we port hashmap.h is that in debug mode, STL containers are using
      > mutexes from a mutex pool, which may lead to deadlock when using asynchronously
      > signal handler.
      >
      > Currently libsampler is used in V8 temporarily.
      >
      > BUG=v8:4789
      > LOG=n
      >
      > Committed: https://crrev.com/06cc9b7c176a6223971deaa9fbcafe1a05058c7b
      > Cr-Commit-Position: refs/heads/master@{#36527}
      
      TBR=jochen@chromium.org,alph@chromium.org,fmeawad@chromium.org,yangguo@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4789
      
      Review-Url: https://codereview.chromium.org/2000323007
      Cr-Commit-Position: refs/heads/master@{#36529}
      636f1e8e
    • lpy's avatar
      Create libsampler as V8 sampler library. · 06cc9b7c
      lpy authored
      This patch does five things:
      
      1. Extracts sampler as libsampler to provide sampling functionality support.
      2. Makes SampleStack virtual so embedders can override the behaviour of sample collecting.
      3. Removes sampler.[h|cc].
      4. Moves sampling thread into log.cc as workaround to keep the --prof functionality.
      5. Creates SamplerManager to manage the relationship between samplers and threads.
      
      The reason we port hashmap.h is that in debug mode, STL containers are using
      mutexes from a mutex pool, which may lead to deadlock when using asynchronously
      signal handler.
      
      Currently libsampler is used in V8 temporarily.
      
      BUG=v8:4789
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1922303002
      Cr-Commit-Position: refs/heads/master@{#36527}
      06cc9b7c
  6. 24 May, 2016 1 commit
    • jgruber's avatar
      Refactor script position calculation · 94ad3b18
      jgruber authored
      Script position calculation logic (i.e. line & column numbers for a
      given code position) is now based on a single method
      Script::GetPositionInfo(). Refactored related code in isolate.cc and
      js/messages.js to use the new method. The line_ends accessor is still
      in use by chromium and thus cannot be removed yet.
      
      R=yangguo@chromium.org
      BUG=
      
      Review-Url: https://codereview.chromium.org/2002993002
      Cr-Commit-Position: refs/heads/master@{#36458}
      94ad3b18
  7. 20 May, 2016 3 commits
  8. 19 May, 2016 3 commits
  9. 17 May, 2016 1 commit
    • bmeurer's avatar
      [es6] Reintroduce the instanceof operator in the backends. · 551e0aa1
      bmeurer authored
      This adds back the instanceof operator support in the backends and
      introduces a @@hasInstance protector cell on the isolate that guards the
      fast path for the InstanceOfStub. This way we recover the ~10%
      regression on Octane EarleyBoyer in Crankshaft and greatly improve
      TurboFan and Ignition performance of instanceof.
      
      R=ishell@chromium.org
      TBR=hpayer@chromium.org,rossberg@chromium.org
      BUG=chromium:597249, v8:4447
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1980483003
      Cr-Commit-Position: refs/heads/master@{#36275}
      551e0aa1
  10. 13 May, 2016 1 commit
  11. 12 May, 2016 1 commit
  12. 10 May, 2016 2 commits
    • bmeurer's avatar
      [turbofan] Also disable concurrent recompilation when tracing TurboFan. · 82de25f0
      bmeurer authored
      Treat --trace-turbo and --trace-turbo-graph similar to --trace-hydrogen
      and --trace-hydrogen-stubs, in that we disable concurrent recompilation
      in that case (otherwise we cannot print heap objects and stuff).
      
      R=ishell@chromium.org
      BUG=v8:4969
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1965653003
      Cr-Commit-Position: refs/heads/master@{#36123}
      82de25f0
    • littledan's avatar
      Various species micro-optimizations · f98caf44
      littledan authored
      - Inline reads to the species protector
      - Put V8_LIKELY/V8_UNLIKELY to guide Array.prototype.{slice,splice,concat}
        to the fast paths
      - Put the Array species good path checks directly in
        Array.prototype.concat to avoid a couple reads of the array constructor
        from the native context
      
      These changes together bring a ~4-6% win on
      kraken-orig/stanford-crypto-pbkdf2-orig which more than makes up from
      the performance degradation from a recent other species-related change.
      
      BUG=chromium:609739
      R=cbruni@chromium.org
      LOG=Y
      
      Review-Url: https://codereview.chromium.org/1958713003
      Cr-Commit-Position: refs/heads/master@{#36121}
      f98caf44
  13. 06 May, 2016 1 commit
    • clemensh's avatar
      [wasm] Make wasm info available on the stack trace · a4cd1eef
      clemensh authored
      This changes different locations to extract the reference to the wasm
      object and the function index from the stack trace, and make it
      available through all the APIs which process stack traces.
      The javascript CallSite object now has the new methods isWasm(),
      getWasmObject() and getWasmFunctionIndex(); the byte offset is
      available via getPosition().
      
      Function names of wasm frames should be fully functional with this
      commit, position information works reliably for calls, but not for
      traps like unreachable or out-of-bounds accesses.
      
      R=titzer@chromium.org, yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/1909353002
      Cr-Commit-Position: refs/heads/master@{#36067}
      a4cd1eef
  14. 04 May, 2016 1 commit
    • littledan's avatar
      Make array __proto__ manipulations not disturb the species protector · 04c8c11e
      littledan authored
      Previously, the species protector was invalidated whenever the __proto__ of
      an Array instance was manipulated. Then, if the map's new_target_is_base field
      remained set, it was correct to conclude that GetPrototypeOf(array) was
      %ArrayPrototype%. However, this choice caused the popular D3 framework to
      invalidate the species protector, causing many functions to become slower.
      
      This patch eliminates that aspect of the species protector. Instead, the check
      is to look at the instance->map()->prototype(). It is valid to look directly
      at the map's prototype slot, ignoring hidden prototypes and proxies, because
      - This is only called on Array instances, so the receiver cannot be a Proxy.
      - For hidden prototypes, any inaccuracy would only result in conservatively
        taking the slow path.
      
      Theoretically, this patch could make methods applied to arrays from other
      contexts slower. However, the slowdown would only affect a particular array
      instance and not have a global spill-over effect. Further, the slowdown could
      be addressed by tracking, either in the instance's map or in the actual
      prototype object, whether it is a %ArrayPrototype% from any context, in a way
      which is cheap to query, and use that rather than comparing to the currently
      executing native context.
      
      In interactive testing, this patch led the OnShape CAD system to experience
      faster load times (110+s -> 40s).
      
      BUG=chromium:606207
      LOG=Y
      
      Review-Url: https://codereview.chromium.org/1936393002
      Cr-Commit-Position: refs/heads/master@{#36033}
      04c8c11e
  15. 26 Apr, 2016 1 commit
  16. 25 Apr, 2016 1 commit
  17. 22 Apr, 2016 1 commit
  18. 19 Apr, 2016 1 commit
  19. 18 Apr, 2016 1 commit
  20. 12 Apr, 2016 1 commit
  21. 11 Apr, 2016 2 commits
  22. 08 Apr, 2016 3 commits
  23. 06 Apr, 2016 2 commits
  24. 05 Apr, 2016 2 commits
  25. 04 Apr, 2016 1 commit
  26. 01 Apr, 2016 1 commit
  27. 30 Mar, 2016 1 commit