src/hotspot/share/runtime/deoptimization.cpp
changeset 49972 37b2446d7f86
parent 49594 898ef81cbc0e
child 50577 bf7e2684cd0a
equal deleted inserted replaced
49971:bafa1860c107 49972:37b2446d7f86
   198   bool realloc_failures = false;
   198   bool realloc_failures = false;
   199 
   199 
   200 #if COMPILER2_OR_JVMCI
   200 #if COMPILER2_OR_JVMCI
   201   // Reallocate the non-escaping objects and restore their fields. Then
   201   // Reallocate the non-escaping objects and restore their fields. Then
   202   // relock objects if synchronization on them was eliminated.
   202   // relock objects if synchronization on them was eliminated.
   203 #ifndef INCLUDE_JVMCI
   203 #if !INCLUDE_JVMCI
   204   if (DoEscapeAnalysis || EliminateNestedLocks) {
   204   if (DoEscapeAnalysis || EliminateNestedLocks) {
   205     if (EliminateAllocations) {
   205     if (EliminateAllocations) {
   206 #endif // INCLUDE_JVMCI
   206 #endif // INCLUDE_JVMCI
   207       assert (chunk->at(0)->scope() != NULL,"expect only compiled java frames");
   207       assert (chunk->at(0)->scope() != NULL,"expect only compiled java frames");
   208       GrowableArray<ScopeValue*>* objects = chunk->at(0)->scope()->objects();
   208       GrowableArray<ScopeValue*>* objects = chunk->at(0)->scope()->objects();
   246       }
   246       }
   247       if (save_oop_result) {
   247       if (save_oop_result) {
   248         // Restore result.
   248         // Restore result.
   249         deoptee.set_saved_oop_result(&map, return_value());
   249         deoptee.set_saved_oop_result(&map, return_value());
   250       }
   250       }
   251 #ifndef INCLUDE_JVMCI
   251 #if !INCLUDE_JVMCI
   252     }
   252     }
   253     if (EliminateLocks) {
   253     if (EliminateLocks) {
   254 #endif // INCLUDE_JVMCI
   254 #endif // INCLUDE_JVMCI
   255 #ifndef PRODUCT
   255 #ifndef PRODUCT
   256       bool first = true;
   256       bool first = true;
   281             }
   281             }
   282           }
   282           }
   283 #endif // !PRODUCT
   283 #endif // !PRODUCT
   284         }
   284         }
   285       }
   285       }
   286 #ifndef INCLUDE_JVMCI
   286 #if !INCLUDE_JVMCI
   287     }
   287     }
   288   }
   288   }
   289 #endif // INCLUDE_JVMCI
   289 #endif // INCLUDE_JVMCI
   290 #endif // COMPILER2_OR_JVMCI
   290 #endif // COMPILER2_OR_JVMCI
   291 
   291 
   489 
   489 
   490   frame_pcs[0] = deopt_sender.raw_pc();
   490   frame_pcs[0] = deopt_sender.raw_pc();
   491 
   491 
   492   assert(CodeCache::find_blob_unsafe(frame_pcs[0]) != NULL, "bad pc");
   492   assert(CodeCache::find_blob_unsafe(frame_pcs[0]) != NULL, "bad pc");
   493 
   493 
   494 #ifdef INCLUDE_JVMCI
   494 #if INCLUDE_JVMCI
   495   if (exceptionObject() != NULL) {
   495   if (exceptionObject() != NULL) {
   496     thread->set_exception_oop(exceptionObject());
   496     thread->set_exception_oop(exceptionObject());
   497     exec_mode = Unpack_exception;
   497     exec_mode = Unpack_exception;
   498   }
   498   }
   499 #endif
   499 #endif