[webkit-dev] squirrefish extreme on Arm.

Filip Pizlo fpizlo at apple.com
Sat Nov 26 10:55:58 PST 2011


> but can I Cross-compile webkit on my x_64 machine so I can use it on my
> armv7 machine??

Which port are you working on?  Mac or other?

> And I can't find any documentation about squirrelfish back-end,
> optimizations passes and so on.
> Currently I'm diong optimizations on Gcc compiler, and now
> I wanna to start developing squirrelfish, and tring to understand how can
> do optimizations on it. But unfortantly i can't find usefull information
> about squirrelfish(
> So if you have any documentation about it can you please help me??

Andy Wingo wrote up a nice piece about the DFG optimizing compiler:

http://wingolog.org/archives/2011/10/28/javascriptcore-the-webkit-js-implementation

The code and design are in constant flux; the best way to really learn about it is to read the code.

Here's the code for the DFG JIT:
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/dfg

Here's the code for the baseline JIT, which is used for fast start-up and profiling:
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/jit

Here are additional files that contain support for tiered compilation, profiling, and OSR:
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/bytecode/CodeBlock.h
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/bytecode/CodeOrigin.h
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/bytecode/PredictedType.h
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/bytecode/PredictedType.cpp
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/bytecode/ValueProfile.h
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/bytecode/ValueProfile.cpp
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/bytecode/ValueRecovery.h
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/runtime/Executable.h
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/runtime/Executable.cpp

And finally some code to interface the optimizing JIT to the GC:
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/heap/DFGCodeBlocks.h
http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/heap/DFGCodeBlocks.cpp

-Filip


More information about the webkit-dev mailing list