1997-07-24 04:49:12 -07:00
|
|
|
(***********************************************************************)
|
|
|
|
(* *)
|
|
|
|
(* Objective Caml *)
|
|
|
|
(* *)
|
|
|
|
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
|
|
|
|
(* *)
|
|
|
|
(* Copyright 1997 Institut National de Recherche en Informatique et *)
|
|
|
|
(* Automatique. Distributed only by permission. *)
|
|
|
|
(* *)
|
|
|
|
(***********************************************************************)
|
|
|
|
|
|
|
|
(* $Id$ *)
|
|
|
|
|
1998-06-24 12:22:26 -07:00
|
|
|
class reload_generic : object
|
1997-07-24 04:49:12 -07:00
|
|
|
method reload_operation :
|
|
|
|
Mach.operation -> Reg.t array -> Reg.t array -> Reg.t array * Reg.t array
|
|
|
|
method reload_test : Mach.test -> Reg.t array -> Reg.t array
|
|
|
|
(* Can be overriden to reflect instructions that can operate
|
|
|
|
directly on stack locations *)
|
|
|
|
method makereg : Reg.t -> Reg.t
|
|
|
|
(* Can be overriden to avoid creating new registers of some class
|
|
|
|
(i.e. if all "registers" of that class are actually on stack) *)
|
|
|
|
method fundecl : Mach.fundecl -> Mach.fundecl * bool
|
1997-11-13 02:57:10 -08:00
|
|
|
(* The entry point *)
|
1997-07-24 04:49:12 -07:00
|
|
|
end
|