Bug 61508

Summary: DFG JIT - Add support for get by id self caching.
Product: WebKit Reporter: Gavin Barraclough <barraclough>
Component: JavaScriptCoreAssignee: Gavin Barraclough <barraclough>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
The patch ggaren: review+

Description Gavin Barraclough 2011-05-26 00:50:56 PDT
Change the call out to be an unexpected call (using silent spill/fill mechanisms), add a structure check & compact load to the JIT code, and add patching mechanisms.  Since DFGOperations may want to be be implemented in asm, make these symbols be extern "C".  Add an asm wrapper to pass the return address to the optimizing get-by-id operation, so that it can look up its StructureStubInfo.
Comment 1 Gavin Barraclough 2011-05-26 01:03:07 PDT
Created attachment 94936 [details]
The patch
Comment 2 WebKit Review Bot 2011-05-26 01:05:08 PDT
Attachment 94936 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source..." exit_code: 1

Source/JavaScriptCore/dfg/DFGOperations.cpp:36:  Alphabetical sorting problem.  [build/include_order] [4]
Source/JavaScriptCore/dfg/DFGOperations.cpp:39:  Extra space before ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/dfg/DFGRepatch.h:35:  The parameter name "exec" adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGRepatch.h:35:  The parameter name "slot" adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGRepatch.h:35:  The parameter name "stubInfo" adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Geoffrey Garen 2011-05-26 11:07:06 PDT
Comment on attachment 94936 [details]
The patch

View in context: https://bugs.webkit.org/attachment.cgi?id=94936&action=review

Please fix style bot issues and change C-style casts to C++-style casts.

r=me

> Source/JavaScriptCore/dfg/DFGRepatch.cpp:46
> +    // Only optimize once!

I still think it's crazy that all of this stuff is called "repatch" even though it can only happen once. This comment fills me with sad irony.
Comment 4 Gavin Barraclough 2011-05-26 14:38:02 PDT
fixed in r87431