src/hotspot/share/code/nmethod.cpp
changeset 47687 fb290fd1f9d4
parent 47634 6a0c42c40cd1
child 47765 b7c7428eaab9
equal deleted inserted replaced
47686:24ebaf9d7198 47687:fb290fd1f9d4
    51 #include "utilities/align.hpp"
    51 #include "utilities/align.hpp"
    52 #include "utilities/dtrace.hpp"
    52 #include "utilities/dtrace.hpp"
    53 #include "utilities/events.hpp"
    53 #include "utilities/events.hpp"
    54 #include "utilities/resourceHash.hpp"
    54 #include "utilities/resourceHash.hpp"
    55 #include "utilities/xmlstream.hpp"
    55 #include "utilities/xmlstream.hpp"
    56 #ifdef SHARK
       
    57 #include "shark/sharkCompiler.hpp"
       
    58 #endif
       
    59 #if INCLUDE_JVMCI
    56 #if INCLUDE_JVMCI
    60 #include "jvmci/jvmciJavaClasses.hpp"
    57 #include "jvmci/jvmciJavaClasses.hpp"
    61 #endif
    58 #endif
    62 
    59 
    63 #ifdef DTRACE_ENABLED
    60 #ifdef DTRACE_ENABLED
   198 static java_nmethod_stats_struct c2_java_nmethod_stats;
   195 static java_nmethod_stats_struct c2_java_nmethod_stats;
   199 #endif
   196 #endif
   200 #if INCLUDE_JVMCI
   197 #if INCLUDE_JVMCI
   201 static java_nmethod_stats_struct jvmci_java_nmethod_stats;
   198 static java_nmethod_stats_struct jvmci_java_nmethod_stats;
   202 #endif
   199 #endif
   203 #ifdef SHARK
       
   204 static java_nmethod_stats_struct shark_java_nmethod_stats;
       
   205 #endif
       
   206 static java_nmethod_stats_struct unknown_java_nmethod_stats;
   200 static java_nmethod_stats_struct unknown_java_nmethod_stats;
   207 
   201 
   208 static native_nmethod_stats_struct native_nmethod_stats;
   202 static native_nmethod_stats_struct native_nmethod_stats;
   209 static pc_nmethod_stats_struct pc_nmethod_stats;
   203 static pc_nmethod_stats_struct pc_nmethod_stats;
   210 
   204 
   220   } else
   214   } else
   221 #endif
   215 #endif
   222 #if INCLUDE_JVMCI
   216 #if INCLUDE_JVMCI
   223   if (nm->is_compiled_by_jvmci()) {
   217   if (nm->is_compiled_by_jvmci()) {
   224     jvmci_java_nmethod_stats.note_nmethod(nm);
   218     jvmci_java_nmethod_stats.note_nmethod(nm);
   225   } else
       
   226 #endif
       
   227 #ifdef SHARK
       
   228   if (nm->is_compiled_by_shark()) {
       
   229     shark_java_nmethod_stats.note_nmethod(nm);
       
   230   } else
   219   } else
   231 #endif
   220 #endif
   232   {
   221   {
   233     unknown_java_nmethod_stats.note_nmethod(nm);
   222     unknown_java_nmethod_stats.note_nmethod(nm);
   234   }
   223   }
  1323 
  1312 
  1324   if (on_scavenge_root_list()) {
  1313   if (on_scavenge_root_list()) {
  1325     CodeCache::drop_scavenge_root_nmethod(this);
  1314     CodeCache::drop_scavenge_root_nmethod(this);
  1326   }
  1315   }
  1327 
  1316 
  1328 #ifdef SHARK
       
  1329   ((SharkCompiler *) compiler())->free_compiled_method(insts_begin());
       
  1330 #endif // SHARK
       
  1331 
       
  1332   CodeBlob::flush();
  1317   CodeBlob::flush();
  1333   CodeCache::free(this);
  1318   CodeCache::free(this);
  1334 }
  1319 }
  1335 
  1320 
  1336 //
  1321 //
  2239 
  2224 
  2240   if (is_compiled_by_c1()) {
  2225   if (is_compiled_by_c1()) {
  2241     tty->print("(c1) ");
  2226     tty->print("(c1) ");
  2242   } else if (is_compiled_by_c2()) {
  2227   } else if (is_compiled_by_c2()) {
  2243     tty->print("(c2) ");
  2228     tty->print("(c2) ");
  2244   } else if (is_compiled_by_shark()) {
       
  2245     tty->print("(shark) ");
       
  2246   } else if (is_compiled_by_jvmci()) {
  2229   } else if (is_compiled_by_jvmci()) {
  2247     tty->print("(JVMCI) ");
  2230     tty->print("(JVMCI) ");
  2248   } else {
  2231   } else {
  2249     tty->print("(nm) ");
  2232     tty->print("(nm) ");
  2250   }
  2233   }
  2862   c2_java_nmethod_stats.print_nmethod_stats("C2");
  2845   c2_java_nmethod_stats.print_nmethod_stats("C2");
  2863 #endif
  2846 #endif
  2864 #if INCLUDE_JVMCI
  2847 #if INCLUDE_JVMCI
  2865   jvmci_java_nmethod_stats.print_nmethod_stats("JVMCI");
  2848   jvmci_java_nmethod_stats.print_nmethod_stats("JVMCI");
  2866 #endif
  2849 #endif
  2867 #ifdef SHARK
       
  2868   shark_java_nmethod_stats.print_nmethod_stats("Shark");
       
  2869 #endif
       
  2870   unknown_java_nmethod_stats.print_nmethod_stats("Unknown");
  2850   unknown_java_nmethod_stats.print_nmethod_stats("Unknown");
  2871   DebugInformationRecorder::print_statistics();
  2851   DebugInformationRecorder::print_statistics();
  2872 #ifndef PRODUCT
  2852 #ifndef PRODUCT
  2873   pc_nmethod_stats.print_pc_stats();
  2853   pc_nmethod_stats.print_pc_stats();
  2874 #endif
  2854 #endif