Closed Bug 1191531 Opened 9 years ago Closed 9 years ago

ARM64: Implement AtomicsOperations

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla42
Tracking Status
firefox42 --- fixed

People

(Reporter: sstangl, Assigned: sstangl)

References

Details

Attachments

(1 file)

Fills in jit/arm64/AtomicOperations-arm64.h. Since ARM64 requires the use of a modern compiler, the code just assumes the availability of __atomic_foo.

Fixes:
asm.js/testAtomics.js
asm.js/testAtomic-effect.js
asm.js/testBug1164931.js
asm.js/testBug1183060.js
atomics/optimization-tests.js
atomics/basic-tests.js
Attachment #8643973 - Flags: review?(lhansen)
Comment on attachment 8643973 [details] [diff] [review]
0001-Fill-in-AtomicOperations-arm64.h-assuming-a-modern-c.patch

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

Yes.  For extra credit, add these assertions to the start of isLockfree8:

    MOZ_ASSERT(__atomic_always_lock_free(sizeof(int8_t), 0));
    MOZ_ASSERT(__atomic_always_lock_free(sizeof(int16_t), 0));
    MOZ_ASSERT(__atomic_always_lock_free(sizeof(int32_t), 0));

The reason is that I don't want somebody to accidentally copy this code to a platform where those don't hold and not discover it.
Attachment #8643973 - Flags: review?(lhansen) → review+
https://hg.mozilla.org/mozilla-central/rev/47e690b422fa
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: