All JSFunction objects have a pointer to an Executable*. This is currently always a FunctionExecutable, however this has a couple of drawbacks. Host functions do not store a range of information that the FunctionExecutable provides (source, name, CodeBlock & information presently held on the FunctionBodyNode).
Created attachment 38387 [details] The Patch
Created attachment 38388 [details] damn you svn diff, I resolved those files, why don't you know that?
Created attachment 38394 [details] Remove dependency on Executable.h from JSFunction.h to make Darin a happy person.
Comment on attachment 38394 [details] Remove dependency on Executable.h from JSFunction.h to make Darin a happy person. r=me, rename JSExecutable to 5cr1pt3x3cut4b13
Sending JavaScriptCore/ChangeLog Sending JavaScriptCore/bytecode/CodeBlock.cpp Sending JavaScriptCore/bytecode/CodeBlock.h Sending JavaScriptCore/bytecode/EvalCodeCache.h Sending JavaScriptCore/debugger/Debugger.cpp Sending JavaScriptCore/interpreter/CachedCall.h Sending JavaScriptCore/interpreter/Interpreter.cpp Sending JavaScriptCore/jit/JITStubs.cpp Sending JavaScriptCore/profiler/Profiler.cpp Sending JavaScriptCore/runtime/Arguments.h Sending JavaScriptCore/runtime/Executable.cpp Sending JavaScriptCore/runtime/Executable.h Sending JavaScriptCore/runtime/FunctionPrototype.cpp Sending JavaScriptCore/runtime/JSFunction.cpp Sending JavaScriptCore/runtime/JSFunction.h Transmitting file data ............... Committed revision 47641.
Is there a reason we don't call there HostExecutables?