summaryrefslogtreecommitdiff
path: root/coverage/collector.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/collector.py')
-rw-r--r--coverage/collector.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/coverage/collector.py b/coverage/collector.py
index 9c6288cd..66de8b61 100644
--- a/coverage/collector.py
+++ b/coverage/collector.py
@@ -23,6 +23,11 @@ except ImportError:
sys.exit(1)
CTracer = None
+try:
+ import __pypy__
+except ImportError:
+ __pypy__ = None
+
class Collector(object):
"""Collects trace data.
@@ -136,7 +141,10 @@ class Collector(object):
# A cache of the results from should_trace, the decision about whether
# to trace execution in a file. A dict of filename to (filename or
# None).
- self.should_trace_cache = {}
+ if __pypy__ is not None:
+ self.should_trace_cache = __pypy__.newdict("module")
+ else:
+ self.should_trace_cache = {}
# Our active Tracers.
self.tracers = []