diff options
Diffstat (limited to 'asmcomp/power/proc.ml')
-rw-r--r-- | asmcomp/power/proc.ml | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/asmcomp/power/proc.ml b/asmcomp/power/proc.ml index 8a585e5a80..3bcd12fcbf 100644 --- a/asmcomp/power/proc.ml +++ b/asmcomp/power/proc.ml @@ -339,28 +339,25 @@ let op_is_pure = function (* Layout of the stack *) -let num_stack_slots = [| 0; 0 |] -let contains_calls = ref false - (* See [reserved_stack_space] in emit.mlp. *) let reserved_stack_space_required () = match abi with | ELF32 -> false | ELF64v1 | ELF64v2 -> true -let frame_required () = +let frame_required fd = let is_elf32 = match abi with | ELF32 -> true | ELF64v1 | ELF64v2 -> false in reserved_stack_space_required () - || num_stack_slots.(0) > 0 - || num_stack_slots.(1) > 0 - || (!contains_calls && is_elf32) + || fd.fun_num_stack_slots.(0) > 0 + || fd.fun_num_stack_slots.(1) > 0 + || (fd.fun_contains_calls && is_elf32) -let prologue_required () = - frame_required () +let prologue_required fd = + frame_required fd (* Calling the assembler *) |