annotate src/os_cpu/windows_x86/vm/os_windows_x86.inline.hpp @ 5318:b5cd7bc05695

Method entry counters: Enable the flag to collect an execution profile of compiled methods and their callers. This allows to, e.g., detect methods that should be inlined because they are called frequently.
author Christian Wimmer <Christian.Wimmer@Oracle.com>
date Fri, 27 Apr 2012 12:56:39 -0700
parents 7ab5f6318694
children b9a9ed0f8eeb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4749
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
1 /*
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
2 * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
4 *
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
7 * published by the Free Software Foundation.
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
8 *
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
13 * accompanied this code).
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
14 *
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
18 *
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
21 * questions.
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
22 *
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
23 */
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
24
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
25 #ifndef OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_INLINE_HPP
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
26 #define OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_INLINE_HPP
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
27
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
28 #include "runtime/os.hpp"
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
29
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
30 inline jlong os::rdtsc() {
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
31 // 32 bit: 64 bit result in edx:eax
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
32 // 64 bit: 64 bit value in rax
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
33 uint64_t res;
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
34 res = (uint64_t)__rdtsc();
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
35 return (jlong)res;
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
36 }
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
37
7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
diff changeset
38 #endif // OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_INLINE_HPP