< prev index next > src/hotspot/share/opto/runtime.hpp
Print this page
static const TypeFunc* _flush_windows_Type;
static const TypeFunc* _fast_arraycopy_Type;
static const TypeFunc* _checkcast_arraycopy_Type;
static const TypeFunc* _generic_arraycopy_Type;
static const TypeFunc* _slow_arraycopy_Type;
+ static const TypeFunc* _compile_method_Type;
static const TypeFunc* _unsafe_setmemory_Type;
static const TypeFunc* _array_fill_Type;
static const TypeFunc* _array_sort_Type;
static const TypeFunc* _array_partition_Type;
static const TypeFunc* _aescrypt_block_Type;
static const TypeFunc* _dtrace_object_alloc_Type;
// define stubs
static address generate_stub(ciEnv* ci_env, TypeFunc_generator gen, address C_function, const char* name, StubId stub_id, 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.
// control to corresponding JRT methods of SharedRuntime
static void slow_arraycopy_C(oopDesc* src, jint src_pos,
oopDesc* dest, jint dest_pos,
jint length, JavaThread* thread);
static void complete_monitor_locking_C(oopDesc* obj, BasicLock* lock, JavaThread* current);
+ static void compile_method_C(Method* method, JavaThread* current);
public:
static void monitor_notify_C(oopDesc* obj, JavaThread* current);
static void monitor_notifyAll_C(oopDesc* obj, JavaThread* current);
static UncommonTrapBlob* generate_uncommon_trap_blob(void);
static ExceptionBlob* 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
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; }
+ static address compile_method_Java() { return _compile_method_Java; }
static address vthread_end_first_transition_Java() { return _vthread_end_first_transition_Java; }
static address vthread_start_final_transition_Java() { return _vthread_start_final_transition_Java; }
static address vthread_start_transition_Java() { return _vthread_start_transition_Java; }
static address vthread_end_transition_Java() { return _vthread_end_transition_Java; }
// This signature is exactly the same as System.arraycopy.
// There are no intptr_t (int/long) arguments.
return _slow_arraycopy_Type;
} // the full routine
+ static inline const TypeFunc* compile_method_Type() {
+ assert(_compile_method_Type != nullptr, "should be initialized");
+ return _compile_method_Type;
+ }
+
static inline const TypeFunc* unsafe_setmemory_Type() {
assert(_unsafe_setmemory_Type != nullptr, "should be initialized");
return _unsafe_setmemory_Type;
}
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();
+
+ // 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;
}
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 >