comparison src/share/vm/c1/c1_LinearScan.cpp @ 17980:0bf37f737702

8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9 Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points. Reviewed-by: twisti, kvn
author roland
date Tue, 01 Apr 2014 09:36:49 +0200
parents 15766b73dc1d
children 52b4284cb496 d04cb4166be7
comparison
equal deleted inserted replaced
17978:ad51f24671c2 17980:0bf37f737702
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