< prev index next >

src/hotspot/share/runtime/sharedRuntime.hpp

Print this page

490   static void complete_monitor_unlocking_C(oopDesc* obj, BasicLock* lock, JavaThread* current);
491 
492   // Resolving of calls
493   static address resolve_static_call_C     (JavaThread* current);
494   static address resolve_virtual_call_C    (JavaThread* current);
495   static address resolve_opt_virtual_call_C(JavaThread* current);
496 
497   // arraycopy, the non-leaf version.  (See StubRoutines for all the leaf calls.)
498   static void slow_arraycopy_C(oopDesc* src,  jint src_pos,
499                                oopDesc* dest, jint dest_pos,
500                                jint length, JavaThread* thread);
501 
502   // handle ic miss with caller being compiled code
503   // wrong method handling (inline cache misses, zombie methods)
504   static address handle_wrong_method(JavaThread* current);
505   static address handle_wrong_method_abstract(JavaThread* current);
506   static address handle_wrong_method_ic_miss(JavaThread* current);
507 
508   static address handle_unsafe_access(JavaThread* thread, address next_pc);
509 
510 #ifdef COMPILER2
511   static RuntimeStub* make_native_invoker(address call_target,
512                                           int shadow_space_bytes,
513                                           const GrowableArray<VMReg>& input_registers,
514                                           const GrowableArray<VMReg>& output_registers);
515 #endif
516 
517   static void compute_move_order(const BasicType* in_sig_bt,
518                                  int total_in_args, const VMRegPair* in_regs,
519                                  int total_out_args, VMRegPair* out_regs,
520                                  GrowableArray<int>& arg_order,
521                                  VMRegPair tmp_vmreg);
522 
523 #ifndef PRODUCT
524 
525   // Collect and print inline cache miss statistics
526  private:
527   enum { maxICmiss_count = 100 };
528   static int     _ICmiss_index;                  // length of IC miss histogram
529   static int     _ICmiss_count[maxICmiss_count]; // miss counts
530   static address _ICmiss_at[maxICmiss_count];    // miss addresses
531   static void trace_ic_miss(address at);
532 
533  public:
534   static int _ic_miss_ctr;                       // total # of IC misses
535   static int _wrong_method_ctr;
536   static int _resolve_static_ctr;
537   static int _resolve_virtual_ctr;
538   static int _resolve_opt_virtual_ctr;
539   static int _implicit_null_throws;
540   static int _implicit_div0_throws;
541 
542   static int _jbyte_array_copy_ctr;        // Slow-path byte array copy

490   static void complete_monitor_unlocking_C(oopDesc* obj, BasicLock* lock, JavaThread* current);
491 
492   // Resolving of calls
493   static address resolve_static_call_C     (JavaThread* current);
494   static address resolve_virtual_call_C    (JavaThread* current);
495   static address resolve_opt_virtual_call_C(JavaThread* current);
496 
497   // arraycopy, the non-leaf version.  (See StubRoutines for all the leaf calls.)
498   static void slow_arraycopy_C(oopDesc* src,  jint src_pos,
499                                oopDesc* dest, jint dest_pos,
500                                jint length, JavaThread* thread);
501 
502   // handle ic miss with caller being compiled code
503   // wrong method handling (inline cache misses, zombie methods)
504   static address handle_wrong_method(JavaThread* current);
505   static address handle_wrong_method_abstract(JavaThread* current);
506   static address handle_wrong_method_ic_miss(JavaThread* current);
507 
508   static address handle_unsafe_access(JavaThread* thread, address next_pc);
509 













510 #ifndef PRODUCT
511 
512   // Collect and print inline cache miss statistics
513  private:
514   enum { maxICmiss_count = 100 };
515   static int     _ICmiss_index;                  // length of IC miss histogram
516   static int     _ICmiss_count[maxICmiss_count]; // miss counts
517   static address _ICmiss_at[maxICmiss_count];    // miss addresses
518   static void trace_ic_miss(address at);
519 
520  public:
521   static int _ic_miss_ctr;                       // total # of IC misses
522   static int _wrong_method_ctr;
523   static int _resolve_static_ctr;
524   static int _resolve_virtual_ctr;
525   static int _resolve_opt_virtual_ctr;
526   static int _implicit_null_throws;
527   static int _implicit_div0_throws;
528 
529   static int _jbyte_array_copy_ctr;        // Slow-path byte array copy
< prev index next >