Mercurial > hg > truffle
comparison src/share/vm/runtime/synchronizer.hpp @ 14909:4ca6dc0799b6
Backout jdk9 merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 01 Apr 2014 13:57:07 +0200 |
parents | e7d8cbe4db3b |
children | 89152779163c |
comparison
equal
deleted
inserted
replaced
14908:8db6e76cb658 | 14909:4ca6dc0799b6 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 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 | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
47 | 47 |
48 // This is full version of monitor enter and exit. I choose not | 48 // This is full version of monitor enter and exit. I choose not |
49 // to use enter() and exit() in order to make sure user be ware | 49 // to use enter() and exit() in order to make sure user be ware |
50 // of the performance and semantics difference. They are normally | 50 // of the performance and semantics difference. They are normally |
51 // used by ObjectLocker etc. The interpreter and compiler use | 51 // used by ObjectLocker etc. The interpreter and compiler use |
52 // assembly copies of these routines. Please keep them synchronized. | 52 // assembly copies of these routines. Please keep them synchornized. |
53 // | 53 // |
54 // attempt_rebias flag is used by UseBiasedLocking implementation | 54 // attempt_rebias flag is used by UseBiasedLocking implementation |
55 static void fast_enter (Handle obj, BasicLock* lock, bool attempt_rebias, TRAPS); | 55 static void fast_enter (Handle obj, BasicLock* lock, bool attempt_rebias, TRAPS); |
56 static void fast_exit (oop obj, BasicLock* lock, Thread* THREAD); | 56 static void fast_exit (oop obj, BasicLock* lock, Thread* THREAD); |
57 | 57 |
66 static void jni_enter (Handle obj, TRAPS); | 66 static void jni_enter (Handle obj, TRAPS); |
67 static bool jni_try_enter(Handle obj, Thread* THREAD); // Implements Unsafe.tryMonitorEnter | 67 static bool jni_try_enter(Handle obj, Thread* THREAD); // Implements Unsafe.tryMonitorEnter |
68 static void jni_exit (oop obj, Thread* THREAD); | 68 static void jni_exit (oop obj, Thread* THREAD); |
69 | 69 |
70 // Handle all interpreter, compiler and jni cases | 70 // Handle all interpreter, compiler and jni cases |
71 static int wait (Handle obj, jlong millis, TRAPS); | 71 static void wait (Handle obj, jlong millis, TRAPS); |
72 static void notify (Handle obj, TRAPS); | 72 static void notify (Handle obj, TRAPS); |
73 static void notifyall (Handle obj, TRAPS); | 73 static void notifyall (Handle obj, TRAPS); |
74 | 74 |
75 // Special internal-use-only method for use by JVM infrastructure | 75 // Special internal-use-only method for use by JVM infrastructure |
76 // that needs to wait() on a java-level object but that can't risk | 76 // that needs to wait() on a java-level object but that can't risk |