< prev index next >

src/hotspot/share/runtime/stubRoutines.cpp

Print this page

154 address StubRoutines::_montgomerySquare = NULL;
155 address StubRoutines::_bigIntegerRightShiftWorker = NULL;
156 address StubRoutines::_bigIntegerLeftShiftWorker = NULL;
157 
158 address StubRoutines::_vectorizedMismatch = NULL;
159 
160 address StubRoutines::_dexp = NULL;
161 address StubRoutines::_dlog = NULL;
162 address StubRoutines::_dlog10 = NULL;
163 address StubRoutines::_dpow = NULL;
164 address StubRoutines::_dsin = NULL;
165 address StubRoutines::_dcos = NULL;
166 address StubRoutines::_dlibm_sin_cos_huge = NULL;
167 address StubRoutines::_dlibm_reduce_pi04l = NULL;
168 address StubRoutines::_dlibm_tan_cot_huge = NULL;
169 address StubRoutines::_dtan = NULL;
170 
171 address StubRoutines::_vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP] = {{NULL}, {NULL}};
172 address StubRoutines::_vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP] = {{NULL}, {NULL}};
173 


174 // Initialization
175 //
176 // Note: to break cycle with universe initialization, stubs are generated in two phases.
177 // The first one generates stubs needed during universe init (e.g., _handle_must_compile_first_entry).
178 // The second phase includes all other stubs (which may depend on universe being initialized.)
179 
180 extern void StubGenerator_generate(CodeBuffer* code, bool all); // only interface to generators
181 
182 void UnsafeCopyMemory::create_table(int max_size) {
183   UnsafeCopyMemory::_table = new UnsafeCopyMemory[max_size];
184   UnsafeCopyMemory::_table_max_length = max_size;
185 }
186 
187 bool UnsafeCopyMemory::contains_pc(address pc) {
188   for (int i = 0; i < UnsafeCopyMemory::_table_length; i++) {
189     UnsafeCopyMemory* entry = &UnsafeCopyMemory::_table[i];
190     if (pc >= entry->start_pc() && pc < entry->end_pc()) {
191       return true;
192     }
193   }

154 address StubRoutines::_montgomerySquare = NULL;
155 address StubRoutines::_bigIntegerRightShiftWorker = NULL;
156 address StubRoutines::_bigIntegerLeftShiftWorker = NULL;
157 
158 address StubRoutines::_vectorizedMismatch = NULL;
159 
160 address StubRoutines::_dexp = NULL;
161 address StubRoutines::_dlog = NULL;
162 address StubRoutines::_dlog10 = NULL;
163 address StubRoutines::_dpow = NULL;
164 address StubRoutines::_dsin = NULL;
165 address StubRoutines::_dcos = NULL;
166 address StubRoutines::_dlibm_sin_cos_huge = NULL;
167 address StubRoutines::_dlibm_reduce_pi04l = NULL;
168 address StubRoutines::_dlibm_tan_cot_huge = NULL;
169 address StubRoutines::_dtan = NULL;
170 
171 address StubRoutines::_vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP] = {{NULL}, {NULL}};
172 address StubRoutines::_vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP] = {{NULL}, {NULL}};
173 
174 address StubRoutines::_load_nklass = NULL;
175 
176 // Initialization
177 //
178 // Note: to break cycle with universe initialization, stubs are generated in two phases.
179 // The first one generates stubs needed during universe init (e.g., _handle_must_compile_first_entry).
180 // The second phase includes all other stubs (which may depend on universe being initialized.)
181 
182 extern void StubGenerator_generate(CodeBuffer* code, bool all); // only interface to generators
183 
184 void UnsafeCopyMemory::create_table(int max_size) {
185   UnsafeCopyMemory::_table = new UnsafeCopyMemory[max_size];
186   UnsafeCopyMemory::_table_max_length = max_size;
187 }
188 
189 bool UnsafeCopyMemory::contains_pc(address pc) {
190   for (int i = 0; i < UnsafeCopyMemory::_table_length; i++) {
191     UnsafeCopyMemory* entry = &UnsafeCopyMemory::_table[i];
192     if (pc >= entry->start_pc() && pc < entry->end_pc()) {
193       return true;
194     }
195   }
< prev index next >