Mercurial > hg > graal-jvmci-8
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, |