[webkit-reviews] review denied: [Bug 103727] Unset NodeMustGenerate flag for Call nodes of few String.prototype.* pure functions : [Attachment 177258] updated patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 23 17:05:59 PDT 2013


Filip Pizlo <fpizlo at apple.com> has denied Dmitry Melnik <dm at ispras.ru>'s
request for review:
Bug 103727: Unset NodeMustGenerate flag for Call nodes of few
String.prototype.* pure functions
https://bugs.webkit.org/show_bug.cgi?id=103727

Attachment 177258: updated patch
https://bugs.webkit.org/attachment.cgi?id=177258&action=review

------- Additional Comments from Filip Pizlo <fpizlo at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=177258&action=review


I think this will be unsound if we exit prior to where the call used to be, and
the baseline JIT uses callee and this in the call. It'll probably crap out with
an exception like that 'undefined' isn't callable. You should figure out what
you want to do about that. One option is to convert the Call to a Phantom. A
potentially better solution is to just make those functions intrinsic. That
would save you from a lot of the trouble.

> Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:89
> +	   const HashTableValue& fEntry = JSC::stringTable.values[i];

I don't think we want this to become a pattern. It would be much better to make
split and friends into intrinsics and detect this in the parser. It will
conserve compile times, among other things.


More information about the webkit-reviews mailing list