src/vm/cycles-stats.h: Switched from asm_get_cycle_count to md_get_cycle_count.
[cacao.git] / src / vm / jit / x86_64 / md.h
index 9a65d6b6597df307116132f144011ea18d49bd45..68f99e57e88d3529630bfa20cc65e20c29f151ef 100644 (file)
@@ -1,6 +1,6 @@
 /* src/vm/jit/x86_64/md.h - machine dependent x86_64 functions
 
-   Copyright (C) 1996-2005, 2006, 2007, 2008
+   Copyright (C) 1996-2005, 2006, 2007, 2008, 2009
    CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
@@ -130,6 +130,23 @@ inline static void md_dcacheflush(void* addr, int nbytes)
        __asm__ __volatile__ ("" : : : "memory");
 }
 
+
+/* md_get_cycle_count **********************************************************
+
+   Get the current time-stamp counter from the CPU.
+
+*******************************************************************************/
+
+inline static uint64_t md_get_cycle_count()
+{
+       uint64_t cycles;
+
+       // Get current cycles count from the CPU.
+       __asm__ __volatile__ ("rdtsc" : "=A" (cycles));
+
+       return cycles;
+}
+
 #endif /* _VM_JIT_X86_64_MD_H */