From acd8c94e88ae7af6be76829b807ca7cb0422a9af Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 12 Jul 2023 19:29:28 +0200 Subject: [PATCH] LibJS/Bytecode: Make Bytecode::Register constexpr A trivial change for 2% speed-up on Kraken/ai-astar.js :^) --- Userland/Libraries/LibJS/Bytecode/Register.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Userland/Libraries/LibJS/Bytecode/Register.h b/Userland/Libraries/LibJS/Bytecode/Register.h index 5fa4dc0234..eaebdd46ca 100644 --- a/Userland/Libraries/LibJS/Bytecode/Register.h +++ b/Userland/Libraries/LibJS/Bytecode/Register.h @@ -14,20 +14,19 @@ class Register { public: constexpr static u32 accumulator_index = 0; - static Register accumulator() + static constexpr Register accumulator() { - static Register accumulator(accumulator_index); - return accumulator; + return Register(accumulator_index); } - explicit Register(u32 index) + constexpr explicit Register(u32 index) : m_index(index) { } - bool operator==(Register reg) const { return m_index == reg.index(); } + constexpr bool operator==(Register reg) const { return m_index == reg.index(); } - u32 index() const { return m_index; } + constexpr u32 index() const { return m_index; } private: u32 m_index;