Lines Matching defs:handle

34 // allocated and passed around via Handles within the VM. A handle is
35 // simply an extra indirection allocated in a thread local handle area.
37 // A handle is a ValueObj, so it can be passed around as a value, can
46 // Handle h1(obj); // allocate new handle
48 // Handle h3; // declare handle only, no allocation occurs
51 // oop obj2 = h2(); // get handle value
56 // there is a corresponding handle called xxxHandle, e.g.
64 // is a corresponding handle called xxxKlassHandle, e.g.
81 oop non_null_obj() const { assert(_handle != NULL, "resolving NULL handle"); return *_handle; }
110 Handle(oop *handle, bool dummy) { _handle = handle; }
112 // Raw handle access. Allows easy duplication of Handles. This can be very unsafe
113 // since duplicates is only valid as long as original handle is alive.
115 static oop raw_resolve(oop *handle) { return handle == NULL ? (oop)NULL : *handle; }
149 // The obj of such a klass handle may be null, because the handle is formed
151 KlassHandle(klassOop *handle, bool dummy) : Handle((oop*)handle, dummy) {
182 type##Handle (type##Oop *handle, bool dummy) : Handle((oop*)handle, dummy) {} \
240 // Thread local handle area
262 oop* handle = (oop*) (UseMallocOnly ? internal_malloc_4(oopSize) : Amalloc_4(oopSize));
264 oop* handle = (oop*) Amalloc_4(oopSize);
266 *handle = obj;
267 return handle;
287 // Handles are allocated in a (growable) thread local handle area. Deallocation
291 // A HandleMark constructor will record the current handle area top, and the
302 // If h has to be preserved, it can be converted to an oop or a local JNI handle
311 HandleArea *_area; // saved handle area
314 size_t _size_in_bytes; // size of handle area