< prev index next >
src/share/vm/ci/bcEscapeAnalyzer.cpp
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -263,10 +263,12 @@
code = Bytecodes::_invokespecial;
break;
case Bytecodes::_invokehandle:
code = target->is_static() ? Bytecodes::_invokestatic : Bytecodes::_invokespecial;
break;
+ default:
+ break;
}
}
// compute size of arguments
int arg_size = target->invoke_arg_size(code);
@@ -298,15 +300,15 @@
}
// determine actual method (use CHA if necessary)
ciMethod* inline_target = NULL;
if (target->is_loaded() && klass->is_loaded()
- && (klass->is_initialized() || klass->is_interface() && target->holder()->is_initialized())
+ && (klass->is_initialized() || (klass->is_interface() && target->holder()->is_initialized()))
&& target->is_loaded()) {
if (code == Bytecodes::_invokestatic
|| code == Bytecodes::_invokespecial
- || code == Bytecodes::_invokevirtual && target->is_final_method()) {
+ || (code == Bytecodes::_invokevirtual && target->is_final_method())) {
inline_target = target;
} else {
inline_target = target->find_monomorphic_target(calling_klass, callee_holder, actual_recv);
}
}
@@ -339,11 +341,12 @@
}
_unknown_modified = _unknown_modified || analyzer.has_non_arg_side_affects();
// record dependencies if at least one parameter retained stack-allocatable
if (must_record_dependencies) {
- if (code == Bytecodes::_invokeinterface || code == Bytecodes::_invokevirtual && !target->is_final_method()) {
+ if (code == Bytecodes::_invokeinterface ||
+ (code == Bytecodes::_invokevirtual && !target->is_final_method())) {
_dependencies.append(actual_recv);
_dependencies.append(inline_target);
}
_dependencies.appendAll(analyzer.dependencies());
}
< prev index next >