changeset 22720:48fde4d03767

Add assert for Unpack_uncommon_trap for ppc and always check for rethrow_exception
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Wed, 04 Nov 2015 16:11:58 +0100
parents 44bc739eae23
children 510846133438
files src/cpu/ppc/vm/sharedRuntime_ppc.cpp src/share/vm/runtime/deoptimization.cpp
diffstat 2 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/ppc/vm/sharedRuntime_ppc.cpp	Mon Nov 02 23:53:10 2015 +0100
+++ b/src/cpu/ppc/vm/sharedRuntime_ppc.cpp	Wed Nov 04 16:11:58 2015 +0100
@@ -3013,6 +3013,12 @@
 
   // stack: (caller_of_deoptee, ...).
 
+#ifdef ASSERT
+  __ lwz(R22_tmp2, Deoptimization::UnrollBlock::unpack_kind_offset_in_bytes(), unroll_block_reg);
+  __ cmpdi(CCR0, R22_tmp2, Deoptimization::Unpack_uncommon_trap);
+  __ asm_assert_eq("SharedRuntime::generate_deopt_blob: expected Unpack_uncommon_trap", 0);
+#endif
+
   // Allocate new interpreter frame(s) and possibly a c2i adapter
   // frame.
   push_skeleton_frames(masm, false/*deopt*/,
--- a/src/share/vm/runtime/deoptimization.cpp	Mon Nov 02 23:53:10 2015 +0100
+++ b/src/share/vm/runtime/deoptimization.cpp	Wed Nov 04 16:11:58 2015 +0100
@@ -226,7 +226,6 @@
   assert(vf->is_compiled_frame(), "Wrong frame type");
   chunk->push(compiledVFrame::cast(vf));
 
-#ifdef INCLUDE_JVMCI
   ScopeDesc* trap_scope = chunk->at(0)->scope();
   Handle exceptionObject;
   if (trap_scope->rethrow_exception()) {
@@ -239,7 +238,6 @@
     exceptionObject = StackValue::create_stack_value(&deoptee, &map, topOfStack)->get_obj();
     assert(exceptionObject() != NULL, "exception oop can not be null");
   }
-#endif
 
   bool realloc_failures = false;