Lines Matching refs:stack
52 /* The stack layout given to ffi_call_unix and ffi_closure_unix_inner. */
58 UINT64 other_args[]; /* Arguments passed on stack, variable size. */
279 struct ia64_args *stack;
289 /* Allocate the stack frame. */
290 stack = alloca (cif->bytes);
299 stack->gp_regs[gpcount++] = *(SINT8 *)avalue[i];
302 stack->gp_regs[gpcount++] = *(UINT8 *)avalue[i];
305 stack->gp_regs[gpcount++] = *(SINT16 *)avalue[i];
308 stack->gp_regs[gpcount++] = *(UINT16 *)avalue[i];
311 stack->gp_regs[gpcount++] = *(SINT32 *)avalue[i];
314 stack->gp_regs[gpcount++] = *(UINT32 *)avalue[i];
318 stack->gp_regs[gpcount++] = *(UINT64 *)avalue[i];
322 stack->gp_regs[gpcount++] = (UINT64)(PTR64) *(void **)avalue[i];
327 stf_spill (&stack->fp_regs[fpcount++], *(float *)avalue[i]);
331 stack->gp_regs[gpcount++] = tmp;
337 stf_spill (&stack->fp_regs[fpcount++], *(double *)avalue[i]);
338 memcpy (&stack->gp_regs[gpcount++], avalue[i], sizeof (UINT64));
345 stf_spill (&stack->fp_regs[fpcount++], *(__float80 *)avalue[i]);
346 memcpy (&stack->gp_regs[gpcount], avalue[i], 16);
370 hfa_type_load (&stack->fp_regs[fpcount], hfa_type,
378 memcpy (&stack->gp_regs[gpcount], avalue[i], size);
388 ffi_call_unix (stack, rvalue, fn, cif->flags);
451 ffi_closure_unix_inner (ffi_closure *closure, struct ia64_args *stack,
475 avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 1);
479 avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 2);
483 avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 4);
487 avalue[i] = &stack->gp_regs[gpcount++];
490 avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], sizeof(void*));
496 fpreg *addr = &stack->fp_regs[fpcount++];
503 avalue[i] = endian_adjust(&stack->gp_regs[gpcount], 4);
510 fpreg *addr = &stack->fp_regs[fpcount++];
517 avalue[i] = &stack->gp_regs[gpcount];
526 fpreg *addr = &stack->fp_regs[fpcount++];
533 avalue[i] = &stack->gp_regs[gpcount];
561 &stack->fp_regs[fpcount]);
568 memcpy (addr + offset, (char *)stack->gp_regs + gp_offset,
572 avalue[i] = &stack->gp_regs[gpcount];