- 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}
-