History log of /haiku/src/system/libroot/os/arch/x86_64/system_time.cpp
Revision Date Author Comments
# a6e9176b 23-Sep-2022 Jérôme Duval <jerome.duval@gmail.com>

x86_64: prefix rdtsc with lfence, or use rdtscp if available

a strong monotonicity is a property of system_time(). Performance should be
a bit impacted (around 10%).
removed omit-frame-pointer hints as the compiler generates the same without.

Change-Id: I920145d616604f32b38d9e134ce83f3e0e848bc7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5690
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 186dc96e 10-Oct-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

libroot/os/x86_64: clang says to never include ia32intrin

Change-Id: I08ecdfdc82f89c56081a8873d6263c30bad129b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3302
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# ca904ab3 24-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

system_time: Add temporary hack for GCC 8 to get ia32intrin.

ia32intrin isn't supposed to be included, only x86intrin is,
but GCC 8 changed some of the __builtin definitions in a
backwards-incompatible way for some of the AVX headers.
So, this is a temporary hack until we are using GCC 8 syslibs
packages.


# b3e749b0 28-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel,libroot,boot: remove c++11 and gnu++11 flags.

* c++14 is the default with current GCC
* remove pragmas for x86intrin.h


# fc48586b 22-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel/libroot: use compiler built-in for rdtsc().

* spares two MOV instructions.
* the warning is fixed upstream:
https://github.com/gcc-mirror/gcc/commit/2bbcec1f882a7c1f40b1d0aaa3811f85983dcdb9


# bec80c1c 10-Feb-2018 Jérôme Duval <jerome.duval@gmail.com>

white space cleanup


# 6d70d75a 26-Aug-2014 Paweł Dziepak <pdziepak@quarnos.org>

libroot/x86_64: rewrite system_time[_nsecs]() to C++

No functional change intended, just code deobfuscation.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>


# 6d70d75a8e4f7c15eee4bc7ef666e62b48297631 26-Aug-2014 Paweł Dziepak <pdziepak@quarnos.org>

libroot/x86_64: rewrite system_time[_nsecs]() to C++

No functional change intended, just code deobfuscation.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>