summaryrefslogtreecommitdiff
path: root/gdb/kakoune.py
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2021-07-20 19:53:06 +1000
committerMaxime Coste <mawww@kakoune.org>2021-07-20 22:30:41 +1000
commita4dd89f214e72005f551cd071d7642652c2922c5 (patch)
treebbbd8e27bce9ade970e1082ac389a830ca7f1ede /gdb/kakoune.py
parentc643cd446712a9f9db05081786b5bc0daf2a96d7 (diff)
Improve code-generation for Strings
Make String::Data use trivial copy of the short/long union to avoid unnecessary branching there, inline release() as it can be elided by the compiler on moved-from Strings.
Diffstat (limited to 'gdb/kakoune.py')
-rw-r--r--gdb/kakoune.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/gdb/kakoune.py b/gdb/kakoune.py
index 699163d2..11b57148 100644
--- a/gdb/kakoune.py
+++ b/gdb/kakoune.py
@@ -87,12 +87,12 @@ class String:
def to_string(self):
data = self.val["m_data"]
- if (data["s"]["size"] & 1) != 1:
- ptr = data["l"]["ptr"]
- len = data["l"]["size"]
+ if (data["u"]["s"]["size"] & 1) != 1:
+ ptr = data["u"]["l"]["ptr"]
+ len = data["u"]["l"]["size"]
else:
- ptr = data["s"]["string"]
- len = data["s"]["size"] >> 1
+ ptr = data["u"]["s"]["string"]
+ len = data["u"]["s"]["size"] >> 1
return "\"%s\"" % (ptr.string("utf-8", "ignore", len))