| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
GHC.ByteCode.Binary
Synopsis
- data OnDiskModuleByteCode = OnDiskModuleByteCode {}
- data BytecodeLibX a = BytecodeLib {}
- type BytecodeLib = BytecodeLibX (Maybe InterpreterLibrary)
- type OnDiskBytecodeLib = BytecodeLibX (Maybe InterpreterLibraryContents)
- data InterpreterLibrary
- data InterpreterLibraryContents
- data BytecodeNameEnv = ByteCodeNameEnv {}
- addBinNameWriter :: WriteBinHandle -> IO WriteBinHandle
- addBinNameReader :: NameCache -> ReadBinHandle -> IO ReadBinHandle
ByteCode objects on disk and intermediate representations
data OnDiskModuleByteCode Source #
The on-disk representation of a bytecode object for a specific module.
This is the representation which we serialise and write to disk.
The difference from ModuleByteCode is that the contents of the object files
contained by ModuleByteCode are stored in-memory rather than as file paths to
temporary files.
Constructors
| OnDiskModuleByteCode | |
Fields
| |
Instances
| Binary OnDiskModuleByteCode Source # | |
Defined in GHC.ByteCode.Binary Methods put_ :: WriteBinHandle -> OnDiskModuleByteCode -> IO () Source # put :: WriteBinHandle -> OnDiskModuleByteCode -> IO (Bin OnDiskModuleByteCode) Source # | |
data BytecodeLibX a Source #
A bytecode library is a collection of CompiledByteCode objects and a .so file containing the combination of foreign stubs
Constructors
| BytecodeLib | |
Fields | |
Instances
| Binary OnDiskBytecodeLib Source # | |
Defined in GHC.ByteCode.Binary Methods put_ :: WriteBinHandle -> OnDiskBytecodeLib -> IO () Source # put :: WriteBinHandle -> OnDiskBytecodeLib -> IO (Bin OnDiskBytecodeLib) Source # get :: ReadBinHandle -> IO OnDiskBytecodeLib Source # | |
| Outputable a => Outputable (BytecodeLibX a) Source # | |
Defined in GHC.ByteCode.Binary Methods ppr :: BytecodeLibX a -> SDoc Source # | |
type BytecodeLib = BytecodeLibX (Maybe InterpreterLibrary) Source #
data InterpreterLibrary Source #
Constructors
| InterpreterSharedObject | |
| InterpreterStaticObjects | |
Fields
| |
Instances
| Outputable InterpreterLibrary Source # | |
Defined in GHC.ByteCode.Binary Methods ppr :: InterpreterLibrary -> SDoc Source # | |
data InterpreterLibraryContents Source #
Constructors
| InterpreterLibrarySharedContents | |
Fields | |
| InterpreterLibraryStaticContents | |
Fields | |
Instances
| Binary InterpreterLibraryContents Source # | |
Defined in GHC.ByteCode.Binary Methods put_ :: WriteBinHandle -> InterpreterLibraryContents -> IO () Source # put :: WriteBinHandle -> InterpreterLibraryContents -> IO (Bin InterpreterLibraryContents) Source # get :: ReadBinHandle -> IO InterpreterLibraryContents Source # | |
| Binary OnDiskBytecodeLib Source # | |
Defined in GHC.ByteCode.Binary Methods put_ :: WriteBinHandle -> OnDiskBytecodeLib -> IO () Source # put :: WriteBinHandle -> OnDiskBytecodeLib -> IO (Bin OnDiskBytecodeLib) Source # get :: ReadBinHandle -> IO OnDiskBytecodeLib Source # | |
Binary Name serializers
data BytecodeNameEnv Source #
Constructors
| ByteCodeNameEnv | |
Fields | |
addBinNameReader :: NameCache -> ReadBinHandle -> IO ReadBinHandle Source #
Orphan instances
| Binary BCONPtr Source # | |
| Binary BCOPtr Source # | |
| Binary CompiledByteCode Source # | |
Methods put_ :: WriteBinHandle -> CompiledByteCode -> IO () Source # put :: WriteBinHandle -> CompiledByteCode -> IO (Bin CompiledByteCode) Source # get :: ReadBinHandle -> IO CompiledByteCode Source # | |
| Binary UnlinkedBCO Source # | |
Methods put_ :: WriteBinHandle -> UnlinkedBCO -> IO () Source # put :: WriteBinHandle -> UnlinkedBCO -> IO (Bin UnlinkedBCO) Source # get :: ReadBinHandle -> IO UnlinkedBCO Source # | |
| Binary (BCOByteArray a) Source # | |
Methods put_ :: WriteBinHandle -> BCOByteArray a -> IO () Source # put :: WriteBinHandle -> BCOByteArray a -> IO (Bin (BCOByteArray a)) Source # get :: ReadBinHandle -> IO (BCOByteArray a) Source # | |