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