Lines Matching defs:rsp

155 // Address.  An index of 4 (rsp) corresponds to having no index, so convert
162 bool valid_index = index != rsp->encoding();
312 assert(index != rsp, "illegal addressing mode");
318 assert(index != rsp, "illegal addressing mode");
325 assert(index != rsp, "illegal addressing mode");
330 } else if (base == rsp LP64_ONLY(|| base == r12)) {
331 // [rsp + disp]
333 // [rsp]
338 // [rsp + imm8]
344 // [rsp + imm32]
352 assert(base != rsp LP64_ONLY(&& base != r12), "illegal addressing mode");
375 assert(index != rsp, "illegal addressing mode");
1085 emit_operand(rsp, dst, 4);
1498 emit_operand(rsp, adr);
1950 emit_operand(rsp, src);
3932 emit_operand32(rsp, src);
4017 emit_operand32(rsp, src);
4071 emit_operand32(rsp, src);
4077 emit_operand32(rsp, src);
4754 emit_operand(rsp, dst, 4);
5228 movq(r15, Address(rsp, 0));
5229 movq(r14, Address(rsp, wordSize));
5230 movq(r13, Address(rsp, 2 * wordSize));
5231 movq(r12, Address(rsp, 3 * wordSize));
5232 movq(r11, Address(rsp, 4 * wordSize));
5233 movq(r10, Address(rsp, 5 * wordSize));
5234 movq(r9, Address(rsp, 6 * wordSize));
5235 movq(r8, Address(rsp, 7 * wordSize));
5236 movq(rdi, Address(rsp, 8 * wordSize));
5237 movq(rsi, Address(rsp, 9 * wordSize));
5238 movq(rbp, Address(rsp, 10 * wordSize));
5239 // skip rsp
5240 movq(rbx, Address(rsp, 12 * wordSize));
5241 movq(rdx, Address(rsp, 13 * wordSize));
5242 movq(rcx, Address(rsp, 14 * wordSize));
5243 movq(rax, Address(rsp, 15 * wordSize));
5245 addq(rsp, 16 * wordSize);
5275 // we have to store original rsp. ABI says that 128 bytes
5276 // below rsp are local scratch.
5277 movq(Address(rsp, -5 * wordSize), rsp);
5279 subq(rsp, 16 * wordSize);
5281 movq(Address(rsp, 15 * wordSize), rax);
5282 movq(Address(rsp, 14 * wordSize), rcx);
5283 movq(Address(rsp, 13 * wordSize), rdx);
5284 movq(Address(rsp, 12 * wordSize), rbx);
5285 // skip rsp
5286 movq(Address(rsp, 10 * wordSize), rbp);
5287 movq(Address(rsp, 9 * wordSize), rsi);
5288 movq(Address(rsp, 8 * wordSize), rdi);
5289 movq(Address(rsp, 7 * wordSize), r8);
5290 movq(Address(rsp, 6 * wordSize), r9);
5291 movq(Address(rsp, 5 * wordSize), r10);
5292 movq(Address(rsp, 4 * wordSize), r11);
5293 movq(Address(rsp, 3 * wordSize), r12);
5294 movq(Address(rsp, 2 * wordSize), r13);
5295 movq(Address(rsp, wordSize), r14);
5296 movq(Address(rsp, 0), r15);
5737 increment(rsp, number_of_arguments * wordSize);
5821 mov(rsp, rbp);
5829 // rsp ---> [ ?? ] \ \
5840 Address x_hi(rsp, x_rsp_offset + wordSize); Address x_lo(rsp, x_rsp_offset);
5841 Address y_hi(rsp, y_rsp_offset + wordSize); Address y_lo(rsp, y_rsp_offset);
5951 fld_d(Address(rsp, 0));
5952 addl(rsp, 2 * wordSize);
5963 subl(rsp, 2 * wordSize);
5964 fstp_d(Address(rsp, 0));
6006 void MacroAssembler::debug32(int rdi, int rsi, int rbp, int rsp, int rbx, int rdx, int rcx, int rax, int eip, char* msg) {
6022 print_state32(rdi, rsi, rbp, rsp, rbx, rdx, rcx, rax, eip);
6034 void MacroAssembler::print_state32(int rdi, int rsi, int rbp, int rsp, int rbx, int rdx, int rcx, int rax, int eip) {
6054 PRINT_REG(rsp);
6057 int* dump_sp = (int*) rsp;
6059 tty->print("(rsp+0x%03x) 0x%08x: ", (int)((intptr_t)dump_sp - (intptr_t)rsp), (intptr_t)dump_sp);
6063 tty->print("(rsp+0x%03x) 0x%08x: ", (int)((intptr_t)dump_sp - (intptr_t)rsp), (intptr_t)dump_sp);
6093 addl(rsp, wordSize); // discard argument
6106 addl(rsp, wordSize);
6297 subq(rsp, frame::arg_reg_save_area_bytes);
6301 testl(rsp, 15);
6304 subq(rsp, 8);
6308 addq(rsp, 8);
6320 addq(rsp, frame::arg_reg_save_area_bytes);
6518 last_java_sp = rsp;
6567 movq(c_rarg2, rsp); // pass pointer to regs array
6568 andq(rsp, -16); // align stack as required by ABI
6575 movq(rbp, rsp);
6576 andq(rsp, -16); // align stack as required by push_CPU_state and call
6581 mov(rsp, rbp);
6589 movq(rbp, rsp);
6590 andq(rsp, -16); // align stack as required by push_CPU_state and call
6598 mov(rsp, rbp);
6654 PRINT_REG(rsp, regs[11]);
6665 int64_t* rsp = (int64_t*) regs[11];
6666 int64_t* dump_sp = rsp;
6668 tty->print("(rsp+0x%03x) 0x%016lx: ", (int)((intptr_t)dump_sp - (intptr_t)rsp), (int64_t)dump_sp);
6672 tty->print("(rsp+0x%03x) 0x%016lx: ", (int)((intptr_t)dump_sp - (intptr_t)rsp), (int64_t)dump_sp);
6761 movptr(tmp, rsp);
7013 last_java_sp = rsp;
7111 lea(rax, Address(rsp, wordSize));
7113 lea(rax, Address(rsp, (1 + number_of_arguments) * wordSize));
7483 mov(rbp, rsp);
7582 subptr(rsp,sizeof(jdouble));
7591 fistp_s(Address(rsp,0)); // move int(X) as integer to thread's stack. Stack: X-int(X) ...
7600 movl(rax,Address(rsp,0));
7618 movl(Address(rsp,4),rax);
7619 movl(Address(rsp,0),0);
7620 fmul_d(Address(rsp,0)); // Stack: 2^X ...
7621 addptr(rsp,sizeof(jdouble));
7625 subptr(rsp, BytesPerWord);
7626 fnstcw(Address(rsp, 0));
7627 movl(rax, Address(rsp, 0));
7630 fldcw(Address(rsp, 0));
7635 fldcw(Address(rsp, 0));
7636 addptr(rsp, BytesPerWord);
7723 subptr(rsp, 8);
7748 fstp_d(Address(rsp, 0));
7749 fld_d(Address(rsp, 0));
7756 fistp_d(Address(rsp,0)); // Stack: X Y
7765 movl(Address(rsp, 0), 0);
7766 movl(Address(rsp, 4), 0);
8235 NOT_LP64(frstor(Address(rsp, 0));)
8236 LP64_ONLY(fxrstor(Address(rsp, 0));)
8237 addptr(rsp, FPUStateSizeInWords * wordSize);
8242 LP64_ONLY(addq(rsp, 8));
8254 subptr(rsp, FPUStateSizeInWords * wordSize);
8256 fnsave(Address(rsp, 0));
8259 fxsave(Address(rsp, 0));
8266 // Make sure rsp stays 16-byte aligned
8267 LP64_ONLY(subq(rsp, 8));
8321 // When entering C land, the rbp, & rsp of the last Java frame have to be recorded
8335 last_java_sp = rsp;
9060 subptr(rsp, sizeof(jdouble)*8);
9061 movflt(Address(rsp,off++*sizeof(jdouble)),xmm0);
9062 movflt(Address(rsp,off++*sizeof(jdouble)),xmm1);
9063 movflt(Address(rsp,off++*sizeof(jdouble)),xmm2);
9064 movflt(Address(rsp,off++*sizeof(jdouble)),xmm3);
9065 movflt(Address(rsp,off++*sizeof(jdouble)),xmm4);
9066 movflt(Address(rsp,off++*sizeof(jdouble)),xmm5);
9067 movflt(Address(rsp,off++*sizeof(jdouble)),xmm6);
9068 movflt(Address(rsp,off++*sizeof(jdouble)),xmm7);
9074 subptr(rsp, 16 * LP64_ONLY(16) NOT_LP64(8));
9075 vextractf128h(Address(rsp, 0),xmm0);
9076 vextractf128h(Address(rsp, 16),xmm1);
9077 vextractf128h(Address(rsp, 32),xmm2);
9078 vextractf128h(Address(rsp, 48),xmm3);
9079 vextractf128h(Address(rsp, 64),xmm4);
9080 vextractf128h(Address(rsp, 80),xmm5);
9081 vextractf128h(Address(rsp, 96),xmm6);
9082 vextractf128h(Address(rsp,112),xmm7);
9084 vextractf128h(Address(rsp,128),xmm8);
9085 vextractf128h(Address(rsp,144),xmm9);
9086 vextractf128h(Address(rsp,160),xmm10);
9087 vextractf128h(Address(rsp,176),xmm11);
9088 vextractf128h(Address(rsp,192),xmm12);
9089 vextractf128h(Address(rsp,208),xmm13);
9090 vextractf128h(Address(rsp,224),xmm14);
9091 vextractf128h(Address(rsp,240),xmm15);
9096 subptr(rsp, 16 * LP64_ONLY(16) NOT_LP64(8));
9097 movdqu(Address(rsp,off++*16),xmm0);
9098 movdqu(Address(rsp,off++*16),xmm1);
9099 movdqu(Address(rsp,off++*16),xmm2);
9100 movdqu(Address(rsp,off++*16),xmm3);
9101 movdqu(Address(rsp,off++*16),xmm4);
9102 movdqu(Address(rsp,off++*16),xmm5);
9103 movdqu(Address(rsp,off++*16),xmm6);
9104 movdqu(Address(rsp,off++*16),xmm7);
9106 movdqu(Address(rsp,off++*16),xmm8);
9107 movdqu(Address(rsp,off++*16),xmm9);
9108 movdqu(Address(rsp,off++*16),xmm10);
9109 movdqu(Address(rsp,off++*16),xmm11);
9110 movdqu(Address(rsp,off++*16),xmm12);
9111 movdqu(Address(rsp,off++*16),xmm13);
9112 movdqu(Address(rsp,off++*16),xmm14);
9113 movdqu(Address(rsp,off++*16),xmm15);
9128 subptr(rsp, sizeof(jdouble));
9129 fstp_d(Address(rsp, 0));
9133 fld_d(Address(rsp, incoming_argument_and_return_value_offset-i*sizeof(jdouble)));
9137 subptr(rsp, nb_args*sizeof(jdouble));
9139 fstp_d(Address(rsp, i*sizeof(jdouble)));
9144 movdbl(xmm0, Address(rsp, 0));
9147 movdbl(xmm1, Address(rsp, sizeof(jdouble)));
9165 movsd(Address(rsp, 0), xmm0);
9166 fld_d(Address(rsp, 0));
9168 addptr(rsp, sizeof(jdouble) * nb_args);
9172 fstp_d(Address(rsp, incoming_argument_and_return_value_offset));
9174 fld_d(Address(rsp, 0));
9175 addptr(rsp, sizeof(jdouble));
9177 fld_d(Address(rsp, (nb_args-1)*sizeof(jdouble)));
9178 addptr(rsp, sizeof(jdouble) * nb_args);
9183 movflt(xmm0, Address(rsp,off++*sizeof(jdouble)));
9184 movflt(xmm1, Address(rsp,off++*sizeof(jdouble)));
9185 movflt(xmm2, Address(rsp,off++*sizeof(jdouble)));
9186 movflt(xmm3, Address(rsp,off++*sizeof(jdouble)));
9187 movflt(xmm4, Address(rsp,off++*sizeof(jdouble)));
9188 movflt(xmm5, Address(rsp,off++*sizeof(jdouble)));
9189 movflt(xmm6, Address(rsp,off++*sizeof(jdouble)));
9190 movflt(xmm7, Address(rsp,off++*sizeof(jdouble)));
9191 addptr(rsp, sizeof(jdouble)*8);
9194 movdqu(xmm0, Address(rsp,off++*16));
9195 movdqu(xmm1, Address(rsp,off++*16));
9196 movdqu(xmm2, Address(rsp,off++*16));
9197 movdqu(xmm3, Address(rsp,off++*16));
9198 movdqu(xmm4, Address(rsp,off++*16));
9199 movdqu(xmm5, Address(rsp,off++*16));
9200 movdqu(xmm6, Address(rsp,off++*16));
9201 movdqu(xmm7, Address(rsp,off++*16));
9203 movdqu(xmm8, Address(rsp,off++*16));
9204 movdqu(xmm9, Address(rsp,off++*16));
9205 movdqu(xmm10, Address(rsp,off++*16));
9206 movdqu(xmm11, Address(rsp,off++*16));
9207 movdqu(xmm12, Address(rsp,off++*16));
9208 movdqu(xmm13, Address(rsp,off++*16));
9209 movdqu(xmm14, Address(rsp,off++*16));
9210 movdqu(xmm15, Address(rsp,off++*16));
9212 addptr(rsp, 16 * LP64_ONLY(16) NOT_LP64(8));
9216 vinsertf128h(xmm0, Address(rsp, 0));
9217 vinsertf128h(xmm1, Address(rsp, 16));
9218 vinsertf128h(xmm2, Address(rsp, 32));
9219 vinsertf128h(xmm3, Address(rsp, 48));
9220 vinsertf128h(xmm4, Address(rsp, 64));
9221 vinsertf128h(xmm5, Address(rsp, 80));
9222 vinsertf128h(xmm6, Address(rsp, 96));
9223 vinsertf128h(xmm7, Address(rsp,112));
9225 vinsertf128h(xmm8, Address(rsp,128));
9226 vinsertf128h(xmm9, Address(rsp,144));
9227 vinsertf128h(xmm10, Address(rsp,160));
9228 vinsertf128h(xmm11, Address(rsp,176));
9229 vinsertf128h(xmm12, Address(rsp,192));
9230 vinsertf128h(xmm13, Address(rsp,208));
9231 vinsertf128h(xmm14, Address(rsp,224));
9232 vinsertf128h(xmm15, Address(rsp,240));
9234 addptr(rsp, 16 * LP64_ONLY(16) NOT_LP64(8));
9736 return Address(rsp, scale_reg, scale_factor, offset);
9756 // addr may contain rsp so we will have to adjust it based on the push
9760 if (addr.uses(rsp)) {
10042 printf("rsp = "); _rsp.print(); printf("\n");
10073 push(rsp); // pass CPU state
10075 addptr(rsp, wordSize); // discard argument
10140 push(rsp); // pass CPU state
10146 addptr(rsp, 3 * wordSize); // discard arguments
10268 assert(!src2.uses(rsp), "can't push");
10518 subptr(rsp, framesize);
10522 subptr_imm32(rsp, framesize);
10526 movptr(Address(rsp, framesize), rbp);
10531 movptr(Address(rsp, framesize), (int32_t)0xbadb100d);
10548 mov(rax, rsp);
10767 movptr(tmp, rsp); // save old SP
10798 subptr(rsp, 16);
10804 movw(Address(rsp, cnt2, Address::times_2, stk_offset), result);
10809 movptr(str2, rsp); // New substring address
10822 subptr(rsp, 16);
10832 movw(Address(rsp, cnt2, Address::times_2, stk_offset), result);
10839 movptr(str1, rsp); // New string address
10873 movptr(str2, Address(rsp, 2*wordSize));
10874 movl(cnt2, Address(rsp, 3*wordSize));
10979 movptr(str1, Address(rsp, wordSize));
10988 pop(rsp); // restore SP