projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Breakpoint code instrumentation
[ghc-hetmet.git]
/
compiler
/
deSugar
/
Desugar.lhs
diff --git
a/compiler/deSugar/Desugar.lhs
b/compiler/deSugar/Desugar.lhs
index
dd2ed6d
..
d16672c
100644
(file)
--- a/
compiler/deSugar/Desugar.lhs
+++ b/
compiler/deSugar/Desugar.lhs
@@
-10,6
+10,7
@@
module Desugar ( deSugar, deSugarExpr ) where
#include "HsVersions.h"
#include "HsVersions.h"
+import Breakpoints
import DynFlags
import StaticFlags
import HscTypes
import DynFlags
import StaticFlags
import HscTypes
@@
-43,8
+44,9
@@
import Maybes
import FastString
import Util
import Coverage
import FastString
import Util
import Coverage
-
+import IOEnv
import Data.IORef
import Data.IORef
+
\end{code}
%************************************************************************
\end{code}
%************************************************************************
@@
-81,9
+83,9
@@
deSugar hsc_env
-- Desugar the program
; let export_set = availsToNameSet exports
; let auto_scc = mkAutoScc mod export_set
-- Desugar the program
; let export_set = availsToNameSet exports
; let auto_scc = mkAutoScc mod export_set
-
+ ; let noDbgSites = []
; mb_res <- case ghcMode dflags of
; mb_res <- case ghcMode dflags of
- JustTypecheck -> return (Just ([], [], NoStubs, noHpcInfo))
+ JustTypecheck -> return (Just ([], [], NoStubs, noHpcInfo, noDbgSites))
_ -> do (binds_cvr,ds_hpc_info)
<- if opt_Hpc
then addCoverageTicksToBinds dflags mod mod_loc binds
_ -> do (binds_cvr,ds_hpc_info)
<- if opt_Hpc
then addCoverageTicksToBinds dflags mod mod_loc binds
@@
-95,10
+97,13
@@
deSugar hsc_env
local_bndrs = mkVarSet (map fst all_prs)
; ds_rules <- mappM (dsRule mod local_bndrs) rules
; return (all_prs, catMaybes ds_rules, ds_fords, ds_hpc_info)
local_bndrs = mkVarSet (map fst all_prs)
; ds_rules <- mappM (dsRule mod local_bndrs) rules
; return (all_prs, catMaybes ds_rules, ds_fords, ds_hpc_info)
+ ; dbgSites_var <- getBkptSitesDs
+ ; dbgSites <- ioToIOEnv$ readIORef dbgSites_var
+ ; return (all_prs, catMaybes ds_rules, ds_fords, ds_hpc_info, dbgSites)
}
; case mb_res of {
Nothing -> return Nothing ;
}
; case mb_res of {
Nothing -> return Nothing ;
- Just (all_prs, ds_rules, ds_fords,ds_hpc_info) -> do
+ Just (all_prs, ds_rules, ds_fords,ds_hpc_info, dbgSites) -> do
{ -- Add export flags to bindings
keep_alive <- readIORef keep_var
{ -- Add export flags to bindings
keep_alive <- readIORef keep_var
@@
-167,7
+172,8
@@
deSugar hsc_env
mg_rules = ds_rules,
mg_binds = ds_binds,
mg_foreign = ds_fords,
mg_rules = ds_rules,
mg_binds = ds_binds,
mg_foreign = ds_fords,
- mg_hpc_info = ds_hpc_info }
+ mg_hpc_info = ds_hpc_info,
+ mg_dbg_sites = dbgSites }
; return (Just mod_guts)
}}}
; return (Just mod_guts)
}}}