pf2 0.9.0 → 1.0.0.alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -4
  3. data/Rakefile +3 -9
  4. data/doc/development.md +6 -0
  5. data/ext/pf2/debug.h +12 -0
  6. data/ext/pf2/extconf.rb +23 -6
  7. data/ext/{pf2c → pf2}/sample.c +6 -0
  8. data/ext/{pf2c → pf2}/sample.h +4 -0
  9. data/ext/{pf2c → pf2}/serializer.c +1 -1
  10. data/ext/{pf2c → pf2}/session.c +70 -20
  11. data/ext/{pf2c → pf2}/session.h +5 -0
  12. data/lib/pf2/cli.rb +3 -11
  13. data/lib/pf2/reporter/firefox_profiler_ser2.rb +17 -13
  14. data/lib/pf2/reporter/stack_weaver.rb +8 -0
  15. data/lib/pf2/reporter.rb +0 -1
  16. data/lib/pf2/version.rb +1 -1
  17. data/lib/pf2.rb +1 -1
  18. metadata +18 -135
  19. data/Cargo.lock +0 -630
  20. data/Cargo.toml +0 -3
  21. data/crates/backtrace-sys2/.gitignore +0 -1
  22. data/crates/backtrace-sys2/Cargo.toml +0 -9
  23. data/crates/backtrace-sys2/build.rs +0 -45
  24. data/crates/backtrace-sys2/src/lib.rs +0 -5
  25. data/crates/backtrace-sys2/src/libbacktrace/.gitignore +0 -15
  26. data/crates/backtrace-sys2/src/libbacktrace/Isaac.Newton-Opticks.txt +0 -9286
  27. data/crates/backtrace-sys2/src/libbacktrace/LICENSE +0 -29
  28. data/crates/backtrace-sys2/src/libbacktrace/Makefile.am +0 -708
  29. data/crates/backtrace-sys2/src/libbacktrace/Makefile.in +0 -2820
  30. data/crates/backtrace-sys2/src/libbacktrace/README.md +0 -46
  31. data/crates/backtrace-sys2/src/libbacktrace/aclocal.m4 +0 -864
  32. data/crates/backtrace-sys2/src/libbacktrace/alloc.c +0 -167
  33. data/crates/backtrace-sys2/src/libbacktrace/allocfail.c +0 -136
  34. data/crates/backtrace-sys2/src/libbacktrace/allocfail.sh +0 -104
  35. data/crates/backtrace-sys2/src/libbacktrace/atomic.c +0 -113
  36. data/crates/backtrace-sys2/src/libbacktrace/backtrace-supported.h.in +0 -66
  37. data/crates/backtrace-sys2/src/libbacktrace/backtrace.c +0 -129
  38. data/crates/backtrace-sys2/src/libbacktrace/backtrace.h +0 -189
  39. data/crates/backtrace-sys2/src/libbacktrace/btest.c +0 -517
  40. data/crates/backtrace-sys2/src/libbacktrace/compile +0 -348
  41. data/crates/backtrace-sys2/src/libbacktrace/config/enable.m4 +0 -38
  42. data/crates/backtrace-sys2/src/libbacktrace/config/lead-dot.m4 +0 -31
  43. data/crates/backtrace-sys2/src/libbacktrace/config/libtool.m4 +0 -7545
  44. data/crates/backtrace-sys2/src/libbacktrace/config/ltoptions.m4 +0 -369
  45. data/crates/backtrace-sys2/src/libbacktrace/config/ltsugar.m4 +0 -123
  46. data/crates/backtrace-sys2/src/libbacktrace/config/ltversion.m4 +0 -23
  47. data/crates/backtrace-sys2/src/libbacktrace/config/lt~obsolete.m4 +0 -98
  48. data/crates/backtrace-sys2/src/libbacktrace/config/multi.m4 +0 -68
  49. data/crates/backtrace-sys2/src/libbacktrace/config/override.m4 +0 -117
  50. data/crates/backtrace-sys2/src/libbacktrace/config/unwind_ipinfo.m4 +0 -37
  51. data/crates/backtrace-sys2/src/libbacktrace/config/warnings.m4 +0 -227
  52. data/crates/backtrace-sys2/src/libbacktrace/config.guess +0 -1700
  53. data/crates/backtrace-sys2/src/libbacktrace/config.h.in +0 -185
  54. data/crates/backtrace-sys2/src/libbacktrace/config.sub +0 -1885
  55. data/crates/backtrace-sys2/src/libbacktrace/configure +0 -15929
  56. data/crates/backtrace-sys2/src/libbacktrace/configure.ac +0 -632
  57. data/crates/backtrace-sys2/src/libbacktrace/dwarf.c +0 -4409
  58. data/crates/backtrace-sys2/src/libbacktrace/edtest.c +0 -120
  59. data/crates/backtrace-sys2/src/libbacktrace/edtest2.c +0 -43
  60. data/crates/backtrace-sys2/src/libbacktrace/elf.c +0 -7465
  61. data/crates/backtrace-sys2/src/libbacktrace/fileline.c +0 -407
  62. data/crates/backtrace-sys2/src/libbacktrace/filenames.h +0 -52
  63. data/crates/backtrace-sys2/src/libbacktrace/filetype.awk +0 -13
  64. data/crates/backtrace-sys2/src/libbacktrace/install-debuginfo-for-buildid.sh.in +0 -65
  65. data/crates/backtrace-sys2/src/libbacktrace/install-sh +0 -501
  66. data/crates/backtrace-sys2/src/libbacktrace/instrumented_alloc.c +0 -114
  67. data/crates/backtrace-sys2/src/libbacktrace/internal.h +0 -428
  68. data/crates/backtrace-sys2/src/libbacktrace/ltmain.sh +0 -8636
  69. data/crates/backtrace-sys2/src/libbacktrace/macho.c +0 -1361
  70. data/crates/backtrace-sys2/src/libbacktrace/missing +0 -215
  71. data/crates/backtrace-sys2/src/libbacktrace/mmap.c +0 -331
  72. data/crates/backtrace-sys2/src/libbacktrace/mmapio.c +0 -110
  73. data/crates/backtrace-sys2/src/libbacktrace/move-if-change +0 -83
  74. data/crates/backtrace-sys2/src/libbacktrace/mtest.c +0 -410
  75. data/crates/backtrace-sys2/src/libbacktrace/nounwind.c +0 -66
  76. data/crates/backtrace-sys2/src/libbacktrace/pecoff.c +0 -1123
  77. data/crates/backtrace-sys2/src/libbacktrace/posix.c +0 -104
  78. data/crates/backtrace-sys2/src/libbacktrace/print.c +0 -117
  79. data/crates/backtrace-sys2/src/libbacktrace/read.c +0 -110
  80. data/crates/backtrace-sys2/src/libbacktrace/simple.c +0 -108
  81. data/crates/backtrace-sys2/src/libbacktrace/sort.c +0 -108
  82. data/crates/backtrace-sys2/src/libbacktrace/state.c +0 -72
  83. data/crates/backtrace-sys2/src/libbacktrace/stest.c +0 -137
  84. data/crates/backtrace-sys2/src/libbacktrace/test-driver +0 -148
  85. data/crates/backtrace-sys2/src/libbacktrace/test_format.c +0 -55
  86. data/crates/backtrace-sys2/src/libbacktrace/testlib.c +0 -234
  87. data/crates/backtrace-sys2/src/libbacktrace/testlib.h +0 -110
  88. data/crates/backtrace-sys2/src/libbacktrace/ttest.c +0 -161
  89. data/crates/backtrace-sys2/src/libbacktrace/unittest.c +0 -92
  90. data/crates/backtrace-sys2/src/libbacktrace/unknown.c +0 -65
  91. data/crates/backtrace-sys2/src/libbacktrace/xcoff.c +0 -1617
  92. data/crates/backtrace-sys2/src/libbacktrace/xztest.c +0 -508
  93. data/crates/backtrace-sys2/src/libbacktrace/zstdtest.c +0 -523
  94. data/crates/backtrace-sys2/src/libbacktrace/ztest.c +0 -541
  95. data/ext/pf2/Cargo.toml +0 -25
  96. data/ext/pf2/build.rs +0 -10
  97. data/ext/pf2/src/backtrace.rs +0 -127
  98. data/ext/pf2/src/lib.rs +0 -22
  99. data/ext/pf2/src/profile.rs +0 -69
  100. data/ext/pf2/src/profile_serializer.rs +0 -241
  101. data/ext/pf2/src/ringbuffer.rs +0 -150
  102. data/ext/pf2/src/ruby_c_api_helper.c +0 -6
  103. data/ext/pf2/src/ruby_init.rs +0 -40
  104. data/ext/pf2/src/ruby_internal_apis.rs +0 -77
  105. data/ext/pf2/src/sample.rs +0 -67
  106. data/ext/pf2/src/scheduler.rs +0 -10
  107. data/ext/pf2/src/serialization/profile.rs +0 -48
  108. data/ext/pf2/src/serialization/serializer.rs +0 -329
  109. data/ext/pf2/src/serialization.rs +0 -2
  110. data/ext/pf2/src/session/configuration.rs +0 -114
  111. data/ext/pf2/src/session/new_thread_watcher.rs +0 -80
  112. data/ext/pf2/src/session/ruby_object.rs +0 -90
  113. data/ext/pf2/src/session.rs +0 -248
  114. data/ext/pf2/src/siginfo_t.c +0 -5
  115. data/ext/pf2/src/signal_scheduler.rs +0 -201
  116. data/ext/pf2/src/signal_scheduler_unsupported_platform.rs +0 -39
  117. data/ext/pf2/src/timer_thread_scheduler.rs +0 -179
  118. data/ext/pf2/src/util.rs +0 -31
  119. data/ext/pf2c/extconf.rb +0 -21
  120. data/lib/pf2/reporter/firefox_profiler.rb +0 -397
  121. data/rust-toolchain.toml +0 -2
  122. data/rustfmt.toml +0 -1
  123. /data/ext/{pf2c → pf2}/backtrace_state.c +0 -0
  124. /data/ext/{pf2c → pf2}/backtrace_state.h +0 -0
  125. /data/ext/{pf2c → pf2}/configuration.c +0 -0
  126. /data/ext/{pf2c → pf2}/configuration.h +0 -0
  127. /data/ext/{pf2c → pf2}/pf2.c +0 -0
  128. /data/ext/{pf2c → pf2}/pf2.h +0 -0
  129. /data/ext/{pf2c → pf2}/ringbuffer.c +0 -0
  130. /data/ext/{pf2c → pf2}/ringbuffer.h +0 -0
  131. /data/ext/{pf2c → pf2}/serializer.h +0 -0
