equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2003, 2016, 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. |
27 #include "classfile/systemDictionary.hpp" |
27 #include "classfile/systemDictionary.hpp" |
28 #include "classfile/vmSymbols.hpp" |
28 #include "classfile/vmSymbols.hpp" |
29 #include "interpreter/bytecodeStream.hpp" |
29 #include "interpreter/bytecodeStream.hpp" |
30 #include "interpreter/interpreter.hpp" |
30 #include "interpreter/interpreter.hpp" |
31 #include "jvmtifiles/jvmtiEnv.hpp" |
31 #include "jvmtifiles/jvmtiEnv.hpp" |
|
32 #include "logging/log.hpp" |
32 #include "logging/logConfiguration.hpp" |
33 #include "logging/logConfiguration.hpp" |
33 #include "memory/resourceArea.hpp" |
34 #include "memory/resourceArea.hpp" |
34 #include "memory/universe.inline.hpp" |
35 #include "memory/universe.inline.hpp" |
35 #include "oops/instanceKlass.hpp" |
36 #include "oops/instanceKlass.hpp" |
36 #include "oops/objArrayOop.inline.hpp" |
37 #include "oops/objArrayOop.inline.hpp" |
471 Handle loader_lock = Handle(thread, SystemDictionary::system_loader_lock()); |
472 Handle loader_lock = Handle(thread, SystemDictionary::system_loader_lock()); |
472 |
473 |
473 ObjectLocker ol(loader_lock, thread); |
474 ObjectLocker ol(loader_lock, thread); |
474 |
475 |
475 // add the jar file to the bootclasspath |
476 // add the jar file to the bootclasspath |
476 if (TraceClassLoading) { |
477 log_info(classload)("opened: %s", zip_entry->name()); |
477 tty->print_cr("[Opened %s]", zip_entry->name()); |
|
478 } |
|
479 ClassLoaderExt::append_boot_classpath(zip_entry); |
478 ClassLoaderExt::append_boot_classpath(zip_entry); |
480 return JVMTI_ERROR_NONE; |
479 return JVMTI_ERROR_NONE; |
481 } else { |
480 } else { |
482 return JVMTI_ERROR_WRONG_PHASE; |
481 return JVMTI_ERROR_WRONG_PHASE; |
483 } |
482 } |
623 switch (flag) { |
622 switch (flag) { |
624 case JVMTI_VERBOSE_OTHER: |
623 case JVMTI_VERBOSE_OTHER: |
625 // ignore |
624 // ignore |
626 break; |
625 break; |
627 case JVMTI_VERBOSE_CLASS: |
626 case JVMTI_VERBOSE_CLASS: |
628 TraceClassLoading = value != 0; |
627 if (value == 0) { |
629 TraceClassUnloading = value != 0; |
628 LogConfiguration::parse_log_arguments("stdout", "classunload=off", NULL, NULL, NULL); |
|
629 LogConfiguration::parse_log_arguments("stdout", "classload=off", NULL, NULL, NULL); |
|
630 } else { |
|
631 LogConfiguration::parse_log_arguments("stdout", "classload=info", NULL, NULL, NULL); |
|
632 LogConfiguration::parse_log_arguments("stdout", "classunload=info", NULL, NULL, NULL); |
|
633 } |
630 break; |
634 break; |
631 case JVMTI_VERBOSE_GC: |
635 case JVMTI_VERBOSE_GC: |
632 if (value == 0) { |
636 if (value == 0) { |
633 LogConfiguration::configure_stdout(LogLevel::Off, true, LOG_TAGS(gc)); |
637 LogConfiguration::configure_stdout(LogLevel::Off, true, LOG_TAGS(gc)); |
634 } else { |
638 } else { |