1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
Commit Graph

232 Commits

Author SHA1 Message Date
Bartosz Taudul 5b6d9769af Properly separate HW timer from MSVC rdtscp optimization. 2018-04-27 19:40:47 +02:00
Bartosz Taudul 237aee30a8 Test if HW timer can be used on arm. 2018-04-27 16:58:45 +02:00
Bartosz Taudul 6a2311a7b7 Arm64 also defines __ARM_ARCH. 2018-04-26 17:39:04 +02:00
Bartosz Taudul a3f5003f88 Read time from timer register on armv6, armv7.
Same improvement as on aarch64.
2018-04-26 17:18:10 +02:00
Bartosz Taudul 69a50b04c1 Really don't care about cpu id. 2018-04-26 16:12:52 +02:00
Bartosz Taudul 1899066e36 Read time from timer register on arm64.
On ODROID C2 this change improves timer resolution from 250 ns to 41 ns.
2018-04-26 16:03:31 +02:00
Bartosz Taudul 3a20104882 No need for separate tracy_rdtscp() function. 2018-04-26 15:30:53 +02:00
Bartosz Taudul 8cc9464082 Use GetTime() in CalibrateTimer(). 2018-04-26 15:29:09 +02:00
Bartosz Taudul 48665cc09b s/TRACY_RDTSCP_SUPPORTED/TRACY_HW_TIMER/ 2018-04-26 15:25:54 +02:00
Bartosz Taudul 4eb205ad18 Optimize FastVector for fast push_next() operation. 2018-04-14 17:12:41 +02:00
Bartosz Taudul 15219b1481 Support 4-byte size_t. 2018-04-14 16:08:39 +02:00
Bartosz Taudul 459890ef0e Don't hold lock on serial queue during dequeue. 2018-04-14 15:46:11 +02:00
Bartosz Taudul e1dc62cabe Add fast vector swap. 2018-04-14 15:46:01 +02:00
Bartosz Taudul 7c4075c9ce Fix MemRead() call. 2018-04-03 17:57:12 +02:00
Bartosz Taudul 3ea5600900 Fix UB, lose type safety. 2018-04-03 17:51:53 +02:00
Bartosz Taudul 9c403d9cc2 GetTime() calls also must be serialized. 2018-04-01 21:07:33 +02:00
Bartosz Taudul 794f199bdc Serial queue dequeuing. 2018-04-01 20:04:35 +02:00
Bartosz Taudul 860e0e1809 Store memory operations in the serial queue. 2018-04-01 19:53:24 +02:00
Bartosz Taudul faeecdd773 Add serial queue to profiler. 2018-04-01 19:53:05 +02:00
Bartosz Taudul 0a3e9f85eb "Fast" vector implementation. 2018-04-01 19:52:29 +02:00
Bartosz Taudul 991fc6bd95 Memory allocations tracker. 2018-03-31 21:56:05 +02:00
Bartosz Taudul 7a35e8facc Fix typo. 2018-03-31 14:19:45 +02:00
Bartosz Taudul a677048d2b Fix try_lock(). 2018-03-31 14:15:04 +02:00
Bartosz Taudul 3b03e849f0 Harden client code against unaligned memory access.
There shouldn't be any changes in generated code on modern
architectures, as the memcpy will be reduced to a store/load operation
identical to the one generated with plain struct member access.

GetTime( cpu ) needs special handling, as the MSVC intrinsic for rdtscp
can't store cpu identifier in a register. Using intermediate variable
would cause store to stack, read from stack, store to the destination
address. Since rdtscp is only available on x86, which handles unaligned
stores without any problems, we can have one place with direct struct
member access.
2018-03-31 14:15:04 +02:00
Bartosz Taudul dca7338319 Update rpmalloc to 1.3.0. 2018-03-04 15:51:10 +01:00
Bartosz Taudul 0c1721144e Backport concurrent queue's fixes.
420509b6678263f0fa6c0ffba87a15319238a1f2
2018-03-04 15:32:42 +01:00
Bartosz Taudul 7300c2e46e Fix TRACY_NO_EXIT behavior.
Terminate event could be the first event that was sent. In such case
server immediately closed the connection, as there was no outstanding
data to receive. Fix by sending all data in the queue before sending
terminate event.
2018-01-11 13:45:13 +01:00
Bartosz Taudul c3a32f9c35 Send lock type in LockWait/LockSharedWait events.
This will be needed for proper construction of LockMap on the server, in
case the LockAnnounce message hasn't arrived yet.
2017-12-17 18:30:34 +01:00
Bartosz Taudul bcf2bf1c5c Shared lock events (still using old functionality). 2017-12-10 22:04:49 +01:00
Bartosz Taudul a9e14c8990 Add standard lock events to shared locking. 2017-12-10 21:56:19 +01:00
Bartosz Taudul 782231b048 Shared lockable skeleton. 2017-12-10 21:49:45 +01:00
Bartosz Taudul 3567d7edd8 Reintroduce lock announce events. 2017-12-10 21:40:48 +01:00
Bartosz Taudul f67465e784 Reduce timer calibration delay to 200 ms. 2017-11-25 13:34:26 +01:00
Bartosz Taudul 48da593ab2 Increase calibration time to half a second. 2017-11-24 01:43:35 +01:00
Bartosz Taudul c431747f06 Favor transfer of zones without predicted payload. 2017-11-22 02:28:12 +01:00
Bartosz Taudul 630db7112a Leaner iteration in Profiler::Dequeue(). 2017-11-22 02:07:23 +01:00
Bartosz Taudul a309e71fe1 Move force inline defines to a separate header. 2017-11-19 16:32:38 +01:00
Bartosz Taudul 5da8a7aa9b Optimize deque. 2017-11-15 20:20:02 +01:00
Bartosz Taudul 2f669aea41 Workaround gcc issues. 2017-11-15 10:56:27 +01:00
Bartosz Taudul c43eb29ce0 Don't send source location pointer in query reply.
Since reply order is the same as the query order, the server already
knows what source location it receives. This observation allows placing
zone name into the source location struct.
2017-11-14 23:06:45 +01:00
Bartosz Taudul 5c872b2137 Simplify GPU context handling. 2017-11-14 00:48:26 +01:00
Bartosz Taudul 3c00ce0958 GPU context registration. 2017-11-11 19:44:09 +01:00
Bartosz Taudul 81735aea2f Support for setting zone names in lua. 2017-11-11 17:56:41 +01:00
Bartosz Taudul 59ec40c045 Preemptive transfer of source location payload. 2017-11-11 15:59:30 +01:00
Bartosz Taudul 7f3b8f4647 Preemptive message text delivery. 2017-11-11 15:41:21 +01:00
Bartosz Taudul 76e11174dc Preemptive sending of custom strings. 2017-11-11 15:22:55 +01:00
Bartosz Taudul c2797a4cc7 Data packets can't cross data buffer boundary. 2017-11-11 15:08:03 +01:00
Bartosz Taudul 49bce256bc Fix type mismatch. 2017-11-11 14:35:46 +01:00
Bartosz Taudul 0d15d45c3a Don't send source location through the queue. 2017-11-11 14:24:22 +01:00
Bartosz Taudul 065964b216 Send data before sleeping during shutdown. 2017-11-11 14:23:55 +01:00