< prev index next >

src/hotspot/share/opto/c2compiler.cpp

Print this page
rev 51888 : 8177899: Tests fail due to code cache exhaustion on machines with many cores
Summary: Implemented upper limit on CICompilerCount based on code cache size.
Reviewed-by: kvn, mdoerr


 599   case vmIntrinsics::_vectorizedMismatch:
 600   case vmIntrinsics::_ghash_processBlocks:
 601   case vmIntrinsics::_base64_encodeBlock:
 602   case vmIntrinsics::_updateCRC32:
 603   case vmIntrinsics::_updateBytesCRC32:
 604   case vmIntrinsics::_updateByteBufferCRC32:
 605   case vmIntrinsics::_updateBytesCRC32C:
 606   case vmIntrinsics::_updateDirectByteBufferCRC32C:
 607   case vmIntrinsics::_updateBytesAdler32:
 608   case vmIntrinsics::_updateByteBufferAdler32:
 609   case vmIntrinsics::_profileBoolean:
 610   case vmIntrinsics::_isCompileConstant:
 611   case vmIntrinsics::_Preconditions_checkIndex:
 612     break;
 613   default:
 614     return false;
 615   }
 616   return true;
 617 }
 618 
 619 int C2Compiler::initial_code_buffer_size() {
 620   assert(SegmentedCodeCache, "Should be only used with a segmented code cache");
 621   return Compile::MAX_inst_size + Compile::MAX_locs_size + initial_const_capacity;


 622 }


 599   case vmIntrinsics::_vectorizedMismatch:
 600   case vmIntrinsics::_ghash_processBlocks:
 601   case vmIntrinsics::_base64_encodeBlock:
 602   case vmIntrinsics::_updateCRC32:
 603   case vmIntrinsics::_updateBytesCRC32:
 604   case vmIntrinsics::_updateByteBufferCRC32:
 605   case vmIntrinsics::_updateBytesCRC32C:
 606   case vmIntrinsics::_updateDirectByteBufferCRC32C:
 607   case vmIntrinsics::_updateBytesAdler32:
 608   case vmIntrinsics::_updateByteBufferAdler32:
 609   case vmIntrinsics::_profileBoolean:
 610   case vmIntrinsics::_isCompileConstant:
 611   case vmIntrinsics::_Preconditions_checkIndex:
 612     break;
 613   default:
 614     return false;
 615   }
 616   return true;
 617 }
 618 
 619 int C2Compiler::initial_code_buffer_size(int const_size) {
 620   // See Compile::init_scratch_buffer_blob
 621   int locs_size = sizeof(relocInfo) * Compile::MAX_locs_size;
 622   int slop = 2 * CodeSection::end_slop(); // space between sections
 623   return Compile::MAX_inst_size + Compile::MAX_stubs_size + const_size + slop + locs_size;
 624 }
< prev index next >