2438 OopMap* first_oop_map = compute_oop_map(iw, op, first_info, visitor.has_call()); |
2438 OopMap* first_oop_map = compute_oop_map(iw, op, first_info, visitor.has_call()); |
2439 |
2439 |
2440 for (int i = 0; i < visitor.info_count(); i++) { |
2440 for (int i = 0; i < visitor.info_count(); i++) { |
2441 CodeEmitInfo* info = visitor.info_at(i); |
2441 CodeEmitInfo* info = visitor.info_at(i); |
2442 OopMap* oop_map = first_oop_map; |
2442 OopMap* oop_map = first_oop_map; |
|
2443 |
|
2444 // compute worst case interpreter size in case of a deoptimization |
|
2445 _compilation->update_interpreter_frame_size(info->interpreter_frame_size()); |
2443 |
2446 |
2444 if (info->stack()->locks_size() != first_info->stack()->locks_size()) { |
2447 if (info->stack()->locks_size() != first_info->stack()->locks_size()) { |
2445 // this info has a different number of locks then the precomputed oop map |
2448 // this info has a different number of locks then the precomputed oop map |
2446 // (possible for lock and unlock instructions) -> compute oop map with |
2449 // (possible for lock and unlock instructions) -> compute oop map with |
2447 // correct lock information |
2450 // correct lock information |