< prev index next >

src/hotspot/share/runtime/deoptimization.cpp

Print this page

        

*** 190,200 **** assert(vf->is_compiled_frame(), "Wrong frame type"); chunk->push(compiledVFrame::cast(vf)); bool realloc_failures = false; ! #if defined(COMPILER2) || INCLUDE_JVMCI // Reallocate the non-escaping objects and restore their fields. Then // relock objects if synchronization on them was eliminated. #ifndef INCLUDE_JVMCI if (DoEscapeAnalysis || EliminateNestedLocks) { if (EliminateAllocations) { --- 190,200 ---- assert(vf->is_compiled_frame(), "Wrong frame type"); chunk->push(compiledVFrame::cast(vf)); bool realloc_failures = false; ! #if COMPILER2_OR_JVMCI // Reallocate the non-escaping objects and restore their fields. Then // relock objects if synchronization on them was eliminated. #ifndef INCLUDE_JVMCI if (DoEscapeAnalysis || EliminateNestedLocks) { if (EliminateAllocations) {
*** 280,290 **** } #ifndef INCLUDE_JVMCI } } #endif // INCLUDE_JVMCI ! #endif // COMPILER2 || INCLUDE_JVMCI ScopeDesc* trap_scope = chunk->at(0)->scope(); Handle exceptionObject; if (trap_scope->rethrow_exception()) { if (PrintDeoptimizationDetails) { --- 280,290 ---- } #ifndef INCLUDE_JVMCI } } #endif // INCLUDE_JVMCI ! #endif // COMPILER2_OR_JVMCI ScopeDesc* trap_scope = chunk->at(0)->scope(); Handle exceptionObject; if (trap_scope->rethrow_exception()) { if (PrintDeoptimizationDetails) {
*** 301,311 **** // in fields of rematerialized objects. If a safepoint occurs from here on // out the java state residing in the vframeArray will be missed. NoSafepointVerifier no_safepoint; vframeArray* array = create_vframeArray(thread, deoptee, &map, chunk, realloc_failures); ! #if defined(COMPILER2) || INCLUDE_JVMCI if (realloc_failures) { pop_frames_failed_reallocs(thread, array); } #endif --- 301,311 ---- // in fields of rematerialized objects. If a safepoint occurs from here on // out the java state residing in the vframeArray will be missed. NoSafepointVerifier no_safepoint; vframeArray* array = create_vframeArray(thread, deoptee, &map, chunk, realloc_failures); ! #if COMPILER2_OR_JVMCI if (realloc_failures) { pop_frames_failed_reallocs(thread, array); } #endif
*** 790,800 **** } Deoptimization::DeoptAction Deoptimization::_unloaded_action = Deoptimization::Action_reinterpret; ! #if defined(COMPILER2) || INCLUDE_JVMCI bool Deoptimization::realloc_objects(JavaThread* thread, frame* fr, GrowableArray<ScopeValue*>* objects, TRAPS) { Handle pending_exception(THREAD, thread->pending_exception()); const char* exception_file = thread->exception_file(); int exception_line = thread->exception_line(); thread->clear_pending_exception(); --- 790,800 ---- } Deoptimization::DeoptAction Deoptimization::_unloaded_action = Deoptimization::Action_reinterpret; ! #if COMPILER2_OR_JVMCI bool Deoptimization::realloc_objects(JavaThread* thread, frame* fr, GrowableArray<ScopeValue*>* objects, TRAPS) { Handle pending_exception(THREAD, thread->pending_exception()); const char* exception_file = thread->exception_file(); int exception_line = thread->exception_line(); thread->clear_pending_exception();
*** 1149,1159 **** k->oop_print_on(obj(), tty); } } } #endif ! #endif // COMPILER2 || INCLUDE_JVMCI vframeArray* Deoptimization::create_vframeArray(JavaThread* thread, frame fr, RegisterMap *reg_map, GrowableArray<compiledVFrame*>* chunk, bool realloc_failures) { Events::log(thread, "DEOPT PACKING pc=" INTPTR_FORMAT " sp=" INTPTR_FORMAT, p2i(fr.pc()), p2i(fr.sp())); #ifndef PRODUCT --- 1149,1159 ---- k->oop_print_on(obj(), tty); } } } #endif ! #endif // COMPILER2_OR_JVMCI vframeArray* Deoptimization::create_vframeArray(JavaThread* thread, frame fr, RegisterMap *reg_map, GrowableArray<compiledVFrame*>* chunk, bool realloc_failures) { Events::log(thread, "DEOPT PACKING pc=" INTPTR_FORMAT " sp=" INTPTR_FORMAT, p2i(fr.pc()), p2i(fr.sp())); #ifndef PRODUCT
*** 1209,1219 **** #endif // PRODUCT return array; } ! #if defined(COMPILER2) || INCLUDE_JVMCI void Deoptimization::pop_frames_failed_reallocs(JavaThread* thread, vframeArray* array) { // Reallocation of some scalar replaced objects failed. Record // that we need to pop all the interpreter frames for the // deoptimized compiled frame. assert(thread->frames_to_pop_failed_realloc() == 0, "missed frames to pop?"); --- 1209,1219 ---- #endif // PRODUCT return array; } ! #if COMPILER2_OR_JVMCI void Deoptimization::pop_frames_failed_reallocs(JavaThread* thread, vframeArray* array) { // Reallocation of some scalar replaced objects failed. Record // that we need to pop all the interpreter frames for the // deoptimized compiled frame. assert(thread->frames_to_pop_failed_realloc() == 0, "missed frames to pop?");
*** 1441,1451 **** mdo = m()->method_data(); } return mdo; } ! #if defined(COMPILER2) || INCLUDE_JVMCI void Deoptimization::load_class_by_index(const constantPoolHandle& constant_pool, int index, TRAPS) { // in case of an unresolved klass entry, load the class. if (constant_pool->tag_at(index).is_unresolved_klass()) { Klass* tk = constant_pool->klass_at_ignore_error(index, CHECK); return; --- 1441,1451 ---- mdo = m()->method_data(); } return mdo; } ! #if COMPILER2_OR_JVMCI void Deoptimization::load_class_by_index(const constantPoolHandle& constant_pool, int index, TRAPS) { // in case of an unresolved klass entry, load the class. if (constant_pool->tag_at(index).is_unresolved_klass()) { Klass* tk = constant_pool->klass_at_ignore_error(index, CHECK); return;
*** 2358,2368 **** } #undef PRINT_STAT_LINE if (xtty != NULL) xtty->tail("statistics"); } } ! #else // COMPILER2 || INCLUDE_JVMCI // Stubs for C1 only system. bool Deoptimization::trap_state_is_recompiled(int trap_state) { return false; --- 2358,2368 ---- } #undef PRINT_STAT_LINE if (xtty != NULL) xtty->tail("statistics"); } } ! #else // COMPILER2_OR_JVMCI // Stubs for C1 only system. bool Deoptimization::trap_state_is_recompiled(int trap_state) { return false;
*** 2394,2399 **** int trap_state) { jio_snprintf(buf, buflen, "#%d", trap_state); return buf; } ! #endif // COMPILER2 || INCLUDE_JVMCI --- 2394,2399 ---- int trap_state) { jio_snprintf(buf, buflen, "#%d", trap_state); return buf; } ! #endif // COMPILER2_OR_JVMCI
< prev index next >