src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.inline.hpp
changeset 53244 9807daeb47c4
parent 47216 71c04702a3d5
equal deleted inserted replaced
53243:8bea4144b21c 53244:9807daeb47c4
     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