hotspot/src/share/vm/runtime/deoptimization.cpp
changeset 46968 9119841280f4
parent 46727 6e4a84748e2c
child 46998 efb404beeefb
equal deleted inserted replaced
46953:39063b484ec2 46968:9119841280f4
   215       Handle return_value;
   215       Handle return_value;
   216       if (save_oop_result) {
   216       if (save_oop_result) {
   217         // Reallocation may trigger GC. If deoptimization happened on return from
   217         // Reallocation may trigger GC. If deoptimization happened on return from
   218         // call which returns oop we need to save it since it is not in oopmap.
   218         // call which returns oop we need to save it since it is not in oopmap.
   219         oop result = deoptee.saved_oop_result(&map);
   219         oop result = deoptee.saved_oop_result(&map);
   220         assert(result == NULL || result->is_oop(), "must be oop");
   220         assert(oopDesc::is_oop_or_null(result), "must be oop");
   221         return_value = Handle(thread, result);
   221         return_value = Handle(thread, result);
   222         assert(Universe::heap()->is_in_or_null(result), "must be heap pointer");
   222         assert(Universe::heap()->is_in_or_null(result), "must be heap pointer");
   223         if (TraceDeoptimization) {
   223         if (TraceDeoptimization) {
   224           ttyLocker ttyl;
   224           ttyLocker ttyl;
   225           tty->print_cr("SAVED OOP RESULT " INTPTR_FORMAT " in thread " INTPTR_FORMAT, p2i(result), p2i(thread));
   225           tty->print_cr("SAVED OOP RESULT " INTPTR_FORMAT " in thread " INTPTR_FORMAT, p2i(result), p2i(thread));