1. 15 Dec, 2017 2 commits
  2. 13 Dec, 2017 1 commit
  3. 10 Dec, 2017 1 commit
  4. 08 Dec, 2017 1 commit
  5. 07 Dec, 2017 2 commits
    • Bill Budge's avatar
      Reland "[D8] Clean up ArrayBuffer Allocators in shell." · 5679ab10
      Bill Budge authored
      This is a reland of 0c2faa06
      Original change's description:
      > [D8] Clean up ArrayBuffer Allocators in shell.
      >
      > - Reworks the class hierarchy in d8.cc to conform to the allocator API.
      >   In particular, allocators should malloc/free or equivalent unless
      >   v8::ArrayBuffer::Allocator::Reserve is called.
      > - Modifies ExternalizedContents to remember the allocation mode.
      > - ArrayAllocatorBase now tracks its allocations to make sure it doesn't
      >   call Free on externalized array buffers it didn't allocate.
      >
      > Bug: chromium:756050
      > Change-Id: Ic2d07d36358f1b4fa542bea27f93d1d51a1757e1
      > Reviewed-on: https://chromium-review.googlesource.com/807355
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Ben Titzer <titzer@chromium.org>
      > Reviewed-by: Eric Holk <eholk@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49893}
      
      Bug: chromium:756050,v8:7146
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I8fe3a9d9af43196e16d02342a47347a76c0a1341
      Reviewed-on: https://chromium-review.googlesource.com/811724Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49945}
      5679ab10
    • Karl Schimpf's avatar
      [wasm] First step of refactoring trap handling to be per module. · 0d5de9ad
      Karl Schimpf authored
      The previous code assumed that trap handling was a global concept, defined
      by function trap_handler::UseTrapHandler(). This CL does the first step
      in changing the decision to be specifiable at a module level.
      
      Therefore trap_handler::UseTrapHandler() is replaced by
      trap_handler::IsTrapHandlerEnabled(), and communicates if compilation
      supports the use of trap handlers (but still allowing the use of
      bounds checking on memory accesses).
      
      It then refactors the classes ModuleEnv and WasmCompiledModule to have
      a field "use_trap_handler" that specifies if traps should be used for
      the memory accesses in the module being compiled.
      
      Bug: v8:7143
      Change-Id: I9844842d5721c86c2dd55e911b42bf8b9922cf63
      Reviewed-on: https://chromium-review.googlesource.com/802322
      Commit-Queue: Eric Holk <eholk@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49915}
      0d5de9ad
  6. 06 Dec, 2017 2 commits
  7. 04 Dec, 2017 1 commit
  8. 01 Dec, 2017 1 commit
    • Mythri's avatar
      Reland "Add support to produce code cache after execute" · dae20b0d
      Mythri authored
      Adds new API function to request code cache. Earlier code cache was
      produced along with compile requests. This new API allows us to request
      code cache after executing. Also adds support in the code serializer to
      serialize after executing the script.
      
      Bug: chromium:783124,chromium:789694
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Id4e6a967e176e3e979dc4ccb9a37a353c70c3890
      Reviewed-on: https://chromium-review.googlesource.com/797036Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49793}
      dae20b0d
  9. 30 Nov, 2017 1 commit
  10. 29 Nov, 2017 2 commits
  11. 28 Nov, 2017 2 commits
    • Michael Achenbach's avatar
      Revert "[platform][cleanup] Fix --enable-tracing" · 10f4e6c3
      Michael Achenbach authored
      This reverts commit 61367a25.
      
      Reason for revert: http://shortn/_amqTfxgjk0
      
      Original change's description:
      > [platform][cleanup] Fix --enable-tracing
      > 
      > The flag --enable-tracing can be used to measure how much time is spent
      > in a scope. In d8 this flag did not work properly for the following
      > reasons:
      > 
      > * The tracing file is not written when the JavaScript code calls quit().
      > 
      > * The tracing file is not written when the JavaScript code throws an
      > uncaught exception, except if the --throws flag is passed to d8.
      > 
      > The reason for these two issues is that both call Shell::Exit(), which
      > end d8 immediately without calling any destructors. In addition I moved
      > in a recent CL the destruction of the platform after the destruction of
      > the file handle for the tracing file. Thereby the tracing file did not
      > get filled with content even destructors were executed.
      > 
      > With this CL I also call the destructors of the platform and of the file
      > handle in the Shell::Exit() function. For this I make Shell::Exit()
      > platform independent and let it call the platform dependent
      > Shell::OSExit() at the end.
      > 
      > R=​rmcilroy@chromium.org
      > 
      > Change-Id: I14425b6a5c25b757211bc8b9959a9cc8bfa0602c
      > Reviewed-on: https://chromium-review.googlesource.com/789038
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Commit-Queue: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49659}
      
      TBR=rmcilroy@chromium.org,ahaas@chromium.org
      
      Change-Id: I17c6f19c38cb337b00707f606f267b52b7f2c1e6
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/792991Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49663}
      10f4e6c3
    • Andreas Haas's avatar
      [platform][cleanup] Fix --enable-tracing · 61367a25
      Andreas Haas authored
      The flag --enable-tracing can be used to measure how much time is spent
      in a scope. In d8 this flag did not work properly for the following
      reasons:
      
      * The tracing file is not written when the JavaScript code calls quit().
      
      * The tracing file is not written when the JavaScript code throws an
      uncaught exception, except if the --throws flag is passed to d8.
      
      The reason for these two issues is that both call Shell::Exit(), which
      end d8 immediately without calling any destructors. In addition I moved
      in a recent CL the destruction of the platform after the destruction of
      the file handle for the tracing file. Thereby the tracing file did not
      get filled with content even destructors were executed.
      
      With this CL I also call the destructors of the platform and of the file
      handle in the Shell::Exit() function. For this I make Shell::Exit()
      platform independent and let it call the platform dependent
      Shell::OSExit() at the end.
      
      R=rmcilroy@chromium.org
      
      Change-Id: I14425b6a5c25b757211bc8b9959a9cc8bfa0602c
      Reviewed-on: https://chromium-review.googlesource.com/789038Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49659}
      61367a25
  12. 21 Nov, 2017 1 commit
  13. 17 Nov, 2017 2 commits
  14. 16 Nov, 2017 1 commit
    • Bill Budge's avatar
      [Memory] Add base::OS::SetPermissions method. · 0df1471a
      Bill Budge authored
      - Adds SetPermissions method which returns bool result.
      - Eliminates Guard, SetReadAndWritable, SetReadAndExecutable, and
        SetReadWriteAndExecutable methods.
      - Adds some Fuchsia memory allocation implementation.
      - Some minor fixes in usage of OS::AllocatePageSize and
        OS::CommitPageSize.
      - Adds DCHECKs for sanitizing parameters to OS::Allocate/Free.
      
      Bug: chromium:756050
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I966ec6f029dd0371d70eca20bae197d87956f8b5
      Reviewed-on: https://chromium-review.googlesource.com/760657
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49430}
      0df1471a
  15. 15 Nov, 2017 2 commits
  16. 14 Nov, 2017 2 commits
    • 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
    • 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
  17. 11 Nov, 2017 1 commit
  18. 10 Nov, 2017 1 commit
  19. 09 Nov, 2017 1 commit
    • Bill Budge's avatar
      Reland "[Memory] Use OS::Allocate for all OS memory allocations." · 4899bcb6
      Bill Budge authored
      This is a reland of 7e78506f
      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.
      > 
      > Bug: chromium:756050
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
      > Reviewed-on: https://chromium-review.googlesource.com/749848
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49235}
      
      Bug: chromium:756050
      Change-Id: I333f7a6aea0bcb608d01cafb43e94893a4625b15
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/758509Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49273}
      4899bcb6
  20. 08 Nov, 2017 2 commits
    • Bill Budge's avatar
      Revert "[Memory] Use OS::Allocate for all OS memory allocations." · 1ea3fd2e
      Bill Budge authored
      This reverts commit 7e78506f.
      
      Reason for revert: Broke Android build on Arm64.
      
      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.
      > 
      > Bug: chromium:756050
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
      > Reviewed-on: https://chromium-review.googlesource.com/749848
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49235}
      
      TBR=bbudge@chromium.org,hpayer@chromium.org,mlippautz@chromium.org
      
      Change-Id: Ic09de4d63c19746a62e804b1f889817ffaebc330
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:756050
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/758625Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49242}
      1ea3fd2e
    • Bill Budge's avatar
      [Memory] Use OS::Allocate for all OS memory allocations. · 7e78506f
      Bill Budge authored
      - 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.
      
      Bug: chromium:756050
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
      Reviewed-on: https://chromium-review.googlesource.com/749848
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49235}
      7e78506f
  21. 07 Nov, 2017 3 commits
  22. 06 Nov, 2017 2 commits
  23. 03 Nov, 2017 1 commit
  24. 18 Oct, 2017 2 commits
  25. 17 Oct, 2017 1 commit
    • Ben L. Titzer's avatar
      [wasm] Disable trap handlers also in d8. · 24459dff
      Ben L. Titzer authored
      This feature is turned off in flag-definitions but reenabled in a non-standard
      way in d8. Given that the situations in which the trap handler are disabled are
      more limited now due to integration problems, disabling this feature for now, since
      we lack enough coverage to have confidence to turn it on by default.
      
      We should probably introduce a proper test variant for this feature so that it
      can be handled in a more standard way.
      
      R=eholk@chromium.org
      CC=​mlippautz@chromium.org,hablich@chromium.org,mstarzinger@chromium.org
      
      Bug: 
      Change-Id: Ic2e13181036ace8802736be847ae16ff889e3cea
      Reviewed-on: https://chromium-review.googlesource.com/723221
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48646}
      24459dff
  26. 13 Oct, 2017 2 commits