aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jit
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2021-06-16 13:49:17 +0200
committerUlf Hermann <ulf.hermann@qt.io>2021-06-17 09:02:08 +0200
commit636481a31110f1819efaf6500b25fbc395854311 (patch)
tree439fbb3790833c90629d78db80e9157f2d9ad4c8 /src/qml/jit
parent733bb4366e6a59dcfd7be0b33e1ac885eb76e13c (diff)
Avoid undefined behavior in the JIT
We need to add an entry to all the RegisterID enums, so that we can mark a RegisterID as invalid. Pick-to: 6.2 Task-number: QTBUG-94068 Change-Id: I5c13b271eade50fd63327612514ba7ebe33a5c39 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Diffstat (limited to 'src/qml/jit')
-rw-r--r--src/qml/jit/qv4assemblercommon_p.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/qml/jit/qv4assemblercommon_p.h b/src/qml/jit/qv4assemblercommon_p.h
index 63a88f287f..c91a61a0a7 100644
--- a/src/qml/jit/qv4assemblercommon_p.h
+++ b/src/qml/jit/qv4assemblercommon_p.h
@@ -73,7 +73,7 @@ class PlatformAssembler_X86_64_SysV : public JSC::MacroAssembler<JSC::MacroAssem
public:
static constexpr int NativeStackAlignment = 16;
- static const RegisterID NoRegister = RegisterID(-1);
+ static const RegisterID NoRegister = RegisterID::none;
static const RegisterID ReturnValueRegister = RegisterID::eax;
static const RegisterID ReturnValueRegisterValue = ReturnValueRegister;
@@ -160,7 +160,7 @@ typedef PlatformAssembler_X86_64_SysV PlatformAssemblerBase;
class PlatformAssembler_Win64 : public JSC::MacroAssembler<JSC::MacroAssemblerX86_64>
{
public:
- static const RegisterID NoRegister = RegisterID(-1);
+ static const RegisterID NoRegister = RegisterID::none;
static const RegisterID ReturnValueRegister = RegisterID::eax;
static const RegisterID ReturnValueRegisterValue = ReturnValueRegister;
@@ -250,7 +250,7 @@ typedef PlatformAssembler_Win64 PlatformAssemblerBase;
class PlatformAssembler_X86_All : public JSC::MacroAssembler<JSC::MacroAssemblerX86>
{
public:
- static const RegisterID NoRegister = RegisterID(-1);
+ static const RegisterID NoRegister = RegisterID::none;
static const RegisterID ReturnValueRegisterValue = RegisterID::eax;
static const RegisterID ReturnValueRegisterTag = RegisterID::edx;
@@ -340,7 +340,7 @@ typedef PlatformAssembler_X86_All PlatformAssemblerBase;
class PlatformAssembler_ARM64 : public JSC::MacroAssembler<JSC::MacroAssemblerARM64>
{
public:
- static const RegisterID NoRegister = RegisterID(-1);
+ static const RegisterID NoRegister = RegisterID::none;
static const RegisterID ReturnValueRegister = JSC::ARM64Registers::x0;
static const RegisterID ReturnValueRegisterValue = ReturnValueRegister;
@@ -439,7 +439,7 @@ typedef PlatformAssembler_ARM64 PlatformAssemblerBase;
class PlatformAssembler_ARM32 : public JSC::MacroAssembler<JSC::MacroAssemblerARMv7>
{
public:
- static const RegisterID NoRegister = RegisterID(-1);
+ static const RegisterID NoRegister = RegisterID::none;
static const RegisterID ReturnValueRegisterValue = JSC::ARMRegisters::r0;
static const RegisterID ReturnValueRegisterTag = JSC::ARMRegisters::r1;