hotspot/src/share/vm/compiler/compileBroker.cpp
changeset 4756 da88c27a9241
parent 4750 71fd601907dc
child 5051 796beb45e4f5
equal deleted inserted replaced
4755:eee57ea6d910 4756:da88c27a9241
     1 /*
     1 /*
     2  * Copyright 1999-2009 Sun Microsystems, Inc.  All Rights Reserved.
     2  * Copyright 1999-2010 Sun Microsystems, Inc.  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.
  1130   // Some compilers may not support the compilation of natives.
  1130   // Some compilers may not support the compilation of natives.
  1131   // QQQ this needs some work ought to only record not compilable at
  1131   // QQQ this needs some work ought to only record not compilable at
  1132   // the specified level
  1132   // the specified level
  1133   if (is_native &&
  1133   if (is_native &&
  1134       (!CICompileNatives || !compiler(comp_level)->supports_native())) {
  1134       (!CICompileNatives || !compiler(comp_level)->supports_native())) {
  1135     method->set_not_compilable();
  1135     method->set_not_compilable_quietly();
  1136     return true;
  1136     return true;
  1137   }
  1137   }
  1138 
  1138 
  1139   bool is_osr = (osr_bci != standard_entry_bci);
  1139   bool is_osr = (osr_bci != standard_entry_bci);
  1140   // Some compilers may not support on stack replacement.
  1140   // Some compilers may not support on stack replacement.
  1154                  method->is_native() ? "generation of native wrapper" : "compile",
  1154                  method->is_native() ? "generation of native wrapper" : "compile",
  1155                  (method->is_static() ? " static" : ""));
  1155                  (method->is_static() ? " static" : ""));
  1156       method->print_short_name(tty);
  1156       method->print_short_name(tty);
  1157       tty->cr();
  1157       tty->cr();
  1158     }
  1158     }
  1159     method->set_not_compilable();
  1159     method->set_not_compilable_quietly();
  1160   }
  1160   }
  1161 
  1161 
  1162   return false;
  1162   return false;
  1163 }
  1163 }
  1164 
  1164 
  1187       return id;
  1187       return id;
  1188     }
  1188     }
  1189   }
  1189   }
  1190 
  1190 
  1191   // Method was not in the appropriate compilation range.
  1191   // Method was not in the appropriate compilation range.
  1192   method->set_not_compilable();
  1192   method->set_not_compilable_quietly();
  1193   return 0;
  1193   return 0;
  1194 }
  1194 }
  1195 
  1195 
  1196 
  1196 
  1197 // ------------------------------------------------------------------
  1197 // ------------------------------------------------------------------
  1588 
  1588 
  1589   if (compilable == ciEnv::MethodCompilable_never) {
  1589   if (compilable == ciEnv::MethodCompilable_never) {
  1590     if (is_osr) {
  1590     if (is_osr) {
  1591       method->set_not_osr_compilable();
  1591       method->set_not_osr_compilable();
  1592     } else {
  1592     } else {
  1593       method->set_not_compilable();
  1593       method->set_not_compilable_quietly();
  1594     }
  1594     }
  1595   } else if (compilable == ciEnv::MethodCompilable_not_at_tier) {
  1595   } else if (compilable == ciEnv::MethodCompilable_not_at_tier) {
  1596     method->set_not_compilable(task->comp_level());
  1596     method->set_not_compilable_quietly(task->comp_level());
  1597   }
  1597   }
  1598 
  1598 
  1599   // Note that the queued_for_compilation bits are cleared without
  1599   // Note that the queued_for_compilation bits are cleared without
  1600   // protection of a mutex. [They were set by the requester thread,
  1600   // protection of a mutex. [They were set by the requester thread,
  1601   // when adding the task to the complie queue -- at which time the
  1601   // when adding the task to the complie queue -- at which time the