< prev index next >

src/share/vm/runtime/sharedRuntime.hpp

Print this page




 340   static methodHandle find_callee_method(JavaThread* thread, TRAPS);
 341 
 342 
 343  private:
 344   static Handle find_callee_info(JavaThread* thread,
 345                                  Bytecodes::Code& bc,
 346                                  CallInfo& callinfo, TRAPS);
 347   static Handle find_callee_info_helper(JavaThread* thread,
 348                                         vframeStream& vfst,
 349                                         Bytecodes::Code& bc,
 350                                         CallInfo& callinfo, TRAPS);
 351 
 352   static methodHandle extract_attached_method(vframeStream& vfst);
 353 
 354   static address clean_virtual_call_entry();
 355   static address clean_opt_virtual_call_entry();
 356   static address clean_static_call_entry();
 357 
 358 #if defined(X86) && defined(COMPILER1)
 359   // For Object.hashCode, System.identityHashCode try to pull hashCode from object header if available.
 360   static void inline_check_hashcode_from_object_header(MacroAssembler* masm, methodHandle method, Register obj_reg, Register result);
 361 #endif // X86 && COMPILER1
 362 
 363  public:
 364 
 365   // Read the array of BasicTypes from a Java signature, and compute where
 366   // compiled Java code would like to put the results.  Values in reg_lo and
 367   // reg_hi refer to 4-byte quantities.  Values less than SharedInfo::stack0 are
 368   // registers, those above refer to 4-byte stack slots.  All stack slots are
 369   // based off of the window top.  SharedInfo::stack0 refers to the first usable
 370   // slot in the bottom of the frame. SharedInfo::stack0+1 refers to the memory word
 371   // 4-bytes higher. So for sparc because the register window save area is at
 372   // the bottom of the frame the first 16 words will be skipped and SharedInfo::stack0
 373   // will be just above it. (
 374   // return value is the maximum number of VMReg stack slots the convention will use.
 375   static int java_calling_convention(const BasicType* sig_bt, VMRegPair* regs, int total_args_passed, int is_outgoing);
 376 
 377   static void check_member_name_argument_is_last_argument(const methodHandle& method,
 378                                                           const BasicType* sig_bt,
 379                                                           const VMRegPair* regs) NOT_DEBUG_RETURN;
 380 




 340   static methodHandle find_callee_method(JavaThread* thread, TRAPS);
 341 
 342 
 343  private:
 344   static Handle find_callee_info(JavaThread* thread,
 345                                  Bytecodes::Code& bc,
 346                                  CallInfo& callinfo, TRAPS);
 347   static Handle find_callee_info_helper(JavaThread* thread,
 348                                         vframeStream& vfst,
 349                                         Bytecodes::Code& bc,
 350                                         CallInfo& callinfo, TRAPS);
 351 
 352   static methodHandle extract_attached_method(vframeStream& vfst);
 353 
 354   static address clean_virtual_call_entry();
 355   static address clean_opt_virtual_call_entry();
 356   static address clean_static_call_entry();
 357 
 358 #if defined(X86) && defined(COMPILER1)
 359   // For Object.hashCode, System.identityHashCode try to pull hashCode from object header if available.
 360   static void inline_check_hashcode_from_object_header(MacroAssembler* masm, const methodHandle& method, Register obj_reg, Register result);
 361 #endif // X86 && COMPILER1
 362 
 363  public:
 364 
 365   // Read the array of BasicTypes from a Java signature, and compute where
 366   // compiled Java code would like to put the results.  Values in reg_lo and
 367   // reg_hi refer to 4-byte quantities.  Values less than SharedInfo::stack0 are
 368   // registers, those above refer to 4-byte stack slots.  All stack slots are
 369   // based off of the window top.  SharedInfo::stack0 refers to the first usable
 370   // slot in the bottom of the frame. SharedInfo::stack0+1 refers to the memory word
 371   // 4-bytes higher. So for sparc because the register window save area is at
 372   // the bottom of the frame the first 16 words will be skipped and SharedInfo::stack0
 373   // will be just above it. (
 374   // return value is the maximum number of VMReg stack slots the convention will use.
 375   static int java_calling_convention(const BasicType* sig_bt, VMRegPair* regs, int total_args_passed, int is_outgoing);
 376 
 377   static void check_member_name_argument_is_last_argument(const methodHandle& method,
 378                                                           const BasicType* sig_bt,
 379                                                           const VMRegPair* regs) NOT_DEBUG_RETURN;
 380 


< prev index next >