#define OBJECTARRAYINTERVAL 10
#define ARRAYSET(array, type, index, value) \
- ((type *)(& (& array->___length___)[1]))[index]=value
+ ((type *)(&(&array->___length___)[1]))[index]=value
#define ARRAYGET(array, type, index) \
- ((type *)(& (& array->___length___)[1]))[index]
+ ((type *)(&(&array->___length___)[1]))[index]
#ifdef OPTIONAL
#define OPTARG(x) , x
#if defined(__i386__)
-static __inline__ unsigned long long rdtsc(void)
-{
+static __inline__ unsigned long long rdtsc(void) {
unsigned long long int x;
__asm__ volatile (".byte 0x0f, 0x31" : "=A" (x));
return x;
}
#elif defined(__x86_64__)
-static __inline__ unsigned long long rdtsc(void)
-{
+static __inline__ unsigned long long rdtsc(void) {
unsigned hi, lo;
- __asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi));
+ __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi));
return ( (unsigned long long)lo)|( ((unsigned long long)hi)<<32 );
}
typedef unsigned long long int unsigned long long;
-static __inline__ unsigned long long rdtsc(void)
-{
+static __inline__ unsigned long long rdtsc(void) {
unsigned long long int result=0;
unsigned long int upper, lower,tmp;
- __asm__ volatile(
- "0: \n"
- "\tmftbu %0 \n"
- "\tmftb %1 \n"
- "\tmftbu %2 \n"
- "\tcmpw %2,%0 \n"
- "\tbne 0b \n"
- : "=r"(upper),"=r"(lower),"=r"(tmp)
- );
+ __asm__ volatile (
+ "0: \n"
+ "\tmftbu %0 \n"
+ "\tmftb %1 \n"
+ "\tmftbu %2 \n"
+ "\tcmpw %2,%0 \n"
+ "\tbne 0b \n"
+ : "=r" (upper),"=r" (lower),"=r" (tmp)
+ );
result = upper;
result = result<<32;
result = result|lower;