comparison src/share/vm/c1/c1_Compilation.cpp @ 1617:9887b5e57f9e

6962980: C1: stub area should take into account method handle deopt stub Reviewed-by: twisti, never
author iveresov
date Tue, 22 Jun 2010 12:10:07 -0700
parents b812ff5abc73
children 4a665be40fd3
comparison
equal deleted inserted replaced
1616:38e8278318ca 1617:9887b5e57f9e
240 int locs_buffer_size = 20 * (relocInfo::length_limit + sizeof(relocInfo)); 240 int locs_buffer_size = 20 * (relocInfo::length_limit + sizeof(relocInfo));
241 char* locs_buffer = NEW_RESOURCE_ARRAY(char, locs_buffer_size); 241 char* locs_buffer = NEW_RESOURCE_ARRAY(char, locs_buffer_size);
242 code->insts()->initialize_shared_locs((relocInfo*)locs_buffer, 242 code->insts()->initialize_shared_locs((relocInfo*)locs_buffer,
243 locs_buffer_size / sizeof(relocInfo)); 243 locs_buffer_size / sizeof(relocInfo));
244 code->initialize_consts_size(Compilation::desired_max_constant_size()); 244 code->initialize_consts_size(Compilation::desired_max_constant_size());
245 // Call stubs + deopt/exception handler 245 // Call stubs + two deopt handlers (regular and MH) + exception handler
246 code->initialize_stubs_size((call_stub_estimate * LIR_Assembler::call_stub_size) + 246 code->initialize_stubs_size((call_stub_estimate * LIR_Assembler::call_stub_size) +
247 LIR_Assembler::exception_handler_size + 247 LIR_Assembler::exception_handler_size +
248 LIR_Assembler::deopt_handler_size); 248 2 * LIR_Assembler::deopt_handler_size);
249 } 249 }
250 250
251 251
252 int Compilation::emit_code_body() { 252 int Compilation::emit_code_body() {
253 // emit code 253 // emit code