Closed Bug 1483256 Opened Last year Closed Last year

Record atomic accesses in MemoryTextureReadLock

Categories

(Core :: Web Replay, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: bhackett, Assigned: bhackett)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached patch patchSplinter Review
The read counter in MemoryTextureReadLock is used for synchronizing between threads, but the PR_ATOMIC macros it is implemented with are not recorded by Web Replay, and can lead to inconsistent counter values being read during replay and different behavior later on (e.g. TextureClientPool::ReturnUnlockedClients).

The attached patch changes this counter to use mozilla::Atomic<>, which by default records accesses on the atomic so that they occur at consistent points during replay.
Attachment #8999971 - Flags: review?(nical.bugzilla)
Attachment #8999971 - Flags: review?(nical.bugzilla) → review+
Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/0e8748072c49
Use mozilla::Atomic in MemoryTextureReadLock, r=nical.
https://hg.mozilla.org/mozilla-central/rev/0e8748072c49
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
You need to log in before you can comment on or make changes to this bug.