comparison src/cpu/sparc/vm/sharedRuntime_sparc.cpp @ 17087:4faf9bdb9973

Merge
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Tue, 09 Sep 2014 14:31:36 -0700
parents 2d6dd2eebd51
children 23cdb7e5fa2d
comparison
equal deleted inserted replaced
17086:82b5a7250a0d 17087:4faf9bdb9973
514 int comp_args_on_stack, // VMRegStackSlots 514 int comp_args_on_stack, // VMRegStackSlots
515 const BasicType *sig_bt, 515 const BasicType *sig_bt,
516 const VMRegPair *regs, 516 const VMRegPair *regs,
517 Label& skip_fixup); 517 Label& skip_fixup);
518 void gen_i2c_adapter(int total_args_passed, 518 void gen_i2c_adapter(int total_args_passed,
519 // VMReg max_arg, 519 // VMReg max_arg,
520 int comp_args_on_stack, // VMRegStackSlots 520 int comp_args_on_stack, // VMRegStackSlots
521 const BasicType *sig_bt, 521 const BasicType *sig_bt,
522 const VMRegPair *regs); 522 const VMRegPair *regs,
523 int frame_extension_argument = -1);
523 524
524 AdapterGenerator(MacroAssembler *_masm) : masm(_masm) {} 525 AdapterGenerator(MacroAssembler *_masm) : masm(_masm) {}
525 }; 526 };
526 527
527 528
761 __ cmp(pc_reg, temp_reg); 762 __ cmp(pc_reg, temp_reg);
762 __ cmp_and_brx_short(pc_reg, temp_reg, Assembler::lessUnsigned, Assembler::pt, L_ok); 763 __ cmp_and_brx_short(pc_reg, temp_reg, Assembler::lessUnsigned, Assembler::pt, L_ok);
763 __ bind(L_fail); 764 __ bind(L_fail);
764 } 765 }
765 766
766 void AdapterGenerator::gen_i2c_adapter( 767 void AdapterGenerator::gen_i2c_adapter(int total_args_passed,
767 int total_args_passed, 768 // VMReg max_arg,
768 // VMReg max_arg, 769 int comp_args_on_stack, // VMRegStackSlots
769 int comp_args_on_stack, // VMRegStackSlots 770 const BasicType *sig_bt,
770 const BasicType *sig_bt, 771 const VMRegPair *regs,
771 const VMRegPair *regs) { 772 int frame_extension_argument) {
773 assert(frame_extension_argument == -1, "unsupported");
772 774
773 // Generate an I2C adapter: adjust the I-frame to make space for the C-frame 775 // Generate an I2C adapter: adjust the I-frame to make space for the C-frame
774 // layout. Lesp was saved by the calling I-frame and will be restored on 776 // layout. Lesp was saved by the calling I-frame and will be restored on
775 // return. Meanwhile, outgoing arg space is all owned by the callee 777 // return. Meanwhile, outgoing arg space is all owned by the callee
776 // C-frame, so we can mangle it at will. After adjusting the frame size, 778 // C-frame, so we can mangle it at will. After adjusting the frame size,
1024 1026
1025 void SharedRuntime::gen_i2c_adapter(MacroAssembler *masm, 1027 void SharedRuntime::gen_i2c_adapter(MacroAssembler *masm,
1026 int total_args_passed, 1028 int total_args_passed,
1027 int comp_args_on_stack, 1029 int comp_args_on_stack,
1028 const BasicType *sig_bt, 1030 const BasicType *sig_bt,
1029 const VMRegPair *regs) { 1031 const VMRegPair *regs,
1032 int frame_extension_arguments) {
1030 AdapterGenerator agen(masm); 1033 AdapterGenerator agen(masm);
1031 agen.gen_i2c_adapter(total_args_passed, comp_args_on_stack, sig_bt, regs); 1034 agen.gen_i2c_adapter(total_args_passed, comp_args_on_stack, sig_bt, regs, frame_extension_arguments);
1032 } 1035 }
1033 1036
1034 // --------------------------------------------------------------- 1037 // ---------------------------------------------------------------
1035 AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm, 1038 AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm,
1036 int total_args_passed, 1039 int total_args_passed,