< prev index next >

src/hotspot/share/opto/runtime.hpp

Print this page
*** 111,11 ***
  #undef C2_STUB_ID_ENUM_DECLARE
  #undef C2_JVMTI_STUB_ID_ENUM_DECLARE
  
  class OptoRuntime : public AllStatic {
    friend class Matcher;  // allow access to stub names
! 
   private:
    // declare opto stub address/blob holder static fields
  #define C2_BLOB_FIELD_DECLARE(name, type) \
    static type        BLOB_FIELD_NAME(name);
  #define C2_STUB_FIELD_NAME(name) _ ## name ## _Java
--- 111,11 ---
  #undef C2_STUB_ID_ENUM_DECLARE
  #undef C2_JVMTI_STUB_ID_ENUM_DECLARE
  
  class OptoRuntime : public AllStatic {
    friend class Matcher;  // allow access to stub names
!   friend class SCAddressTable;
   private:
    // declare opto stub address/blob holder static fields
  #define C2_BLOB_FIELD_DECLARE(name, type) \
    static type        BLOB_FIELD_NAME(name);
  #define C2_STUB_FIELD_NAME(name) _ ## name ## _Java

*** 203,10 ***
--- 203,12 ---
    static const char *_stub_names[];
  
    // define stubs
    static address generate_stub(ciEnv* ci_env, TypeFunc_generator gen, address C_function, const char* name, int is_fancy_jump, bool pass_tls, bool return_pc);
  
+   static address _vtable_must_compile_Java;
+ 
    //
    // Implementation of runtime methods
    // =================================
  
    // Allocate storage for a Java instance.

*** 253,11 ***
  
    static void generate_uncommon_trap_blob(void);
    static void generate_exception_blob();
  
    static void register_finalizer_C(oopDesc* obj, JavaThread* current);
! 
   public:
  
    static bool is_callee_saved_register(MachRegisterNumbers reg);
  
    // One time only generate runtime code stubs. Returns true
--- 255,11 ---
  
    static void generate_uncommon_trap_blob(void);
    static void generate_exception_blob();
  
    static void register_finalizer_C(oopDesc* obj, JavaThread* current);
!   static void class_init_barrier_C(Klass* k, JavaThread* current);
   public:
  
    static bool is_callee_saved_register(MachRegisterNumbers reg);
  
    // One time only generate runtime code stubs. Returns true

*** 281,16 ***
--- 283,18 ---
    static address multianewarray2_Java()                  { return _multianewarray2_Java; }
    static address multianewarray3_Java()                  { return _multianewarray3_Java; }
    static address multianewarray4_Java()                  { return _multianewarray4_Java; }
    static address multianewarray5_Java()                  { return _multianewarray5_Java; }
    static address multianewarrayN_Java()                  { return _multianewarrayN_Java; }
+   static address vtable_must_compile_stub()              { return _vtable_must_compile_Java; }
    static address complete_monitor_locking_Java()         { return _complete_monitor_locking_Java; }
    static address monitor_notify_Java()                   { return _monitor_notify_Java; }
    static address monitor_notifyAll_Java()                { return _monitor_notifyAll_Java; }
  
    static address slow_arraycopy_Java()                   { return _slow_arraycopy_Java; }
    static address register_finalizer_Java()               { return _register_finalizer_Java; }
+   static address class_init_barrier_Java()               { return _class_init_barrier_Java; }
  #if INCLUDE_JVMTI
    static address notify_jvmti_vthread_start()            { return _notify_jvmti_vthread_start; }
    static address notify_jvmti_vthread_end()              { return _notify_jvmti_vthread_end; }
    static address notify_jvmti_vthread_mount()            { return _notify_jvmti_vthread_mount; }
    static address notify_jvmti_vthread_unmount()          { return _notify_jvmti_vthread_unmount; }

*** 650,17 ***
--- 654,22 ---
      assert(_class_id_load_barrier_Type != nullptr, "should be initialized");
      return _class_id_load_barrier_Type;
    }
  #endif // INCLUDE_JFR
  
+   static const TypeFunc* class_init_barrier_Type();
+ 
  #if INCLUDE_JVMTI
    static inline const TypeFunc* notify_jvmti_vthread_Type() {
      assert(_notify_jvmti_vthread_Type != nullptr, "should be initialized");
      return _notify_jvmti_vthread_Type;
    }
  #endif
  
+   // runtime upcalls support
+   static const TypeFunc* runtime_up_call_Type();
+ 
    // Dtrace support. entry and exit probes have the same signature
    static inline const TypeFunc* dtrace_method_entry_exit_Type() {
      assert(_dtrace_method_entry_exit_Type != nullptr, "should be initialized");
      return _dtrace_method_entry_exit_Type;
    }

*** 679,9 ***
--- 688,12 ---
   static NamedCounter* new_named_counter(JVMState* jvms, NamedCounter::CounterTag tag);
  
   // dumps all the named counters
   static void          print_named_counters();
  
+  public:
+   static void init_counters();
+   static void print_counters_on(outputStream* st);
   static void          initialize_types();
  };
  
  #endif // SHARE_OPTO_RUNTIME_HPP
< prev index next >