move blackbox to utility
parent
82d960f833
commit
f5886416bf
|
@ -24,42 +24,7 @@ namespace blt::system {
|
||||||
return __rdtsc();
|
return __rdtsc();
|
||||||
}
|
}
|
||||||
// TODO: system memory and current CPU usage. (Linux Only currently)
|
// TODO: system memory and current CPU usage. (Linux Only currently)
|
||||||
|
|
||||||
#if defined(__GNUC__) || defined(__llvm__)
|
|
||||||
#define BLT_ATTRIB_NO_INLINE __attribute__ ((noinline))
|
|
||||||
#else
|
|
||||||
#if defined(_MSC_VER) && !defined(__INTEL_COMPILER)
|
|
||||||
#define BLT_ATTRIB_NO_INLINE __declspec(noinline)
|
|
||||||
#else
|
|
||||||
#define BLT_ATTRIB_NO_INLINE
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
void BLT_ATTRIB_NO_INLINE black_box_ref(const T& val){
|
|
||||||
volatile void* hell;
|
|
||||||
hell = (void*)&val;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
void BLT_ATTRIB_NO_INLINE black_box(T val){
|
|
||||||
volatile void* hell2;
|
|
||||||
hell2 = (void*)&val;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
const T& BLT_ATTRIB_NO_INLINE black_box_ref_ret(const T& val){
|
|
||||||
volatile void* hell;
|
|
||||||
hell = (void*)&val;
|
|
||||||
return val;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
T BLT_ATTRIB_NO_INLINE black_box_ret(T val){
|
|
||||||
volatile void* hell2;
|
|
||||||
hell2 = (void*)&val;
|
|
||||||
return val;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //BLT_SYSTEM_H
|
#endif //BLT_SYSTEM_H
|
||||||
|
|
|
@ -30,6 +30,46 @@ namespace blt
|
||||||
private:
|
private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if defined(__GNUC__) || defined(__llvm__)
|
||||||
|
#define BLT_ATTRIB_NO_INLINE __attribute__ ((noinline))
|
||||||
|
#else
|
||||||
|
#if defined(_MSC_VER) && !defined(__INTEL_COMPILER)
|
||||||
|
#define BLT_ATTRIB_NO_INLINE __declspec(noinline)
|
||||||
|
#else
|
||||||
|
#define BLT_ATTRIB_NO_INLINE
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
void BLT_ATTRIB_NO_INLINE black_box_ref(const T& val)
|
||||||
|
{
|
||||||
|
volatile void* hell;
|
||||||
|
hell = (void*) &val;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
void BLT_ATTRIB_NO_INLINE black_box(T val)
|
||||||
|
{
|
||||||
|
volatile void* hell2;
|
||||||
|
hell2 = (void*) &val;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
const T& BLT_ATTRIB_NO_INLINE black_box_ref_ret(const T& val)
|
||||||
|
{
|
||||||
|
volatile void* hell;
|
||||||
|
hell = (void*) &val;
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
T BLT_ATTRIB_NO_INLINE black_box_ret(T val)
|
||||||
|
{
|
||||||
|
volatile void* hell2;
|
||||||
|
hell2 = (void*) &val;
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include <memory_test.h>
|
#include <memory_test.h>
|
||||||
#include <blt/parse/argparse.h>
|
#include <blt/parse/argparse.h>
|
||||||
#include <utility_test.h>
|
#include <utility_test.h>
|
||||||
|
#include <blt/std/system.h>
|
||||||
|
|
||||||
std::function<int(int i)> test{
|
std::function<int(int i)> test{
|
||||||
[](int i) -> int {
|
[](int i) -> int {
|
||||||
|
|
Loading…
Reference in New Issue