< prev index next >

src/hotspot/share/c1/c1_Compilation.cpp

Print this page
@@ -583,10 +583,11 @@
  , _exception_info_list(nullptr)
  , _allocator(nullptr)
  , _code(buffer_blob)
  , _has_access_indexed(false)
  , _interpreter_frame_size(0)
+ , _compiled_entry_signature(method->get_Method())
  , _immediate_oops_patched(0)
  , _current_instruction(nullptr)
  #ifndef PRODUCT
  , _last_instruction_printed(nullptr)
  , _cfg_printer_output(nullptr)

@@ -600,13 +601,18 @@
  #ifndef PRODUCT
    if (PrintCFGToFile) {
      _cfg_printer_output = new CFGPrinterOutput(this);
    }
  #endif
- 
    CompilationMemoryStatisticMark cmsm(directive);
  
+   {
+     ResetNoHandleMark rnhm; // Huh? Required when doing class lookup of the Q-types
+     // TODO 8284443 Should only be computed once
+     _compiled_entry_signature.compute_calling_conventions(false);
+   }
+ 
    compile_method();
    if (bailed_out()) {
      _env->record_method_not_compilable(bailout_msg());
      if (is_profiling()) {
        // Compilation failed, create MDO, which would signal the interpreter
< prev index next >