diff src/share/vm/runtime/deoptimization.cpp @ 12356:359f7e70ae7f

Reduce HotSpot diff and fix previous merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Fri, 11 Oct 2013 15:41:33 +0200
parents cefad50507d8
children b2882f4ab612
line wrap: on
line diff
--- a/src/share/vm/runtime/deoptimization.cpp	Fri Oct 11 10:38:03 2013 +0200
+++ b/src/share/vm/runtime/deoptimization.cpp	Fri Oct 11 15:41:33 2013 +0200
@@ -869,6 +869,7 @@
   }
 }
 
+
 // restore fields of an eliminated object array
 void Deoptimization::reassign_object_array_elements(frame* fr, RegisterMap* reg_map, ObjectValue* sv, objArrayOop obj) {
   for (int i = 0; i < sv->field_size(); i++) {
@@ -1554,6 +1555,7 @@
     bool inc_recompile_count = false;
     ProfileData* pdata = NULL;
     if (ProfileTraps && update_trap_state && trap_mdo != NULL) {
+      assert(trap_mdo == get_method_data(thread, profiled_method, false), "sanity");
       uint this_trap_count = 0;
       bool maybe_prior_trap = false;
       bool maybe_prior_recompile = false;
@@ -1711,9 +1713,10 @@
     maybe_prior_trap      = (prior_trap_count != 0);
     maybe_prior_recompile = (trap_mdo->decompile_count() != 0);
   }
+  ProfileData* pdata = NULL;
+
 
   // For reasons which are recorded per bytecode, we check per-BCI data.
-  ProfileData* pdata = NULL;
   DeoptReason per_bc_reason = reason_recorded_per_bytecode_if_any(reason);
   assert(per_bc_reason != Reason_none || update_total_trap_count, "must be");
   if (per_bc_reason != Reason_none) {