1(* 2 Copyright David C. J. Matthews 2017-8 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License version 2.1 as published by the Free Software Foundation. 7 8 This library is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 Lesser General Public License for more details. 12 13 You should have received a copy of the GNU Lesser General Public 14 License along with this library; if not, write to the Free Software 15 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 16*) 17 18signature X86ICODEGENERATESIG = 19sig 20 type intSet and extendedBasicBlock and regProperty and reg 21 type closureRef 22 23 val icodeToX86Code : 24 { 25 blocks: extendedBasicBlock vector, allocatedRegisters: reg vector, functionName: string, 26 stackRequired: int, debugSwitches: Universal.universal list, resultClosure: closureRef 27 } -> unit 28 29 val nGenRegs: int (* Number of general registers. *) 30 31 structure Sharing: 32 sig 33 type intSet = intSet 34 and extendedBasicBlock = extendedBasicBlock 35 and regProperty = regProperty 36 and reg = reg 37 and closureRef = closureRef 38 end 39end; 40