--- old/src/hotspot/cpu/s390/compiledIC_s390.cpp 2019-09-25 16:35:35.835065164 -0400 +++ new/src/hotspot/cpu/s390/compiledIC_s390.cpp 2019-09-25 16:35:35.579065173 -0400 @@ -110,10 +110,14 @@ // cache in MethodTypeForm. If a jit compiled lambdaform method // becomes not entrant and the cache access returns null, the new // resolve will lead to a new generated LambdaForm. - volatile intptr_t data = method_holder->data(); - volatile address destination = jump->jump_destination(); - assert(data == 0 || data == (intptr_t)callee() || callee->is_compiled_lambda_form(), + Method* old_method = reinterpret_cast(method_holder->data()); + assert(old_method == NULL || old_method == callee() || + callee->is_compiled_lambda_form() || + !old_method->method_holder()->is_loader_alive() || + old_method->is_old(), // may be race patching deoptimized nmethod due to redefinition. "a) MT-unsafe modification of inline cache"); + + address destination = jump->jump_destination(); assert(destination == (address)-1 || destination == entry, "b) MT-unsafe modification of inline cache"); #endif