< prev index next >

src/share/vm/classfile/defaultMethods.cpp

Print this page
rev 13113 : imported patch 8181917-refactor-ul-logstream

@@ -25,10 +25,11 @@
 #include "precompiled.hpp"
 #include "classfile/bytecodeAssembler.hpp"
 #include "classfile/defaultMethods.hpp"
 #include "classfile/symbolTable.hpp"
 #include "logging/log.hpp"
+#include "logging/logStream.hpp"
 #include "memory/allocation.hpp"
 #include "memory/metadataFactory.hpp"
 #include "memory/resourceArea.hpp"
 #include "runtime/handles.inline.hpp"
 #include "runtime/signature.hpp"

@@ -431,15 +432,15 @@
         _selected_target = qualified_methods.at(default_index);
 
     } else if (num_defaults > 1) {
       _exception_message = generate_conflicts_message(&qualified_methods,CHECK);
       _exception_name = vmSymbols::java_lang_IncompatibleClassChangeError();
-      if (log_is_enabled(Debug, defaultmethods)) {
-        ResourceMark rm;
-        outputStream* logstream = Log(defaultmethods)::debug_stream();
-        _exception_message->print_value_on(logstream);
-        logstream->cr();
+      LogTarget(Debug, defaultmethods) lt;
+      if (lt.is_enabled()) {
+        LogStream ls(lt);
+        _exception_message->print_value_on(&ls);
+        ls.cr();
       }
     }
   }
 
   bool contains_signature(Symbol* query) {

@@ -656,19 +657,20 @@
       }
     }
     super = super->java_super();
   }
 
-  if (log_is_enabled(Debug, defaultmethods)) {
-    log_debug(defaultmethods)("Slots that need filling:");
+  LogTarget(Debug, defaultmethods) lt;
+  if (lt.is_enabled()) {
+    lt.print("Slots that need filling:");
     ResourceMark rm;
-    outputStream* logstream = Log(defaultmethods)::debug_stream();
-    streamIndentor si(logstream);
+    LogStream ls(lt);
+    streamIndentor si(&ls);
     for (int i = 0; i < slots->length(); ++i) {
-      logstream->indent();
-      slots->at(i)->print_on(logstream);
-      logstream->cr();
+      ls.indent();
+      slots->at(i)->print_on(&ls);
+      ls.cr();
     }
   }
 
   return slots;
 }

@@ -790,30 +792,33 @@
   constantPoolHandle cp(THREAD, klass->constants());
   KeepAliveRegistrar keepAlive(THREAD);
   KeepAliveVisitor loadKeepAlive(&keepAlive);
   loadKeepAlive.run(klass);
 
-  if (log_is_enabled(Debug, defaultmethods)) {
+  LogTarget(Debug, defaultmethods) lt;
+  if (lt.is_enabled()) {
     ResourceMark rm;
-    log_debug(defaultmethods)("%s %s requires default method processing",
+    lt.print("%s %s requires default method processing",
                               klass->is_interface() ? "Interface" : "Class",
                               klass->name()->as_klass_external_name());
-    PrintHierarchy printer(Log(defaultmethods)::debug_stream());
+    LogStream ls(lt);
+    PrintHierarchy printer(&ls);
     printer.run(klass);
   }
 
   GrowableArray<EmptyVtableSlot*>* empty_slots =
       find_empty_vtable_slots(klass, mirandas, CHECK);
 
   for (int i = 0; i < empty_slots->length(); ++i) {
     EmptyVtableSlot* slot = empty_slots->at(i);
-    if (log_is_enabled(Debug, defaultmethods)) {
-      outputStream* logstream = Log(defaultmethods)::debug_stream();
-      streamIndentor si(logstream, 2);
-      logstream->indent().print("Looking for default methods for slot ");
-      slot->print_on(logstream);
-      logstream->cr();
+    LogTarget(Debug, defaultmethods) lt;
+    if (lt.is_enabled()) {
+      LogStream ls(lt);
+      streamIndentor si(&ls, 2);
+      ls.indent().print("Looking for default methods for slot ");
+      slot->print_on(&ls);
+      ls.cr();
     }
     generate_erased_defaults(klass, empty_slots, slot, CHECK);
   }
   log_debug(defaultmethods)("Creating defaults and overpasses...");
   create_defaults_and_exceptions(empty_slots, klass, CHECK);

@@ -909,20 +914,21 @@
 
     if (slot->is_bound()) {
       MethodFamily* method = slot->get_binding();
       BytecodeBuffer buffer;
 
-      if (log_is_enabled(Debug, defaultmethods)) {
+      LogTarget(Debug, defaultmethods) lt;
+      if (lt.is_enabled()) {
         ResourceMark rm(THREAD);
-        outputStream* logstream = Log(defaultmethods)::debug_stream();
-        logstream->print("for slot: ");
-        slot->print_on(logstream);
-        logstream->cr();
+        LogStream ls(lt);
+        ls.print("for slot: ");
+        slot->print_on(&ls);
+        ls.cr();
         if (method->has_target()) {
-          method->print_selected(logstream, 1);
+          method->print_selected(&ls, 1);
         } else if (method->throws_exception()) {
-          method->print_exception(logstream, 1);
+          method->print_exception(&ls, 1);
         }
       }
 
       if (method->has_target()) {
         Method* selected = method->get_selected_target();
< prev index next >