With the caveat that subclasses of InternalFunction that don't add new fields may as well share the same IsoSubspace as InternalFunction, since I can't see a security downside of doing so. They will dynamically figure out what to do based on state in JSCell, JSObject, JSDestructibleObject, and InternalFunction.
Created attachment 338169 [details] possibly the patch
Attachment 338169 [details] did not pass style-queue: ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPMethod.cpp:66: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/bindings/js/WebCoreJSClientData.cpp:38: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPObject.cpp:534: More than one command on the same line [whitespace/newline] [4] Total errors found: 3 in 31 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 338171 [details] maybe the patch
Attachment 338171 [details] did not pass style-queue: ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPMethod.cpp:66: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/bindings/js/WebCoreJSClientData.cpp:38: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPObject.cpp:534: More than one command on the same line [whitespace/newline] [4] WARNING: File exempt from style guide. Skipping: "Source/JavaScriptCore/API/glib/JSCCallbackFunction.h" ERROR: Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp:212: More than one command on the same line [whitespace/newline] [4] Total errors found: 4 in 33 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 338180 [details] maybe the patch
Attachment 338180 [details] did not pass style-queue: ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPMethod.cpp:66: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/bindings/js/WebCoreJSClientData.cpp:38: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPObject.cpp:534: More than one command on the same line [whitespace/newline] [4] WARNING: File exempt from style guide. Skipping: "Source/JavaScriptCore/API/glib/JSCCallbackFunction.h" ERROR: Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp:212: More than one command on the same line [whitespace/newline] [4] Total errors found: 4 in 33 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 338181 [details] maybe the patch
Attachment 338181 [details] did not pass style-queue: ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPMethod.cpp:66: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/bindings/js/WebCoreJSClientData.cpp:38: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPObject.cpp:534: More than one command on the same line [whitespace/newline] [4] WARNING: File exempt from style guide. Skipping: "Source/JavaScriptCore/API/glib/JSCCallbackFunction.h" ERROR: Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp:212: More than one command on the same line [whitespace/newline] [4] Total errors found: 4 in 33 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 338183 [details] the patch
Created attachment 338184 [details] the patch
Attachment 338184 [details] did not pass style-queue: ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPMethod.cpp:66: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/bindings/js/WebCoreJSClientData.cpp:38: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPObject.cpp:534: More than one command on the same line [whitespace/newline] [4] WARNING: File exempt from style guide. Skipping: "Source/JavaScriptCore/API/glib/JSCCallbackFunction.h" ERROR: Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp:212: More than one command on the same line [whitespace/newline] [4] Total errors found: 4 in 33 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 338188 [details] the patch
Attachment 338188 [details] did not pass style-queue: ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPMethod.cpp:66: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/bindings/js/WebCoreJSClientData.cpp:38: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPObject.cpp:534: More than one command on the same line [whitespace/newline] [4] WARNING: File exempt from style guide. Skipping: "Source/JavaScriptCore/API/glib/JSCCallbackFunction.h" ERROR: Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp:212: More than one command on the same line [whitespace/newline] [4] Total errors found: 4 in 33 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 338189 [details] the patch
Attachment 338189 [details] did not pass style-queue: ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPMethod.cpp:66: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/bindings/js/WebCoreJSClientData.cpp:38: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPObject.cpp:534: More than one command on the same line [whitespace/newline] [4] WARNING: File exempt from style guide. Skipping: "Source/JavaScriptCore/API/glib/JSCCallbackFunction.h" ERROR: Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp:35: Alphabetical sorting problem. [build/include_order] [4] ERROR: Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp:213: More than one command on the same line [whitespace/newline] [4] Total errors found: 5 in 33 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 338189 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=338189&action=review > Source/JavaScriptCore/heap/IsoSubspacePerVM.cpp:65 > + if (result) { style nit: I feel result.isNewEntry is easier to read than this (I just had to look up that AddResult has operator bool that returns newEntry).
(In reply to Saam Barati from comment #16) > Comment on attachment 338189 [details] > the patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=338189&action=review > > > Source/JavaScriptCore/heap/IsoSubspacePerVM.cpp:65 > > + if (result) { > > style nit: I feel result.isNewEntry is easier to read than this (I just had > to look up that AddResult has operator bool that returns newEntry). Makes sense, will change.
Created attachment 338345 [details] patch for landing
Attachment 338345 [details] did not pass style-queue: ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPMethod.cpp:66: More than one command on the same line [whitespace/newline] [4] ERROR: Source/WebCore/bindings/js/WebCoreJSClientData.cpp:38: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebKit/WebProcess/Plugins/Netscape/JSNPObject.cpp:534: More than one command on the same line [whitespace/newline] [4] WARNING: File exempt from style guide. Skipping: "Source/JavaScriptCore/API/glib/JSCCallbackFunction.h" ERROR: Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp:35: Alphabetical sorting problem. [build/include_order] [4] ERROR: Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp:213: More than one command on the same line [whitespace/newline] [4] Total errors found: 5 in 33 files If any of these errors are false positives, please file a bug against check-webkit-style.
Landed in https://trac.webkit.org/changeset/230813/webkit
<rdar://problem/39572914>