Commit da7f7479 authored by Sylvain Henry's avatar Sylvain Henry Committed by Marge Bot

Module hierarchy: ByteCode and Runtime (cf #13009)

Update haddock submodule
parent f82a2f90
Pipeline #15697 passed with stages
in 357 minutes and 47 seconds
......@@ -4,8 +4,8 @@
-- (c) The University of Glasgow 2002-2006
--
-- | ByteCodeLink: Bytecode assembler and linker
module ByteCodeAsm (
-- | Bytecode assembler and linker
module GHC.ByteCode.Asm (
assembleBCOs, assembleOneBCO,
bcoFreeNames,
......@@ -17,11 +17,11 @@ module ByteCodeAsm (
import GhcPrelude
import ByteCodeInstr
import ByteCodeItbls
import ByteCodeTypes
import GHC.ByteCode.Instr
import GHC.ByteCode.InfoTable
import GHC.ByteCode.Types
import GHCi.RemoteTypes
import GHCi
import GHC.Runtime.Interpreter
import HscTypes
import Name
......@@ -30,7 +30,7 @@ import Literal
import TyCon
import FastString
import GHC.StgToCmm.Layout ( ArgRep(..) )
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import DynFlags
import Outputable
import GHC.Platform
......@@ -460,8 +460,8 @@ assembleI dflags i = case i of
LitNumWord -> int (fromIntegral i)
LitNumInt64 -> int64 (fromIntegral i)
LitNumWord64 -> int64 (fromIntegral i)
LitNumInteger -> panic "ByteCodeAsm.literal: LitNumInteger"
LitNumNatural -> panic "ByteCodeAsm.literal: LitNumNatural"
LitNumInteger -> panic "GHC.ByteCode.Asm.literal: LitNumInteger"
LitNumNatural -> panic "GHC.ByteCode.Asm.literal: LitNumNatural"
-- We can lower 'LitRubbish' to an arbitrary constant, but @NULL@ is most
-- likely to elicit a crash (rather than corrupt memory) in case absence
-- analysis messed up.
......
......@@ -4,15 +4,15 @@
-- (c) The University of Glasgow 2002-2006
--
-- | ByteCodeItbls: Generate infotables for interpreter-made bytecodes
module ByteCodeItbls ( mkITbls ) where
-- | Generate infotables for interpreter-made bytecodes
module GHC.ByteCode.InfoTable ( mkITbls ) where
#include "HsVersions.h"
import GhcPrelude
import ByteCodeTypes
import GHCi
import GHC.ByteCode.Types
import GHC.Runtime.Interpreter
import DynFlags
import HscTypes
import Name ( Name, getName )
......
......@@ -4,8 +4,8 @@
-- (c) The University of Glasgow 2002-2006
--
-- | ByteCodeInstrs: Bytecode instruction definitions
module ByteCodeInstr (
-- | Bytecode instruction definitions
module GHC.ByteCode.Instr (
BCInstr(..), ProtoBCO(..), bciStackUse,
) where
......@@ -13,7 +13,7 @@ module ByteCodeInstr (
import GhcPrelude
import ByteCodeTypes
import GHC.ByteCode.Types
import GHCi.RemoteTypes
import GHCi.FFI (C_ffi_cif)
import GHC.StgToCmm.Layout ( ArgRep(..) )
......@@ -28,7 +28,7 @@ import Literal
import DataCon
import VarSet
import PrimOp
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import Data.Word
import GHC.Stack.CCS (CostCentre)
......
......@@ -8,8 +8,8 @@
-- (c) The University of Glasgow 2002-2006
--
-- | ByteCodeLink: Bytecode assembler and linker
module ByteCodeLink (
-- | Bytecode assembler and linker
module GHC.ByteCode.Linker (
ClosureEnv, emptyClosureEnv, extendClosureEnv,
linkBCO, lookupStaticPtr,
lookupIE,
......@@ -25,8 +25,8 @@ import GHCi.ResolvedBCO
import GHCi.BreakArray
import SizedSeq
import GHCi
import ByteCodeTypes
import GHC.Runtime.Interpreter
import GHC.ByteCode.Types
import HscTypes
import Name
import NameEnv
......@@ -90,7 +90,7 @@ lookupStaticPtr hsc_env addr_of_label_string = do
m <- lookupSymbol hsc_env addr_of_label_string
case m of
Just ptr -> return ptr
Nothing -> linkFail "ByteCodeLink: can't find label"
Nothing -> linkFail "GHC.ByteCode.Linker: can't find label"
(unpackFS addr_of_label_string)
lookupIE :: HscEnv -> ItblEnv -> Name -> IO (Ptr ())
......@@ -108,7 +108,7 @@ lookupIE hsc_env ie con_nm =
n <- lookupSymbol hsc_env sym_to_find2
case n of
Just addr -> return addr
Nothing -> linkFail "ByteCodeLink.lookupIE"
Nothing -> linkFail "GHC.ByteCode.Linker.lookupIE"
(unpackFS sym_to_find1 ++ " or " ++
unpackFS sym_to_find2)
......@@ -118,7 +118,7 @@ lookupPrimOp hsc_env primop = do
m <- lookupSymbol hsc_env (mkFastString sym_to_find)
case m of
Just p -> return (toRemotePtr p)
Nothing -> linkFail "ByteCodeLink.lookupCE(primop)" sym_to_find
Nothing -> linkFail "GHC.ByteCode.Linker.lookupCE(primop)" sym_to_find
resolvePtr
:: HscEnv -> ItblEnv -> ClosureEnv -> NameEnv Int -> RemoteRef BreakArray
......@@ -135,7 +135,7 @@ resolvePtr hsc_env _ie ce bco_ix _ (BCOPtrName nm)
m <- lookupSymbol hsc_env sym_to_find
case m of
Just p -> return (ResolvedBCOStaticPtr (toRemotePtr p))
Nothing -> linkFail "ByteCodeLink.lookupCE" (unpackFS sym_to_find)
Nothing -> linkFail "GHC.ByteCode.Linker.lookupCE" (unpackFS sym_to_find)
resolvePtr hsc_env _ _ _ _ (BCOPtrPrimOp op) =
ResolvedBCOStaticPtr <$> lookupPrimOp hsc_env op
resolvePtr hsc_env ie ce bco_ix breakarray (BCOPtrBCO bco) =
......
......@@ -4,7 +4,7 @@
--
-- | Bytecode assembler types
module ByteCodeTypes
module GHC.ByteCode.Types
( CompiledByteCode(..), seqCompiledByteCode, FFIInfo(..)
, UnlinkedBCO(..), BCOPtr(..), BCONPtr(..)
, ItblEnv, ItblPtr(..)
......@@ -114,7 +114,7 @@ data CgBreakInfo
{ cgb_vars :: [Maybe (Id,Word16)]
, cgb_resty :: Type
}
-- See Note [Syncing breakpoint info] in compiler/main/InteractiveEval.hs
-- See Note [Syncing breakpoint info] in GHC.Runtime.Eval
-- Not a real NFData instance because we can't rnf Id or Type
seqCgBreakInfo :: CgBreakInfo -> ()
......
......@@ -31,7 +31,7 @@ import CostCentre
import GHC.Cmm.CLabel
import GHC.Cmm.BlockId
import GHC.Cmm.Node
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import GHC.Cmm.Expr
import GHC.Cmm.Dataflow.Block
import GHC.Cmm.Dataflow.Collections
......
......@@ -8,7 +8,7 @@ module GHC.Cmm.CallConv (
import GhcPrelude
import GHC.Cmm.Expr
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import GHC.Cmm (Convention(..))
import GHC.Cmm.Ppr () -- For Outputable instances
......
......@@ -35,7 +35,7 @@ import DynFlags
import FastString
import ForeignCall
import OrdList
import GHC.Runtime.Layout (ByteOff)
import GHC.Runtime.Heap.Layout (ByteOff)
import UniqSupply
import Util
import Panic
......
......@@ -38,7 +38,7 @@ import GhcPrelude
import GHC.Cmm
import GHC.Cmm.Utils
import GHC.Cmm.CLabel
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import GHC.Data.Bitmap
import Stream (Stream)
import qualified Stream
......
......@@ -27,7 +27,7 @@ import GHC.Cmm.Utils
import DynFlags
import Maybes
import Outputable
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import UniqSupply
import CostCentre
import GHC.StgToCmm.Heap
......
......@@ -18,7 +18,7 @@ import GHC.Cmm.Graph
import ForeignCall
import GHC.Cmm.Liveness
import GHC.Cmm.ProcPoint
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import GHC.Cmm.Dataflow.Block
import GHC.Cmm.Dataflow.Collections
import GHC.Cmm.Dataflow
......
......@@ -35,7 +35,7 @@ import DynFlags
import FastString
import ForeignCall
import Outputable
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import CoreSyn (Tickish)
import qualified Unique as U
......
......@@ -231,7 +231,7 @@ import GHC.Cmm.BlockId
import GHC.Cmm.Lexer
import GHC.Cmm.CLabel
import GHC.Cmm.Monad
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import Lexer
import CostCentre
......
......@@ -75,7 +75,7 @@ import GhcPrelude
import TyCon ( PrimRep(..), PrimElemRep(..) )
import GHC.Types.RepType ( UnaryType, SlotTy (..), typePrimRep1 )
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import GHC.Cmm
import GHC.Cmm.BlockId
import GHC.Cmm.CLabel
......
......@@ -7,18 +7,18 @@
-- (c) The University of Glasgow 2002-2006
--
-- | ByteCodeGen: Generate bytecode from Core
module ByteCodeGen ( UnlinkedBCO, byteCodeGen, coreExprToBCOs ) where
-- | GHC.CoreToByteCode: Generate bytecode from Core
module GHC.CoreToByteCode ( UnlinkedBCO, byteCodeGen, coreExprToBCOs ) where
#include "HsVersions.h"
import GhcPrelude
import ByteCodeInstr
import ByteCodeAsm
import ByteCodeTypes
import GHC.ByteCode.Instr
import GHC.ByteCode.Asm
import GHC.ByteCode.Types
import GHCi
import GHC.Runtime.Interpreter
import GHCi.FFI
import GHCi.RemoteTypes
import BasicTypes
......@@ -51,7 +51,7 @@ import FastString
import Panic
import GHC.StgToCmm.Closure ( NonVoid(..), fromNonVoid, nonVoidIds )
import GHC.StgToCmm.Layout
import GHC.Runtime.Layout hiding (WordOff, ByteOff, wordsToBytes)
import GHC.Runtime.Heap.Layout hiding (WordOff, ByteOff, wordsToBytes)
import GHC.Data.Bitmap
import OrdList
import Maybes
......@@ -88,7 +88,7 @@ byteCodeGen :: HscEnv
-> IO CompiledByteCode
byteCodeGen hsc_env this_mod binds tycs mb_modBreaks
= withTiming dflags
(text "ByteCodeGen"<+>brackets (ppr this_mod))
(text "GHC.CoreToByteCode"<+>brackets (ppr this_mod))
(const ()) $ do
-- Split top-level binds into strings and others.
-- See Note [generating code for top-level string literal bindings].
......@@ -105,7 +105,7 @@ byteCodeGen hsc_env this_mod binds tycs mb_modBreaks
mapM schemeTopBind flatBinds
when (notNull ffis)
(panic "ByteCodeGen.byteCodeGen: missing final emitBc?")
(panic "GHC.CoreToByteCode.byteCodeGen: missing final emitBc?")
dumpIfSet_dyn dflags Opt_D_dump_BCOs
"Proto-BCOs" FormatByteCode
......@@ -161,7 +161,7 @@ coreExprToBCOs :: HscEnv
-> IO UnlinkedBCO
coreExprToBCOs hsc_env this_mod expr
= withTiming dflags
(text "ByteCodeGen"<+>brackets (ppr this_mod))
(text "GHC.CoreToByteCode"<+>brackets (ppr this_mod))
(const ()) $ do
-- create a totally bogus name for the top-level BCO; this
-- should be harmless, since it's never used for anything
......@@ -175,7 +175,7 @@ coreExprToBCOs hsc_env this_mod expr
schemeR [] (invented_name, simpleFreeVars expr)
when (notNull mallocd)
(panic "ByteCodeGen.coreExprToBCOs: missing final emitBc?")
(panic "GHC.CoreToByteCode.coreExprToBCOs: missing final emitBc?")
dumpIfSet_dyn dflags Opt_D_dump_BCOs "Proto-BCOs" FormatByteCode
(ppr proto_bco)
......@@ -212,7 +212,7 @@ bytesToWords dflags (ByteOff bytes) =
let (q, r) = bytes `quotRem` (wORD_SIZE dflags)
in if r == 0
then fromIntegral q
else panic $ "ByteCodeGen.bytesToWords: bytes=" ++ show bytes
else panic $ "GHC.CoreToByteCode.bytesToWords: bytes=" ++ show bytes
wordSize :: DynFlags -> ByteOff
wordSize dflags = ByteOff (wORD_SIZE dflags)
......@@ -674,7 +674,7 @@ schemeE d s p (AnnCase scrut bndr _ alts)
= doCase d s p scrut bndr alts Nothing{-not an unboxed tuple-}
schemeE _ _ _ expr
= pprPanic "ByteCodeGen.schemeE: unhandled case"
= pprPanic "GHC.CoreToByteCode.schemeE: unhandled case"
(pprCoreExpr (deAnnotate' expr))
-- Is this Id a not-necessarily-lifted join point?
......@@ -965,7 +965,7 @@ findPushSeq (D: rest)
findPushSeq (L: rest)
= (PUSH_APPLY_L, 1, rest)
findPushSeq _
= panic "ByteCodeGen.findPushSeq"
= panic "GHC.CoreToByteCode.findPushSeq"
-- -----------------------------------------------------------------------------
-- Case expressions
......@@ -1222,7 +1222,7 @@ generateCCall d0 s p (CCallSpec target cconv safety) fn args_r_to_l
!d_after_args = d0 + wordsToBytes dflags a_reps_sizeW
a_reps_pushed_RAW
| null a_reps_pushed_r_to_l || not (isVoidRep (head a_reps_pushed_r_to_l))
= panic "ByteCodeGen.generateCCall: missing or invalid World token?"
= panic "GHC.CoreToByteCode.generateCCall: missing or invalid World token?"
| otherwise
= reverse (tail a_reps_pushed_r_to_l)
......@@ -1294,7 +1294,7 @@ generateCCall d0 s p (CCallSpec target cconv safety) fn args_r_to_l
a_reps -- | trace (showSDoc (ppr a_reps_pushed_RAW)) False = error "???"
| is_static = a_reps_pushed_RAW
| otherwise = if null a_reps_pushed_RAW
then panic "ByteCodeGen.generateCCall: dyn with no args"
then panic "GHC.CoreToByteCode.generateCCall: dyn with no args"
else tail a_reps_pushed_RAW
-- push the Addr#
......@@ -1324,7 +1324,7 @@ generateCCall d0 s p (CCallSpec target cconv safety) fn args_r_to_l
conv = case cconv of
CCallConv -> FFICCall
StdCallConv -> FFIStdCall
_ -> panic "ByteCodeGen: unexpected calling convention"
_ -> panic "GHC.CoreToByteCode: unexpected calling convention"
-- the only difference in libffi mode is that we prepare a cif
-- describing the call type by calling libffi, and we attach the
......@@ -1620,7 +1620,7 @@ pushAtom _ _ (AnnLit lit) = do
LitNumNatural -> panic "pushAtom: LitNatural"
pushAtom _ _ expr
= pprPanic "ByteCodeGen.pushAtom"
= pprPanic "GHC.CoreToByteCode.pushAtom"
(pprCoreExpr (deAnnotate' expr))
......@@ -2007,7 +2007,7 @@ getLabelsBc n
getCCArray :: BcM (Array BreakIndex (RemotePtr CostCentre))
getCCArray = BcM $ \st ->
let breaks = expectJust "ByteCodeGen.getCCArray" $ modBreaks st in
let breaks = expectJust "GHC.CoreToByteCode.getCCArray" $ modBreaks st in
return (st, modBreaks_ccs breaks)
......
......@@ -946,7 +946,7 @@ pragma. It is levity-polymorphic.
-> (# State# RealWorld, o #)
It needs no special treatment in GHC except this special inlining here
in CorePrep (and in ByteCodeGen).
in CorePrep (and in GHC.CoreToByteCode).
-- ---------------------------------------------------------------------------
-- CpeArg: produces a result satisfying CpeArg
......
......@@ -17,7 +17,7 @@ module GHC.Data.Bitmap (
import GhcPrelude
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import DynFlags
import Util
......
......@@ -12,14 +12,14 @@
--
-----------------------------------------------------------------------------
module Debugger (pprintClosureCommand, showTerm, pprTypeAndContents) where
module GHC.Runtime.Debugger (pprintClosureCommand, showTerm, pprTypeAndContents) where
import GhcPrelude
import Linker
import RtClosureInspect
import GHC.Runtime.Linker
import GHC.Runtime.Heap.Inspect
import GHCi
import GHC.Runtime.Interpreter
import GHCi.RemoteTypes
import GhcMonad
import HscTypes
......
......@@ -11,7 +11,7 @@
--
-- -----------------------------------------------------------------------------
module InteractiveEval (
module GHC.Runtime.Eval (
Resume(..), History(..),
execStmt, execStmt', ExecOptions(..), execOptions, ExecResult(..), resumeExec,
runDecls, runDeclsWithLocation, runParsedDecls,
......@@ -48,9 +48,9 @@ module InteractiveEval (
import GhcPrelude
import InteractiveEvalTypes
import GHC.Runtime.Eval.Types
import GHCi
import GHC.Runtime.Interpreter as GHCi
import GHCi.Message
import GHCi.RemoteTypes
import GhcMonad
......@@ -75,8 +75,8 @@ import NameSet
import Avail
import RdrName
import VarEnv
import ByteCodeTypes
import Linker
import GHC.ByteCode.Types
import GHC.Runtime.Linker as Linker
import DynFlags
import Unique
import UniqSupply
......@@ -88,7 +88,7 @@ import Panic
import Maybes
import ErrUtils
import SrcLoc
import RtClosureInspect
import GHC.Runtime.Heap.Inspect
import Outputable
import FastString
import Bag
......@@ -661,7 +661,7 @@ pushResume hsc_env resume = hsc_env { hsc_IC = ictxt1 }
Note [Syncing breakpoint info]
To display the values of the free variables for a single breakpoint, the
function `compiler/main/InteractiveEval.hs:bindLocalsAtBreakpoint` pulls
function `GHC.Runtime.Eval.bindLocalsAtBreakpoint` pulls
out the information from the fields `modBreaks_breakInfo` and
`modBreaks_vars` of the `ModBreaks` data structure.
For a specific breakpoint this gives 2 lists of type `Id` (or `Var`)
......@@ -671,9 +671,9 @@ pushResume hsc_env resume = hsc_env { hsc_IC = ictxt1 }
There are 3 situations where items are removed from the Id list
(or replaced with `Nothing`):
1.) If function `compiler/ghci/ByteCodeGen.hs:schemeER_wrk` (which creates
1.) If function `GHC.CoreToByteCode.schemeER_wrk` (which creates
the Id list) doesn't find an Id in the ByteCode environement.
2.) If function `compiler/main/InteractiveEval.hs:bindLocalsAtBreakpoint`
2.) If function `GHC.Runtime.Eval.bindLocalsAtBreakpoint`
filters out unboxed elements from the Id list, because GHCi cannot
yet handle them.
3.) If the GHCi interpreter doesn't find the reference to a free variable
......
......@@ -6,7 +6,7 @@
--
-- -----------------------------------------------------------------------------
module InteractiveEvalTypes (
module GHC.Runtime.Eval.Types (
Resume(..), History(..), ExecResult(..),
SingleStep(..), isStep, ExecOptions(..),
BreakInfo(..)
......
......@@ -7,7 +7,7 @@
-- Pepe Iborra (supported by Google SoC) 2006
--
-----------------------------------------------------------------------------
module RtClosureInspect(
module GHC.Runtime.Heap.Inspect(
-- * Entry points and types
cvObtainTerm,
cvReconstructType,
......@@ -27,7 +27,7 @@ module RtClosureInspect(
import GhcPrelude
import GHCi
import GHC.Runtime.Interpreter as GHCi
import GHCi.RemoteTypes
import HscTypes
......@@ -58,7 +58,7 @@ import DynFlags
import Outputable as Ppr
import GHC.Char
import GHC.Exts.Heap
import GHC.Runtime.Layout ( roundUpTo )
import GHC.Runtime.Heap.Layout ( roundUpTo )
import Control.Monad
import Data.Maybe
......
......@@ -5,7 +5,7 @@
{-# LANGUAGE CPP,GeneralizedNewtypeDeriving #-}
module GHC.Runtime.Layout (
module GHC.Runtime.Heap.Layout (
-- * Words and bytes
WordOff, ByteOff,
wordsToBytes, bytesToWordsRoundUp,
......
......@@ -4,7 +4,7 @@
-- | Interacting with the interpreter, whether it is running on an
-- external process or in the current process.
--
module GHCi
module GHC.Runtime.Interpreter
( -- * High-level interface to the interpreter
evalStmt, EvalStatus_(..), EvalStatus, EvalResult(..), EvalExpr(..)
, resumeStmt
......@@ -135,7 +135,7 @@ The main pieces are:
server. This is a fairly simple wrapper, most of the functionality
is provided by modules in libraries/ghci.
- This module (GHCi) which provides the interface to the server used
- This module which provides the interface to the server used
by the rest of GHC.
GHC works with and without -fexternal-interpreter. With the flag, all
......
......@@ -9,25 +9,34 @@
-- This module deals with the top-level issues of dynamic linking,
-- calling the object-code linker and the byte-code linker where
-- necessary.
module Linker ( getHValue, showLinkerState,
linkExpr, linkDecls, unload, withExtendedLinkEnv,
extendLinkEnv, deleteFromLinkEnv,
extendLoadedPkgs,
linkPackages, initDynLinker, linkModule,
linkCmdLineLibs,
uninitializedLinker
) where
module GHC.Runtime.Linker
( getHValue
, showLinkerState
, linkExpr
, linkDecls
, unload
, withExtendedLinkEnv
, extendLinkEnv
, deleteFromLinkEnv
, extendLoadedPkgs
, linkPackages
, initDynLinker
, linkModule
, linkCmdLineLibs
, uninitializedLinker
)
where
#include "HsVersions.h"
import GhcPrelude
import GHCi
import GHC.Runtime.Interpreter
import GHCi.RemoteTypes
import GHC.Iface.Load
import ByteCodeLink
import ByteCodeAsm
import ByteCodeTypes
import GHC.ByteCode.Linker
import GHC.ByteCode.Asm
import GHC.ByteCode.Types
import TcRnMonad
import Packages
import DriverPhases
......@@ -37,7 +46,7 @@ import Name
import NameEnv
import Module
import ListSetOps
import LinkerTypes (DynLinker(..), LinkerUnitId, PersistentLinkerState(..))
import GHC.Runtime.Linker.Types (DynLinker(..), LinkerUnitId, PersistentLinkerState(..))
import DynFlags
import BasicTypes
import Outputable
......@@ -175,7 +184,7 @@ getHValue hsc_env name = do
m <- lookupClosure hsc_env (unpackFS sym_to_find)
case m of
Just hvref -> mkFinalizedHValue hsc_env hvref
Nothing -> linkFail "ByteCodeLink.lookupCE"
Nothing -> linkFail "GHC.ByteCode.Linker.lookupCE"
(unpackFS sym_to_find)
linkDependencies :: HscEnv -> PersistentLinkerState
......
......@@ -6,7 +6,7 @@
--
-----------------------------------------------------------------------------
module LinkerTypes (
module GHC.Runtime.Linker.Types (
DynLinker(..),
PersistentLinkerState(..),
LinkerUnitId,
......@@ -20,7 +20,7 @@ import Data.Time ( UTCTime )
import Data.Maybe ( Maybe )
import Control.Concurrent.MVar ( MVar )
import Module ( InstalledUnitId, Module )
import ByteCodeTypes ( ItblEnv, CompiledByteCode )
import GHC.ByteCode.Types ( ItblEnv, CompiledByteCode )
import Outputable
import Var ( Id )
import GHC.Fingerprint.Type ( Fingerprint )
......
{-# LANGUAGE CPP, MagicHash #-}
-- | Dynamically lookup up values from modules and loading them.
module DynamicLoading (
module GHC.Runtime.Loader (
initializePlugins,
-- * Loading plugins
loadFrontendPlugin,
......@@ -23,8 +23,8 @@ module DynamicLoading (
import GhcPrelude
import DynFlags
import Linker ( linkModule, getHValue )
import GHCi ( wormhole )
import GHC.Runtime.Linker ( linkModule, getHValue )
import GHC.Runtime.Interpreter ( wormhole )
import SrcLoc ( noSrcSpan )
import Finder ( findPluginModule, cannotFindModule )
import TcRnMonad ( initTcInteractive, initIfaceTcRn )
......
......@@ -26,7 +26,7 @@ import BasicTypes
import Demand
import DynFlags
import Id
import GHC.Runtime.Layout ( WordOff )
import GHC.Runtime.Heap.Layout ( WordOff )
import GHC.Stg.Syntax
import qualified GHC.StgToCmm.ArgRep as StgToCmm.ArgRep
import qualified GHC.StgToCmm.Closure as StgToCmm.Closure
......
......@@ -19,7 +19,7 @@ import GhcPrelude
import GHC.StgToCmm.Closure ( idPrimRep )
import GHC.Runtime.Layout ( WordOff )
import GHC.Runtime.Heap.Layout ( WordOff )
import Id ( Id )
import TyCon ( PrimRep(..), primElemRepSizeB )
import BasicTypes ( RepArity )
......
......@@ -31,7 +31,7 @@ import GHC.StgToCmm.Foreign (emitPrimCall)
import GHC.Cmm.Graph
import CoreSyn ( AltCon(..), tickishIsCode )
import GHC.Cmm.BlockId
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import GHC.Cmm
import GHC.Cmm.Info
import GHC.Cmm.Utils
......
......@@ -67,7 +67,7 @@ module GHC.StgToCmm.Closure (
import GhcPrelude
import GHC.Stg.Syntax
import GHC.Runtime.Layout
import GHC.Runtime.Heap.Layout
import GHC.Cmm
import GHC.Cmm.Ppr.Expr() -- For Outputable instances
......
......@@ -33,7 +33,7 @@ import GHC.Cmm.Expr
import GHC.Cmm.Utils
import GHC.Cmm.CLabel