Changeset 190690 in webkit
- Timestamp:
- Oct 7, 2015 2:57:22 PM (8 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r190684 r190690 1 2015-10-07 Sukolsak Sakshuwong <sukolsak@gmail.com> 2 3 Add an LLVM IR generator for WebAssembly 4 https://bugs.webkit.org/show_bug.cgi?id=149486 5 6 Reviewed by Mark Lam. 7 8 This patch adds initial support for an LLVM IR generator in WebAssembly 9 (polyfill-prototype-1 format). All the methods will be implemented in 10 subsequent patches. 11 12 * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: 13 * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: 14 * JavaScriptCore.xcodeproj/project.pbxproj: 15 * wasm/WASMFunctionLLVMIRGenerator.h: Added. 16 (JSC::WASMFunctionLLVMIRGenerator::MemoryAddress::MemoryAddress): 17 (JSC::WASMFunctionLLVMIRGenerator::startFunction): 18 (JSC::WASMFunctionLLVMIRGenerator::endFunction): 19 (JSC::WASMFunctionLLVMIRGenerator::buildSetLocal): 20 (JSC::WASMFunctionLLVMIRGenerator::buildSetGlobal): 21 (JSC::WASMFunctionLLVMIRGenerator::buildReturn): 22 (JSC::WASMFunctionLLVMIRGenerator::buildImmediateI32): 23 (JSC::WASMFunctionLLVMIRGenerator::buildImmediateF32): 24 (JSC::WASMFunctionLLVMIRGenerator::buildImmediateF64): 25 (JSC::WASMFunctionLLVMIRGenerator::buildGetLocal): 26 (JSC::WASMFunctionLLVMIRGenerator::buildGetGlobal): 27 (JSC::WASMFunctionLLVMIRGenerator::buildConvertType): 28 (JSC::WASMFunctionLLVMIRGenerator::buildLoad): 29 (JSC::WASMFunctionLLVMIRGenerator::buildStore): 30 (JSC::WASMFunctionLLVMIRGenerator::buildUnaryI32): 31 (JSC::WASMFunctionLLVMIRGenerator::buildUnaryF32): 32 (JSC::WASMFunctionLLVMIRGenerator::buildUnaryF64): 33 (JSC::WASMFunctionLLVMIRGenerator::buildBinaryI32): 34 (JSC::WASMFunctionLLVMIRGenerator::buildBinaryF32): 35 (JSC::WASMFunctionLLVMIRGenerator::buildBinaryF64): 36 (JSC::WASMFunctionLLVMIRGenerator::buildRelationalI32): 37 (JSC::WASMFunctionLLVMIRGenerator::buildRelationalF32): 38 (JSC::WASMFunctionLLVMIRGenerator::buildRelationalF64): 39 (JSC::WASMFunctionLLVMIRGenerator::buildMinOrMaxI32): 40 (JSC::WASMFunctionLLVMIRGenerator::buildMinOrMaxF64): 41 (JSC::WASMFunctionLLVMIRGenerator::buildCallInternal): 42 (JSC::WASMFunctionLLVMIRGenerator::buildCallIndirect): 43 (JSC::WASMFunctionLLVMIRGenerator::buildCallImport): 44 (JSC::WASMFunctionLLVMIRGenerator::appendExpressionList): 45 (JSC::WASMFunctionLLVMIRGenerator::discard): 46 (JSC::WASMFunctionLLVMIRGenerator::linkTarget): 47 (JSC::WASMFunctionLLVMIRGenerator::jumpToTarget): 48 (JSC::WASMFunctionLLVMIRGenerator::jumpToTargetIf): 49 (JSC::WASMFunctionLLVMIRGenerator::startLoop): 50 (JSC::WASMFunctionLLVMIRGenerator::endLoop): 51 (JSC::WASMFunctionLLVMIRGenerator::startSwitch): 52 (JSC::WASMFunctionLLVMIRGenerator::endSwitch): 53 (JSC::WASMFunctionLLVMIRGenerator::startLabel): 54 (JSC::WASMFunctionLLVMIRGenerator::endLabel): 55 (JSC::WASMFunctionLLVMIRGenerator::breakTarget): 56 (JSC::WASMFunctionLLVMIRGenerator::continueTarget): 57 (JSC::WASMFunctionLLVMIRGenerator::breakLabelTarget): 58 (JSC::WASMFunctionLLVMIRGenerator::continueLabelTarget): 59 (JSC::WASMFunctionLLVMIRGenerator::buildSwitch): 60 * wasm/WASMFunctionParser.cpp: 61 1 62 2015-10-07 Filip Pizlo <fpizlo@apple.com> 2 63 -
trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj
r190569 r190690 1831 1831 <ClInclude Include="..\wasm\WASMFormat.h" /> 1832 1832 <ClInclude Include="..\wasm\WASMFunctionCompiler.h" /> 1833 <ClInclude Include="..\wasm\WASMFunctionLLVMIRGenerator.h" /> 1833 1834 <ClInclude Include="..\wasm\WASMFunctionParser.h" /> 1834 1835 <ClInclude Include="..\wasm\WASMFunctionSyntaxChecker.h" /> -
trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters
r190569 r190690 4516 4516 <Filter>wasm</Filter> 4517 4517 </ClInclude> 4518 <ClInclude Include="..\wasm\WASMFunctionLLVMIRGenerator.h"> 4519 <Filter>wasm</Filter> 4520 </ClInclude> 4518 4521 <ClInclude Include="..\wasm\WASMFunctionParser.h"> 4519 4522 <Filter>wasm</Filter> -
trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
r190649 r190690 1069 1069 7B39F7701B62DE3200360FB4 /* WASMReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B39F76C1B62DE2200360FB4 /* WASMReader.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1070 1070 7B39F7721B63574D00360FB4 /* WASMReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B39F7711B63574B00360FB4 /* WASMReader.cpp */; }; 1071 7B8329BF1BB21FE300649A6E /* WASMFunctionLLVMIRGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B8329BE1BB21FD100649A6E /* WASMFunctionLLVMIRGenerator.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1071 1072 7B98D1361B60CD5F0023B1A4 /* JSWASMModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B98D1341B60CD5A0023B1A4 /* JSWASMModule.cpp */; }; 1072 1073 7B98D1371B60CD620023B1A4 /* JSWASMModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B98D1351B60CD5A0023B1A4 /* JSWASMModule.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 2923 2924 7B39F76C1B62DE2200360FB4 /* WASMReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WASMReader.h; sourceTree = "<group>"; }; 2924 2925 7B39F7711B63574B00360FB4 /* WASMReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WASMReader.cpp; sourceTree = "<group>"; }; 2926 7B8329BE1BB21FD100649A6E /* WASMFunctionLLVMIRGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WASMFunctionLLVMIRGenerator.h; sourceTree = "<group>"; }; 2925 2927 7B98D1341B60CD5A0023B1A4 /* JSWASMModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWASMModule.cpp; sourceTree = "<group>"; }; 2926 2928 7B98D1351B60CD5A0023B1A4 /* JSWASMModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWASMModule.h; sourceTree = "<group>"; }; … … 4539 4541 7BC547D21B69599B00959B58 /* WASMFormat.h */, 4540 4542 7B2E010D1B97AA5800EF5D5C /* WASMFunctionCompiler.h */, 4543 7B8329BE1BB21FD100649A6E /* WASMFunctionLLVMIRGenerator.h */, 4541 4544 7B0247531B8682D500542440 /* WASMFunctionParser.cpp */, 4542 4545 7B0247541B8682D500542440 /* WASMFunctionParser.h */, … … 6169 6172 A7BFF3C0179868940002F462 /* DFGFiltrationResult.h in Headers */, 6170 6173 A78A9777179738B8009DF744 /* DFGFinalizer.h in Headers */, 6174 7B8329BF1BB21FE300649A6E /* WASMFunctionLLVMIRGenerator.h in Headers */, 6171 6175 0F2BDC16151C5D4F00CD8910 /* DFGFixupPhase.h in Headers */, 6172 6176 0F9D339717FFC4E60073C2BC /* DFGFlushedAt.h in Headers */, -
trunk/Source/JavaScriptCore/wasm/WASMFunctionParser.cpp
r190130 r190690 32 32 #include "JSWASMModule.h" 33 33 #include "WASMFunctionCompiler.h" 34 #include "WASMFunctionLLVMIRGenerator.h" 34 35 #include "WASMFunctionSyntaxChecker.h" 35 36
Note: See TracChangeset
for help on using the changeset viewer.