src/share/vm/runtime/jniHandles.cpp

changeset 2445
7246a374a9f2
parent 2314
f95d63e2154a
child 2467
9afee0b9fc1d
equal deleted inserted replaced
2444:e31d8c656c5b 2445:7246a374a9f2
23 */ 23 */
24 24
25 #include "precompiled.hpp" 25 #include "precompiled.hpp"
26 #include "classfile/systemDictionary.hpp" 26 #include "classfile/systemDictionary.hpp"
27 #include "oops/oop.inline.hpp" 27 #include "oops/oop.inline.hpp"
28 #include "prims/jvmtiTagMap.hpp"
28 #include "runtime/jniHandles.hpp" 29 #include "runtime/jniHandles.hpp"
29 #include "runtime/mutexLocker.hpp" 30 #include "runtime/mutexLocker.hpp"
30 #ifdef TARGET_OS_FAMILY_linux 31 #ifdef TARGET_OS_FAMILY_linux
31 # include "thread_linux.inline.hpp" 32 # include "thread_linux.inline.hpp"
32 #endif 33 #endif
426 // the next handle block is valid only if current block is full 427 // the next handle block is valid only if current block is full
427 if (current->_top < block_size_in_oops) { 428 if (current->_top < block_size_in_oops) {
428 break; 429 break;
429 } 430 }
430 } 431 }
432
433 /*
434 * JvmtiTagMap may also contain weak oops. The iteration of it is placed
435 * here so that we don't need to add it to each of the collectors.
436 */
437 JvmtiTagMap::weak_oops_do(is_alive, f);
431 } 438 }
432 439
433 440
434 jobject JNIHandleBlock::allocate_handle(oop obj) { 441 jobject JNIHandleBlock::allocate_handle(oop obj) {
435 assert(Universe::heap()->is_in_reserved(obj), "sanity check"); 442 assert(Universe::heap()->is_in_reserved(obj), "sanity check");

mercurial