< prev index next >

src/hotspot/share/runtime/stubRoutines.cpp

Print this page
rev 50905 : Move Shenandoah stubs generation into ShenandoahBarrierSetAssembler


 157 address StubRoutines::_dpow = NULL;
 158 address StubRoutines::_dsin = NULL;
 159 address StubRoutines::_dcos = NULL;
 160 address StubRoutines::_dlibm_sin_cos_huge = NULL;
 161 address StubRoutines::_dlibm_reduce_pi04l = NULL;
 162 address StubRoutines::_dlibm_tan_cot_huge = NULL;
 163 address StubRoutines::_dtan = NULL;
 164 
 165 double (* StubRoutines::_intrinsic_log10 )(double) = NULL;
 166 double (* StubRoutines::_intrinsic_sin   )(double) = NULL;
 167 double (* StubRoutines::_intrinsic_cos   )(double) = NULL;
 168 double (* StubRoutines::_intrinsic_tan   )(double) = NULL;
 169 
 170 address StubRoutines::_safefetch32_entry                 = NULL;
 171 address StubRoutines::_safefetch32_fault_pc              = NULL;
 172 address StubRoutines::_safefetch32_continuation_pc       = NULL;
 173 address StubRoutines::_safefetchN_entry                  = NULL;
 174 address StubRoutines::_safefetchN_fault_pc               = NULL;
 175 address StubRoutines::_safefetchN_continuation_pc        = NULL;
 176 
 177 address StubRoutines::_shenandoah_wb_C = NULL;
 178 
 179 // Initialization
 180 //
 181 // Note: to break cycle with universe initialization, stubs are generated in two phases.
 182 // The first one generates stubs needed during universe init (e.g., _handle_must_compile_first_entry).
 183 // The second phase includes all other stubs (which may depend on universe being initialized.)
 184 
 185 extern void StubGenerator_generate(CodeBuffer* code, bool all); // only interface to generators
 186 
 187 void StubRoutines::initialize1() {
 188   if (_code1 == NULL) {
 189     ResourceMark rm;
 190     TraceTime timer("StubRoutines generation 1", TRACETIME_LOG(Info, startuptime));
 191     _code1 = BufferBlob::create("StubRoutines (1)", code_size1);
 192     if (_code1 == NULL) {
 193       vm_exit_out_of_memory(code_size1, OOM_MALLOC_ERROR, "CodeCache: no room for StubRoutines (1)");
 194     }
 195     CodeBuffer buffer(_code1);
 196     StubGenerator_generate(&buffer, false);
 197     // When new stubs added we need to make sure there is some space left
 198     // to catch situation when we should increase size again.




 157 address StubRoutines::_dpow = NULL;
 158 address StubRoutines::_dsin = NULL;
 159 address StubRoutines::_dcos = NULL;
 160 address StubRoutines::_dlibm_sin_cos_huge = NULL;
 161 address StubRoutines::_dlibm_reduce_pi04l = NULL;
 162 address StubRoutines::_dlibm_tan_cot_huge = NULL;
 163 address StubRoutines::_dtan = NULL;
 164 
 165 double (* StubRoutines::_intrinsic_log10 )(double) = NULL;
 166 double (* StubRoutines::_intrinsic_sin   )(double) = NULL;
 167 double (* StubRoutines::_intrinsic_cos   )(double) = NULL;
 168 double (* StubRoutines::_intrinsic_tan   )(double) = NULL;
 169 
 170 address StubRoutines::_safefetch32_entry                 = NULL;
 171 address StubRoutines::_safefetch32_fault_pc              = NULL;
 172 address StubRoutines::_safefetch32_continuation_pc       = NULL;
 173 address StubRoutines::_safefetchN_entry                  = NULL;
 174 address StubRoutines::_safefetchN_fault_pc               = NULL;
 175 address StubRoutines::_safefetchN_continuation_pc        = NULL;
 176 


 177 // Initialization
 178 //
 179 // Note: to break cycle with universe initialization, stubs are generated in two phases.
 180 // The first one generates stubs needed during universe init (e.g., _handle_must_compile_first_entry).
 181 // The second phase includes all other stubs (which may depend on universe being initialized.)
 182 
 183 extern void StubGenerator_generate(CodeBuffer* code, bool all); // only interface to generators
 184 
 185 void StubRoutines::initialize1() {
 186   if (_code1 == NULL) {
 187     ResourceMark rm;
 188     TraceTime timer("StubRoutines generation 1", TRACETIME_LOG(Info, startuptime));
 189     _code1 = BufferBlob::create("StubRoutines (1)", code_size1);
 190     if (_code1 == NULL) {
 191       vm_exit_out_of_memory(code_size1, OOM_MALLOC_ERROR, "CodeCache: no room for StubRoutines (1)");
 192     }
 193     CodeBuffer buffer(_code1);
 194     StubGenerator_generate(&buffer, false);
 195     // When new stubs added we need to make sure there is some space left
 196     // to catch situation when we should increase size again.


< prev index next >