1
+
2016-02-17 Filip Pizlo <fpizlo@apple.com>
2
+
3
+
Remove LLVM dependencies from WebKit
4
+
https://bugs.webkit.org/show_bug.cgi?id=154323
5
+
6
+
Reviewed by Antti Koivisto and Benjamin Poulain.
7
+
8
+
We have switched all ports that use the FTL JIT to using B3 as the backend. This renders all
9
+
LLVM-related code dead, including the disassembler, which was only reachable when you were on
10
+
a platform that already had an in-tree disassembler.
11
+
12
+
* CMakeLists.txt:
13
+
* JavaScriptCore.xcodeproj/project.pbxproj:
14
+
* dfg/DFGCommon.h:
15
+
* dfg/DFGPlan.cpp:
16
+
(JSC::DFG::Plan::compileInThread):
17
+
(JSC::DFG::Plan::compileInThreadImpl):
18
+
(JSC::DFG::Plan::compileTimeStats):
19
+
* disassembler/ARM64Disassembler.cpp:
20
+
(JSC::tryToDisassemble):
21
+
* disassembler/ARMv7Disassembler.cpp:
22
+
(JSC::tryToDisassemble):
23
+
* disassembler/Disassembler.cpp:
24
+
(JSC::disassemble):
25
+
(JSC::disassembleAsynchronously):
26
+
* disassembler/Disassembler.h:
27
+
(JSC::tryToDisassemble):
28
+
* disassembler/LLVMDisassembler.cpp: Removed.
29
+
* disassembler/LLVMDisassembler.h: Removed.
30
+
* disassembler/UDis86Disassembler.cpp:
31
+
(JSC::tryToDisassembleWithUDis86):
32
+
* disassembler/UDis86Disassembler.h:
33
+
(JSC::tryToDisassembleWithUDis86):
34
+
* disassembler/X86Disassembler.cpp:
35
+
(JSC::tryToDisassemble):
36
+
* ftl/FTLAbbreviatedTypes.h:
37
+
* ftl/FTLAbbreviations.h: Removed.
38
+
* ftl/FTLAbstractHeap.cpp:
39
+
(JSC::FTL::AbstractHeap::decorateInstruction):
40
+
(JSC::FTL::AbstractHeap::dump):
41
+
(JSC::FTL::AbstractField::dump):
42
+
(JSC::FTL::IndexedAbstractHeap::IndexedAbstractHeap):
43
+
(JSC::FTL::IndexedAbstractHeap::~IndexedAbstractHeap):
44
+
(JSC::FTL::IndexedAbstractHeap::baseIndex):
45
+
(JSC::FTL::IndexedAbstractHeap::dump):
46
+
(JSC::FTL::NumberedAbstractHeap::NumberedAbstractHeap):
47
+
(JSC::FTL::NumberedAbstractHeap::dump):
48
+
(JSC::FTL::AbsoluteAbstractHeap::AbsoluteAbstractHeap):
49
+
(JSC::FTL::AbstractHeap::tbaaMetadataSlow): Deleted.
50
+
* ftl/FTLAbstractHeap.h:
51
+
(JSC::FTL::AbstractHeap::AbstractHeap):
52
+
(JSC::FTL::AbstractHeap::heapName):
53
+
(JSC::FTL::IndexedAbstractHeap::atAnyIndex):
54
+
(JSC::FTL::NumberedAbstractHeap::atAnyNumber):
55
+
(JSC::FTL::AbsoluteAbstractHeap::atAnyAddress):
56
+
(JSC::FTL::AbstractHeap::tbaaMetadata): Deleted.
57
+
* ftl/FTLAbstractHeapRepository.cpp:
58
+
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
59
+
* ftl/FTLAbstractHeapRepository.h:
60
+
* ftl/FTLB3Compile.cpp:
61
+
* ftl/FTLB3Output.cpp:
62
+
(JSC::FTL::Output::Output):
63
+
(JSC::FTL::Output::check):
64
+
(JSC::FTL::Output::load):
65
+
(JSC::FTL::Output::store):
66
+
* ftl/FTLB3Output.h:
67
+
* ftl/FTLCommonValues.cpp:
68
+
(JSC::FTL::CommonValues::CommonValues):
69
+
(JSC::FTL::CommonValues::initializeConstants):
70
+
* ftl/FTLCommonValues.h:
71
+
(JSC::FTL::CommonValues::initialize): Deleted.
72
+
* ftl/FTLCompile.cpp: Removed.
73
+
* ftl/FTLCompileBinaryOp.cpp: Removed.
74
+
* ftl/FTLCompileBinaryOp.h: Removed.
75
+
* ftl/FTLDWARFDebugLineInfo.cpp: Removed.
76
+
* ftl/FTLDWARFDebugLineInfo.h: Removed.
77
+
* ftl/FTLDWARFRegister.cpp: Removed.
78
+
* ftl/FTLDWARFRegister.h: Removed.
79
+
* ftl/FTLDataSection.cpp: Removed.
80
+
* ftl/FTLDataSection.h: Removed.
81
+
* ftl/FTLExceptionHandlerManager.cpp: Removed.
82
+
* ftl/FTLExceptionHandlerManager.h: Removed.
83
+
* ftl/FTLExceptionTarget.cpp:
84
+
* ftl/FTLExceptionTarget.h:
85
+
* ftl/FTLExitThunkGenerator.cpp: Removed.
86
+
* ftl/FTLExitThunkGenerator.h: Removed.
87
+
* ftl/FTLFail.cpp:
88
+
(JSC::FTL::fail):
89
+
* ftl/FTLInlineCacheDescriptor.h: Removed.
90
+
* ftl/FTLInlineCacheSize.cpp: Removed.
91
+
* ftl/FTLInlineCacheSize.h: Removed.
92
+
* ftl/FTLIntrinsicRepository.cpp: Removed.
93
+
* ftl/FTLIntrinsicRepository.h: Removed.
94
+
* ftl/FTLJITCode.cpp:
95
+
(JSC::FTL::JITCode::~JITCode):
96
+
(JSC::FTL::JITCode::initializeB3Code):
97
+
(JSC::FTL::JITCode::initializeB3Byproducts):
98
+
(JSC::FTL::JITCode::initializeAddressForCall):
99
+
(JSC::FTL::JITCode::contains):
100
+
(JSC::FTL::JITCode::ftl):
101
+
(JSC::FTL::JITCode::liveRegistersToPreserveAtExceptionHandlingCallSite):
102
+
(JSC::FTL::JITCode::initializeExitThunks): Deleted.
103
+
(JSC::FTL::JITCode::addHandle): Deleted.
104
+
(JSC::FTL::JITCode::addDataSection): Deleted.
105
+
(JSC::FTL::JITCode::exitThunks): Deleted.
106
+
* ftl/FTLJITCode.h:
107
+
(JSC::FTL::JITCode::b3Code):
108
+
(JSC::FTL::JITCode::handles): Deleted.
109
+
(JSC::FTL::JITCode::dataSections): Deleted.
110
+
* ftl/FTLJITFinalizer.cpp:
111
+
(JSC::FTL::JITFinalizer::codeSize):
112
+
(JSC::FTL::JITFinalizer::finalizeFunction):
113
+
* ftl/FTLJITFinalizer.h:
114
+
* ftl/FTLJSCall.cpp: Removed.
115
+
* ftl/FTLJSCall.h: Removed.
116
+
* ftl/FTLJSCallBase.cpp: Removed.
117
+
* ftl/FTLJSCallBase.h: Removed.
118
+
* ftl/FTLJSCallVarargs.cpp: Removed.
119
+
* ftl/FTLJSCallVarargs.h: Removed.
120
+
* ftl/FTLJSTailCall.cpp: Removed.
121
+
* ftl/FTLJSTailCall.h: Removed.
122
+
* ftl/FTLLazySlowPath.cpp:
123
+
(JSC::FTL::LazySlowPath::LazySlowPath):
124
+
(JSC::FTL::LazySlowPath::generate):
125
+
* ftl/FTLLazySlowPath.h:
126
+
(JSC::FTL::LazySlowPath::createGenerator):
127
+
(JSC::FTL::LazySlowPath::patchableJump):
128
+
(JSC::FTL::LazySlowPath::done):
129
+
(JSC::FTL::LazySlowPath::usedRegisters):
130
+
(JSC::FTL::LazySlowPath::callSiteIndex):
131
+
(JSC::FTL::LazySlowPath::stub):
132
+
(JSC::FTL::LazySlowPath::patchpoint): Deleted.
133
+
* ftl/FTLLink.cpp:
134
+
(JSC::FTL::link):
135
+
* ftl/FTLLocation.cpp:
136
+
(JSC::FTL::Location::forValueRep):
137
+
(JSC::FTL::Location::dump):
138
+
(JSC::FTL::Location::forStackmaps): Deleted.
139
+
* ftl/FTLLocation.h:
140
+
(JSC::FTL::Location::forRegister):
141
+
(JSC::FTL::Location::forIndirect):
142
+
(JSC::FTL::Location::forConstant):
143
+
(JSC::FTL::Location::kind):
144
+
(JSC::FTL::Location::hasReg):
145
+
* ftl/FTLLowerDFGToLLVM.cpp:
146
+
(JSC::FTL::DFG::LowerDFGToLLVM::LowerDFGToLLVM):
147
+
(JSC::FTL::DFG::LowerDFGToLLVM::lower):
148
+
(JSC::FTL::DFG::LowerDFGToLLVM::createPhiVariables):
149
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
150
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileUpsilon):
151
+
(JSC::FTL::DFG::LowerDFGToLLVM::compilePhi):
152
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileDoubleConstant):
153
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileValueAdd):
154
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileStrCat):
155
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
156
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMul):
157
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithDiv):
158
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithNegate):
159
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitAnd):
160
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitOr):
161
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitXor):
162
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitRShift):
163
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitLShift):
164
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitURShift):
165
+
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutById):
166
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetButterfly):
167
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileMakeRope):
168
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstruct):
169
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileTailCall):
170
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstructVarargs):
171
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileLoadVarargs):
172
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
173
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileIsUndefined):
174
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileIn):
175
+
(JSC::FTL::DFG::LowerDFGToLLVM::getById):
176
+
(JSC::FTL::DFG::LowerDFGToLLVM::loadButterflyWithBarrier):
177
+
(JSC::FTL::DFG::LowerDFGToLLVM::stringsEqual):
178
+
(JSC::FTL::DFG::LowerDFGToLLVM::emitRightShiftSnippet):
179
+
(JSC::FTL::DFG::LowerDFGToLLVM::allocateCell):
180
+
(JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath):
181
+
(JSC::FTL::DFG::LowerDFGToLLVM::speculate):
182
+
(JSC::FTL::DFG::LowerDFGToLLVM::callCheck):
183
+
(JSC::FTL::DFG::LowerDFGToLLVM::preparePatchpointForExceptions):
184
+
(JSC::FTL::DFG::LowerDFGToLLVM::lowBlock):
185
+
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitDescriptor):
186
+
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
187
+
(JSC::FTL::DFG::LowerDFGToLLVM::blessSpeculation):
188
+
(JSC::FTL::DFG::LowerDFGToLLVM::buildExitArguments):
189
+
(JSC::FTL::DFG::LowerDFGToLLVM::exitValueForAvailability):
190
+
(JSC::FTL::DFG::LowerDFGToLLVM::exitValueForNode):
191
+
(JSC::FTL::DFG::LowerDFGToLLVM::probe):
192
+
(JSC::FTL::DFG::LowerDFGToLLVM::crash):
193
+
(JSC::FTL::DFG::LowerDFGToLLVM::compileUntypedBinaryOp): Deleted.
194
+
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitArgumentsForPatchpointIfWillCatchException): Deleted.
195
+
(JSC::FTL::DFG::LowerDFGToLLVM::emitOSRExitCall): Deleted.
196
+
(JSC::FTL::DFG::LowerDFGToLLVM::callStackmap): Deleted.
197
+
* ftl/FTLOSRExit.cpp:
198
+
(JSC::FTL::OSRExitDescriptor::OSRExitDescriptor):
199
+
(JSC::FTL::OSRExitDescriptor::validateReferences):
200
+
(JSC::FTL::OSRExitDescriptor::emitOSRExit):
201
+
(JSC::FTL::OSRExitDescriptor::prepareOSRExitHandle):
202
+
(JSC::FTL::OSRExit::OSRExit):
203
+
(JSC::FTL::OSRExit::codeLocationForRepatch):
204
+
(JSC::FTL::OSRExit::gatherRegistersToSpillForCallIfException): Deleted.
205
+
(JSC::FTL::OSRExit::spillRegistersToSpillSlot): Deleted.
206
+
(JSC::FTL::OSRExit::recoverRegistersFromSpillSlot): Deleted.
207
+
(JSC::FTL::OSRExit::willArriveAtExitFromIndirectExceptionCheck): Deleted.
208
+
(JSC::FTL::OSRExit::willArriveAtOSRExitFromCallOperation): Deleted.
209
+
(JSC::FTL::OSRExit::needsRegisterRecoveryOnGenericUnwindOSRExitPath): Deleted.
210
+
* ftl/FTLOSRExit.h:
211
+
(JSC::FTL::OSRExit::considerAddingAsFrequentExitSite):
212
+
(JSC::FTL::OSRExitDescriptorImpl::OSRExitDescriptorImpl): Deleted.
213
+
* ftl/FTLOSRExitCompilationInfo.h: Removed.
214
+
* ftl/FTLOSRExitCompiler.cpp:
215
+
(JSC::FTL::compileRecovery):
216
+
(JSC::FTL::compileStub):
217
+
(JSC::FTL::compileFTLOSRExit):
218
+
* ftl/FTLOSRExitHandle.cpp:
219
+
* ftl/FTLOSRExitHandle.h:
220
+
* ftl/FTLOutput.cpp: Removed.
221
+
* ftl/FTLOutput.h: Removed.
222
+
* ftl/FTLPatchpointExceptionHandle.cpp:
223
+
* ftl/FTLPatchpointExceptionHandle.h:
224
+
* ftl/FTLStackMaps.cpp: Removed.
225
+
* ftl/FTLStackMaps.h: Removed.
226
+
* ftl/FTLState.cpp:
227
+
(JSC::FTL::State::State):
228
+
(JSC::FTL::State::~State):
229
+
(JSC::FTL::State::dumpState): Deleted.
230
+
* ftl/FTLState.h:
231
+
* ftl/FTLUnwindInfo.cpp: Removed.
232
+
* ftl/FTLUnwindInfo.h: Removed.
233
+
* ftl/FTLValueRange.cpp:
234
+
(JSC::FTL::ValueRange::decorateInstruction):
235
+
* ftl/FTLValueRange.h:
236
+
(JSC::FTL::ValueRange::ValueRange):
237
+
(JSC::FTL::ValueRange::begin):
238
+
(JSC::FTL::ValueRange::end):
239
+
* ftl/FTLWeight.h:
240
+
(JSC::FTL::Weight::value):
241
+
(JSC::FTL::Weight::frequencyClass):
242
+
(JSC::FTL::Weight::scaleToTotal):
243
+
* llvm/InitializeLLVM.cpp: Removed.
244
+
* llvm/InitializeLLVM.h: Removed.
245
+
* llvm/InitializeLLVMMac.cpp: Removed.
246
+
* llvm/InitializeLLVMPOSIX.cpp: Removed.
247
+
* llvm/InitializeLLVMPOSIX.h: Removed.
248
+
* llvm/LLVMAPI.cpp: Removed.
249
+
* llvm/LLVMAPI.h: Removed.
250
+
* llvm/LLVMAPIFunctions.h: Removed.
251
+
* llvm/LLVMHeaders.h: Removed.
252
+
* llvm/library/LLVMAnchor.cpp: Removed.
253
+
* llvm/library/LLVMExports.cpp: Removed.
254
+
* llvm/library/LLVMOverrides.cpp: Removed.
255
+
* llvm/library/config_llvm.h: Removed.
256
+
1
257
2016-02-17 Benjamin Poulain <bpoulain@apple.com>
2
258
3
259
[JSC] Remove the overflow check on ArithAbs when possible
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4