Module X86_proc
Definitions shared between the 32 and 64 bit Intel backends.
Helpers for textual emitters
val buf_bytes_directive : Buffer.t -> string -> string -> unitBuffer of assembly code
val create_asm_file : bool refval current_output_pos : unit -> output_posval output_range :
from_pos:output_pos ->
to_pos:output_pos ->
X86_ast.asm_line listval peephole_optimize_from : output_pos -> unitCode emission
Post-process the stream of instructions. Dump it (using the provided syntax emitter) in a file (if provided) and compile it with an internal assembler (if registered through register_internal_assembler).
Generate an object file corresponding to the last call to generate_code. An internal assembler is used if available (and the input file is ignored). Otherwise, the source asm file with an external assembler.
System detection
val system : systemval is_linux : system -> boolval is_macosx : system -> boolval is_win32 : system -> boolval is_win64 : system -> boolval is_solaris : system -> boolmodule Section_name = X86_section.Section_nameSupport for plumbing a binary code emitter
val internal_assembler :
(delayed:(unit -> (Section_name.t * X86_ast.asm_program) list) ->
(Section_name.t * X86_ast.asm_program) list ->
string ->
unit)
option
refval register_internal_assembler :
(delayed:(unit -> (Section_name.t * X86_ast.asm_program) list) ->
(Section_name.t * X86_ast.asm_program) list ->
string ->
unit) ->
unit