summaryrefslogtreecommitdiffstats
path: root/core/variant
diff options
context:
space:
mode:
authorDavid Snopek <dsnopek@gmail.com>2024-04-08 11:06:56 -0500
committerDavid Snopek <dsnopek@gmail.com>2024-04-08 11:06:56 -0500
commit927f2e1e538518b8b1bb8f046bf4c756e3297d03 (patch)
tree81d781102b057c6d49455f111985bfcaa2dbede5 /core/variant
parentdc91479082bd9cd56cd74282573492fe1ba9618a (diff)
downloadredot-engine-927f2e1e538518b8b1bb8f046bf4c756e3297d03.tar.gz
Use `likely()` in `PtrToArg<T *>` when checking for null `Object *`s
Diffstat (limited to 'core/variant')
-rw-r--r--core/variant/method_ptrcall.h10
1 files changed, 2 insertions, 8 deletions
diff --git a/core/variant/method_ptrcall.h b/core/variant/method_ptrcall.h
index 123f2067e2..c8d1241d3d 100644
--- a/core/variant/method_ptrcall.h
+++ b/core/variant/method_ptrcall.h
@@ -159,10 +159,7 @@ MAKE_PTRARG_BY_REFERENCE(Variant);
template <typename T>
struct PtrToArg<T *> {
_FORCE_INLINE_ static T *convert(const void *p_ptr) {
- if (p_ptr == nullptr) {
- return nullptr;
- }
- return const_cast<T *>(*reinterpret_cast<T *const *>(p_ptr));
+ return likely(p_ptr) ? const_cast<T *>(*reinterpret_cast<T *const *>(p_ptr)) : nullptr;
}
typedef Object *EncodeT;
_FORCE_INLINE_ static void encode(T *p_var, void *p_ptr) {
@@ -173,10 +170,7 @@ struct PtrToArg<T *> {
template <typename T>
struct PtrToArg<const T *> {
_FORCE_INLINE_ static const T *convert(const void *p_ptr) {
- if (p_ptr == nullptr) {
- return nullptr;
- }
- return *reinterpret_cast<T *const *>(p_ptr);
+ return likely(p_ptr) ? *reinterpret_cast<T *const *>(p_ptr) : nullptr;
}
typedef const Object *EncodeT;
_FORCE_INLINE_ static void encode(T *p_var, void *p_ptr) {