Bug 28621

Summary: Restructure Executable types so that host functions do not hold a FunctionExecutable.
Product: WebKit Reporter: Gavin Barraclough <barraclough>
Component: JavaScriptCoreAssignee: Gavin Barraclough <barraclough>
Status: RESOLVED FIXED    
Severity: Normal CC: sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
The Patch
none
damn you svn diff, I resolved those files, why don't you know that?
none
Remove dependency on Executable.h from JSFunction.h to make Darin a happy person. oliver: review+

Description Gavin Barraclough 2009-08-21 12:50:48 PDT
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).
Comment 1 Gavin Barraclough 2009-08-21 13:00:34 PDT
Created attachment 38387 [details]
The Patch
Comment 2 Gavin Barraclough 2009-08-21 13:04:43 PDT
Created attachment 38388 [details]
damn you svn diff, I resolved those files, why don't you know that?
Comment 3 Gavin Barraclough 2009-08-21 14:11:13 PDT
Created attachment 38394 [details]
Remove dependency on Executable.h from JSFunction.h to make Darin a happy person.
Comment 4 Oliver Hunt 2009-08-21 14:40:12 PDT
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
Comment 5 Gavin Barraclough 2009-08-21 14:55:09 PDT
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.
Comment 6 Sam Weinig 2009-08-21 16:17:39 PDT
Is there a reason we don't call there HostExecutables?