< prev index next >

src/hotspot/share/opto/runtime.hpp

Print this page
@@ -113,11 +113,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

@@ -137,10 +137,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.

@@ -187,11 +189,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

@@ -215,16 +217,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; }

@@ -323,15 +327,20 @@
    // leaf on stack replacement interpreter accessor types
    static const TypeFunc* osr_end_Type();
  
    static const TypeFunc* register_finalizer_Type();
  
+   static const TypeFunc* class_init_barrier_Type();
+ 
    JFR_ONLY(static const TypeFunc* class_id_load_barrier_Type();)
  #if INCLUDE_JVMTI
    static const TypeFunc* notify_jvmti_vthread_Type();
  #endif
  
+   // runtime upcalls support
+   static const TypeFunc* runtime_up_call_Type();
+ 
    // Dtrace support
    static const TypeFunc* dtrace_method_entry_exit_Type();
    static const TypeFunc* dtrace_object_alloc_Type();
  
   private:

@@ -343,8 +352,11 @@
   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);
  };
  
  #endif // SHARE_OPTO_RUNTIME_HPP
< prev index next >