--- a/hotspot/src/share/vm/opto/callnode.cpp Mon Jun 15 16:47:24 2015 +0300
+++ b/hotspot/src/share/vm/opto/callnode.cpp Tue Jun 09 12:09:03 2015 +0200
@@ -830,7 +830,7 @@
}
-void CallNode::extract_projections(CallProjections* projs, bool separate_io_proj) {
+void CallNode::extract_projections(CallProjections* projs, bool separate_io_proj, bool do_asserts) {
projs->fallthrough_proj = NULL;
projs->fallthrough_catchproj = NULL;
projs->fallthrough_ioproj = NULL;
@@ -893,17 +893,18 @@
}
}
- // The resproj may not exist because the result couuld be ignored
+ // The resproj may not exist because the result could be ignored
// and the exception object may not exist if an exception handler
// swallows the exception but all the other must exist and be found.
assert(projs->fallthrough_proj != NULL, "must be found");
- assert(Compile::current()->inlining_incrementally() || projs->fallthrough_catchproj != NULL, "must be found");
- assert(Compile::current()->inlining_incrementally() || projs->fallthrough_memproj != NULL, "must be found");
- assert(Compile::current()->inlining_incrementally() || projs->fallthrough_ioproj != NULL, "must be found");
- assert(Compile::current()->inlining_incrementally() || projs->catchall_catchproj != NULL, "must be found");
+ do_asserts = do_asserts && !Compile::current()->inlining_incrementally();
+ assert(!do_asserts || projs->fallthrough_catchproj != NULL, "must be found");
+ assert(!do_asserts || projs->fallthrough_memproj != NULL, "must be found");
+ assert(!do_asserts || projs->fallthrough_ioproj != NULL, "must be found");
+ assert(!do_asserts || projs->catchall_catchproj != NULL, "must be found");
if (separate_io_proj) {
- assert(Compile::current()->inlining_incrementally() || projs->catchall_memproj != NULL, "must be found");
- assert(Compile::current()->inlining_incrementally() || projs->catchall_ioproj != NULL, "must be found");
+ assert(!do_asserts || projs->catchall_memproj != NULL, "must be found");
+ assert(!do_asserts || projs->catchall_ioproj != NULL, "must be found");
}
}