PreviousUpNext

15.3.132  src/lib/compiler/back/low/mcg/client-pseudo-ops.api

## client-pseudo-ops.api
#
# This is all about generating assembly-code
# pseudo-ops like ALIGN.
#
# I believe what is going on here is:
#
#     o Base_Pseudo_Ops is functionality supported by MLRISC on all platforms.
#       (Recall that MLRISC was intended to be a universal backend used on many compilers.)
#
#     o Client_Pseudo_Ops is intended to support functionality supported by MLRISC
#       on one particular compiler.
#
#     o The actual Mythryl-specific version is Client_Pseudo_Ops_Mythryl:
#           src/lib/compiler/back/low/main/nextcode/client-pseudo-ops-mythryl.api
#
# Since I'm trying to integrate the MLRSIC-derived backend lowhalf code
# cleanly into the rest of the compiler, these three APIs should probably be
# merged at some point     -- 2011-06-14 CrT            XXX SUCKO FIXME
 
# Compiled by:
#     src/lib/compiler/back/low/lib/lowhalf.lib




# Client pseudo-ops. Must be all related to data and not code.

# This API gets 'include'-ed into
#     src/lib/compiler/back/low/main/nextcode/client-pseudo-ops-mythryl.api
#
api Client_Pseudo_Ops {
    #
    package bpo:  Base_Pseudo_Ops;                                      # Base_Pseudo_Ops       is from   src/lib/compiler/back/low/mcg/base-pseudo-ops.api

    Pseudo_Op;

    put_pseudo_op
        :
        { pseudo_op:    Pseudo_Op,
          loc:          Int,
          put_byte:     one_byte_unt::Unt -> Void
        }
        ->
        Void;

    pseudo_op_to_string:                 Pseudo_Op       -> String;
    current_pseudo_op_size_in_bytes:    (Pseudo_Op, Int) -> Int;
    adjust_labels:                      (Pseudo_Op, Int) -> Bool;
};









## COPYRIGHT (c) 2001 Bell Labs, Lucent Technologies
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext