Thanks for your message! It's
great to see you're working on an
instrumentation tactic that isn't
tied to a given browser, and even
without the optimization you're
planning Photon is really quite
impressive in terms of low
overhead (I would have feared much
more).
We're quite happy to share the
source; attached is an archive of
the source; the README.md in there
has some additional information.
A few disclaimers belong up
front :) -
* Much of this is significantly
easier if you don't need Chromium
and can just use v8 to run the
tests you're interested in
(v8bench, sunspider, ...). It
looks that this is the case with
Photon?
* This was built against a copy
of the tree around 11 months ago,
so your mileage may vary.
* If you want something to cite
for motivation purposes (e.g.,
importance of instrumentation for
real-world code), we'll push out a
techreport of this given that
multiple folks have asked about
it. I'll send you a note when it's
ready.
A
quick overview of the
instrumentation parts of the
framework -
* Profiler: we turned it on with
the
--js-flags="--prof-browser-mode
--noprof-lazy" arguments to
Chromium (see src/chrome.py) and
modified the profiler parse
scripts to emit some
machine-readable json output
(see src/tools). The profile
output is essentially the same
as what you'll see in the
within-browser "profiles" tab.
*
Counters: the source changes in
src/v8/src are modifications to
the src/v8/src.orig sources from
the v8 directory of Chromium.
Note that we can't currently
gather counters and profiles at
the same time.
(see
README.md for more)
Hope that helps; let us know if
there's anything else we can
provide.
Cheers,
Ilari
On Sun,
Mar 24, 2013 at 3:58 PM, Erick
Lavoie
<erick.lavoie@gmail.com>
wrote:
Hi
Michael and Ilari,
I just stumpled upon your web
report on Quantifying
Optimization Efficacy and
found it really interesting. I
am one of the authors of the
Tachyon JS VM and I am
currently working on Photon, a
metacircular VM for JS
run-time instrumentation which
runs over V8, and we currently
face the problem of
understanding where are the
bottlenecks of our approach in
terms of performance.
First, I wanted to thank you
guys for having done that
work, I am sure there are
insights that are going to be
useful for us. Second, can I
have access to the source
code/patches/instrumented
version of Chrome you used?
That could be really useful
for us to nail down the effect
of our system on V8.
Thanks!
Erick