512 for (i = 0; i < _managers_list->length(); i++) {
513 MemoryManager* mgr = _managers_list->at(i);
514 mgr->oops_do(f);
515 }
516 }
517
518 bool MemoryService::set_verbose(bool verbose) {
519 MutexLocker m(Management_lock);
520 // verbose will be set to the previous value
521 if (verbose) {
522 LogConfiguration::configure_stdout(LogLevel::Info, true, LOG_TAGS(gc));
523 } else {
524 LogConfiguration::configure_stdout(LogLevel::Off, true, LOG_TAGS(gc));
525 }
526 ClassLoadingService::reset_trace_class_unloading();
527
528 return verbose;
529 }
530
531 Handle MemoryService::create_MemoryUsage_obj(MemoryUsage usage, TRAPS) {
532 Klass* k = Management::java_lang_management_MemoryUsage_klass(CHECK_NH);
533 instanceKlassHandle ik(THREAD, k);
534
535 instanceHandle obj = ik->allocate_instance_handle(CHECK_NH);
536
537 JavaValue result(T_VOID);
538 JavaCallArguments args(10);
539 args.push_oop(obj); // receiver
540 args.push_long(usage.init_size_as_jlong()); // Argument 1
541 args.push_long(usage.used_as_jlong()); // Argument 2
542 args.push_long(usage.committed_as_jlong()); // Argument 3
543 args.push_long(usage.max_size_as_jlong()); // Argument 4
544
545 JavaCalls::call_special(&result,
546 ik,
547 vmSymbols::object_initializer_name(),
548 vmSymbols::long_long_long_long_void_signature(),
549 &args,
550 CHECK_NH);
551 return obj;
552 }
553
|
512 for (i = 0; i < _managers_list->length(); i++) {
513 MemoryManager* mgr = _managers_list->at(i);
514 mgr->oops_do(f);
515 }
516 }
517
518 bool MemoryService::set_verbose(bool verbose) {
519 MutexLocker m(Management_lock);
520 // verbose will be set to the previous value
521 if (verbose) {
522 LogConfiguration::configure_stdout(LogLevel::Info, true, LOG_TAGS(gc));
523 } else {
524 LogConfiguration::configure_stdout(LogLevel::Off, true, LOG_TAGS(gc));
525 }
526 ClassLoadingService::reset_trace_class_unloading();
527
528 return verbose;
529 }
530
531 Handle MemoryService::create_MemoryUsage_obj(MemoryUsage usage, TRAPS) {
532 InstanceKlass* ik = Management::java_lang_management_MemoryUsage_klass(CHECK_NH);
533
534 instanceHandle obj = ik->allocate_instance_handle(CHECK_NH);
535
536 JavaValue result(T_VOID);
537 JavaCallArguments args(10);
538 args.push_oop(obj); // receiver
539 args.push_long(usage.init_size_as_jlong()); // Argument 1
540 args.push_long(usage.used_as_jlong()); // Argument 2
541 args.push_long(usage.committed_as_jlong()); // Argument 3
542 args.push_long(usage.max_size_as_jlong()); // Argument 4
543
544 JavaCalls::call_special(&result,
545 ik,
546 vmSymbols::object_initializer_name(),
547 vmSymbols::long_long_long_long_void_signature(),
548 &args,
549 CHECK_NH);
550 return obj;
551 }
552
|