summaryrefslogtreecommitdiff
path: root/ocaml-binary-annot/asmcomp/proc.mli
diff options
context:
space:
mode:
Diffstat (limited to 'ocaml-binary-annot/asmcomp/proc.mli')
-rw-r--r--ocaml-binary-annot/asmcomp/proc.mli50
1 files changed, 50 insertions, 0 deletions
diff --git a/ocaml-binary-annot/asmcomp/proc.mli b/ocaml-binary-annot/asmcomp/proc.mli
new file mode 100644
index 0000000000..ba593592bb
--- /dev/null
+++ b/ocaml-binary-annot/asmcomp/proc.mli
@@ -0,0 +1,50 @@
+(***********************************************************************)
+(* *)
+(* Objective Caml *)
+(* *)
+(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
+(* *)
+(* Copyright 1996 Institut National de Recherche en Informatique et *)
+(* en Automatique. All rights reserved. This file is distributed *)
+(* under the terms of the Q Public License version 1.0. *)
+(* *)
+(***********************************************************************)
+
+(* $Id$ *)
+
+(* Processor descriptions *)
+
+(* Instruction selection *)
+val word_addressed: bool
+
+(* Registers available for register allocation *)
+val num_register_classes: int
+val register_class: Reg.t -> int
+val num_available_registers: int array
+val first_available_register: int array
+val register_name: int -> string
+val phys_reg: int -> Reg.t
+val rotate_registers: bool
+
+(* Calling conventions *)
+val loc_arguments: Reg.t array -> Reg.t array * int
+val loc_results: Reg.t array -> Reg.t array
+val loc_parameters: Reg.t array -> Reg.t array
+val loc_external_arguments: Reg.t array -> Reg.t array * int
+val loc_external_results: Reg.t array -> Reg.t array
+val loc_exn_bucket: Reg.t
+
+(* Maximal register pressures for pre-spilling *)
+val safe_register_pressure: Mach.operation -> int
+val max_register_pressure: Mach.operation -> int array
+
+(* Registers destroyed by operations *)
+val destroyed_at_oper: Mach.instruction_desc -> Reg.t array
+val destroyed_at_raise: Reg.t array
+
+(* Info for laying out the stack frame *)
+val num_stack_slots: int array
+val contains_calls: bool ref
+
+(* Calling the assembler *)
+val assemble_file: string -> string -> int