Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wolfpld/tracy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Taudul <wolf@nereid.pl>2022-09-15 02:51:43 +0300
committerBartosz Taudul <wolf@nereid.pl>2022-09-16 00:36:29 +0300
commit6dc7c8c6b500928134cacbfe51338b5462da6ba4 (patch)
tree573fa1d9f64b7ea3ab3dd0d0bfa59442f228f680 /server/TracySourceTokenizer.cpp
parentaa017e6a76758460ffef67b9e525427da2cf5c91 (diff)
Add assembly keyword maps.
Diffstat (limited to 'server/TracySourceTokenizer.cpp')
-rw-r--r--server/TracySourceTokenizer.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/server/TracySourceTokenizer.cpp b/server/TracySourceTokenizer.cpp
index 2f07634d..f741b8fa 100644
--- a/server/TracySourceTokenizer.cpp
+++ b/server/TracySourceTokenizer.cpp
@@ -73,6 +73,46 @@ static unordered_flat_set<const char*, charutil::Hasher, charutil::Comparator> G
}
return ret;
}
+static unordered_flat_set<const char*, charutil::Hasher, charutil::Comparator> GetAsmRegs()
+{
+ unordered_flat_set<const char*, charutil::Hasher, charutil::Comparator> ret;
+ for( auto& v : {
+ // X86
+ "invalid", "rflags", "rip",
+ "rax", "rbx", "rcx", "rdx", "rsi", "rdi", "rbp", "rsp", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
+ "eax", "ebx", "ecx", "edx", "esi", "edi", "ebp", "esp",
+ "ax", "bx", "cx", "dx", "si", "di", "bp", "sp",
+ "ah", "bh", "ch", "dh", "SIL", "DIL", "BPL", "SPL",
+ "al", "bl", "cl", "dl",
+ "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7",
+ "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7", "xmm8", "xmm9",
+ "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15", "xmm16", "xmm17", "xmm18", "xmm19",
+ "xmm20", "xmm21", "xmm22", "xmm23", "xmm24", "xmm25", "xmm26", "xmm27", "xmm28", "xmm29",
+ "xmm30", "xmm31", "k0", "k1", "k2", "k3", "k4", "k5", "k6", "k7",
+ // ARM
+ "apsr", "apsr_nzcv", "cpsr", "fpexc", "fpinst", "fpscr", "fpscr_nzcv", "fpsid", "itstate",
+ "lr", "pc", "sp", "spsr", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "d10",
+ "d11", "d12", "d13", "d14", "d15", "d16", "d17", "d18", "d19", "d20", "d21", "d22", "d23",
+ "d24", "d25", "d26", "d27", "d28", "d29", "d30", "d31", "fpinst2", "mvfr0", "mvfr1", "mvfr2",
+ "q0", "q1", "q2", "q3", "q4", "q5", "q6", "q7", "q8", "q9", "q10", "q11", "q12", "q13", "q14",
+ "q15", "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "s0",
+ "s1", "s2", "s3", "s4", "s5", "s6", "s7", "s8", "s9", "s10", "s11", "s12", "s13", "s14", "s15",
+ "s16", "s17", "s18", "s19", "s20", "s21", "s22", "s23", "s24", "s25", "s26", "s27", "s28", "s29",
+ "s30", "s31" })
+ {
+ ret.insert( v );
+ }
+ return ret;
+}
+static unordered_flat_set<const char*, charutil::Hasher, charutil::Comparator> GetAsmSizeDirectives()
+{
+ unordered_flat_set<const char*, charutil::Hasher, charutil::Comparator> ret;
+ for( auto& v : { "byte", "word", "dword", "qword", "xmmword", "ymmword" })
+ {
+ ret.insert( v );
+ }
+ return ret;
+}
}
Tokenizer::Tokenizer()