java.lang.Object.
Various functions in this file tend to get moved around between threadutil.c and classutil.c.
For internal use only.
Due to the fact that the implementation of the Java object and the supporting robject structure is deeply embedded in the core of the development of this software, this file has contents that come and go during development. Some functions get staged here before deciding where they really go; some are interim functions for debugging, some were glue that eventually went away. Be careful to remove prototypes to such functions from the appropriate header file.
Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
Licensed under the Apache License, Version 2.0 ("the License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.
Definition in file objectutil.c.
#include "arch.h"
#include "jvmcfg.h"
#include "classfile.h"
#include "jvm.h"
#include "jvmclass.h"
#include "linkage.h"
Go to the source code of this file.
Functions | |
static void | objectutil_c_dummy (void) |
rboolean | objectutil_release (jvm_object_hash objhashthis, jvm_thread_index thridx) |
Attempt to wait() on an object's monitor lock by releasing it and requesting RELEASE state. | |
rboolean | objectutil_synchronize (jvm_object_hash objhashthis, jvm_thread_index thridx) |
Attempt to synchronize() on an object's monitor lock by contending for it. | |
rvoid | objectutil_unsynchronize (jvm_object_hash objhashthis, jvm_thread_index thridx) |
Release synchronize from an object monitor lock. | |
Variables | |
static char * | objectutil_c_copyright = "\0" "$URL: https://svn.apache.org/path/name/objectutil.c $ $Id: objectutil.c 0 09/28/2005 dlydick $" " " "Copyright 2005 The Apache Software Foundation or its licensors, as applicable." |
|
Definition at line 56 of file objectutil.c. |
|
Attempt to If acquired, stay in the RUNNING state. If not, go to the SYNCHRONIZED state and arbitrate for it in the LOCK state.
< NULL object (only 1 exists in normal use, any else besides the JVMCFG_NULL_OBJECT is an object slot now being initialized.) < Object monitor locked by mlock_thridx < Object monitor locked by mlock_thridx < Access structures of the thread now running in the JVM. < Object monitor locked by mlock_thridx < Access structures of the thread now running in the JVM. < Access structures of the thread now running in the JVM.
< thread threw a Definition at line 102 of file objectutil.c. References CURRENT_THREAD, jvm_object_hash_null, JVMCLASS_JAVA_LANG_ILLEGALMONITORSTATEEXCEPTION, JVMCLASS_JAVA_LANG_NULLPOINTEREXCEPTION, OBJECT, OBJECT_STATUS_INUSE, OBJECT_STATUS_MLOCK, OBJECT_STATUS_NULL, rfalse, rtrue, THREAD, THREAD_STATUS_THREW_EXCEPTION, thread_throw_exception(), and threadstate_request_synchronized(). Referenced by opcode_run(). |
|
Release
< NULL object (only 1 exists in normal use, any else besides the JVMCFG_NULL_OBJECT is an object slot now being initialized.)
< thread threw a < Object monitor locked by mlock_thridx < Object monitor locked by mlock_thridx < Access structures of the thread now running in the JVM.
< thread threw a Definition at line 240 of file objectutil.c. Referenced by opcode_run(). |
|
Attempt to Save the MLOCK to be released for subsequent processing by threadstate_request_release().
Definition at line 326 of file objectutil.c. Referenced by jlObject_wait4ever(). |
|
Definition at line 56 of file objectutil.c. |