History

Various perf and style fixes

arr committed 9 years ago

Commit 08c36e01 parent b1b22c24 files · +29 −23Browse files

Showing the changes to src/include (2 of 4 files). Show all

Unified · Split

2 files
  1. src/include/utils.h +4 −4
  2. src/include/vm_memory.h +1 −1
src/include/utils.h+4−4
@@ -76,12 +76,12 @@ namespace disvm · 75 unmodified lines
7676
7777 // Adopted from 'winnt.h' in the Windows SDK
7878 #define DEFINE_ENUM_FLAG_OPERATORS(TYPE) \
79−inline TYPE operator | (TYPE a, TYPE b) { return static_cast<TYPE>(static_cast<std::underlying_type_t<TYPE>>(a) | static_cast<std::underlying_type_t<TYPE>>(b)); } \
79+constexpr TYPE operator | (TYPE a, TYPE b) { return static_cast<TYPE>(static_cast<std::underlying_type_t<TYPE>>(a) | static_cast<std::underlying_type_t<TYPE>>(b)); } \
8080 inline TYPE &operator |= (TYPE &a, TYPE b) { a = a | b; return a; } \
81−inline TYPE operator & (TYPE a, TYPE b) { return static_cast<TYPE>(static_cast<std::underlying_type_t<TYPE>>(a) & static_cast<std::underlying_type_t<TYPE>>(b)); } \
81+constexpr TYPE operator & (TYPE a, TYPE b) { return static_cast<TYPE>(static_cast<std::underlying_type_t<TYPE>>(a) & static_cast<std::underlying_type_t<TYPE>>(b)); } \
8282 inline TYPE &operator &= (TYPE &a, TYPE b) { a = a & b; return a; } \
83−inline TYPE operator ^ (TYPE a, TYPE b) { return static_cast<TYPE>(static_cast<std::underlying_type_t<TYPE>>(a) ^ static_cast<std::underlying_type_t<TYPE>>(b)); } \
83+constexpr TYPE operator ^ (TYPE a, TYPE b) { return static_cast<TYPE>(static_cast<std::underlying_type_t<TYPE>>(a) ^ static_cast<std::underlying_type_t<TYPE>>(b)); } \
8484 inline TYPE &operator ^= (TYPE &a, TYPE b) { a = a ^ b; return a; } \
85−inline TYPE operator ~ (TYPE a) { return static_cast<TYPE>(~static_cast<std::underlying_type_t<TYPE>>(a)); }
85+constexpr TYPE operator ~ (TYPE a) { return static_cast<TYPE>(~static_cast<std::underlying_type_t<TYPE>>(a)); }
8686
8787 #endif // _DISVM_SRC_INCLUDE_UTILS_H_
src/include/vm_memory.h+1−1
@@ -57,7 +57,7 @@ namespace disvm · 56 unmodified lines
5757 template<typename CB>
5858 void enum_pointer_fields(const type_descriptor_t &type_desc, void *data, CB callback)
5959 {
60− assert(data != nullptr && callback != nullptr);
60+ assert(data != nullptr);
6161
6262 auto memory = reinterpret_cast<word_t *>(data);
6363 for (auto i = word_t{ 0 }; i < type_desc.map_in_bytes; ++i, memory += 8)