equal
deleted
inserted
replaced
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 |