- 27 Nov, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:8238 Change-Id: I7fa1538909bfaf368498ebcc1c59eed258e81a16 Reviewed-on: https://chromium-review.googlesource.com/c/1352272Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57877}
-
- 09 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
AtomicValue is deprecated, so we can start removing things that are not in use any more. R=mstarzinger@chromium.org Bug: v8:8238 Change-Id: I0a1445eccaf89f8869fd56e0fbece809bbcd6e5e Reviewed-on: https://chromium-review.googlesource.com/c/1326464 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57404}
-
- 01 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
The previous AtomicElement wrapper fundamentally relied on reinterpret_casting a heap address to an instance of a C++ object, which is an invalid cast. This patch replaces that pattern with an ObjectSlot-based alternative that does not rely on UB. Bug: v8:3770 Change-Id: I62fb3c7589ac59e9e18139b525174de77e0e2149 Reviewed-on: https://chromium-review.googlesource.com/c/1309297 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57197}
-
- 12 Sep, 2018 3 commits
-
-
Michael Lippautz authored
- Update those counters from space - Add fast path for move memory Fix: - Introduce proper variants for checked arithmetic on atomics. Previous revert was needed to unblock other reverts. This reverts commit 651bd0de. Bug: chromium:845409 Change-Id: I906ef6c60a589a30a0a632eadb8642735deaf0e4 Tbr: ulan@chromium.org Reviewed-on: https://chromium-review.googlesource.com/1221213Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#55828}
-
Michael Achenbach authored
This reverts commit 9d5ab51f. Reason for revert: Blocks important revert. Also rolling is down since 2 days... so please wait with relanding until rolling is confirmed to be up again. https://chromium-review.googlesource.com/c/v8/v8/+/1219695 Original change's description: > Reland "[heap] Introduce backing store counters on Heap" > > - Update those counters from space > - Add fast path for move memory > > Fix: > - Introduce proper variants for checked arithmetic on atomics. > > This reverts commit 0c62f5b3. > > Bug: chromium:845409 > Change-Id: I98ad1a7c470c7e7b805e087b4ec74e3451344712 > Reviewed-on: https://chromium-review.googlesource.com/1219647 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55815} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: Ifb7c6e31f7f105bd11d1497a1061f73d42c05c31 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:845409 Reviewed-on: https://chromium-review.googlesource.com/1221186Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#55816}
-
Michael Lippautz authored
- Update those counters from space - Add fast path for move memory Fix: - Introduce proper variants for checked arithmetic on atomics. This reverts commit 0c62f5b3. Bug: chromium:845409 Change-Id: I98ad1a7c470c7e7b805e087b4ec74e3451344712 Reviewed-on: https://chromium-review.googlesource.com/1219647Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#55815}
-
- 12 Jul, 2018 1 commit
-
-
Hannes Payer authored
Bug: chromium:842083 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I9a8d8327bfbab95cf9bdddb096804b65270cdfed Reviewed-on: https://chromium-review.googlesource.com/1127944 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54388}
-
- 09 May, 2018 1 commit
-
-
Clemens Hammacher authored
Instead of {base::AtomicNumber<intptr_t>} use {std::atomic<size_t>}, since we really want to store a size_t in there, and only abused negative values before to avoid a compare-and-swap loop. R=mstarzinger@chromium.org Bug: v8:7570 Change-Id: Ibff0fe0550396f11b343f7e3c098ccf94f6e8dbb Reviewed-on: https://chromium-review.googlesource.com/1049067Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53098}
-
- 02 Feb, 2018 1 commit
-
-
jgruber authored
This check verifies that all .h files in the src/ directory have an include guard of the form #ifndef V8_PATH_TO_FILE_H_ #define V8_PATH_TO_FILE_H_ // ... #endif // V8_PATH_TO_FILE_H_ The check can be skipped with a magic comment: // PRESUBMIT_INTENTIONALLY_MISSING_INCLUDE_GUARD Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I0a7b96abec289ad60f64ba8418f1892a6969596d Reviewed-on: https://chromium-review.googlesource.com/897487Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51079}
-
- 21 Aug, 2017 1 commit
-
-
Ulan Degenbaev authored
This replaces custom Release_CompareAndSwap implementation with a call to compiler intrinsic / std:atomic, which is TSAN friendly. Bug: chromium:694255 Change-Id: Iab67c8f5a3a2329b18030a70f3dbf3cb5530374e Reviewed-on: https://chromium-review.googlesource.com/622431 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47469}
-
- 11 Aug, 2017 2 commits
-
-
Ulan Degenbaev authored
This class provides byte level CAS operation using word level CAS. Bug: chromium:694255 Change-Id: I39e661ee8d11e3f61fd5cb64c36f8f5ee94d1244 Reviewed-on: https://chromium-review.googlesource.com/612170 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47311}
-
Michael Lippautz authored
The removed building blocks have either been completely unused or have already been replaced. Bug: Change-Id: I68a4d5d42b7f1cc3c5f8d0e7ea7146c5a0f59048 Reviewed-on: https://chromium-review.googlesource.com/612163Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47304}
-
- 03 Aug, 2017 1 commit
-
-
Ulan Degenbaev authored
This is a reland of 35c923cc Original change's description: > [heap] Add support for atomic access to page flags. > > This patch renames AsAtomicWord to AsAtomicPointer and > adds new AsAtomicWord that works with intptr_t. > > Slot recording uses atomic page flag accessors. > > BUG=chromium:694255 > > Change-Id: I1c692813244b41320182e9eea50462d1802fcd98 > Reviewed-on: https://chromium-review.googlesource.com/597688 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47086} Bug: chromium:694255 Change-Id: I36780ff4001e068815d4be1e16cd06f1a4f98d13 Reviewed-on: https://chromium-review.googlesource.com/599909Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47131}
-
- 02 Aug, 2017 2 commits
-
-
Ulan Degenbaev authored
This reverts commit 35c923cc. Reason for revert: speculative revert for GC stress failure Original change's description: > [heap] Add support for atomic access to page flags. > > This patch renames AsAtomicWord to AsAtomicPointer and > adds new AsAtomicWord that works with intptr_t. > > Slot recording uses atomic page flag accessors. > > BUG=chromium:694255 > > Change-Id: I1c692813244b41320182e9eea50462d1802fcd98 > Reviewed-on: https://chromium-review.googlesource.com/597688 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47086} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: Id77ce7970c54a55646c072787e88311f6f3e6e91 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:694255 Reviewed-on: https://chromium-review.googlesource.com/598967Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47094}
-
Ulan Degenbaev authored
This patch renames AsAtomicWord to AsAtomicPointer and adds new AsAtomicWord that works with intptr_t. Slot recording uses atomic page flag accessors. BUG=chromium:694255 Change-Id: I1c692813244b41320182e9eea50462d1802fcd98 Reviewed-on: https://chromium-review.googlesource.com/597688 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47086}
-
- 21 Jun, 2017 1 commit
-
-
Ulan Degenbaev authored
BUG=chromium:694255 Change-Id: I52237650b2e80428d21acfa2c4993a07d224b8c5 Reviewed-on: https://chromium-review.googlesource.com/542819 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46098}
-
- 20 Jun, 2017 2 commits
-
-
Michael Lippautz authored
A follow up will allow inserting slots during GC without emiting fences Bug: chromium:651354 Change-Id: Ia1d0f88e3658bca31933bdb013db15a5c2ecd849 Reviewed-on: https://chromium-review.googlesource.com/541400 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46042}
-
Michael Lippautz authored
With the exception for map space we can avoid atomic access at all since pages are locked. Map space is different since it contains old to new poitners to LayoutDescriptors that are concurrently used by other tasks for iterating objects. Bug: chromium:651354 Change-Id: If7ed99d21676bad8d2944132fb9696ff4123624d Reviewed-on: https://chromium-review.googlesource.com/539642 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46031}
-
- 19 Jun, 2017 1 commit
-
-
Michael Lippautz authored
This avoids emitting the costly barriers on arm. Bug: chromium:651354 Change-Id: Ibb29e58f7c41aab37ed5c4971b2a754b4ecd7155 Reviewed-on: https://chromium-review.googlesource.com/533337 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46011}
-
- 16 Jun, 2017 1 commit
-
-
Ulan Degenbaev authored
This patch makes the SlotSet bucket type non-atomic by default and explicitly converts buckets to Atomic32/AtomicWord for each operation. Change-Id: Ifaa60a53eb68ca579185be23e379995aeeabe343 Reviewed-on: https://chromium-review.googlesource.com/535481 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#45971}
-
- 30 May, 2017 1 commit
-
-
ulan authored
This is consistent with C++ memory model and avoids confusion with GC write barrier. BUG= Review-Url: https://codereview.chromium.org/2912773002 Cr-Commit-Position: refs/heads/master@{#45584}
-
- 30 Jan, 2017 1 commit
-
-
jochen authored
R=mtrofin@chromium.org,verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2662883003 Cr-Commit-Position: refs/heads/master@{#42787}
-
- 11 Nov, 2016 1 commit
-
-
ulan authored
BUG=v8:5614 Review-Url: https://codereview.chromium.org/2496913002 Cr-Commit-Position: refs/heads/master@{#40931}
-
- 18 Oct, 2016 1 commit
-
-
hpayer authored
BUG=chromium:648568 Review-Url: https://codereview.chromium.org/2428493003 Cr-Commit-Position: refs/heads/master@{#40393}
-
- 12 Oct, 2016 1 commit
-
-
hpayer authored
This CL also introduces a NoBarrierAtomicValue with NoBarrier accessors. BUG=chromium:648568 Review-Url: https://codereview.chromium.org/2408233004 Cr-Commit-Position: refs/heads/master@{#40213}
-
- 20 Sep, 2016 1 commit
-
-
hpayer authored
Here we only change the type of the slot set fields to atomic values and use CAS to change the state. There is no change in behavior or semantics of the slot set. BUG=chromium:648568 Review-Url: https://codereview.chromium.org/2353553003 Cr-Commit-Position: refs/heads/master@{#39557}
-
- 07 Aug, 2016 1 commit
-
-
mlippautz authored
AtomicNumber should make dealing with atomic counters easier. This is not the case with size_t, as we cannot properly use the Increment() method for negative numbers. With this CL we can use AtomicNumber<size_t> and have proper decrements. R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2215693002 Cr-Commit-Position: refs/heads/master@{#38407}
-
- 29 Jul, 2016 1 commit
-
-
jochen authored
BUG=v8:5215 R=marja@chromium.org,vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2190333002 Cr-Commit-Position: refs/heads/master@{#38170}
-
- 09 May, 2016 1 commit
-
-
lpy authored
atomic-utils.h only uses functionality from base/, and also by moving it into base/, code outside of v8_base can benefit from it. BUG=v8:4991 LOG=n Review-Url: https://codereview.chromium.org/1954603002 Cr-Commit-Position: refs/heads/master@{#36114}
-
- 18 Nov, 2015 1 commit
-
-
mlippautz authored
Replaces the UnboundedQueue (SP/SC) with LockedQueue (MP/MC). This is necessary as we can have multiple tasks (on multiple platform threads) reporting code move events. Note that the sampling queue is not affected by this change. BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1457483002 Cr-Commit-Position: refs/heads/master@{#32086}
-
- 16 Sep, 2015 1 commit
-
-
mlippautz authored
Adds concurrency support for: - MemoryChunk: Fragmentation counters - MemoryChunk: High-water mark - MemoryAllocator: Lowest and highest ever allocated addresses, size, and capacity R=hpayer@chromium.org BUG=chromium:524425 LOG=N This reverts commit 0db34dbe. BUG= Review URL: https://codereview.chromium.org/1346973002 Cr-Commit-Position: refs/heads/master@{#30760}
-
- 15 Sep, 2015 3 commits
-
-
mlippautz authored
Revert of [heap] Concurrency support for heap book-keeping info (patchset #4 id:60001 of https://codereview.chromium.org/1340923004/ ) Reason for revert: crashing: http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug%20-%203/builds/4716 Original issue's description: > [heap] Concurrency support for heap book-keeping info. > > Adds concurrency support for: > - MemoryChunk: Fragmentation counters > - MemoryChunk: High-water mark > - MemoryAllocator: Lowest and highest ever allocated addresses, size, and > capacity > > R=hpayer@chromium.org > BUG=chromium:524425 > LOG=N > > Committed: https://crrev.com/63190721cda4966e01d71e92a730ce48ea789fbc > Cr-Commit-Position: refs/heads/master@{#30749} TBR=hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:524425 Review URL: https://codereview.chromium.org/1340323002 Cr-Commit-Position: refs/heads/master@{#30752}
-
mlippautz authored
Loads get an acquire, store/cas a release. Increment gets a full barrier. R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1343883004 Cr-Commit-Position: refs/heads/master@{#30751}
-
mlippautz authored
Adds concurrency support for: - MemoryChunk: Fragmentation counters - MemoryChunk: High-water mark - MemoryAllocator: Lowest and highest ever allocated addresses, size, and capacity R=hpayer@chromium.org BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1340923004 Cr-Commit-Position: refs/heads/master@{#30749}
-
- 04 Sep, 2015 1 commit
-
-
mlippautz authored
BUG= Review URL: https://codereview.chromium.org/1324153003 Cr-Commit-Position: refs/heads/master@{#30589}
-
- 03 Sep, 2015 1 commit
-
-
mlippautz authored
{AtomicValue}: A simple integer value that can be atomically read/set/incremented. {AtomicEnumSet}: Similar to EnumSet this set basically represents an atomic bitfield based on enums. Atomic operations guarantee that setting one bit does not race with setting other bits. {AtomicEnumFlag}: A flag that is based on an enum that can be read and (attempted to be) changed atomically. BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1310993004 Cr-Commit-Position: refs/heads/master@{#30560}
-