mercurial/statprof.py
changeset 42836 cd3b5be5515d
parent 42835 db6d7cbda80b
child 42837 cde1c101ab8a
--- a/mercurial/statprof.py	Fri Aug 30 16:44:31 2019 -0700
+++ b/mercurial/statprof.py	Fri Aug 30 15:30:47 2019 -0700
@@ -875,7 +875,10 @@
               if idx not in blacklist]
     frames = collections.OrderedDict((str(k), v)
                                      for (k,v) in enumerate(id2stack))
-    json.dump(dict(traceEvents=events, stackFrames=frames), fp, indent=1)
+    data = json.dumps(dict(traceEvents=events, stackFrames=frames), indent=1)
+    if not isinstance(data, bytes):
+        data = data.encode('utf-8')
+    fp.write(data)
     fp.write('\n')
 
 def printusage():