@@ -1,348 +0,0 @@
1
- #! /bin/sh
2
- # Wrapper for compilers which do not understand '-c -o'.
3
-
4
- scriptversion=2016-01-11.22; # UTC
5
-
6
- # Copyright (C) 1999-2017 Free Software Foundation, Inc.
7
- # Written by Tom Tromey <tromey@cygnus.com>.
8
- #
9
- # This program is free software; you can redistribute it and/or modify
10
- # it under the terms of the GNU General Public License as published by
11
- # the Free Software Foundation; either version 2, or (at your option)
12
- # any later version.
13
- #
14
- # This program is distributed in the hope that it will be useful,
15
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
- # GNU General Public License for more details.
18
- #
19
- # You should have received a copy of the GNU General Public License
20
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
21
-
22
- # As a special exception to the GNU General Public License, if you
23
- # distribute this file as part of a program that contains a
24
- # configuration script generated by Autoconf, you may include it under
25
- # the same distribution terms that you use for the rest of that program.
26
-
27
- # This file is maintained in Automake, please report
28
- # bugs to <bug-automake@gnu.org> or send patches to
29
- # <automake-patches@gnu.org>.
30
-
31
- nl='
32
- '
33
-
34
- # We need space, tab and new line, in precisely that order. Quoting is
35
- # there to prevent tools from complaining about whitespace usage.
36
- IFS=" "" $nl"
37
-
38
- file_conv=
39
-
40
- # func_file_conv build_file lazy
41
- # Convert a $build file to $host form and store it in $file
42
- # Currently only supports Windows hosts. If the determined conversion
43
- # type is listed in (the comma separated) LAZY, no conversion will
44
- # take place.
45
- func_file_conv ()
46
- {
47
- file=$1
48
- case $file in
49
- / | /[!/]*) # absolute file, and not a UNC file
50
- if test -z "$file_conv"; then
51
- # lazily determine how to convert abs files
52
- case `uname -s` in
53
- MINGW*)
54
- file_conv=mingw
55
- ;;
56
- CYGWIN*)
57
- file_conv=cygwin
58
- ;;
59
- *)
60
- file_conv=wine
61
- ;;
62
- esac
63
- fi
64
- case $file_conv/,$2, in
65
- *,$file_conv,*)
66
- ;;
67
- mingw/*)
68
- file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
69
- ;;
70
- cygwin/*)
71
- file=`cygpath -m "$file" || echo "$file"`
72
- ;;
73
- wine/*)
74
- file=`winepath -w "$file" || echo "$file"`
75
- ;;
76
- esac
77
- ;;
78
- esac
79
- }
80
-
81
- # func_cl_dashL linkdir
82
- # Make cl look for libraries in LINKDIR
83
- func_cl_dashL ()
84
- {
85
- func_file_conv "$1"
86
- if test -z "$lib_path"; then
87
- lib_path=$file
88
- else
89
- lib_path="$lib_path;$file"
90
- fi
91
- linker_opts="$linker_opts -LIBPATH:$file"
92
- }
93
-
94
- # func_cl_dashl library
95
- # Do a library search-path lookup for cl
96
- func_cl_dashl ()
97
- {
98
- lib=$1
99
- found=no
100
- save_IFS=$IFS
101
- IFS=';'
102
- for dir in $lib_path $LIB
103
- do
104
- IFS=$save_IFS
105
- if $shared && test -f "$dir/$lib.dll.lib"; then
106
- found=yes
107
- lib=$dir/$lib.dll.lib
108
- break
109
- fi
110
- if test -f "$dir/$lib.lib"; then
111
- found=yes
112
- lib=$dir/$lib.lib
113
- break
114
- fi
115
- if test -f "$dir/lib$lib.a"; then
116
- found=yes
117
- lib=$dir/lib$lib.a
118
- break
119
- fi
120
- done
121
- IFS=$save_IFS
122
-
123
- if test "$found" != yes; then
124
- lib=$lib.lib
125
- fi
126
- }
127
-
128
- # func_cl_wrapper cl arg...
129
- # Adjust compile command to suit cl
130
- func_cl_wrapper ()
131
- {
132
- # Assume a capable shell
133
- lib_path=
134
- shared=:
135
- linker_opts=
136
- for arg
137
- do
138
- if test -n "$eat"; then
139
- eat=
140
- else
141
- case $1 in
142
- -o)
143
- # configure might choose to run compile as 'compile cc -o foo foo.c'.
144
- eat=1
145
- case $2 in
146
- *.o | *.[oO][bB][jJ])
147
- func_file_conv "$2"
148
- set x "$@" -Fo"$file"
149
- shift
150
- ;;
151
- *)
152
- func_file_conv "$2"
153
- set x "$@" -Fe"$file"
154
- shift
155
- ;;
156
- esac
157
- ;;
158
- -I)
159
- eat=1
160
- func_file_conv "$2" mingw
161
- set x "$@" -I"$file"
162
- shift
163
- ;;
164
- -I*)
165
- func_file_conv "${1#-I}" mingw
166
- set x "$@" -I"$file"
167
- shift
168
- ;;
169
- -l)
170
- eat=1
171
- func_cl_dashl "$2"
172
- set x "$@" "$lib"
173
- shift
174
- ;;
175
- -l*)
176
- func_cl_dashl "${1#-l}"
177
- set x "$@" "$lib"
178
- shift
179
- ;;
180
- -L)
181
- eat=1
182
- func_cl_dashL "$2"
183
- ;;
184
- -L*)
185
- func_cl_dashL "${1#-L}"
186
- ;;
187
- -static)
188
- shared=false
189
- ;;
190
- -Wl,*)
191
- arg=${1#-Wl,}
192
- save_ifs="$IFS"; IFS=','
193
- for flag in $arg; do
194
- IFS="$save_ifs"
195
- linker_opts="$linker_opts $flag"
196
- done
197
- IFS="$save_ifs"
198
- ;;
199
- -Xlinker)
200
- eat=1
201
- linker_opts="$linker_opts $2"
202
- ;;
203
- -*)
204
- set x "$@" "$1"
205
- shift
206
- ;;
207
- *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
208
- func_file_conv "$1"
209
- set x "$@" -Tp"$file"
210
- shift
211
- ;;
212
- *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
213
- func_file_conv "$1" mingw
214
- set x "$@" "$file"
215
- shift
216
- ;;
217
- *)
218
- set x "$@" "$1"
219
- shift
220
- ;;
221
- esac
222
- fi
223
- shift
224
- done
225
- if test -n "$linker_opts"; then
226
- linker_opts="-link$linker_opts"
227
- fi
228
- exec "$@" $linker_opts
229
- exit 1
230
- }
231
-
232
- eat=
233
-
234
- case $1 in
235
- '')
236
- echo "$0: No command. Try '$0 --help' for more information." 1>&2
237
- exit 1;
238
- ;;
239
- -h | --h*)
240
- cat <<\EOF
241
- Usage: compile [--help] [--version] PROGRAM [ARGS]
242
-
243
- Wrapper for compilers which do not understand '-c -o'.
244
- Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
245
- arguments, and rename the output as expected.
246
-
247
- If you are trying to build a whole package this is not the
248
- right script to run: please start by reading the file 'INSTALL'.
249
-
250
- Report bugs to <bug-automake@gnu.org>.
251
- EOF
252
- exit $?
253
- ;;
254
- -v | --v*)
255
- echo "compile $scriptversion"
256
- exit $?
257
- ;;
258
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
259
- icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
260
- func_cl_wrapper "$@" # Doesn't return...
261
- ;;
262
- esac
263
-
264
- ofile=
265
- cfile=
266
-
267
- for arg
268
- do
269
- if test -n "$eat"; then
270
- eat=
271
- else
272
- case $1 in
273
- -o)
274
- # configure might choose to run compile as 'compile cc -o foo foo.c'.
275
- # So we strip '-o arg' only if arg is an object.
276
- eat=1
277
- case $2 in
278
- *.o | *.obj)
279
- ofile=$2
280
- ;;
281
- *)
282
- set x "$@" -o "$2"
283
- shift
284
- ;;
285
- esac
286
- ;;
287
- *.c)
288
- cfile=$1
289
- set x "$@" "$1"
290
- shift
291
- ;;
292
- *)
293
- set x "$@" "$1"
294
- shift
295
- ;;
296
- esac
297
- fi
298
- shift
299
- done
300
-
301
- if test -z "$ofile" || test -z "$cfile"; then
302
- # If no '-o' option was seen then we might have been invoked from a
303
- # pattern rule where we don't need one. That is ok -- this is a
304
- # normal compilation that the losing compiler can handle. If no
305
- # '.c' file was seen then we are probably linking. That is also
306
- # ok.
307
- exec "$@"
308
- fi
309
-
310
- # Name of file we expect compiler to create.
311
- cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
312
-
313
- # Create the lock directory.
314
- # Note: use '[/\\:.-]' here to ensure that we don't use the same name
315
- # that we are using for the .o file. Also, base the name on the expected
316
- # object file name, since that is what matters with a parallel build.
317
- lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
318
- while true; do
319
- if mkdir "$lockdir" >/dev/null 2>&1; then
320
- break
321
- fi
322
- sleep 1
323
- done
324
- # FIXME: race condition here if user kills between mkdir and trap.
325
- trap "rmdir '$lockdir'; exit 1" 1 2 15
326
-
327
- # Run the compile.
328
- "$@"
329
- ret=$?
330
-
331
- if test -f "$cofile"; then
332
- test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
333
- elif test -f "${cofile}bj"; then
334
- test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
335
- fi
336
-
337
- rmdir "$lockdir"
338
- exit $ret
339
-
340
- # Local Variables:
341
- # mode: shell-script
342
- # sh-indentation: 2
343
- # eval: (add-hook 'write-file-hooks 'time-stamp)
344
- # time-stamp-start: "scriptversion="
345
- # time-stamp-format: "%:y-%02m-%02d.%02H"
346
- # time-stamp-time-zone: "UTC0"
347
- # time-stamp-end: "; # UTC"
348
- # End:
@@ -1,38 +0,0 @@
1
- dnl ----------------------------------------------------------------------
2
- dnl This whole bit snagged from libstdc++-v3.
3
-
4
- dnl
5
- dnl GCC_ENABLE
6
- dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING)
7
- dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, permit a|b|c)
8
- dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, SHELL-CODE-HANDLER)
9
- dnl
10
- dnl See docs/html/17_intro/configury.html#enable for documentation.
11
- dnl
12
- AC_DEFUN([GCC_ENABLE],[dnl
13
- m4_define([_g_switch],[--enable-$1])dnl
14
- m4_define([_g_help],[AC_HELP_STRING(_g_switch$3,[$4 @<:@default=$2@:>@])])dnl
15
- AC_ARG_ENABLE($1,_g_help,
16
- m4_bmatch([$5],
17
- [^permit ],
18
- [[
19
- case "$enableval" in
20
- m4_bpatsubst([$5],[permit ])) ;;
21
- *) AC_MSG_ERROR(Unknown argument to enable/disable $1) ;;
22
- dnl Idea for future: generate a URL pointing to
23
- dnl "onlinedocs/configopts.html#whatever"
24
- esac
25
- ]],
26
- [^$],
27
- [[
28
- case "$enableval" in
29
- yes|no) ;;
30
- *) AC_MSG_ERROR(Argument to enable/disable $1 must be yes or no) ;;
31
- esac
32
- ]],
33
- [[$5]]),
34
- [enable_]m4_bpatsubst([$1],-,_)[=][$2])
35
- m4_undefine([_g_switch])dnl
36
- m4_undefine([_g_help])dnl
37
- ])
38
-
@@ -1,31 +0,0 @@
1
- # -*- Autoconf -*-
2
- # Copyright (C) 2003, 2009 Free Software Foundation, Inc.
3
-
4
- # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 3, or (at your option)
7
- # any later version.
8
-
9
- # This program is distributed in the hope that it will be useful,
10
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
13
-
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; see the file COPYING3. If not see
16
- # <http://www.gnu.org/licenses/>.
17
-
18
- # serial 1
19
-
20
- # Check whether the underlying file-system supports filenames
21
- # with a leading dot. For instance MS-DOS doesn't.
22
- AC_DEFUN([AM_SET_LEADING_DOT],
23
- [rm -rf .tst 2>/dev/null
24
- mkdir .tst 2>/dev/null
25
- if test -d .tst; then
26
- am__leading_dot=.
27
- else
28
- am__leading_dot=_
29
- fi
30
- rmdir .tst 2>/dev/null
31
- AC_SUBST([am__leading_dot])])