equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. |
3 * Copyright (c) 2014, Red Hat Inc. All rights reserved. |
3 * Copyright (c) 2014, Red Hat Inc. All rights reserved. |
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5 * |
5 * |
6 * This code is free software; you can redistribute it and/or modify it |
6 * This code is free software; you can redistribute it and/or modify it |
7 * under the terms of the GNU General Public License version 2 only, as |
7 * under the terms of the GNU General Public License version 2 only, as |
21 * or visit www.oracle.com if you need additional information or have any |
21 * or visit www.oracle.com if you need additional information or have any |
22 * questions. |
22 * questions. |
23 * |
23 * |
24 */ |
24 */ |
25 |
25 |
26 #ifndef OS_CPU_LINUX_AARCH64_VM_OS_LINUX_AARCH64_INLINE_HPP |
26 #ifndef OS_CPU_LINUX_AARCH64_OS_LINUX_AARCH64_INLINE_HPP |
27 #define OS_CPU_LINUX_AARCH64_VM_OS_LINUX_AARCH64_INLINE_HPP |
27 #define OS_CPU_LINUX_AARCH64_OS_LINUX_AARCH64_INLINE_HPP |
28 |
28 |
29 #include "runtime/os.hpp" |
29 #include "runtime/os.hpp" |
30 |
30 |
31 // See http://www.technovelty.org/code/c/reading-rdtsc.htl for details |
31 // See http://www.technovelty.org/code/c/reading-rdtsc.htl for details |
32 inline jlong os::rdtsc() { |
32 inline jlong os::rdtsc() { |
35 __asm__ __volatile__ ("rdtsc" : "=a" (ts1), "=d" (ts2)); |
35 __asm__ __volatile__ ("rdtsc" : "=a" (ts1), "=d" (ts2)); |
36 res = ((uint64_t)ts1 | (uint64_t)ts2 << 32); |
36 res = ((uint64_t)ts1 | (uint64_t)ts2 << 32); |
37 return (jlong)res; |
37 return (jlong)res; |
38 } |
38 } |
39 |
39 |
40 #endif // OS_CPU_LINUX_AARCH64_VM_OS_LINUX_AARCH64_INLINE_HPP |
40 #endif // OS_CPU_LINUX_AARCH64_OS_LINUX_AARCH64_INLINE_HPP |