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 |