Title: [190668] trunk/Source

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (190667 => 190668)


--- trunk/Source/_javascript_Core/ChangeLog	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-10-07 16:11:46 UTC (rev 190668)
@@ -1,3 +1,17 @@
+2015-10-07  Commit Queue  <commit-qu...@webkit.org>
+
+        Unreviewed, rolling out r190664.
+        https://bugs.webkit.org/show_bug.cgi?id=149877
+
+        mac build is sometimes borken due to missing generated header
+        file (Requested by youenn on #webkit).
+
+        Reverted changeset:
+
+        "Automate WebCore JS builtins generation and build system"
+        https://bugs.webkit.org/show_bug.cgi?id=149751
+        http://trac.webkit.org/changeset/190664
+
 2015-10-07  Xabier Rodriguez Calvar  <calva...@igalia.com> and Youenn Fablet  <youenn.fab...@crf.canon.fr>
 
         Automate WebCore JS builtins generation and build system

Modified: trunk/Source/_javascript_Core/generate-js-builtins (190667 => 190668)


--- trunk/Source/_javascript_Core/generate-js-builtins	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/_javascript_Core/generate-js-builtins	2015-10-07 16:11:46 UTC (rev 190668)
@@ -314,8 +314,8 @@
 else:
     builtinName = scopeName[0].lower() + scopeName[1:]
     builtinsImplementation.write("""{\\
-    JSClientData* clientData = static_cast<JSClientData*>(vm.clientData); \\
-    return clientData->builtinFunctions().%s().codeName##Executable()->link(vm, clientData->builtinFunctions().%s().codeName##Source()); \\
+    WebCoreJSClientData* clientData = static_cast<WebCoreJSClientData*>(vm.clientData); \\
+    return clientData->%s().codeName##Executable()->link(vm, clientData->%s().codeName##Source()); \\
 """% (builtinName, builtinName))
 
 builtinsImplementation.write("""}

Modified: trunk/Source/WebCore/CMakeLists.txt (190667 => 190668)


--- trunk/Source/WebCore/CMakeLists.txt	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/CMakeLists.txt	2015-10-07 16:11:46 UTC (rev 190668)
@@ -1242,6 +1242,7 @@
     bindings/js/ScriptGlobalObject.cpp
     bindings/js/ScriptState.cpp
     bindings/js/SerializedScriptValue.cpp
+    bindings/js/WebCoreJSBuiltins.cpp
     bindings/js/WebCoreTypedArrayController.cpp
     bindings/js/WorkerScriptController.cpp
     bindings/js/WorkerScriptDebugServer.cpp
@@ -3592,17 +3593,6 @@
     )
     ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/bindings/js/WebCoreJSBuiltins.cpp ${_name}Builtins.cpp)
 endforeach ()
-add_custom_command(
-    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/PrivateWebCoreJSBuiltins.h ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp
-    MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins-allinone
-    DEPENDS ${WebCore_GENERATE_JS_BUILTINS_SCRIPTS_DIR}/generate-js-builtins
-    COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins-allinone ${WEBCORE_JS_BUILTINS} --output_dir ${DERIVED_SOURCES_WEBCORE_DIR}
-    VERBATIM)
-list(APPEND WebCore_SOURCES
-    ${DERIVED_SOURCES_WEBCORE_DIR}/PrivateWebCoreJSBuiltins.h
-    ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h
-    ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp
-)
 
 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/html/HTMLTreeBuilder.cpp MathMLNames.cpp)
 

Modified: trunk/Source/WebCore/ChangeLog (190667 => 190668)


--- trunk/Source/WebCore/ChangeLog	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/ChangeLog	2015-10-07 16:11:46 UTC (rev 190668)
@@ -1,3 +1,17 @@
+2015-10-07  Commit Queue  <commit-qu...@webkit.org>
+
+        Unreviewed, rolling out r190664.
+        https://bugs.webkit.org/show_bug.cgi?id=149877
+
+        mac build is sometimes borken due to missing generated header
+        file (Requested by youenn on #webkit).
+
+        Reverted changeset:
+
+        "Automate WebCore JS builtins generation and build system"
+        https://bugs.webkit.org/show_bug.cgi?id=149751
+        http://trac.webkit.org/changeset/190664
+
 2015-10-06  Simon Fraser  <simon.fra...@apple.com>
 
         will-change should trigger stacking context based purely on properties

Modified: trunk/Source/WebCore/DerivedSources.make (190667 => 190668)


--- trunk/Source/WebCore/DerivedSources.make	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/DerivedSources.make	2015-10-07 16:11:46 UTC (rev 190668)
@@ -1260,12 +1260,9 @@
     $(WebCore)/Modules/streams/ReadableStreamReader.js \
 #
 
-all : WebCoreJSBuiltins.cpp $(WEBCORE_JS_BUILTINS:%.js=%Builtins.cpp)
+all : $(WEBCORE_JS_BUILTINS:%.js=%Builtins.cpp)
 
-WebCoreJSBuiltins.cpp: $(WEBCORE_JS_BUILTINS) $(WebCore)/generate-js-builtins-allinone
-	$(PYTHON) $(WebCore)/generate-js-builtins-allinone $(WEBCORE_JS_BUILTINS)  --output_dir .
-
-%Builtins.cpp: %.js $(WebCore)/generate-js-builtins
+%Builtins.cpp: %.js
 	$(PYTHON) $(WebCore)/generate-js-builtins --input $< --generate_js_builtins_path $(GenerateJSBuiltinsScripts)
 
 # ------------------------

Modified: trunk/Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js (190667 => 190668)


--- trunk/Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js	2015-10-07 16:11:46 UTC (rev 190668)
@@ -24,8 +24,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-// @optional=STREAMS_API
-
 function size(chunk)
 {
     "use strict";

Modified: trunk/Source/WebCore/Modules/streams/CountQueuingStrategy.js (190667 => 190668)


--- trunk/Source/WebCore/Modules/streams/CountQueuingStrategy.js	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/Modules/streams/CountQueuingStrategy.js	2015-10-07 16:11:46 UTC (rev 190668)
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-// @optional=STREAMS_API
-
 function size()
 {
     "use strict";

Modified: trunk/Source/WebCore/Modules/streams/ReadableStream.js (190667 => 190668)


--- trunk/Source/WebCore/Modules/streams/ReadableStream.js	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.js	2015-10-07 16:11:46 UTC (rev 190668)
@@ -97,8 +97,6 @@
     return new @ReadableStreamReader(this);
 }
 
-// @optional=STREAMS_API
-
 function pipeThrough(streams, options)
 {
     "use strict";

Modified: trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js (190667 => 190668)


--- trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js	2015-10-07 16:11:46 UTC (rev 190668)
@@ -71,9 +71,6 @@
     return this;
 }
 
-// @optional=STREAMS_API
-// @internals
-
 function teeReadableStream(stream, shouldClone)
 {
     "use strict";

Modified: trunk/Source/WebCore/WebCore.order (190667 => 190668)


--- trunk/Source/WebCore/WebCore.order	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/WebCore.order	2015-10-07 16:11:46 UTC (rev 190668)
@@ -24723,7 +24723,7 @@
 __ZZN7WebCore12wrapperOwnerEPNS_15DOMWrapperWorldEPNS_6DOMURLEE13jsDOMURLOwner
 __ZGVZN7WebCore12wrapperOwnerEPNS_15DOMWrapperWorldEPNS_6DOMURLEE13jsDOMURLOwner
 __ZN7WebCoreL27JSDOMWindowConstructorTableE
-__ZTVN7WebCore19JSClientDataE
+__ZTVN7WebCore19WebCoreJSClientDataE
 __ZN7WebCoreL40JSDynamicsCompressorNodeConstructorTableE
 __ZN7WebCoreL38JSDynamicsCompressorNodePrototypeTableE
 __ZN7WebCoreL29JSDynamicsCompressorNodeTableE

Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (190667 => 190668)


--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj	2015-10-07 16:11:46 UTC (rev 190668)
@@ -231,20 +231,6 @@
     <ClCompile />
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\WebCoreJSBuiltins.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
-    </ClCompile>
     <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\ColorData.cpp" />
     <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\CSSGrammar.cpp">
       <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">4065;4273;4565;4701;4702;%(DisableSpecificWarnings)</DisableSpecificWarnings>
@@ -18915,6 +18901,20 @@
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
     </ClCompile>
+    <ClCompile Include="..\bindings\js\WebCoreJSBuiltins.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
+    </ClCompile>
     <ClCompile Include="..\bindings\js\WorkerScriptController.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (190667 => 190668)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2015-10-07 16:11:46 UTC (rev 190668)
@@ -1485,6 +1485,7 @@
 		40ECAE7E16B8B67200C36103 /* JSDOMError.h in Headers */ = {isa = PBXBuildFile; fileRef = 40ECAE7D16B8B67200C36103 /* JSDOMError.h */; };
 		40ECAE8116B8B68A00C36103 /* JSDOMError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 40ECAE8016B8B68A00C36103 /* JSDOMError.cpp */; };
 		410B7E721045FAB000D8224F /* JSMessageEventCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 410B7E711045FAB000D8224F /* JSMessageEventCustom.cpp */; };
+		411A90421BBAB47A000CF156 /* WebCoreJSBuiltins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */; };
 		4123081B138C429700BCCFCA /* WebCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93F19B1A08245E5A001E9ABC /* WebCore.framework */; };
 		41230913138C42FF00BCCFCA /* _javascript_Core.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8216299029F4FB501000131 /* _javascript_Core.framework */; };
 		4127D5370F8AAB1D00E424F5 /* ScriptState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4127D5360F8AAB1D00E424F5 /* ScriptState.cpp */; };
@@ -1507,8 +1508,7 @@
 		416E29A6102FA962007FC14E /* WorkerReportingProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 416E29A5102FA962007FC14E /* WorkerReportingProxy.h */; };
 		416E6FE81BBD12DF000A6043 /* ReadableStreamInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		416E6FE91BBD12E5000A6043 /* ReadableStreamBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		416E6FEA1BBD1684000A6044 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		416E6FEA1BBD1684000A6043 /* PrivateWebCoreJSBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764D9 /* PrivateWebCoreJSBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		416E6FEA1BBD1684000A6043 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		417253AA1354BBBC00360F2A /* MediaControlElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 417253A81354BBBC00360F2A /* MediaControlElements.cpp */; };
 		417253AB1354BBBC00360F2A /* MediaControlElements.h in Headers */ = {isa = PBXBuildFile; fileRef = 417253A91354BBBC00360F2A /* MediaControlElements.h */; };
 		417DA6D913734E6E007C57FB /* Internals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 417DA4CF13734326007C57FB /* Internals.cpp */; };
@@ -2632,7 +2632,6 @@
 		7C48A6D0191C9D6500026674 /* WebKitNamespace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C48A6CE191C9D6500026674 /* WebKitNamespace.cpp */; };
 		7C48A6D1191C9D6500026674 /* WebKitNamespace.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C48A6CF191C9D6500026674 /* WebKitNamespace.h */; };
 		7C4902A218B825F8007D9298 /* DOMWheelEventInternal.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 85989DCA0ACC8BBD00A0BC51 /* DOMWheelEventInternal.h */; };
-		7C4C96DC1AD4483500365A51 /* WebCoreJSBuiltins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C96D81AD4483500365A51 /* WebCoreJSBuiltins.cpp */; };
 		7C4C96DC1AD4483500365A50 /* JSReadableStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C96D81AD4483500365A50 /* JSReadableStream.cpp */; };
 		7C4C96DD1AD4483500365A50 /* JSReadableStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C4C96D91AD4483500365A50 /* JSReadableStream.h */; };
 		7C4C96DE1AD4483500365A50 /* JSReadableStreamReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C96DA1AD4483500365A50 /* JSReadableStreamReader.cpp */; };
@@ -8764,6 +8763,7 @@
 		40ECAE8016B8B68A00C36103 /* JSDOMError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMError.cpp; sourceTree = "<group>"; };
 		410B7E711045FAB000D8224F /* JSMessageEventCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMessageEventCustom.cpp; sourceTree = "<group>"; };
 		41189EF71AD8232800B90A0D /* ReadableStreamController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStreamController.idl; sourceTree = "<group>"; };
+		411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreJSBuiltins.cpp; sourceTree = "<group>"; };
 		4127D5360F8AAB1D00E424F5 /* ScriptState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptState.cpp; sourceTree = "<group>"; };
 		4129DF811BB5B79B00322A16 /* ReadableStreamController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamController.h; sourceTree = "<group>"; };
 		4129DF821BB5B7A600322A16 /* ReadableStreamReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamReader.h; sourceTree = "<group>"; };
@@ -10050,7 +10050,6 @@
 		7C48A6CE191C9D6500026674 /* WebKitNamespace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitNamespace.cpp; sourceTree = "<group>"; };
 		7C48A6CF191C9D6500026674 /* WebKitNamespace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitNamespace.h; sourceTree = "<group>"; };
 		7C48A6D2191C9D8E00026674 /* WebKitNamespace.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = WebKitNamespace.idl; sourceTree = "<group>"; };
-		7C4C96D81AD4483500365A51 /* WebCoreJSBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreJSBuiltins.cpp; sourceTree = "<group>"; };
 		7C4C96D81AD4483500365A50 /* JSReadableStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStream.cpp; sourceTree = "<group>"; };
 		7C4C96D91AD4483500365A50 /* JSReadableStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStream.h; sourceTree = "<group>"; };
 		7C4C96DA1AD4483500365A50 /* JSReadableStreamReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamReader.cpp; sourceTree = "<group>"; };
@@ -11322,8 +11321,7 @@
 		9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamBuiltins.h; sourceTree = "<group>"; };
 		9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltins.h; sourceTree = "<group>"; };
 		9B03D8071BB3110D00B764D8 /* ReadableStreamBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamBuiltinsWrapper.h; sourceTree = "<group>"; };
-		9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltinsWrapper.h; sourceTree = "<group>"; };
-		9B03D8071BB3110D00B764D9 /* PrivateWebCoreJSBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrivateWebCoreJSBuiltins.h; sourceTree = "<group>"; };
+		9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltinsWrapper.h; sourceTree = "<group>"; };
 		9B19B67E1B964E5200348745 /* ShadowRoot.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ShadowRoot.idl; sourceTree = "<group>"; };
 		9B1AB0791648C69D0051F3F2 /* HTMLFormControlsCollection.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = HTMLFormControlsCollection.idl; sourceTree = "<group>"; };
 		9B1AB07B1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLFormControlsCollectionCustom.cpp; sourceTree = "<group>"; };
@@ -16281,7 +16279,6 @@
 		41A023FA1A39F13A00F722CF /* Streams */ = {
 			isa = PBXGroup;
 			children = (
-				7C4C96D81AD4483500365A51 /* WebCoreJSBuiltins.cpp */,
 				7C4C96D81AD4483500365A50 /* JSReadableStream.cpp */,
 				7C4C96D91AD4483500365A50 /* JSReadableStream.h */,
 				6C4C96DA1AD4483500365A50 /* JSReadableStreamController.cpp */,
@@ -17073,8 +17070,7 @@
 				9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */,
 				9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */,
 				9B03D8071BB3110D00B764D8 /* ReadableStreamBuiltinsWrapper.h */,
-				9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */,
-				9B03D8071BB3110D00B764D9 /* PrivateWebCoreJSBuiltins.h */,
+				9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */,
 				43B85ED218CBEC5200E31AF4 /* SelectorPseudoClassAndCompatibilityElementMap.cpp */,
 				43B85ED318CBEC5200E31AF4 /* SelectorPseudoClassAndCompatibilityElementMap.gperf */,
 				26AA0F9D18D2A18B00419381 /* SelectorPseudoElementTypeMap.cpp */,
@@ -21671,6 +21667,7 @@
 				1400D7A717136EA70077CE05 /* ScriptWrappableInlines.h */,
 				A75E497510752ACB00C9B896 /* SerializedScriptValue.cpp */,
 				A75E497410752ACB00C9B896 /* SerializedScriptValue.h */,
+				411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */,
 				BC53D910114310CC000D817E /* WebCoreJSClientData.h */,
 				0F099D0617B968A100FF84B9 /* WebCoreTypedArrayController.cpp */,
 				0F099D0717B968A100FF84B9 /* WebCoreTypedArrayController.h */,
@@ -25724,8 +25721,7 @@
 				FC9E0E4D16419C1E00392BE3 /* JSDOMWindowCSS.h in Headers */,
 				652FBBBC0DE27CB60001D386 /* JSDOMWindowCustom.h in Headers */,
 				BCBFB53D0DCD29CF0019B3E5 /* JSDOMWindowShell.h in Headers */,
-				416E6FEA1BBD1684000A6044 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */,
-				416E6FEA1BBD1684000A6043 /* PrivateWebCoreJSBuiltins.h in Headers */,
+				416E6FEA1BBD1684000A6043 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */,
 				65E0E9441133C89F00B4CB10 /* JSDOMWrapper.h in Headers */,
 				FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */,
 				65DF31FA09D1CC60000BE325 /* JSElement.h in Headers */,
@@ -29065,6 +29061,7 @@
 				A8EA79F30A1916DF00A8EF5F /* HTMLUListElement.cpp in Sources */,
 				E44613AA0CD6331000FADA75 /* HTMLVideoElement.cpp in Sources */,
 				839AAFEC1A0C0C8D00605F99 /* HTMLWBRElement.cpp in Sources */,
+				411A90421BBAB47A000CF156 /* WebCoreJSBuiltins.cpp in Sources */,
 				0B8C56D40F28627F000502E1 /* HTTPHeaderMap.cpp in Sources */,
 				1AC900C31943C0FC008625B5 /* HTTPHeaderNames.cpp in Sources */,
 				514C76720CE923A1007EF3CD /* HTTPParsers.cpp in Sources */,
@@ -29576,7 +29573,6 @@
 				077664FC183E6B5C00133B92 /* JSQuickTimePluginReplacement.cpp in Sources */,
 				B658FFA11522EF3A00DD5595 /* JSRadioNodeList.cpp in Sources */,
 				65DF320109D1CC60000BE325 /* JSRange.cpp in Sources */,
-				7C4C96DC1AD4483500365A51 /* WebCoreJSBuiltins.cpp in Sources */,
 				7C4C96DC1AD4483500365A50 /* JSReadableStream.cpp in Sources */,
 				6C4C96DE1AD4483500365A50 /* JSReadableStreamController.cpp in Sources */,
 				7C4C96DE1AD4483500365A50 /* JSReadableStreamReader.cpp in Sources */,

Modified: trunk/Source/WebCore/bindings/js/DOMWrapperWorld.cpp (190667 => 190668)


--- trunk/Source/WebCore/bindings/js/DOMWrapperWorld.cpp	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/DOMWrapperWorld.cpp	2015-10-07 16:11:46 UTC (rev 190668)
@@ -36,14 +36,14 @@
 {
     VM::ClientData* clientData = m_vm.clientData;
     ASSERT(clientData);
-    static_cast<JSClientData*>(clientData)->rememberWorld(*this);
+    static_cast<WebCoreJSClientData*>(clientData)->rememberWorld(*this);
 }
 
 DOMWrapperWorld::~DOMWrapperWorld()
 {
     VM::ClientData* clientData = m_vm.clientData;
     ASSERT(clientData);
-    static_cast<JSClientData*>(clientData)->forgetWorld(*this);
+    static_cast<WebCoreJSClientData*>(clientData)->forgetWorld(*this);
 
     // These items are created lazily.
     while (!m_scriptControllersWithWindowShells.isEmpty())
@@ -63,7 +63,7 @@
 {
     VM::ClientData* clientData = vm.clientData;
     ASSERT(clientData);
-    return static_cast<JSClientData*>(clientData)->normalWorld();
+    return static_cast<WebCoreJSClientData*>(clientData)->normalWorld();
 }
 
 DOMWrapperWorld& mainThreadNormalWorld()

Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp (190667 => 190668)


--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp	2015-10-07 16:11:46 UTC (rev 190668)
@@ -70,7 +70,9 @@
     , m_windowCloseWatchpoints((window && window->frame()) ? IsWatched : IsInvalidated)
     , m_impl(window)
     , m_shell(shell)
-    , m_privateFunctions(vm)
+#if ENABLE(STREAMS_API)
+    , m_readableStreamFunctions(vm)
+#endif
 {
 }
 
@@ -79,21 +81,23 @@
     Base::finishCreation(vm, shell);
     ASSERT(inherits(info()));
 
-    m_privateFunctions.init(*this);
+#if ENABLE(STREAMS_API)
+    m_readableStreamFunctions.init(*this);
+#endif
 
     GlobalPropertyInfo staticGlobals[] = {
         GlobalPropertyInfo(vm.propertyNames->document, jsNull(), DontDelete | ReadOnly),
         GlobalPropertyInfo(vm.propertyNames->window, m_shell, DontDelete | ReadOnly),
 #if ENABLE(STREAMS_API)
-        GlobalPropertyInfo(static_cast<JSClientData*>(vm.clientData)->builtinNames().readableStreamClosedPrivateName(), jsNumber(1), DontDelete | ReadOnly),
-        GlobalPropertyInfo(static_cast<JSClientData*>(vm.clientData)->builtinNames().readableStreamErroredPrivateName(), jsNumber(2), DontDelete | ReadOnly),
-        GlobalPropertyInfo(static_cast<JSClientData*>(vm.clientData)->builtinNames().readableStreamReadablePrivateName(), jsNumber(3), DontDelete | ReadOnly),
-        GlobalPropertyInfo(static_cast<JSClientData*>(vm.clientData)->builtinNames().ReadableStreamControllerPrivateName(), createReadableStreamControllerPrivateConstructor(vm, *this), DontDelete | ReadOnly),
-        GlobalPropertyInfo(static_cast<JSClientData*>(vm.clientData)->builtinNames().ReadableStreamReaderPrivateName(), createReadableStreamReaderPrivateConstructor(vm, *this), DontDelete | ReadOnly),
+        GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().readableStreamClosedPrivateName(), jsNumber(1), DontDelete | ReadOnly),
+        GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().readableStreamErroredPrivateName(), jsNumber(2), DontDelete | ReadOnly),
+        GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().readableStreamReadablePrivateName(), jsNumber(3), DontDelete | ReadOnly),
+        GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().ReadableStreamControllerPrivateName(), createReadableStreamControllerPrivateConstructor(vm, *this), DontDelete | ReadOnly),
+        GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().ReadableStreamReaderPrivateName(), createReadableStreamReaderPrivateConstructor(vm, *this), DontDelete | ReadOnly),
 #define DECLARE_GLOBAL_STATIC(name)\
         GlobalPropertyInfo(\
-            static_cast<JSClientData*>(vm.clientData)->builtinFunctions().readableStreamInternalsBuiltins().name##PrivateName(), \
-            m_privateFunctions.readableStreamInternals().m_##name##Function.get() , DontDelete | ReadOnly),
+            static_cast<WebCoreJSClientData*>(vm.clientData)->readableStreamInternalsBuiltins().name##PrivateName(),\
+            m_readableStreamFunctions.m_##name##Function.get() , DontDelete | ReadOnly),
         WEBCOREREADABLESTREAMINTERNALS_FOREACH_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC)
 #undef EXPORT_FUNCTION
 #endif
@@ -107,7 +111,9 @@
     JSDOMWindowBase* thisObject = jsCast<JSDOMWindowBase*>(cell);
     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
     Base::visitChildren(thisObject, visitor);
-    thisObject->m_privateFunctions.visit(visitor);
+#if ENABLE(STREAMS_API)
+    thisObject->m_readableStreamFunctions.visit(visitor);
+#endif
 }
 
 void JSDOMWindowBase::destroy(JSCell* cell)
@@ -291,7 +297,7 @@
 void JSDOMWindowBase::fireFrameClearedWatchpointsForWindow(DOMWindow* window)
 {
     JSC::VM& vm = JSDOMWindowBase::commonVM();
-    JSClientData* clientData = static_cast<JSClientData*>(vm.clientData);
+    WebCoreJSClientData* clientData = static_cast<WebCoreJSClientData*>(vm.clientData);
     Vector<Ref<DOMWrapperWorld>> wrapperWorlds;
     clientData->getAllWorlds(wrapperWorlds);
     for (unsigned i = 0; i < wrapperWorlds.size(); ++i) {

Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h (190667 => 190668)


--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h	2015-10-07 16:11:46 UTC (rev 190668)
@@ -22,7 +22,7 @@
 
 #include "JSDOMBinding.h"
 #include "JSDOMGlobalObject.h"
-#include "PrivateWebCoreJSBuiltins.h"
+#include "ReadableStreamInternalsBuiltinsWrapper.h"
 #include <wtf/Forward.h>
 
 namespace WebCore {
@@ -87,7 +87,9 @@
         RefPtr<DOMWindow> m_impl;
         JSDOMWindowShell* m_shell;
 
-        JSBuiltinInternalFunctions m_privateFunctions;
+#if ENABLE(STREAMS_API)
+        ReadableStreamInternalsBuiltinFunctions m_readableStreamFunctions;
+#endif
     };
 
     // Returns a JSDOMWindow or jsNull()

Modified: trunk/Source/WebCore/bindings/js/ScriptController.cpp (190667 => 190668)


--- trunk/Source/WebCore/bindings/js/ScriptController.cpp	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/ScriptController.cpp	2015-10-07 16:11:46 UTC (rev 190668)
@@ -194,7 +194,7 @@
 
 void ScriptController::getAllWorlds(Vector<Ref<DOMWrapperWorld>>& worlds)
 {
-    static_cast<JSClientData*>(JSDOMWindow::commonVM().clientData)->getAllWorlds(worlds);
+    static_cast<WebCoreJSClientData*>(JSDOMWindow::commonVM().clientData)->getAllWorlds(worlds);
 }
 
 void ScriptController::clearWindowShell(DOMWindow* newDOMWindow, bool goingIntoPageCache)

Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (190667 => 190668)


--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp	2015-10-07 16:11:46 UTC (rev 190668)
@@ -2634,7 +2634,7 @@
 
     auto contents = std::make_unique<ArrayBufferContentsArray>(arrayBuffers.size());
     Vector<Ref<DOMWrapperWorld>> worlds;
-    static_cast<JSClientData*>(exec->vm().clientData)->getAllWorlds(worlds);
+    static_cast<WebCoreJSClientData*>(exec->vm().clientData)->getAllWorlds(worlds);
 
     HashSet<JSC::ArrayBuffer*> visited;
     for (size_t arrayBufferIndex = 0; arrayBufferIndex < arrayBuffers.size(); arrayBufferIndex++) {

Modified: trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h (190667 => 190668)


--- trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h	2015-10-07 16:11:46 UTC (rev 190668)
@@ -24,26 +24,44 @@
 
 #include "DOMWrapperWorld.h"
 #include "WebCoreBuiltinNames.h"
-#include "WebCoreJSBuiltins.h"
 #include "WebCoreTypedArrayController.h"
 #include <wtf/HashSet.h>
 #include <wtf/RefPtr.h>
 
+#if ENABLE(STREAMS_API)
+#include "ByteLengthQueuingStrategyBuiltinsWrapper.h"
+#include "CountQueuingStrategyBuiltinsWrapper.h"
+#include "ReadableStreamBuiltinsWrapper.h"
+#include "ReadableStreamControllerBuiltinsWrapper.h"
+#include "ReadableStreamInternalsBuiltinsWrapper.h"
+#include "ReadableStreamReaderBuiltinsWrapper.h"
+#endif
+
 namespace WebCore {
 
-class JSClientData : public JSC::VM::ClientData {
-    WTF_MAKE_NONCOPYABLE(JSClientData); WTF_MAKE_FAST_ALLOCATED;
+class WebCoreJSClientData : public JSC::VM::ClientData {
+    WTF_MAKE_NONCOPYABLE(WebCoreJSClientData); WTF_MAKE_FAST_ALLOCATED;
     friend class VMWorldIterator;
     friend void initNormalWorldClientData(JSC::VM*);
 
 public:
-    explicit JSClientData(JSC::VM& vm)
-        : m_builtinFunctions(vm)
-        , m_builtinNames(&vm)
+    explicit WebCoreJSClientData(JSC::VM& vm)
+        : m_builtinNames(&vm)
+#if ENABLE(STREAMS_API)
+        , m_readableStreamBuiltins(&vm)
+        , m_readableStreamControllerBuiltins(&vm)
+        , m_readableStreamInternalsBuiltins(&vm)
+        , m_readableStreamReaderBuiltins(&vm)
+        , m_byteLengthQueuingStrategyBuiltins(&vm)
+        , m_countQueuingStrategyBuiltins(&vm)
+#endif
     {
+#if ENABLE(STREAMS_API)
+        m_readableStreamInternalsBuiltins.exportNames();
+#endif
     }
 
-    virtual ~JSClientData()
+    virtual ~WebCoreJSClientData()
     {
         ASSERT(m_worldSet.contains(m_normalWorld.get()));
         ASSERT(m_worldSet.size() == 1);
@@ -76,19 +94,35 @@
     }
 
     WebCoreBuiltinNames& builtinNames() { return m_builtinNames; }
-    JSBuiltinFunctions& builtinFunctions() { return m_builtinFunctions; }
 
+#if ENABLE(STREAMS_API)
+    ReadableStreamBuiltinsWrapper& readableStreamBuiltins() { return m_readableStreamBuiltins; }
+    ReadableStreamControllerBuiltinsWrapper& readableStreamControllerBuiltins() { return m_readableStreamControllerBuiltins; }
+    ReadableStreamInternalsBuiltinsWrapper& readableStreamInternalsBuiltins() { return m_readableStreamInternalsBuiltins; }
+    ReadableStreamReaderBuiltinsWrapper& readableStreamReaderBuiltins() { return m_readableStreamReaderBuiltins; }
+    ByteLengthQueuingStrategyBuiltinsWrapper& byteLengthQueuingStrategyBuiltins() { return m_byteLengthQueuingStrategyBuiltins; }
+    CountQueuingStrategyBuiltinsWrapper& countQueuingStrategyBuiltins() { return m_countQueuingStrategyBuiltins; }
+#endif
+
 private:
     HashSet<DOMWrapperWorld*> m_worldSet;
     RefPtr<DOMWrapperWorld> m_normalWorld;
 
-    JSBuiltinFunctions m_builtinFunctions;
     WebCoreBuiltinNames m_builtinNames;
+
+#if ENABLE(STREAMS_API)
+    ReadableStreamBuiltinsWrapper m_readableStreamBuiltins;
+    ReadableStreamControllerBuiltinsWrapper m_readableStreamControllerBuiltins;
+    ReadableStreamInternalsBuiltinsWrapper m_readableStreamInternalsBuiltins;
+    ReadableStreamReaderBuiltinsWrapper m_readableStreamReaderBuiltins;
+    ByteLengthQueuingStrategyBuiltinsWrapper m_byteLengthQueuingStrategyBuiltins;
+    CountQueuingStrategyBuiltinsWrapper m_countQueuingStrategyBuiltins;
+#endif
 };
 
 inline void initNormalWorldClientData(JSC::VM* vm)
 {
-    JSClientData* webCoreJSClientData = new JSClientData(*vm);
+    WebCoreJSClientData* webCoreJSClientData = new WebCoreJSClientData(*vm);
     vm->clientData = webCoreJSClientData; // ~VM deletes this pointer.
     webCoreJSClientData->m_normalWorld = DOMWrapperWorld::create(*vm, true);
     vm->m_typedArrayController = adoptRef(new WebCoreTypedArrayController());

Deleted: trunk/Source/WebCore/generate-js-builtins-allinone (190667 => 190668)


--- trunk/Source/WebCore/generate-js-builtins-allinone	2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/generate-js-builtins-allinone	2015-10-07 16:11:46 UTC (rev 190668)
@@ -1,233 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2015 Canon Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in the
-#    documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-import argparse
-import filecmp
-import os
-import re
-
-singleLineCommentRegExp = re.compile(r"\/\/ @.*?\n", re.MULTILINE | re.S)
-
-def retrieveGenerationParameters(input):
-    parameters = {}
-    with open(input, 'r') as input_file:
-        content = input_file.read()
-        for match in singleLineCommentRegExp.finditer(content):
-            values = content[match.start() + 4:match.end()].split('=')
-            if len(values) == 1:
-                parameters[values[0].strip()] = True
-            elif len (values) == 2:
-                parameters[values[0].strip()] = values[1].strip()
-            else:
-                print("Skipping potential generation parameter directive:" % values.join('='))
-    return parameters
-
-
-def retrieveFilesWithParameters(inputs):
-    files = []
-    class FileInput: pass
-    for input in inputs:
-        file_input = FileInput()
-        file_input.parameters = retrieveGenerationParameters(input)
-        file_input.optionalif = ("#if ENABLE(" + file_input.parameters["optional"] + ")\n") if "optional" in file_input.parameters else ""
-        file_input.optionalendif = "#endif\n" if "optional" in file_input.parameters else ""
-        file_input.filename = os.path.splitext(os.path.basename(input))[0]
-        file_input.name = file_input.filename[0].lower() + file_input.filename[1:]
-        files.append(file_input)
-    return files
-
-
-def writeConditional(writer, input_file, value):
-    writer.write(input_file.optionalif)
-    writer.write(value)
-    writer.write(input_file.optionalendif)
-
-
-parser = argparse.ArgumentParser()
-parser.add_argument('--output_dir', default='', help='output directory')
-parser.add_argument('inputs', metavar='input', nargs='+', help='path to input JS files')
-
-args = parser.parse_args()
-files = retrieveFilesWithParameters(args.inputs)
-internals_files = [ f for f in files if "internals" in f.parameters ]
-
-basename = "WebCoreJSBuiltins"
-output_base = os.path.join(args.output_dir, basename)
-private_output_base = os.path.join(args.output_dir, "Private" + basename)
-
-
-# Create writers
-builtinsHeader = open(output_base + ".h.tmp", "w")
-builtinsImplementation = open(output_base + ".cpp.tmp", "w")
-privateBuiltinsHeader = open(private_output_base + ".h.tmp", "w")
-
-preamble = """
-/* Generated by generate-js-builtins-allinone do not hand edit. */
-
-/*
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-"""
-
-###############
-# Generation of cpp file including all JS builtin generated cpp files with optional #fdef directives as defined by @enable in JS files.
-###############
-builtinsImplementation.write(preamble)
-builtinsImplementation.write("#include \"config.h\"\n\n")
-
-# Including cpp files
-for input_file in files:
-    writeConditional(builtinsImplementation, input_file, "#include \"" + input_file.filename + "Builtins.cpp\"\n");
-
-builtinsImplementation.close()
-
-###############
-# Generation of wrapper header file defining access to all builtin functions.
-###############
-builtinsHeader.write(preamble)
-builtinsHeader.write("#ifndef " + basename + "_h\n#define " + basename + "_h\n\n")
-
-for input_file in files:
-    writeConditional(builtinsHeader, input_file, "#include \"" + input_file.filename + "BuiltinsWrapper.h\"\n");
-builtinsHeader.write("""
-
-#include <runtime/VM.h>
-
-namespace WebCore {
-
-class JSBuiltinFunctions {
-public:
-""")
-
-# Constructor
-builtinsHeader.write("    explicit JSBuiltinFunctions(JSC::VM& v)\n        : vm(v)\n");
-for input_file in files:
-    writeConditional(builtinsHeader, input_file, "        , m_" + input_file.name + "Builtins(&vm)\n");
-builtinsHeader.write("    {\n");
-for input_file in internals_files:
-    writeConditional(builtinsHeader, input_file, "        m_" + input_file.name + "Builtins.exportNames();\n");
-builtinsHeader.write("    }\n");
-
-# Getters
-for input_file in files:
-    writeConditional(builtinsHeader, input_file, "    " + input_file.filename + "BuiltinsWrapper& " + input_file.name  + "Builtins() { return m_" + input_file.name  + "Builtins;}\n");
-
-# Declarations
-builtinsHeader.write("""private:
-    JSC::VM& vm;\n""");
-for input_file in files:
-    writeConditional(builtinsHeader, input_file, "    " + input_file.filename + "BuiltinsWrapper m_" + input_file.name  + "Builtins;\n");
-
-builtinsHeader.write("""
-};
-
-}
-
-#endif
-""");
-
-builtinsHeader.close()
-
-###############
-# Generation of class wrapping all functions of JS files marked as @internals.
-###############
-privateBuiltinsHeader.write(preamble)
-privateBuiltinsHeader.write("#ifndef Private" + basename + "_h\n#define Private" + basename + "_h\n\n")
-
-# Including all necessrary wrapper headers.
-for input_file in internals_files:
-    writeConditional(privateBuiltinsHeader, input_file, "#include \"" + input_file.filename + "BuiltinsWrapper.h\"\n")
-
-# Class definition
-privateBuiltinsHeader.write("""
-namespace WebCore {
-
-class JSBuiltinInternalFunctions {
-public:
-""")
-
-# Constructor
-privateBuiltinsHeader.write("""explicit JSBuiltinInternalFunctions(JSC::VM& v)\n        : vm(v)\n""")
-for input_file in internals_files:
-    writeConditional(privateBuiltinsHeader, input_file, "        , m_" + input_file.name + "Functions(vm)\n")
-privateBuiltinsHeader.write("    { }\n\n")
-
-# Getters
-for input_file in internals_files:
-    writeConditional(privateBuiltinsHeader, input_file, "    " + input_file.filename + "BuiltinFunctions " + input_file.name + "() { return m_" + input_file.name + "Functions; }\n")
-
-# Visitor wrapper routine
-privateBuiltinsHeader.write("    void visit(JSC::SlotVisitor& visitor) {\n")
-for input_file in internals_files:
-    writeConditional(privateBuiltinsHeader, input_file, "        m_" + input_file.name + "Functions.visit(visitor);\n")
-privateBuiltinsHeader.write("    }\n")
-
-# Init wrapper routine
-privateBuiltinsHeader.write("    void init(JSC::JSGlobalObject& globalObject) {\n")
-for input_file in internals_files:
-    writeConditional(privateBuiltinsHeader, input_file, "        m_" + input_file.name + "Functions.init(globalObject);\n")
-privateBuiltinsHeader.write("    }\n")
-
-# Private member fields
-privateBuiltinsHeader.write("""
-private:
-    JSC::VM& vm;\n""")
-for input_file in internals_files:
-    writeConditional(privateBuiltinsHeader, input_file, "     " + input_file.filename + "BuiltinFunctions m_" + input_file.name + "Functions;\n")
-
-privateBuiltinsHeader.write("""
-};
-
-}
-#endif
-""")
-
-privateBuiltinsHeader.close()
-
-def copytempfile(output):
-    if (not os.path.exists(output)) or (not filecmp.cmp(output + ".tmp", output, shallow=False)):
-        if (os.path.exists(output)):
-            os.remove(output)
-        os.rename(output + ".tmp", output)
-    else:
-        os.remove(output + ".tmp")
-
-copytempfile(output_base + ".h")
-copytempfile(output_base + ".cpp")
-copytempfile(private_output_base + ".h")
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to