Closed Bug 1146364 Opened 5 years ago Closed 5 years ago

Atomic ops must be recorded as effectful with resumeAfter()

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla39
Tracking Status
firefox39 --- fixed

People

(Reporter: lth, Assigned: lth)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

In the case of Atomics.load it's OK to re-execute the instruction but technically it is effectful (it executes a memory barrier) and we're already giving it an AliasSet that says "stores to typedarray memory".

In the case of the instructions that actually store it is more obvious that this omission is problematic.  (I just ran into it with a more elaborate CAS test case than I've had before; *that* was confusing.)
Attachment #8581659 - Flags: review?(nicolas.b.pierron)
Comment on attachment 8581659 [details] [diff] [review]
Add resumeAfter for the atomic ops during inlining

Review of attachment 8581659 [details] [diff] [review]:
-----------------------------------------------------------------

Looks good to me :)
Attachment #8581659 - Flags: review?(nicolas.b.pierron) → review+
https://hg.mozilla.org/mozilla-central/rev/6229a2b58212
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in before you can comment on or make changes to this bug.