Currently v8StringOrNull() and v8StringOrUndefined() are checking a null string twice. It is redundant.
Created attachment 177921 [details] Patch
Comment on attachment 177921 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=177921&action=review > Source/WebCore/bindings/v8/V8Binding.h:161 > + if (UNLIKELY(!isolate)) > + isolate = v8::Isolate::GetCurrent(); Some day we'll make isolate mandatory and remove all these branches.
(In reply to comment #2) > (From update of attachment 177921 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=177921&action=review > > > Source/WebCore/bindings/v8/V8Binding.h:161 > > + if (UNLIKELY(!isolate)) > > + isolate = v8::Isolate::GetCurrent(); > > Some day we'll make isolate mandatory and remove all these branches. I'm doing it today:) Actually all call sites of v8StringOrNull() and v8StringOrUndefined() have an isolate. Almost all call sites of v8String() have an isolate. (I'll add v8StringWithCheck(), which has an isolate check, and will use it for call sites that don't have an isolate.)
Also I've implemented an isolate-version V8 APIs for Local<T>::New() and IsWeak(), which will land this week or next week. It will speed up v8String() and others.
Comment on attachment 177921 [details] Patch Clearing flags on attachment: 177921 Committed r136797: <http://trac.webkit.org/changeset/136797>
All reviewed patches have been landed. Closing bug.