< prev index next >

src/hotspot/share/runtime/sharedRuntime.hpp

Print this page




 334   // Resets a call-site in compiled code so it will get resolved again.
 335   static methodHandle reresolve_call_site(JavaThread *thread, TRAPS);
 336 
 337   // In the code prolog, if the klass comparison fails, the inline cache
 338   // misses and the call site is patched to megamorphic
 339   static methodHandle handle_ic_miss_helper(JavaThread* thread, TRAPS);
 340 
 341   // Find the method that called us.
 342   static methodHandle find_callee_method(JavaThread* thread, TRAPS);
 343 
 344 
 345  private:
 346   static Handle find_callee_info(JavaThread* thread,
 347                                  Bytecodes::Code& bc,
 348                                  CallInfo& callinfo, TRAPS);
 349   static Handle find_callee_info_helper(JavaThread* thread,
 350                                         vframeStream& vfst,
 351                                         Bytecodes::Code& bc,
 352                                         CallInfo& callinfo, TRAPS);
 353 
 354   static methodHandle extract_attached_method(vframeStream& vfst);
 355 
 356   static address clean_virtual_call_entry();
 357   static address clean_opt_virtual_call_entry();
 358   static address clean_static_call_entry();
 359 
 360 #if defined(X86) && defined(COMPILER1)
 361   // For Object.hashCode, System.identityHashCode try to pull hashCode from object header if available.
 362   static void inline_check_hashcode_from_object_header(MacroAssembler* masm, const methodHandle& method, Register obj_reg, Register result);
 363 #endif // X86 && COMPILER1
 364 
 365  public:
 366 
 367   // Read the array of BasicTypes from a Java signature, and compute where
 368   // compiled Java code would like to put the results.  Values in reg_lo and
 369   // reg_hi refer to 4-byte quantities.  Values less than SharedInfo::stack0 are
 370   // registers, those above refer to 4-byte stack slots.  All stack slots are
 371   // based off of the window top.  SharedInfo::stack0 refers to the first usable
 372   // slot in the bottom of the frame. SharedInfo::stack0+1 refers to the memory word
 373   // 4-bytes higher. So for sparc because the register window save area is at
 374   // the bottom of the frame the first 16 words will be skipped and SharedInfo::stack0




 334   // Resets a call-site in compiled code so it will get resolved again.
 335   static methodHandle reresolve_call_site(JavaThread *thread, TRAPS);
 336 
 337   // In the code prolog, if the klass comparison fails, the inline cache
 338   // misses and the call site is patched to megamorphic
 339   static methodHandle handle_ic_miss_helper(JavaThread* thread, TRAPS);
 340 
 341   // Find the method that called us.
 342   static methodHandle find_callee_method(JavaThread* thread, TRAPS);
 343 
 344 
 345  private:
 346   static Handle find_callee_info(JavaThread* thread,
 347                                  Bytecodes::Code& bc,
 348                                  CallInfo& callinfo, TRAPS);
 349   static Handle find_callee_info_helper(JavaThread* thread,
 350                                         vframeStream& vfst,
 351                                         Bytecodes::Code& bc,
 352                                         CallInfo& callinfo, TRAPS);
 353 
 354   static Method* extract_attached_method(vframeStream& vfst);
 355 
 356   static address clean_virtual_call_entry();
 357   static address clean_opt_virtual_call_entry();
 358   static address clean_static_call_entry();
 359 
 360 #if defined(X86) && defined(COMPILER1)
 361   // For Object.hashCode, System.identityHashCode try to pull hashCode from object header if available.
 362   static void inline_check_hashcode_from_object_header(MacroAssembler* masm, const methodHandle& method, Register obj_reg, Register result);
 363 #endif // X86 && COMPILER1
 364 
 365  public:
 366 
 367   // Read the array of BasicTypes from a Java signature, and compute where
 368   // compiled Java code would like to put the results.  Values in reg_lo and
 369   // reg_hi refer to 4-byte quantities.  Values less than SharedInfo::stack0 are
 370   // registers, those above refer to 4-byte stack slots.  All stack slots are
 371   // based off of the window top.  SharedInfo::stack0 refers to the first usable
 372   // slot in the bottom of the frame. SharedInfo::stack0+1 refers to the memory word
 373   // 4-bytes higher. So for sparc because the register window save area is at
 374   // the bottom of the frame the first 16 words will be skipped and SharedInfo::stack0


< prev index next >