< prev index next >

src/hotspot/share/c1/c1_Compilation.hpp

Print this page
@@ -30,10 +30,11 @@
  #include "code/exceptionHandlerTable.hpp"
  #include "compiler/compiler_globals.hpp"
  #include "compiler/compilerDirectives.hpp"
  #include "memory/resourceArea.hpp"
  #include "runtime/deoptimization.hpp"
+ #include "runtime/sharedRuntime.hpp"
  
  class CompilationResourceObj;
  class XHandlers;
  class ExceptionInfo;
  class DebugInformationRecorder;

@@ -90,10 +91,11 @@
    LinearScan*        _allocator;
    CodeOffsets        _offsets;
    CodeBuffer         _code;
    bool               _has_access_indexed;
    int                _interpreter_frame_size; // Stack space needed in case of a deoptimization
+   CompiledEntrySignature _compiled_entry_signature;
  
    // compilation helpers
    void initialize();
    void build_hir();
    void emit_lir();

@@ -255,10 +257,14 @@
    }
    bool profile_return() {
      return env()->comp_level() == CompLevel_full_profile &&
        C1UpdateMethodData && MethodData::profile_return();
    }
+   bool profile_array_accesses() {
+     return env()->comp_level() == CompLevel_full_profile &&
+       C1UpdateMethodData;
+   }
    bool age_code() const {
      return _method->profile_aging();
    }
  
    // will compilation make optimistic assumptions that might lead to

@@ -283,10 +289,17 @@
    }
  
    int interpreter_frame_size() const {
      return _interpreter_frame_size;
    }
+ 
+   const CompiledEntrySignature* compiled_entry_signature() const {
+     return &_compiled_entry_signature;
+   }
+   bool needs_stack_repair() const {
+     return compiled_entry_signature()->c1_needs_stack_repair();
+   }
  };
  
  
  // Macro definitions for unified bailout-support
  // The methods bailout() and bailed_out() are present in all classes
< prev index next >