hotspot/src/share/vm/runtime/sharedRuntime.hpp
changeset 13881 a326d528f3e1
parent 13728 882756847a04
child 13883 6979b9850feb
equal deleted inserted replaced
13751:7fd047780d47 13881:a326d528f3e1
   343   // slot in the bottom of the frame. SharedInfo::stack0+1 refers to the memory word
   343   // slot in the bottom of the frame. SharedInfo::stack0+1 refers to the memory word
   344   // 4-bytes higher. So for sparc because the register window save area is at
   344   // 4-bytes higher. So for sparc because the register window save area is at
   345   // the bottom of the frame the first 16 words will be skipped and SharedInfo::stack0
   345   // the bottom of the frame the first 16 words will be skipped and SharedInfo::stack0
   346   // will be just above it. (
   346   // will be just above it. (
   347   // return value is the maximum number of VMReg stack slots the convention will use.
   347   // return value is the maximum number of VMReg stack slots the convention will use.
   348   static int java_calling_convention(const BasicType *sig_bt, VMRegPair *regs, int total_args_passed, int is_outgoing);
   348   static int java_calling_convention(const BasicType* sig_bt, VMRegPair* regs, int total_args_passed, int is_outgoing);
       
   349 
       
   350   static void check_member_name_argument_is_last_argument(methodHandle method,
       
   351                                                           const BasicType* sig_bt,
       
   352                                                           const VMRegPair* regs) NOT_DEBUG_RETURN;
   349 
   353 
   350   // Ditto except for calling C
   354   // Ditto except for calling C
   351   static int c_calling_convention(const BasicType *sig_bt, VMRegPair *regs, int total_args_passed);
   355   static int c_calling_convention(const BasicType *sig_bt, VMRegPair *regs, int total_args_passed);
   352 
   356 
   353   // Generate I2C and C2I adapters. These adapters are simple argument marshalling
   357   // Generate I2C and C2I adapters. These adapters are simple argument marshalling
   423   // returns.
   427   // returns.
   424   //
   428   //
   425   // The wrapper may contain special-case code if the given method
   429   // The wrapper may contain special-case code if the given method
   426   // is a JNI critical method, or a compiled method handle adapter,
   430   // is a JNI critical method, or a compiled method handle adapter,
   427   // such as _invokeBasic, _linkToVirtual, etc.
   431   // such as _invokeBasic, _linkToVirtual, etc.
   428   static nmethod *generate_native_wrapper(MacroAssembler* masm,
   432   static nmethod* generate_native_wrapper(MacroAssembler* masm,
   429                                           methodHandle method,
   433                                           methodHandle method,
   430                                           int compile_id,
   434                                           int compile_id,
   431                                           int total_args_passed,
   435                                           BasicType* sig_bt,
   432                                           int max_arg,
   436                                           VMRegPair* regs,
   433                                           BasicType *sig_bt,
       
   434                                           VMRegPair *regs,
       
   435                                           BasicType ret_type );
   437                                           BasicType ret_type );
   436 
   438 
   437   // Block before entering a JNI critical method
   439   // Block before entering a JNI critical method
   438   static void block_for_jni_critical(JavaThread* thread);
   440   static void block_for_jni_critical(JavaThread* thread);
   439 
   441