| Index: tools/gc_nvp_common.py
|
| diff --git a/tools/gc_nvp_common.py b/tools/gc_nvp_common.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7a9ad1c4bc85a6d5059651618283b5df07545068
|
| --- /dev/null
|
| +++ b/tools/gc_nvp_common.py
|
| @@ -0,0 +1,32 @@
|
| +# Copyright 2015 the V8 project authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +#
|
| +# Common code for parsing --trace-gc-nvp output.
|
| +#
|
| +
|
| +
|
| +from __future__ import with_statement
|
| +import re
|
| +
|
| +def split_nvp(s):
|
| + t = {}
|
| + for (name, value) in re.findall(r"(\w+)=([-\w]+)", s):
|
| + try:
|
| + t[name] = float(value)
|
| + except ValueError:
|
| + t[name] = value
|
| +
|
| + return t
|
| +
|
| +
|
| +def parse_gc_trace(input):
|
| + trace = []
|
| + with open(input) as f:
|
| + for line in f:
|
| + info = split_nvp(line)
|
| + if info and 'pause' in info and info['pause'] > 0:
|
| + info['i'] = len(trace)
|
| + trace.append(info)
|
| + return trace
|
|
|