AK/PrintfImplementation: Change static constexpr array to function local

Problem:
- Static variables take memory and can be subject to less optimization.
- This static variable is only used in 1 place.

Solution:
- Move the variable into the function and make it non-static.
This commit is contained in:
Lenny Maiorani 2021-05-17 15:01:04 -06:00 committed by Andreas Kling
parent 3908a49661
commit 44a9c7c23e
Notes: sideshowbarker 2024-07-18 17:53:37 +09:00

View file

@ -19,9 +19,6 @@ extern "C" size_t strlen(const char*);
namespace PrintfImplementation { namespace PrintfImplementation {
static constexpr const char* printf_hex_digits_lower = "0123456789abcdef";
static constexpr const char* printf_hex_digits_upper = "0123456789ABCDEF";
template<typename PutChFunc, typename T> template<typename PutChFunc, typename T>
ALWAYS_INLINE int print_hex(PutChFunc putch, char*& bufptr, T number, bool upper_case, bool alternate_form, bool left_pad, bool zero_pad, u8 field_width) ALWAYS_INLINE int print_hex(PutChFunc putch, char*& bufptr, T number, bool upper_case, bool alternate_form, bool left_pad, bool zero_pad, u8 field_width)
{ {
@ -64,6 +61,9 @@ ALWAYS_INLINE int print_hex(PutChFunc putch, char*& bufptr, T number, bool upper
} else { } else {
u8 shift_count = digits * 4; u8 shift_count = digits * 4;
while (shift_count) { while (shift_count) {
constexpr const char* printf_hex_digits_lower = "0123456789abcdef";
constexpr const char* printf_hex_digits_upper = "0123456789ABCDEF";
shift_count -= 4; shift_count -= 4;
putch(bufptr, putch(bufptr,
upper_case upper_case