1. 14 Apr, 2018 1 commit
    • Jakob Kummerow's avatar
      [ubsan] Change Address typedef to uintptr_t · 2459046c
      Jakob Kummerow authored
      The "Address" type is V8's general-purpose type for manipulating memory
      addresses. Per the C++ spec, pointer arithmetic and pointer comparisons
      are undefined behavior except within the same array; since we generally
      don't operate within a C++ array, our general-purpose type shouldn't be
      a pointer type.
      
      Bug: v8:3770
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Ib96016c24a0f18bcdba916dabd83e3f24a1b5779
      Reviewed-on: https://chromium-review.googlesource.com/988657
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52601}
      2459046c
  2. 22 Mar, 2018 1 commit
  3. 21 Mar, 2018 1 commit
  4. 01 Mar, 2018 1 commit
    • Clemens Hammacher's avatar
      Fix is_trivially_copyable check for MSVC and older stdlibc++ · 9dd6f0d0
      Clemens Hammacher authored
      MSVC 2015 and 2017 implement std::is_trivially_copyable, but not
      correctly. Hence, reimplement it using more low-level primitives.
      
      For stdlibc++ versions below 5.0, we already have a workaround for the
      missing support of std::is_trivially_copyable, but this is an unsound
      approximation, because it is ignoring move constructor, move assignment
      and copy assignment. Therefore, do not use this approximation for
      asserting trivial copyability of a type.
      
      Finally, add unittests for the new is_trivially_copyable
      implementations.
      
      R=mstarzinger@chromium.org
      CC=loorongjie@gmail.com
      
      Change-Id: I9ee56a65882e8c94b72c9a2d484edd27963a5d89
      Reviewed-on: https://chromium-review.googlesource.com/941521Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51651}
      9dd6f0d0
  5. 22 Dec, 2017 2 commits
  6. 21 Dec, 2017 2 commits
  7. 15 Dec, 2017 1 commit
    • Bill Budge's avatar
      [Memory] Create memory management API in v8::internal. · a449f09f
      Bill Budge authored
      - Creates a memory management API in v8::internal, which corresponds
        to the existing one in base::OS.
      - Implements the new API in terms of the old one.
      - Changes all usage of the base::OS API to the one in v8::internal. This
        includes all tests, except platform and OS tests.
      - Makes OS:: methods private.
      - Moves all LSAN calls into the v8::internal functions.
      
      Bug: chromium:756050
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Iaa3f022e3e12fdebf937f3c76b6c6455014beb8a
      Reviewed-on: https://chromium-review.googlesource.com/794856
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50139}
      a449f09f
  8. 22 Nov, 2017 1 commit
  9. 21 Nov, 2017 1 commit
  10. 16 Nov, 2017 1 commit
  11. 14 Nov, 2017 1 commit
    • 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
  12. 11 Nov, 2017 1 commit
  13. 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
  14. 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
  15. 18 Oct, 2017 1 commit
  16. 25 Sep, 2017 1 commit
  17. 22 Sep, 2017 1 commit
  18. 21 Sep, 2017 1 commit
    • Bill Budge's avatar
      Reland "Reland "[Memory] Move VirtualMemory out of base:: platform."" · 645cda07
      Bill Budge authored
      This is a reland of f2cd10db
      Original change's description:
      > Reland "[Memory] Move VirtualMemory out of base:: platform."
      > 
      > This is a reland of 4dd293d9
      > Original change's description:
      > > [Memory] Move VirtualMemory out of base:: platform.
      > > 
      > > - Moves base::VirtualMemory to v8::internal::VirtualMemory.
      > > - Makes VirtualMemory platform-independent by moving internals to new
      > >   OS:: static methods, for each platform.
      > > 
      > > This will make it easier to delegate memory management in VirtualMemory
      > > to V8::Platform, so that embedders like Blink can override it. We can't
      > > depend on V8::Platform in base/platform.
      > > 
      > > Bug: chromium:756050
      > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > > Change-Id: Iadfe230b6850bd917727a373f277afded9883adf
      > > Reviewed-on: https://chromium-review.googlesource.com/653214
      > > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#48048}
      > 
      > Bug: chromium:756050
      > Change-Id: Ib492c7c69f1833be127a571808301e96b84b8aa2
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Reviewed-on: https://chromium-review.googlesource.com/671125
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48084}
      
      Bug: chromium:756050
      Change-Id: Ie596730b5cefc38137cab7fc1f76613f5af7b825
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/675283Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48113}
      645cda07
  19. 20 Sep, 2017 1 commit
    • Michael Hablich's avatar
      Revert "Reland "[Memory] Move VirtualMemory out of base:: platform."" · 7447fd53
      Michael Hablich authored
      This reverts commit f2cd10db.
      
      Reason for revert: Blocks the roll https://chromium-review.googlesource.com/c/chromium/src/+/674623
      
      Original change's description:
      > Reland "[Memory] Move VirtualMemory out of base:: platform."
      > 
      > This is a reland of 4dd293d9
      > Original change's description:
      > > [Memory] Move VirtualMemory out of base:: platform.
      > > 
      > > - Moves base::VirtualMemory to v8::internal::VirtualMemory.
      > > - Makes VirtualMemory platform-independent by moving internals to new
      > >   OS:: static methods, for each platform.
      > > 
      > > This will make it easier to delegate memory management in VirtualMemory
      > > to V8::Platform, so that embedders like Blink can override it. We can't
      > > depend on V8::Platform in base/platform.
      > > 
      > > Bug: chromium:756050
      > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > > Change-Id: Iadfe230b6850bd917727a373f277afded9883adf
      > > Reviewed-on: https://chromium-review.googlesource.com/653214
      > > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#48048}
      > 
      > Bug: chromium:756050
      > Change-Id: Ib492c7c69f1833be127a571808301e96b84b8aa2
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Reviewed-on: https://chromium-review.googlesource.com/671125
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48084}
      
      TBR=bbudge@chromium.org,ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,scottmg@chromium.org
      
      Change-Id: I04176d77ca9ad8315b0e1bb2b21f40f2c8ab9536
      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/674843Reviewed-by: 's avatarMichael Hablich <hablich@chromium.org>
      Commit-Queue: Michael Hablich <hablich@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48088}
      7447fd53
  20. 19 Sep, 2017 1 commit
    • Bill Budge's avatar
      Reland "[Memory] Move VirtualMemory out of base:: platform." · f2cd10db
      Bill Budge authored
      This is a reland of 4dd293d9
      Original change's description:
      > [Memory] Move VirtualMemory out of base:: platform.
      > 
      > - Moves base::VirtualMemory to v8::internal::VirtualMemory.
      > - Makes VirtualMemory platform-independent by moving internals to new
      >   OS:: static methods, for each platform.
      > 
      > This will make it easier to delegate memory management in VirtualMemory
      > to V8::Platform, so that embedders like Blink can override it. We can't
      > depend on V8::Platform in base/platform.
      > 
      > Bug: chromium:756050
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: Iadfe230b6850bd917727a373f277afded9883adf
      > Reviewed-on: https://chromium-review.googlesource.com/653214
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48048}
      
      Bug: chromium:756050
      Change-Id: Ib492c7c69f1833be127a571808301e96b84b8aa2
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/671125
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48084}
      f2cd10db
  21. 18 Sep, 2017 1 commit
    • Michael Hablich's avatar
      Revert "[Memory] Move VirtualMemory out of base:: platform." · 4fc43530
      Michael Hablich authored
      This reverts commit 4dd293d9.
      
      Reason for revert: Blocks roll: https://chromium-review.googlesource.com/c/chromium/src/+/669785
      
      Original change's description:
      > [Memory] Move VirtualMemory out of base:: platform.
      > 
      > - Moves base::VirtualMemory to v8::internal::VirtualMemory.
      > - Makes VirtualMemory platform-independent by moving internals to new
      >   OS:: static methods, for each platform.
      > 
      > This will make it easier to delegate memory management in VirtualMemory
      > to V8::Platform, so that embedders like Blink can override it. We can't
      > depend on V8::Platform in base/platform.
      > 
      > Bug: chromium:756050
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: Iadfe230b6850bd917727a373f277afded9883adf
      > Reviewed-on: https://chromium-review.googlesource.com/653214
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48048}
      
      TBR=bbudge@chromium.org,ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,scottmg@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:756050
      Change-Id: Ice2618ef72950e1b64c31434a239c626aa5e5970
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/670843Reviewed-by: 's avatarMichael Hablich <hablich@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Hablich <hablich@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48062}
      4fc43530
  22. 15 Sep, 2017 1 commit
    • Bill Budge's avatar
      [Memory] Move VirtualMemory out of base:: platform. · 4dd293d9
      Bill Budge authored
      - Moves base::VirtualMemory to v8::internal::VirtualMemory.
      - Makes VirtualMemory platform-independent by moving internals to new
        OS:: static methods, for each platform.
      
      This will make it easier to delegate memory management in VirtualMemory
      to V8::Platform, so that embedders like Blink can override it. We can't
      depend on V8::Platform in base/platform.
      
      Bug: chromium:756050
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Iadfe230b6850bd917727a373f277afded9883adf
      Reviewed-on: https://chromium-review.googlesource.com/653214
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48048}
      4dd293d9
  23. 06 Sep, 2017 1 commit
    • Clemens Hammacher's avatar
      [assembler] Make Register et al. real classes · 9e995e12
      Clemens Hammacher authored
      Up to now, each architecture defined all Register types as structs,
      with lots of redundancy. An often found comment noted that they cannot
      be classes due to initialization order problems. As these problems are
      gone with C++11 constexpr constants, I now tried making Registers
      classes again.
      All register types now inherit from RegisterBase, which provides a
      default set of methods and named constructors (like ::from_code,
      code(), bit(), is_valid(), ...).
      This design allows to guarantee an interesting property: Each register
      is either valid, or it's the no_reg register. There are no other
      invalid registers. This is guaranteed statically by the constexpr
      constructor, and dynamically by ::from_code.
      
      I decided to disallow the default constructor completely, so instead of
      "Register reg;" you now need "Register reg = no_reg;". This makes
      explicit how the Register is initialized.
      
      I did this change to the x64, ia32, arm, arm64, mips and mips64 ports.
      Overall, code got much more compact and more safe. In theory, it should
      also increase performance (since the is_valid() check is simpler), but
      this is probably not measurable.
      
      R=mstarzinger@chromium.org
      
      Change-Id: I5ccfa4050daf4e146a557970e9d37fd3d2788d4a
      Reviewed-on: https://chromium-review.googlesource.com/650927Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47847}
      9e995e12
  24. 04 Aug, 2017 2 commits
  25. 01 Aug, 2017 1 commit
    • Bill Budge's avatar
      Reland "[Memory] Add an OnCriticalMemoryPressure method to V8::Platform." · f8db3e8f
      Bill Budge authored
      This is a reland of 3f90d9f9
      Original change's description:
      > [Memory] Add an OnCriticalMemoryPressure method to V8::Platform.
      > 
      > Adds virtual V8::Platform::OnCriticalMemoryPressure method, default
      > implementation does nothing.
      > 
      > Calls this method on first allocation failures in NewArray, Malloced,
      > and zone AccountingAllocator and adds retry logic.
      > 
      > Adds utility functions for allocating base::VirtualMemory to functions
      > in allocation.h, which call this method and add retry logic.
      > 
      > Calls these utility functions in heap CodeRange, Spaces, StoreBuffer
      > and SequentialMarkingDeque.
      > 
      > Bug: v8:6635
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I38afd394f3be556aca037d16675e9884658158cb
      > Reviewed-on: https://chromium-review.googlesource.com/583543
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#46988}
      
      Bug: v8:6635
      Change-Id: I0d70c5796f407f0ed42cfddf581d26f533f9bea8
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/593090Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47027}
      f8db3e8f
  26. 29 Jul, 2017 2 commits
    • Georg Neis's avatar
      Revert "[Memory] Add an OnCriticalMemoryPressure method to V8::Platform." · 53db0584
      Georg Neis authored
      This reverts commit 3f90d9f9.
      
      Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/16510
      
      Original change's description:
      > [Memory] Add an OnCriticalMemoryPressure method to V8::Platform.
      > 
      > Adds virtual V8::Platform::OnCriticalMemoryPressure method, default
      > implementation does nothing.
      > 
      > Calls this method on first allocation failures in NewArray, Malloced,
      > and zone AccountingAllocator and adds retry logic.
      > 
      > Adds utility functions for allocating base::VirtualMemory to functions
      > in allocation.h, which call this method and add retry logic.
      > 
      > Calls these utility functions in heap CodeRange, Spaces, StoreBuffer
      > and SequentialMarkingDeque.
      > 
      > Bug: v8:6635
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I38afd394f3be556aca037d16675e9884658158cb
      > Reviewed-on: https://chromium-review.googlesource.com/583543
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#46988}
      
      TBR=bbudge@chromium.org,ulan@chromium.org,mlippautz@chromium.org
      
      Change-Id: I79afea5982e62db1462cc5a5585a226f0ddbe752
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6635
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/592887Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46989}
      53db0584
    • Bill Budge's avatar
      [Memory] Add an OnCriticalMemoryPressure method to V8::Platform. · 3f90d9f9
      Bill Budge authored
      Adds virtual V8::Platform::OnCriticalMemoryPressure method, default
      implementation does nothing.
      
      Calls this method on first allocation failures in NewArray, Malloced,
      and zone AccountingAllocator and adds retry logic.
      
      Adds utility functions for allocating base::VirtualMemory to functions
      in allocation.h, which call this method and add retry logic.
      
      Calls these utility functions in heap CodeRange, Spaces, StoreBuffer
      and SequentialMarkingDeque.
      
      Bug: v8:6635
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I38afd394f3be556aca037d16675e9884658158cb
      Reviewed-on: https://chromium-review.googlesource.com/583543
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46988}
      3f90d9f9
  27. 30 Nov, 2016 1 commit
    • leszeks's avatar
      Deprecate the BASE_EMBEDDED macro · 80b92012
      leszeks authored
      This was causing more confusion than benefit, so we're removing it.
      
      It's re-defined to empty for now, to avoid touching the ~100 files which
      use it, we can remove it completely during a quiet period when it's less
      likely to conflict with other work.
      
      Review-Url: https://codereview.chromium.org/2535383005
      Cr-Commit-Position: refs/heads/master@{#41393}
      80b92012
  28. 17 Oct, 2016 1 commit
  29. 20 Sep, 2016 2 commits
  30. 19 Sep, 2016 1 commit
  31. 05 Jul, 2016 1 commit
    • honggyu.kp's avatar
      Strictly disable instantiation of AllStatic class · 446232f1
      honggyu.kp authored
      Since the intention of using AllStatic class is to provide classes that
      only contain static method functions without member variables so it
      doesn't have to be instantiated at all.
      
      However, current implementation only disables dynamic instantiation, and
      it can be detected at runtime by reaching UNREACHABLE().  And it can
      still have instances allocated inside stack.
      
      This blocks all those cases by deleting default constructor of AllStatic
      class to prevent undesirable usage of it.
      
      BUG=
      R=jochen@chromium.org
      
      Review-Url: https://codereview.chromium.org/2108273003
      Cr-Commit-Position: refs/heads/master@{#37532}
      446232f1
  32. 30 Sep, 2015 1 commit
  33. 11 Feb, 2015 1 commit
  34. 03 Jun, 2014 1 commit