hotspot/src/share/vm/runtime/deoptimization.cpp
changeset 42040 70ec5a09a0d5
parent 39261 18f007610de6
child 46271 979ebd346ecf
child 43459 80727d67b5e2
equal deleted inserted replaced
42039:db627462f2c9 42040:70ec5a09a0d5
   169   frame deoptee = stub_frame.sender(&map);
   169   frame deoptee = stub_frame.sender(&map);
   170   // Set the deoptee nmethod
   170   // Set the deoptee nmethod
   171   assert(thread->deopt_compiled_method() == NULL, "Pending deopt!");
   171   assert(thread->deopt_compiled_method() == NULL, "Pending deopt!");
   172   CompiledMethod* cm = deoptee.cb()->as_compiled_method_or_null();
   172   CompiledMethod* cm = deoptee.cb()->as_compiled_method_or_null();
   173   thread->set_deopt_compiled_method(cm);
   173   thread->set_deopt_compiled_method(cm);
   174   bool skip_internal = (cm != NULL) && !cm->is_compiled_by_jvmci();
       
   175 
   174 
   176   if (VerifyStack) {
   175   if (VerifyStack) {
   177     thread->validate_frame_layout();
   176     thread->validate_frame_layout();
   178   }
   177   }
   179 
   178 
   239       }
   238       }
   240       if (objects != NULL) {
   239       if (objects != NULL) {
   241         JRT_BLOCK
   240         JRT_BLOCK
   242           realloc_failures = realloc_objects(thread, &deoptee, objects, THREAD);
   241           realloc_failures = realloc_objects(thread, &deoptee, objects, THREAD);
   243         JRT_END
   242         JRT_END
       
   243         bool skip_internal = (cm != NULL) && !cm->is_compiled_by_jvmci();
   244         reassign_fields(&deoptee, &map, objects, realloc_failures, skip_internal);
   244         reassign_fields(&deoptee, &map, objects, realloc_failures, skip_internal);
   245 #ifndef PRODUCT
   245 #ifndef PRODUCT
   246         if (TraceDeoptimization) {
   246         if (TraceDeoptimization) {
   247           ttyLocker ttyl;
   247           ttyLocker ttyl;
   248           tty->print_cr("REALLOC OBJECTS in thread " INTPTR_FORMAT, p2i(thread));
   248           tty->print_cr("REALLOC OBJECTS in thread " INTPTR_FORMAT, p2i(thread));
  1649         xtty->end_head();
  1649         xtty->end_head();
  1650       }
  1650       }
  1651       if (TraceDeoptimization) {  // make noise on the tty
  1651       if (TraceDeoptimization) {  // make noise on the tty
  1652         tty->print("Uncommon trap occurred in");
  1652         tty->print("Uncommon trap occurred in");
  1653         nm->method()->print_short_name(tty);
  1653         nm->method()->print_short_name(tty);
  1654         tty->print(" compiler=%s compile_id=%d", nm->compiler() == NULL ? "" : nm->compiler()->name(), nm->compile_id());
  1654         tty->print(" compiler=%s compile_id=%d", nm->compiler_name(), nm->compile_id());
  1655 #if INCLUDE_JVMCI
  1655 #if INCLUDE_JVMCI
  1656         if (nm->is_nmethod()) {
  1656         if (nm->is_nmethod()) {
  1657           oop installedCode = nm->as_nmethod()->jvmci_installed_code();
  1657           oop installedCode = nm->as_nmethod()->jvmci_installed_code();
  1658           if (installedCode != NULL) {
  1658           if (installedCode != NULL) {
  1659             oop installedCodeName = NULL;
  1659             oop installedCodeName = NULL;