< prev index next >
hotspot/src/share/vm/oops/method.cpp
Print this page
rev 6907 : 8056071: compiler/whitebox/IsMethodCompilableTest.java fails with 'method() is not compilable after 3 iterations'
Summary: Always use MDO if valid and always compile trivial methods with C1 if available.
Reviewed-by: kvn, iveresov
@@ -556,10 +556,19 @@
if (java_code_at(4) != Bytecodes::_areturn &&
java_code_at(4) != Bytecodes::_ireturn ) return false;
return true;
}
+bool Method::is_constant_getter() const {
+ int last_index = code_size() - 1;
+ // Check if the first 1-3 bytecodes are a constant push
+ // and the last bytecode is a return.
+ return (2 <= code_size() && code_size() <= 4 &&
+ Bytecodes::is_const(java_code_at(0)) &&
+ Bytecodes::length_for(java_code_at(0)) == last_index &&
+ Bytecodes::is_return(java_code_at(last_index)));
+}
bool Method::is_initializer() const {
return name() == vmSymbols::object_initializer_name() || is_static_initializer();
}
< prev index next >