1. 16 Nov, 2017 19 commits
  2. 15 Nov, 2017 13 commits
  3. 14 Nov, 2017 8 commits
    • Adam Klein's avatar
      [parser] RewritableExpressions should keep track of their Scope directly · 082009fc
      Adam Klein authored
      Previously, the Parser stored a Scope alongside a RewritableExpression
      for each potential destructuring assignment. This Scope was later used
      during rewriting to set the correct context for the rewriting. But this
      approach failed if a new Scope was inserted into the Scope chain between
      the time the assignment was parsed and when it was rewritten.
      
      By storing the Scope directly in RewritableExpression,
      ReparentExpressionScopes() is able to appropriately re-scope such
      expressions prior to their rewriting.
      
      Bug: chromium:779457
      Change-Id: Ieb429a3da841f76d5798610af59da4fccb000652
      Reviewed-on: https://chromium-review.googlesource.com/767666
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49368}
      082009fc
    • Alexey Kozyatinskiy's avatar
      [inspector] perf test for inspector async instrumentation · 7345bfcc
      Alexey Kozyatinskiy authored
      Prior langing massive async instrumentation refactoring let's add a perf
      test to track our progress.
      
      R=dgozman@chromium.org
      
      Bug: v8:7078
      Change-Id: I11e1ec962a9f384c2c778061c48935ac410fbe53
      Reviewed-on: https://chromium-review.googlesource.com/766647Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49365}
      7345bfcc
    • Bill Budge's avatar
      Reland "[Memory] Use OS::Allocate for all OS memory allocations." · adc52af5
      Bill Budge authored
      This is a reland of 4899bcb6
      This is a reland of b73ee334
      
      Original change's description:
      > [Memory] Use OS::Allocate for all OS memory allocations.
      >
      > - Eliminates OS::ReserveRegion and OS::ReserveAlignedRegion.
      > - Changes OS::Allocate to take alignment parameter, reorders parameters
      >   to match page_allocator.
      > - Since the size of memory allocation can be deduced, don't return the
      >   amount of memory allocated.
      > - Changes reservation of aligned address space. Before we would reserve
      >   (size + alignment) rounded up to page size. This is too much, because
      >   maximum misalignment is (alignment - page_size).
      > - On Windows and Cygwin, we release an oversize allocation and
      >   immediately retry at the aligned address in the allocation. If we
      >   lose the address due to a race, we just retry.
      > - Clean up all the calls to OS::Allocate in codegen and tests by adding
      >   helper AllocateSystemPage function (allocation.h) and
      >   AllocateAssemblerBuffer (cctest.h).
      > - Changes 'assm' to 'masm' in some targets for consistency when using
      >   a macro-assembler.
      >
      > - Eliminates OS::ReleaseRegion, replacing with calls to OS::Free.
      > - Adds bool return value to OS::Free.
      > - Cleans up types of flags, protection on Windows and Cygwin.
      
      > Bug: chromium:756050
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Iad3c025334e8f8d7d647be99a36a11ee449c9087
      Reviewed-on: https://chromium-review.googlesource.com/767014
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49363}
      adc52af5
    • Michael Achenbach's avatar
      Revert "[platform] Implement TaskRunners in the DefaultPlatform" · c56cff23
      Michael Achenbach authored
      This reverts commit 8de2e6db.
      
      Reason for revert: Suspect for:
      https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/24237
      https://build.chromium.org/p/client.v8/builders/V8%20Win64/builds/20896
      
      Original change's description:
      > [platform] Implement TaskRunners in the DefaultPlatform
      > 
      > This CL implements the TaskRunners in the DefaultPlatform which has been
      > added recently to the platform API. In addition I changed how task
      > posting works on the DefaultPlatform.
      > 
      > With this implementation the DefaultPlatform keeps one
      > DefaultForegroundTaskRunner per isolate, plus one
      > DefaultBackgroundTaskRunner. The DefaultPlatform owns these TaskRunners
      > with a shared_ptr, which is also shared with any caller of
      > GetForegroundTaskRunner or GetBackgroundTaskrunner.
      > 
      > This CL moves the task management from the DefaultPlatform to the
      > TaskRunners.  The DefaultForegroundTaskRunner owns and manages the the
      > task queue, the delayed task  queue, and the idle task queue. The
      > DefaultBackgroundTaskRunner owns the WorkerThread pool and the
      > background task queue.
      > 
      > In addition changed many Task* to std::unique_ptr<Task> to document task
      > ownership.
      > 
      > R=​rmcilroy@chromium.org
      > 
      > Change-Id: Ib9a01f1f45e5b48844a37d801f884210ec3f6c27
      > Reviewed-on: https://chromium-review.googlesource.com/753583
      > Commit-Queue: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49354}
      
      TBR=rmcilroy@chromium.org,ahaas@chromium.org
      
      Change-Id: I6c381915a2cae8ea1a0d21d6cfa6e797ccd2d947
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/768748Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49357}
      c56cff23
    • Andreas Haas's avatar
      [platform] Implement TaskRunners in the DefaultPlatform · 8de2e6db
      Andreas Haas authored
      This CL implements the TaskRunners in the DefaultPlatform which has been
      added recently to the platform API. In addition I changed how task
      posting works on the DefaultPlatform.
      
      With this implementation the DefaultPlatform keeps one
      DefaultForegroundTaskRunner per isolate, plus one
      DefaultBackgroundTaskRunner. The DefaultPlatform owns these TaskRunners
      with a shared_ptr, which is also shared with any caller of
      GetForegroundTaskRunner or GetBackgroundTaskrunner.
      
      This CL moves the task management from the DefaultPlatform to the
      TaskRunners.  The DefaultForegroundTaskRunner owns and manages the the
      task queue, the delayed task  queue, and the idle task queue. The
      DefaultBackgroundTaskRunner owns the WorkerThread pool and the
      background task queue.
      
      In addition changed many Task* to std::unique_ptr<Task> to document task
      ownership.
      
      R=rmcilroy@chromium.org
      
      Change-Id: Ib9a01f1f45e5b48844a37d801f884210ec3f6c27
      Reviewed-on: https://chromium-review.googlesource.com/753583
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49354}
      8de2e6db
    • Camillo Bruni's avatar
      [log] Support --log-function-events in the parser · e634740b
      Camillo Bruni authored
      This partially retires --trace-parse and --trace-preparse which will be fully removed in
      a later CL.
      
      Drive-by-fix: make the Parser constructor arguments order more
      consistent.
      
      Bug: chromium:757467
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I80a688ce553adfa65ad346718604bd53a9e606a9
      Reviewed-on: https://chromium-review.googlesource.com/744046
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49350}
      e634740b
    • Andreas Haas's avatar
      [cleanup] use unique_ptr for the DefaultPlatform · ffee558e
      Andreas Haas authored
      With this CL, {CreateDefaultPlatform} returns a unique_ptr to indicate
      that the caller owns the returned memory. We had several memory leaks
      where the memory of the DefaultPlatform did not get deallocated.
      
      In addition, the {TracingController} of the {DefaultPlatform} also gets
      received as a unique_ptr. Thereby we document that the {DefaultPlatform}
      takes ownership of the {TracingController}. Note that the memory of the
      {TracingController} was already owned by the {DefaultPlatform}, but it
      was not documented in the interface, and it was used incorrectly in
      tests.
      
      This CL fixes the asan issues in 
      https://chromium-review.googlesource.com/c/v8/v8/+/753583	
      ([platform] Implement TaskRunners in the DefaultPlatform)
      
      R=rmcilroy@chromium.org
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I0d1a6d3b22bb8289dc050b1977e4f58381cec675
      Reviewed-on: https://chromium-review.googlesource.com/755033Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49349}
      ffee558e
    • Camillo Bruni's avatar
      [RCS] Add explicit tests for function callbacks · 6526c6dd
      Camillo Bruni authored
      This CL adds a very crude unittest to check that RuntimeCallStats work
      correctly with api callbacks present. This currently doesn't check that
      all parent timers (namely FunctionCallback) are handled properly.
      
      Drive-by-Fix:
      - Use Microseconds for all RCS timer tests
      - Add TestWithContext::SetGlobalProperty helper
      - Use explicit v8:: prefix in test-utils.{h,cc}
      
      Change-Id: I054e78abca0b87a3b9e07d3b06cccdad15403bae
      Reviewed-on: https://chromium-review.googlesource.com/766429
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49348}
      6526c6dd