Currently, we create the CallSiteIndex when lowering to LLVM. This is wrong, FTL might duplicate the inline cache patchpoint, in which case, each patchpoint will have its own unique set of registers describing it. Therefore, it should also have a unique call site index. This is strictly necessary for implementing try/catch in the FTL.
Created attachment 262911 [details] patch
Attachment 262911 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/ftl/FTLInlineCacheDescriptor.h:85: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/ftl/FTLInlineCacheDescriptor.h:149: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 2 in 7 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 262911 [details] patch r=me > Source/JavaScriptCore/dfg/DFGCommonData.cpp:60 > +CallSiteIndex CommonData::addUniqueCallSiteIndexForCodeOrigin(CodeOrigin codeOrigin) I would take "ForCodeOrigin" out of this function name. In a language like C++, where type is a part of argument signature, you can save a lot on wordiness that way. (Note that you won't lose information at the call site or inside the callee, since both places call the argument "codeOrigin". And you can't make a mistake and pass something else because you'll get a compile error.)
Thanks for the suggestion. I agree that "ForCodeOrigin" is unnecessary in the name. landed in: http://trac.webkit.org/changeset/190885