Bug 39252

Summary: Move host/native JSFunction's NativeFunction onto NativeExecutable.
Product: WebKit Reporter: Gavin Barraclough <barraclough>
Component: JavaScriptCoreAssignee: Gavin Barraclough <barraclough>
Status: RESOLVED FIXED    
Severity: Normal CC: eric, gustavo, webkit.review.bot, xan.lopez
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
The patch
none
Fix JSGlue build; add caching of NativeExecutables on JSGlobalData.
none
Fix WebCore build. ggaren: review+

Gavin Barraclough
Reported 2010-05-17 17:23:56 PDT
Currently host functions reuse JSFunction's ScopeChain as storage for their NativeFunction (the C function pointer to the host function implementation). Instead, move this onto NativeExecutable. This will allow host functions to have a scopechain (which will be implemented as a separate patch).
Attachments
The patch (41.69 KB, patch)
2010-05-17 17:25 PDT, Gavin Barraclough
no flags
Fix JSGlue build; add caching of NativeExecutables on JSGlobalData. (43.25 KB, patch)
2010-05-17 18:08 PDT, Gavin Barraclough
no flags
Fix WebCore build. (43.41 KB, patch)
2010-05-17 18:33 PDT, Gavin Barraclough
ggaren: review+
Gavin Barraclough
Comment 1 2010-05-17 17:25:52 PDT
Created attachment 56293 [details] The patch No perf impact.
Eric Seidel (no email)
Comment 2 2010-05-17 17:36:15 PDT
Gavin Barraclough
Comment 3 2010-05-17 18:08:44 PDT
Created attachment 56299 [details] Fix JSGlue build; add caching of NativeExecutables on JSGlobalData.
Gavin Barraclough
Comment 4 2010-05-17 18:33:04 PDT
Created attachment 56302 [details] Fix WebCore build.
WebKit Review Bot
Comment 5 2010-05-17 18:49:39 PDT
Geoffrey Garen
Comment 6 2010-05-17 19:31:38 PDT
Comment on attachment 56302 [details] Fix WebCore build. r=me Looks like JSLazyEventListener may need to #include JSFunction.h, or something: ../../WebCore/bindings/js/JSLazyEventListener.cpp: In member function ‘virtual JSC::JSObject* WebCore::JSLazyEventListener::initializeJSFunction(WebCore::ScriptExecutionContext*) const’: ../../WebCore/bindings/js/JSLazyEventListener.cpp:125: error: ‘class JSC::JSFunction’ has no member named ‘setScope’ make[1]: *** [WebCore/bindings/js/libwebkit_1_0_la-JSLazyEventListener.lo] Error 1
Gavin Barraclough
Comment 7 2010-05-17 19:39:29 PDT
Transmitting file data .................... Committed revision 59637.
Note You need to log in before you can comment on or make changes to this bug.