PreviousUpNext

14.5.5  Compiledfile

The compiler Compiledfile api defines access to Mythryl native object-code files, conventionally stored with .compiled extensions. These are analogous to unix .o files, but customized to meet the specialized needs of the Mythryl development platform.

The Compiledfile api is implemented by the compiledfile package.

The Compiledfile api source code is in src/lib/compiler/execution/compiledfile/compiledfile.api.

The above information is manually maintained and may contain errors.

api {
    Compiledfile;
    exception FORMAT_ERROR;
          Component_Bytesizes  =
          {code_bytesize:Int, data_bytesize:Int, inlinables_bytesize:Int, symbolmapstack_bytesize:Int};
    Pickle  = {pickle:vector_of_one_byte_unts::Vector, picklehash:picklehash::Picklehash};
    hash_of_symbolmapstack_pickle : Compiledfile -> picklehash::Picklehash;
    hash_of_pickled_exports : Compiledfile -> Null_Or(picklehash::Picklehash );
    hash_of_pickled_inlinables : Compiledfile -> picklehash::Picklehash;
    picklehash_list : Compiledfile -> List(picklehash::Picklehash );
    pickle_of_symbolmapstack : Compiledfile -> Pickle;
    pickle_of_inlinables : Compiledfile -> Pickle;
    get_compiledfile_version : Compiledfile -> String;
        make_compiledfile :
                {code_and_data_segments:code_segment::Code_And_Data_Segments, compiledfile_version:String,
                export_picklehash:Null_Or(picklehash::Picklehash ), import_trees:List(import_tree::Import_Tree ),
                inlinables:Pickle, picklehash_list:List(picklehash::Picklehash ), symbolmapstack:Pickle}
            ->
            Compiledfile;
    read_version : winix_data_file_for_posix__premicrothread::Input_Stream -> String;
        read_compiledfile :
                {architecture:?.supported_architectures::Supported_Architectures, compiler_version_id:List(Int ),
                stream:winix_data_file_for_posix__premicrothread::Input_Stream}
            ->
            {compiledfile:Compiledfile, component_bytesizes:Component_Bytesizes};
        write_compiledfile :
                {architecture:?.supported_architectures::Supported_Architectures, compiledfile:Compiledfile,
                compiler_version_id:List(Int ), drop_symbol_and_inlining_mapstacks:Bool,
                stream:winix_data_file_for_posix__premicrothread::Output_Stream}
            ->
            Component_Bytesizes;
        compiledfile_bytesize_on_disk :
        {compiledfile:Compiledfile, drop_symbol_and_inlining_mapstacks:Bool} -> Int;
        link_and_run_compiledfile :
            (Compiledfile , linking_mapstack::Picklehash_To_Heapchunk_Mapstack , (Exception -> Exception))
            ->
            linking_mapstack::Picklehash_To_Heapchunk_Mapstack;};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext