1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
(* omit-frame-pointer.sig
*
* COPYRIGHT (c) 2019 The Fellowship of SML/NJ (http://www.smlnj.org)
* All rights reserved.
*
* omit the frame pointer based by rewriting to use the stack pointer.
*)
signature OMIT_FRAME_POINTER = sig
structure I : INSTRUCTIONS
structure CFG : CONTROL_FLOW_GRAPH (* where I = I *)
where type I.addressing_mode = I.addressing_mode
and type I.ea = I.ea
and type I.instr = I.instr
and type I.instruction = I.instruction
and type I.operand = I.operand
(* idelta is the intial displacement between the fp and sp. *)
val omitframeptr : {vfp:CellsBasis.cell, idelta:Int32.int option, cfg:CFG.cfg} -> unit
end
|