329 return emit_code_body();
330 }
331 }
332
333 void Compilation::install_code(int frame_size) {
334 // frame_size is in 32-bit words so adjust it intptr_t words
335 assert(frame_size == frame_map()->framesize(), "must match");
336 assert(in_bytes(frame_map()->framesize_in_bytes()) % sizeof(intptr_t) == 0, "must be at least pointer aligned");
337 _env->register_method(
338 method(),
339 osr_bci(),
340 &_offsets,
341 in_bytes(_frame_map->sp_offset_for_orig_pc()),
342 code(),
343 in_bytes(frame_map()->framesize_in_bytes()) / sizeof(intptr_t),
344 debug_info_recorder()->_oopmaps,
345 exception_handler_table(),
346 implicit_exception_table(),
347 compiler(),
348 _env->comp_level(),
349 true,
350 has_unsafe_access()
351 );
352 }
353
354
355 void Compilation::compile_method() {
356 // setup compilation
357 initialize();
358
359 if (!method()->can_be_compiled()) {
360 // Prevent race condition 6328518.
361 // This can happen if the method is obsolete or breakpointed.
362 bailout("Bailing out because method is not compilable");
363 return;
364 }
365
366 if (_env->jvmti_can_hotswap_or_post_breakpoint()) {
367 // We can assert evol_method because method->can_be_compiled is true.
368 dependency_recorder()->assert_evol_method(method());
369 }
|
329 return emit_code_body();
330 }
331 }
332
333 void Compilation::install_code(int frame_size) {
334 // frame_size is in 32-bit words so adjust it intptr_t words
335 assert(frame_size == frame_map()->framesize(), "must match");
336 assert(in_bytes(frame_map()->framesize_in_bytes()) % sizeof(intptr_t) == 0, "must be at least pointer aligned");
337 _env->register_method(
338 method(),
339 osr_bci(),
340 &_offsets,
341 in_bytes(_frame_map->sp_offset_for_orig_pc()),
342 code(),
343 in_bytes(frame_map()->framesize_in_bytes()) / sizeof(intptr_t),
344 debug_info_recorder()->_oopmaps,
345 exception_handler_table(),
346 implicit_exception_table(),
347 compiler(),
348 _env->comp_level(),
349 has_unsafe_access()
350 );
351 }
352
353
354 void Compilation::compile_method() {
355 // setup compilation
356 initialize();
357
358 if (!method()->can_be_compiled()) {
359 // Prevent race condition 6328518.
360 // This can happen if the method is obsolete or breakpointed.
361 bailout("Bailing out because method is not compilable");
362 return;
363 }
364
365 if (_env->jvmti_can_hotswap_or_post_breakpoint()) {
366 // We can assert evol_method because method->can_be_compiled is true.
367 dependency_recorder()->assert_evol_method(method());
368 }
|