Add queue intercept support to the runtime.

Queue intercept is exposed as two tools-only APIs via the API
intercept table.

Change-Id: Iac9602ed3143974d85c3569e9092295ad18037f8
Esse commit está contido em:
Sean Keely
2017-10-17 22:09:12 -05:00
commit 0c7dde2d1f
16 arquivos alterados com 800 adições e 19 exclusões
+16 -2
Ver Arquivo
@@ -78,12 +78,15 @@ static __forceinline void _aligned_free(void* ptr) { return free(ptr); }
#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64))
#include "intrin.h"
#define __ALIGNED__(x) __declspec(align(x))
#if (_MSC_VER < 1800)
#if (_MSC_VER < 1800) // < VS 2013
static __forceinline unsigned long long int strtoull(const char* str,
char** endptr, int base) {
return static_cast<unsigned long long>(_strtoui64(str, endptr, base));
}
#endif
#if (_MSC_VER < 1900) // < VS 2015
#define thread_local __declspec(thread)
#endif
#else
#error "Compiler and/or processor not identified."
#endif
@@ -102,7 +105,18 @@ static __forceinline unsigned long long int strtoull(const char* str,
if (!(exp)) \
fprintf(stderr, "Warning: " STRING(exp) " in %s, " __FILE__ ":" STRING(__LINE__) "\n", \
__PRETTY_FUNCTION__); \
} while (false);
} while (false)
#endif
#ifdef NDEBUG
#define debug_print(fmt, ...) \
do { \
} while (false)
#else
#define debug_print(fmt, ...) \
do { \
fprintf(stderr, fmt, ##__VA_ARGS__); \
} while (false)
#endif
// A macro to disallow the copy and move constructor and operator= functions