13 Commits

Author SHA1 Message Date
John Sully
465b8a9ea7 write fastlock_unlock in ASM... because its faster
Former-commit-id: bad73faf28f879d32c4064389b69c83e9474115a
2019-03-02 16:47:27 -05:00
John Sully
7a4227915a Rewrite our spinlock in assembly, pretty big performance improvement
Former-commit-id: 40d7a701feefd36e9e3fdb6d516228c4a70fcf3d
2019-02-25 18:21:27 -05:00
John Sully
1761aabab4 Lock use after free 2019-02-22 21:00:14 -05:00
John Sully
b6735ac883 Remove unnecessary mfences 2019-02-22 15:49:22 -05:00
John Sully
d016b967c5 Implement try_lock 2019-02-22 01:23:31 -05:00
John Sully
942510f1a5 Change fastlock implementation from naive spinlock to a ticket lock for better fairness and lower peak latency 2019-02-21 00:16:47 -05:00
John Sully
02e7fe400c Cleanup lock contention, and ensure clients are written to in an unsafe way when the global lock is released 2019-02-20 23:30:21 -05:00
John Sully
29c1105132 Multithreading works! 2019-02-20 01:20:26 -05:00
John Sully
2526d51d1a Thread safety fixes 2019-02-18 22:25:35 -05:00
John Sully
2c220889c6 Fix recursive fastlock... 2019-02-16 14:25:14 -05:00
John Sully
f5caec488d Make the lock recursive, this is because processEventsWhileBlocked may cause us to lock multiple times 2019-02-15 14:11:05 -05:00
John Sully
988ea40101 Fastlock fixes 2019-02-10 22:00:19 -05:00
John Sully
c4dbc557eb move ae to C++ 2019-02-10 20:24:11 -05:00