Changeset 187538 in webkit
- Timestamp:
- Jul 28, 2015, 8:27:23 PM (10 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 5 deleted
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/CMakeLists.txt
r187531 r187538 412 412 413 413 wasm/JSWASMModule.cpp 414 wasm/WASMModuleParser.cpp415 wasm/WASMReader.cpp416 414 417 415 yarr/RegularExpression.cpp -
trunk/Source/JavaScriptCore/ChangeLog
r187537 r187538 1 2015-07-28 Commit Queue <[email protected]> 2 3 Unreviewed, rolling out r187531. 4 https://bugs.webkit.org/show_bug.cgi?id=147397 5 6 Broke Windows bild (Requested by smfr on #webkit). 7 8 Reverted changeset: 9 10 "Implement WebAssembly module parser" 11 https://bugs.webkit.org/show_bug.cgi?id=147293 12 http://trac.webkit.org/changeset/187531 13 1 14 2015-07-28 Benjamin Poulain <[email protected]> 2 15 -
trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj
r187531 r187538 869 869 <ClCompile Include="..\tools\JSDollarVMPrototype.cpp" /> 870 870 <ClCompile Include="..\wasm\JSWASMModule.cpp" /> 871 <ClCompile Include="..\wasm\WASMModuleParser.cpp" />872 <ClCompile Include="..\wasm\WASMReader.cpp" />873 871 <ClCompile Include="..\yarr\RegularExpression.cpp" /> 874 872 <ClCompile Include="..\yarr\YarrCanonicalizeUCS2.cpp" /> … … 1737 1735 <ClInclude Include="..\tools\TieredMMapArray.h" /> 1738 1736 <ClInclude Include="..\wasm\JSWASMModule.h" /> 1739 <ClInclude Include="..\wasm\WASMMagicNumber.h" />1740 <ClInclude Include="..\wasm\WASMModuleParser.h" />1741 <ClInclude Include="..\wasm\WASMReader.h" />1742 1737 <ClInclude Include="..\yarr\RegularExpression.h" /> 1743 1738 <ClInclude Include="..\yarr\Yarr.h" /> -
trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters
r187531 r187538 1798 1798 <Filter>wasm</Filter> 1799 1799 </ClCompile> 1800 <ClCompile Include="..\wasm\WASMModuleParser.cpp">1801 <Filter>wasm</Filter>1802 </ClCompile>1803 <ClCompile Include="..\wasm\WASMReader.cpp">1804 <Filter>wasm</Filter>1805 </ClCompile>1806 1800 </ItemGroup> 1807 1801 <ItemGroup> … … 4308 4302 <Filter>wasm</Filter> 4309 4303 </ClInclude> 4310 <ClInclude Include="..\wasm\WASMMagicNumber.h">4311 <Filter>wasm</Filter>4312 </ClInclude>4313 <ClInclude Include="..\wasm\WASMModuleParser.h">4314 <Filter>wasm</Filter>4315 </ClInclude>4316 <ClInclude Include="..\wasm\WASMReader.h">4317 <Filter>wasm</Filter>4318 </ClInclude>4319 4304 </ItemGroup> 4320 4305 <ItemGroup> -
trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
r187531 r187538 1022 1022 79EE0BFF1B4AFB85000385C9 /* VariableEnvironment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 79EE0BFD1B4AFB85000385C9 /* VariableEnvironment.cpp */; }; 1023 1023 79EE0C001B4AFB85000385C9 /* VariableEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = 79EE0BFE1B4AFB85000385C9 /* VariableEnvironment.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1024 7B39F76D1B62DE2E00360FB4 /* WASMModuleParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B39F7691B62DE2200360FB4 /* WASMModuleParser.cpp */; };1025 7B39F76E1B62DE3200360FB4 /* WASMModuleParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B39F76A1B62DE2200360FB4 /* WASMModuleParser.h */; settings = {ATTRIBUTES = (Private, ); }; };1026 7B39F7701B62DE3200360FB4 /* WASMReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B39F76C1B62DE2200360FB4 /* WASMReader.h */; settings = {ATTRIBUTES = (Private, ); }; };1027 7B39F7721B63574D00360FB4 /* WASMReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B39F7711B63574B00360FB4 /* WASMReader.cpp */; };1028 7B7A5E271B68288C0027CAD0 /* WASMMagicNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B7A5E261B6828840027CAD0 /* WASMMagicNumber.h */; settings = {ATTRIBUTES = (Private, ); }; };1029 1024 7B98D1361B60CD5F0023B1A4 /* JSWASMModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B98D1341B60CD5A0023B1A4 /* JSWASMModule.cpp */; }; 1030 1025 7B98D1371B60CD620023B1A4 /* JSWASMModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B98D1351B60CD5A0023B1A4 /* JSWASMModule.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 2775 2770 79EE0BFD1B4AFB85000385C9 /* VariableEnvironment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VariableEnvironment.cpp; sourceTree = "<group>"; }; 2776 2771 79EE0BFE1B4AFB85000385C9 /* VariableEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VariableEnvironment.h; sourceTree = "<group>"; }; 2777 7B39F7691B62DE2200360FB4 /* WASMModuleParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WASMModuleParser.cpp; sourceTree = "<group>"; };2778 7B39F76A1B62DE2200360FB4 /* WASMModuleParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WASMModuleParser.h; sourceTree = "<group>"; };2779 7B39F76C1B62DE2200360FB4 /* WASMReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WASMReader.h; sourceTree = "<group>"; };2780 7B39F7711B63574B00360FB4 /* WASMReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WASMReader.cpp; sourceTree = "<group>"; };2781 7B7A5E261B6828840027CAD0 /* WASMMagicNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WASMMagicNumber.h; sourceTree = "<group>"; };2782 2772 7B98D1341B60CD5A0023B1A4 /* JSWASMModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWASMModule.cpp; sourceTree = "<group>"; }; 2783 2773 7B98D1351B60CD5A0023B1A4 /* JSWASMModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWASMModule.h; sourceTree = "<group>"; }; … … 4318 4308 7B98D1341B60CD5A0023B1A4 /* JSWASMModule.cpp */, 4319 4309 7B98D1351B60CD5A0023B1A4 /* JSWASMModule.h */, 4320 7B7A5E261B6828840027CAD0 /* WASMMagicNumber.h */,4321 7B39F7691B62DE2200360FB4 /* WASMModuleParser.cpp */,4322 7B39F76A1B62DE2200360FB4 /* WASMModuleParser.h */,4323 7B39F7711B63574B00360FB4 /* WASMReader.cpp */,4324 7B39F76C1B62DE2200360FB4 /* WASMReader.h */,4325 4310 ); 4326 4311 path = wasm; … … 6230 6215 0F2B66F517B6B5AB00A7AE3F /* JSGenericTypedArrayViewPrototype.h in Headers */, 6231 6216 0F2B66F617B6B5AB00A7AE3F /* JSGenericTypedArrayViewPrototypeInlines.h in Headers */, 6232 7B39F76E1B62DE3200360FB4 /* WASMModuleParser.h in Headers */,6233 6217 BC18C4210E16F5CD00B34460 /* JSGlobalObject.h in Headers */, 6234 6218 A5FD0086189B1B7E00633231 /* JSGlobalObjectConsoleAgent.h in Headers */, … … 6442 6426 0FF7168C15A3B235008F5DAA /* PropertyOffset.h in Headers */, 6443 6427 A785F6BC18C553FE00F10626 /* SpillRegistersMode.h in Headers */, 6444 7B7A5E271B68288C0027CAD0 /* WASMMagicNumber.h in Headers */,6445 6428 BC18C4550E16F5CD00B34460 /* PropertySlot.h in Headers */, 6446 6429 0FB7F39C15ED8E4600F167B2 /* PropertyStorage.h in Headers */, … … 6576 6559 A7B601821639FD2A00372BA3 /* UnlinkedCodeBlock.h in Headers */, 6577 6560 0F2E892C16D028AD009E4FD2 /* UnusedPointer.h in Headers */, 6578 7B39F7701B62DE3200360FB4 /* WASMReader.h in Headers */,6579 6561 0F963B3813FC6FE90002D9B2 /* ValueProfile.h in Headers */, 6580 6562 0F426A481460CBB300131F8F /* ValueRecovery.h in Headers */, … … 7211 7193 0F9D36941AE9CC33000D4DFB /* DFGCleanUpPhase.cpp in Sources */, 7212 7194 A7D89CF717A0B8CC00773AD8 /* DFGFlushFormat.cpp in Sources */, 7213 7B39F76D1B62DE2E00360FB4 /* WASMModuleParser.cpp in Sources */,7214 7195 0F3A1BF91A9ECB7D000DE01A /* DFGPutStackSinkingPhase.cpp in Sources */, 7215 7196 86EC9DC71328DF82002B2AD7 /* DFGGraph.cpp in Sources */, … … 7626 7607 62D2D38F1ADF103F000206C1 /* FunctionRareData.cpp in Sources */, 7627 7608 0F7700921402FF3C0078EB39 /* SamplingCounter.cpp in Sources */, 7628 7B39F7721B63574D00360FB4 /* WASMReader.cpp in Sources */,7629 7609 1429D8850ED21C3D00B89619 /* SamplingTool.cpp in Sources */, 7630 7610 70EC0EC61AA0D7DA00B6AAFA /* StringIteratorPrototype.cpp in Sources */, -
trunk/Source/JavaScriptCore/jsc.cpp
r187531 r187538 44 44 #include "JSProxy.h" 45 45 #include "JSString.h" 46 #include "JSWASMModule.h"47 46 #include "ProfilerDatabase.h" 48 47 #include "SamplingTool.h" … … 52 51 #include "TestRunnerUtils.h" 53 52 #include "TypeProfilerLog.h" 54 #include "WASMModuleParser.h"55 53 #include <math.h> 56 54 #include <stdio.h> … … 495 493 static EncodedJSValue JSC_HOST_CALL functionHasBasicBlockExecuted(ExecState*); 496 494 static EncodedJSValue JSC_HOST_CALL functionEnableExceptionFuzz(ExecState*); 497 #if ENABLE(WEBASSEMBLY)498 static EncodedJSValue JSC_HOST_CALL functionLoadWebAssembly(ExecState*);499 #endif500 495 501 496 #if ENABLE(SAMPLING_FLAGS) … … 661 656 addFunction(vm, "enableExceptionFuzz", functionEnableExceptionFuzz, 0); 662 657 663 #if ENABLE(WEBASSEMBLY)664 addFunction(vm, "loadWebAssembly", functionLoadWebAssembly, 1);665 #endif666 667 658 JSArray* array = constructEmptyArray(globalExec(), 0); 668 659 for (size_t i = 0; i < arguments.size(); ++i) … … 1192 1183 return JSValue::encode(jsUndefined()); 1193 1184 } 1194 1195 #if ENABLE(WEBASSEMBLY)1196 EncodedJSValue JSC_HOST_CALL functionLoadWebAssembly(ExecState* exec)1197 {1198 String fileName = exec->argument(0).toString(exec)->value(exec);1199 Vector<char> buffer;1200 if (!fillBufferWithContentsOfFile(fileName, buffer))1201 return JSValue::encode(exec->vm().throwException(exec, createError(exec, ASCIILiteral("Could not open file."))));1202 RefPtr<WebAssemblySourceProvider> sourceProvider = WebAssemblySourceProvider::create(reinterpret_cast<Vector<uint8_t>&>(buffer), fileName);1203 SourceCode source(sourceProvider);1204 String errorMessage;1205 JSWASMModule* module = parseWebAssembly(exec, source, errorMessage);1206 if (!module)1207 return JSValue::encode(exec->vm().throwException(exec, createSyntaxError(exec, errorMessage)));1208 return JSValue::encode(module);1209 }1210 #endif1211 1185 1212 1186 // Use SEH for Release builds only to get rid of the crash report dialog -
trunk/Source/JavaScriptCore/parser/SourceProvider.h
r187531 r187538 95 95 }; 96 96 97 #if ENABLE(WEBASSEMBLY)98 class WebAssemblySourceProvider : public SourceProvider {99 public:100 static Ref<WebAssemblySourceProvider> create(const Vector<uint8_t>& data, const String& url)101 {102 return adoptRef(*new WebAssemblySourceProvider(data, url));103 }104 105 virtual const String& source() const override106 {107 return m_source;108 }109 110 const Vector<uint8_t>& data() const111 {112 return m_data;113 }114 115 private:116 WebAssemblySourceProvider(const Vector<uint8_t>& data, const String& url)117 : SourceProvider(url, TextPosition::minimumPosition())118 , m_source("[WebAssembly source]")119 , m_data(data)120 {121 }122 123 String m_source;124 Vector<uint8_t> m_data;125 };126 #endif127 128 97 } // namespace JSC 129 98 -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
r187531 r187538 93 93 #include "JSTypedArrayPrototypes.h" 94 94 #include "JSTypedArrays.h" 95 #include "JSWASMModule.h"96 95 #include "JSWeakMap.h" 97 96 #include "JSWeakSet.h" … … 342 341 m_promiseStructure.set(vm, this, JSPromise::createStructure(vm, this, m_promisePrototype.get())); 343 342 344 #if ENABLE(WEBASSEMBLY)345 m_wasmModuleStructure.set(vm, this, JSWASMModule::createStructure(vm, this));346 #endif347 348 343 m_parseIntFunction.set(vm, this, JSFunction::create(vm, this, 2, vm.propertyNames->parseInt.string(), globalFuncParseInt, NoIntrinsic)); 349 344 putDirectWithoutTransition(vm, vm.propertyNames->parseInt, m_parseIntFunction.get(), DontEnum | Function); … … 807 802 visitor.append(&thisObject->m_internalFunctionStructure); 808 803 visitor.append(&thisObject->m_promiseStructure); 809 #if ENABLE(WEBASSEMBLY)810 visitor.append(&thisObject->m_wasmModuleStructure);811 #endif812 804 813 805 #define VISIT_SIMPLE_TYPE(CapitalName, lowerName, properName, instanceType, jsName) \ -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h
r187531 r187538 244 244 WriteBarrier<Structure> m_regExpMatchesArrayStructure; 245 245 WriteBarrier<Structure> m_promiseStructure; 246 #if ENABLE(WEBASSEMBLY)247 WriteBarrier<Structure> m_wasmModuleStructure;248 #endif249 246 250 247 #define DEFINE_STORAGE_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName) \ … … 479 476 Structure* regExpMatchesArrayStructure() const { return m_regExpMatchesArrayStructure.get(); } 480 477 Structure* promiseStructure() const { return m_promiseStructure.get(); } 481 #if ENABLE(WEBASSEMBLY)482 Structure* wasmModuleStructure() const { return m_wasmModuleStructure.get(); }483 #endif484 478 485 479 JS_EXPORT_PRIVATE void setRemoteDebuggingEnabled(bool);
Note:
See TracChangeset
for help on using the changeset viewer.