[webkit-dev] Instrumenting JavaScriptCore

Filip Pizlo fpizlo at apple.com
Mon Nov 12 21:47:05 PST 2012

On Nov 12, 2012, at 7:55 PM, Erick Lavoie wrote:

> Hi,
> A research team instrumented JavaScriptCore in 2010 to gather empirical data about the dynamic behavior of JavaScript [1]. I am currently wondering how easy it would be to replicate their setup using the latest WebKit release.
> I noticed, in the latest release, that either the JIT or the Low-level Interpreter must be enabled for the build to succeed. Does that mean that the previous interpreter is not available anymore? If it is still available, is there a way to use only the old interpreter, without the JIT or the LLInt?

The old interpreter is not available anymore.

> Also, I would like an opinion from one of the dev guy on how easy it would be to add instrumentation code for every bytecode in the new Low-level Interpreter, given that some part of it are now written in an assembler dialect.

You can write the instrumentation in assembly.

Also, for most instructions, you can force the LLInt to always call to the C++ slow path, and then instrument the slow path.  Look for callSlowPath(...) in the .asm files.  You can almost always just replace the entire asm snippet for a bytecode with just that slow path call.

Lastly, I concur with Mark's comments; the cloop might do the trick for what you're trying to do.


> Thanks,
> Erick
> [1] http://dl.acm.org/citation.cfm?id=1806598
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo/webkit-dev

More information about the webkit-dev mailing list