summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-05-15 17:09:20 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2020-05-15 17:23:08 +0300
commitff66d65a096ec02dda1ab449d84a40361551085c (patch)
tree62758be70a0df31bc0c376f948ef1dba3cc58b7b /sql/field.cc
parent1cac6d48282459d8855c1cec1eeb4bc0e3db5f89 (diff)
downloadmariadb-git-ff66d65a096ec02dda1ab449d84a40361551085c.tar.gz
Amend af784385b4a2b286000fa2c658e34283fe7bba60: Avoid vtable overhead
When neither MSAN nor Valgrind are enabled, declare Field::mark_unused_memory_as_defined() as an empty inline function, instead of declaring it as a virtual function.
Diffstat (limited to 'sql/field.cc')
-rw-r--r--sql/field.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/sql/field.cc b/sql/field.cc
index 9ab76aa37a4..d1bd5860f06 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -1,6 +1,6 @@
/*
Copyright (c) 2000, 2017, Oracle and/or its affiliates.
- Copyright (c) 2008, 2017, MariaDB
+ Copyright (c) 2008, 2020, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -7772,11 +7772,14 @@ my_decimal *Field_varstring::val_decimal(my_decimal *decimal_value)
}
+
+#ifdef HAVE_valgrind_or_MSAN
void Field_varstring::mark_unused_memory_as_defined()
{
- uint used_length __attribute__((unused)) = get_length();
+ uint used_length= get_length();
MEM_MAKE_DEFINED(get_data() + used_length, field_length - used_length);
}
+#endif
int Field_varstring::cmp_max(const uchar *a_ptr, const uchar *b_ptr,