diff src/share/vm/runtime/vframeArray.cpp @ 1832:22e4420d19f7

Merge
author kvn
date Wed, 06 Oct 2010 14:18:32 -0700
parents fd5d4527cdf5
children 8d88c9ac9247 f95d63e2154a
line wrap: on
line diff
--- a/src/share/vm/runtime/vframeArray.cpp	Fri Oct 01 18:04:36 2010 -0700
+++ b/src/share/vm/runtime/vframeArray.cpp	Wed Oct 06 14:18:32 2010 -0700
@@ -179,9 +179,11 @@
   // in which case bcp should point to the monitorenter since it is within the exception's range.
 
   assert(*bcp != Bytecodes::_monitorenter || is_top_frame, "a _monitorenter must be a top frame");
-  // TIERED Must know the compiler of the deoptee QQQ
-  COMPILER2_PRESENT(guarantee(*bcp != Bytecodes::_monitorenter || exec_mode != Deoptimization::Unpack_exception,
-                              "shouldn't get exception during monitorenter");)
+  assert(thread->deopt_nmethod() != NULL, "nmethod should be known");
+  guarantee(!(thread->deopt_nmethod()->is_compiled_by_c2() &&
+              *bcp == Bytecodes::_monitorenter             &&
+              exec_mode == Deoptimization::Unpack_exception),
+            "shouldn't get exception during monitorenter");
 
   int popframe_preserved_args_size_in_bytes = 0;
   int popframe_preserved_args_size_in_words = 0;