Mercurial > hg > truffle
annotate src/os_cpu/windows_x86/vm/os_windows_x86.hpp @ 14304:a2866d45e99e
8027454: Do not traverse string table during G1 remark when treating them as strong roots during initial mark
Summary: Do not try to unlink string table entries unconditionally during remark. This is without side effects as the preceding initial mark always uses the string table as strong roots. Needs to be fixed with class unloading during concurrent mark.
Reviewed-by: brutisso, mgerdin
author | tschatzl |
---|---|
date | Mon, 20 Jan 2014 11:47:29 +0100 |
parents | de6a9e811145 |
children | 4ca6dc0799b6 |
rev | line source |
---|---|
0 | 1 /* |
14223
de6a9e811145
8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
mikael
parents:
12199
diff
changeset
|
2 * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. |
0 | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | |
5 * This code is free software; you can redistribute it and/or modify it | |
6 * under the terms of the GNU General Public License version 2 only, as | |
7 * published by the Free Software Foundation. | |
8 * | |
9 * This code is distributed in the hope that it will be useful, but WITHOUT | |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 * version 2 for more details (a copy is included in the LICENSE file that | |
13 * accompanied this code). | |
14 * | |
15 * You should have received a copy of the GNU General Public License version | |
16 * 2 along with this work; if not, write to the Free Software Foundation, | |
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
18 * | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
844
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
844
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
844
diff
changeset
|
21 * questions. |
0 | 22 * |
23 */ | |
24 | |
1972 | 25 #ifndef OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_HPP |
26 #define OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_HPP | |
27 | |
0 | 28 // |
29 // NOTE: we are back in class os here, not win32 | |
30 // | |
31 #ifdef AMD64 | |
32 static jint (*atomic_xchg_func) (jint, volatile jint*); | |
33 static intptr_t (*atomic_xchg_ptr_func) (intptr_t, volatile intptr_t*); | |
34 | |
35 static jint (*atomic_cmpxchg_func) (jint, volatile jint*, jint); | |
36 static jlong (*atomic_cmpxchg_long_func) (jlong, volatile jlong*, jlong); | |
37 | |
38 static jint (*atomic_add_func) (jint, volatile jint*); | |
39 static intptr_t (*atomic_add_ptr_func) (intptr_t, volatile intptr_t*); | |
40 | |
41 static jint atomic_xchg_bootstrap (jint, volatile jint*); | |
42 static intptr_t atomic_xchg_ptr_bootstrap (intptr_t, volatile intptr_t*); | |
43 | |
44 static jint atomic_cmpxchg_bootstrap (jint, volatile jint*, jint); | |
45 #else | |
46 | |
47 static jlong (*atomic_cmpxchg_long_func) (jlong, volatile jlong*, jlong); | |
48 | |
49 #endif // AMD64 | |
50 | |
51 static jlong atomic_cmpxchg_long_bootstrap(jlong, volatile jlong*, jlong); | |
52 | |
53 #ifdef AMD64 | |
54 static jint atomic_add_bootstrap (jint, volatile jint*); | |
55 static intptr_t atomic_add_ptr_bootstrap (intptr_t, volatile intptr_t*); | |
56 #endif // AMD64 | |
57 | |
58 static void setup_fpu(); | |
59 static bool supports_sse() { return true; } | |
60 | |
4749
7ab5f6318694
7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
1972
diff
changeset
|
61 static jlong rdtsc(); |
7ab5f6318694
7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
phh
parents:
1972
diff
changeset
|
62 |
0 | 63 static bool register_code_area(char *low, char *high); |
1972 | 64 |
12199
38f750491293
8022335: Native stack walk while generating hs_err does not work on Windows x64
iklam
parents:
6842
diff
changeset
|
65 #ifdef AMD64 |
38f750491293
8022335: Native stack walk while generating hs_err does not work on Windows x64
iklam
parents:
6842
diff
changeset
|
66 #define PLATFORM_PRINT_NATIVE_STACK 1 |
38f750491293
8022335: Native stack walk while generating hs_err does not work on Windows x64
iklam
parents:
6842
diff
changeset
|
67 static bool platform_print_native_stack(outputStream* st, void* context, |
38f750491293
8022335: Native stack walk while generating hs_err does not work on Windows x64
iklam
parents:
6842
diff
changeset
|
68 char *buf, int buf_size); |
38f750491293
8022335: Native stack walk while generating hs_err does not work on Windows x64
iklam
parents:
6842
diff
changeset
|
69 #endif |
38f750491293
8022335: Native stack walk while generating hs_err does not work on Windows x64
iklam
parents:
6842
diff
changeset
|
70 |
1972 | 71 #endif // OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_HPP |