hotspot/src/share/vm/ci/ciMethod.cpp
changeset 17000 11bf92e571a2
parent 16617 6235d2c7549f
child 17383 3665c0901a0d
equal deleted inserted replaced
16665:482e60f4f893 17000:11bf92e571a2
     1 /*
     1 /*
     2  * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1999, 2013, 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.
   903   if (md->is_empty()) return NULL;
   903   if (md->is_empty()) return NULL;
   904   return md;
   904   return md;
   905 }
   905 }
   906 
   906 
   907 // ------------------------------------------------------------------
   907 // ------------------------------------------------------------------
       
   908 // ciMethod::ensure_method_counters
       
   909 //
       
   910 address ciMethod::ensure_method_counters() {
       
   911   check_is_loaded();
       
   912   VM_ENTRY_MARK;
       
   913   methodHandle mh(THREAD, get_Method());
       
   914   MethodCounters *counter = mh->method_counters();
       
   915   if (counter == NULL) {
       
   916     counter = Method::build_method_counters(mh(), CHECK_AND_CLEAR_NULL);
       
   917   }
       
   918   return (address)counter;
       
   919 }
       
   920 
       
   921 // ------------------------------------------------------------------
   908 // ciMethod::should_exclude
   922 // ciMethod::should_exclude
   909 //
   923 //
   910 // Should this method be excluded from compilation?
   924 // Should this method be excluded from compilation?
   911 bool ciMethod::should_exclude() {
   925 bool ciMethod::should_exclude() {
   912   check_is_loaded();
   926   check_is_loaded();
  1189 
  1203 
  1190 void ciMethod::dump_replay_data(outputStream* st) {
  1204 void ciMethod::dump_replay_data(outputStream* st) {
  1191   ASSERT_IN_VM;
  1205   ASSERT_IN_VM;
  1192   ResourceMark rm;
  1206   ResourceMark rm;
  1193   Method* method = get_Method();
  1207   Method* method = get_Method();
       
  1208   MethodCounters* mcs = method->method_counters();
  1194   Klass*  holder = method->method_holder();
  1209   Klass*  holder = method->method_holder();
  1195   st->print_cr("ciMethod %s %s %s %d %d %d %d %d",
  1210   st->print_cr("ciMethod %s %s %s %d %d %d %d %d",
  1196                holder->name()->as_quoted_ascii(),
  1211                holder->name()->as_quoted_ascii(),
  1197                method->name()->as_quoted_ascii(),
  1212                method->name()->as_quoted_ascii(),
  1198                method->signature()->as_quoted_ascii(),
  1213                method->signature()->as_quoted_ascii(),
  1199                method->invocation_counter()->raw_counter(),
  1214                mcs == NULL ? 0 : mcs->invocation_counter()->raw_counter(),
  1200                method->backedge_counter()->raw_counter(),
  1215                mcs == NULL ? 0 : mcs->backedge_counter()->raw_counter(),
  1201                interpreter_invocation_count(),
  1216                interpreter_invocation_count(),
  1202                interpreter_throwout_count(),
  1217                interpreter_throwout_count(),
  1203                _instructions_size);
  1218                _instructions_size);
  1204 }
  1219 }
  1205 
  1220